[{"data":1,"prerenderedAt":124},["ShallowReactive",2],{"$fBBK-Umq37Abr8OyDI8mKeqCjdKWvlmYMU36HE7Of-pE":3},[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120],{"tag":5,"title":5,"date":6,"markdown":7},"v4.10.0","2026-07-16T08:23:12Z","## :sparkles: Highlights\r\n\r\n### :star2: InputRating component\r\n\r\nA new [`InputRating`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Finput-rating) component lets you display and collect ratings, with support for half-steps, custom length, clearing, hover preview and any icon:\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nconst value = shallowRef(3.5)\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CUInputRating v-model=\"value\" :step=\"0.5\" hoverable \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### :package: Bundled, offline-ready icons\r\n\r\nNuxt UI now embeds the icons it uses into your build, so they render straight away during SSR and work fully offline instead of being fetched from the Iconify API at runtime. As long as the collection is installed locally, this happens automatically for Nuxt UI's own icons (the `lucide` collection by default), on both Nuxt and pure Vue\u002FVite.\r\n\r\nOn Nuxt this rides on [`@nuxt\u002Ficon`](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ficon)'s existing client bundle. On Vue the `@nuxt\u002Fui\u002Fvite` plugin gains an `icon.clientBundle` option to bring the same bundling to Vite, either by listing icons or by scanning your source. This is powered by the standalone Vite plugin and utils added in [`@nuxt\u002Ficon` v2.3.0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ficon\u002Freleases\u002Ftag\u002Fv2.3.0):\r\n\r\n```ts [vite.config.ts]\r\nimport ui from '@nuxt\u002Fui\u002Fvite'\r\n\r\nexport default defineConfig({\r\n  plugins: [\r\n    ui({\r\n      icon: {\r\n        clientBundle: {\r\n          \u002F\u002F list them explicitly...\r\n          icons: ['lucide:heart', 'simple-icons:github'],\r\n          \u002F\u002F ...or scan your whole app\r\n          scan: true\r\n        }\r\n      }\r\n    })\r\n  ]\r\n})\r\n```\r\n\r\n> [!TIP]\r\n> Install each collection you use with `@iconify-json\u002F{collection_name}` so its icons can be bundled. See the [Icons](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fintegrations\u002Ficons\u002Fvue) integration for the details.\r\n\r\n### :recycle: Keep overlay state with `unmountOnHide`\r\n\r\nThe [`Modal`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fmodal) and [`Slideover`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fslideover) components now accept the `unmountOnHide` prop. Set it to `false` to keep their content mounted while closed so form state, scroll position and expensive children survive open\u002Fclose cycles:\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003CUModal :unmount-on-hide=\"false\">\r\n    \u003CUButton label=\"Open\" \u002F>\r\n\r\n    \u003Ctemplate #content>\r\n      \u003C!-- kept alive when the modal is closed -->\r\n    \u003C\u002Ftemplate>\r\n  \u003C\u002FUModal>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n## :rocket: Features\r\n\r\n* **ChatPrompt:** add body slot and focus highlight ([#6709](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6709)) ([123184b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F123184b5c72fd3f7d4b6c032a6dd4b52a5046e6e))\r\n* **ChatTool:** add `actions` prop for tool approval ([#6694](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6694)) ([1a3a9dc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1a3a9dc35b6a4e7a3aea57d93532b155de51c0ec))\r\n* **ContentSearch\u002FDashboardSearch:** support `unmountOnHide` prop ([#6523](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6523)) ([f03f98b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff03f98bafa972f593927bf01669369da8a30e212))\r\n* **ContentToc:** scroll list independently and center active link ([#6697](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6697)) ([64b9f7d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F64b9f7dd93863370ada09dc3be31bb05a8a5a4ce))\r\n* **Drawer:** add `close` and `closeIcon` props ([#6669](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6669)) ([53e88a4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F53e88a468824c0a9b5f9d2bd08a4113b6922afe7))\r\n* **Editor:** allow disabling starter kit for plain text ([#6713](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6713)) ([76d613c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F76d613c590ed8f0ac7884aa3c3ca2cd5027da6e2))\r\n* **Empty:** add `loading` and `loadingIcon` props ([#6707](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6707)) ([86cd25c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F86cd25c5cadacfbbe63d04195a4fb05fec9702d9))\r\n* **InputRating:** new component ([#5757](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5757)) ([cba2c2c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcba2c2c40c23d7a3624f7948357a70c3d35846fe))\r\n* **Modal\u002FSlideover:** support `unmountOnHide` prop ([#6626](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6626)) ([4deb61b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4deb61b91cc22ec1bbda80faa35f13a267c8ad1d)), closes [#5839](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5839) [#3605](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F3605)\r\n* **module:** pre-bundle used icons into `@nuxt\u002Ficon` client bundle ([#6633](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6633)) ([8d46034](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8d46034c19474e62e5dbc25b5efb3f887d615c58))\r\n* **Popover:** support `enableTouch` prop ([#6626](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6626)) ([54125f3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F54125f3f6ee98816b757e9c30c6bf3eaae458dc8)), closes [#2346](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F2346)\r\n* **Prompt:** add `claude` action ([#6693](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6693)) ([7bdcb13](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7bdcb1381c7cb55c7fd602545b3ddc4461b19c43))\r\n* **prose:** configurable heading anchors and copy button ([#6735](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6735)) ([f419731](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff419731d9b570892e21b990f13985f3f4ad4a56c))\r\n* **ScrollArea:** add `getScrollElement` virtualize option ([#6650](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6650)) ([a84de85](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa84de85b2a017c8692e6da889291c06d5015c115))\r\n* **Table:** add `getScrollElement` virtualize option ([#6657](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6657)) ([7e6d0f7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7e6d0f767666be718ae32709a029cfe456fb660b))\r\n* **unplugin:** pre-bundle used icons into the Vue\u002FVite build ([#6635](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6635)) ([dcf7cbc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdcf7cbc0918dcf55ad4e93929ebe4949dd5ac17c))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **AuthForm:** track password visibility per field ([#6638](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6638)) ([0faeb92](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0faeb9265e720b43021b020c3bd9d7878b9464da))\r\n* **BlogPost\u002FChangelogVersion:** format date in UTC to prevent hydration mismatch ([#6722](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6722)) ([fe5bb23](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffe5bb2388b32fd13a4fe677b1d82328312ca501b))\r\n* **Button:** allow inline event handlers with non-void return types ([#6668](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6668)) ([269080a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F269080a85dc877a2140bdc951c32ccd5626f4684))\r\n* **Carousel:** prevent reset when plugin props use inline objects ([f41d11e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff41d11e2e330213385a807fccece1c3a3d3bb936)), closes [#6221](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6221)\r\n* **ChatMessages:** re-evaluate streaming indicator on each render ([#6673](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6673)) ([5c986dd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5c986dd4051a3b409945a25015888dd3b8d70642))\r\n* **components:** forward `$attrs` to root element when `to` prop is absent ([#6628](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6628)) ([d3b5f1d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd3b5f1d3f966e92f9194e1e114f5c84ea1e8cbaa))\r\n* **components:** forward `data-slot` to component root ([#6643](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6643)) ([c9c5232](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc9c5232238f483f51b1be30128fa1c548a7b0329))\r\n* **components:** respect `prefers-reduced-motion` in animations ([#6723](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6723)) ([f951529](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff95152949ac6762aa61610482892bd6551a21593))\r\n* **ContentNavigation:** key items by identity to prevent leading icon flash ([#6640](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6640)) ([09fb52b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F09fb52b73397733a61c1f53dbd035c2ba040145e))\r\n* **defineShortcuts:** add missing `arrowdown` to shiftable keys ([#6702](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6702)) ([2128414](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2128414292aeec7d8fc3c724745eb6ea81d086b8))\r\n* **defineShortcuts:** defer standalone shortcuts that prefix a chain ([#6703](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6703)) ([76ee176](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F76ee17697fdf2bf7a2e79fbe3c2d389b05934163))\r\n* **Editor:** prevent suggestion menu blinking on keystroke ([#6712](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6712)) ([7e6d8b0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7e6d8b0e69c6de392c2df45008f4722c1eda740d))\r\n* **FileUpload:** add `aria-disabled` attribute when disabled ([#6653](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6653)) ([c3b2996](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc3b2996f181d68b2382db6aef8c429a5f0fc3d88))\r\n* **inertia:** make `useRoute().fullPath` reactive across navigations ([#6696](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6696)) ([c256997](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc256997f33b44324d43b212bae6b2be2de83b42c))\r\n* **Link:** apply `rel` prop to internal links ([#6677](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6677)) ([276302e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F276302eef23a8ea9a2b144aca80e18b6efa55111))\r\n* **Link:** fall back to original path when `localePath` fails ([#6637](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6637)) ([906e8fd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F906e8fd49f2dbf664133c79f2ebe5569e63d627e))\r\n* **LocaleSelect:** add missing keys in emoji mapping ([#6629](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6629)) ([fab73ab](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffab73ab2ecceccd6a2d4e55eabf42efe9f7c9e23))\r\n* **module:** avoid unhead v2-only `hookOnce` in colors plugin ([#6658](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6658)) ([e4ca579](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe4ca5798118d8073d04eb208136d1f34334bf1b7))\r\n* **SelectMenu\u002FInputMenu:** only re-highlight first item with `create-item` ([#6689](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6689)) ([a71dece](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa71dece0fdc332c06f0de4b7f4e8d1fa00559cb8))\r\n* **Separator:** forward fall-through attributes to root ([#6641](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6641)) ([88baabc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F88baabcf42b115b7da1a65e5f71092a37b5c9bf3))\r\n* **theme:** use logical properties for RTL ([#6724](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6724)) ([3179012](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F317901253dfd02a857ebdba632816445ba45afef))\r\n* **types:** type prose components in app config ([#6711](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6711)) ([d56e39a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd56e39a06c9bb8aee24ce2f294e41c4533ff086d))\r\n* **useComponentProps:** let app config `defaultVariants` override `withDefaults` ([#6686](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6686)) ([f5e58fb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff5e58fb7baae38ca2cedf589af3b625b73e247f3))\r\n* **useFileUpload:** keep dropzone type filter reactive to accept ([#6699](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6699)) ([000aba4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F000aba433df85a8b28dc16127a587fc18822b32f))\r\n* **useResizable:** recover from corrupted persisted storage ([#6704](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6704)) ([4c60745](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4c607453fe405705e715c24801939bdc7acf6ba6))\r\n* **useResizable:** share resize logic between mouse and touch ([#6705](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6705)) ([730a54c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F730a54c023c5750a696df73879dbc806981e2d85))\r\n* **useScrollspy:** unobserve previous headings on update ([#6700](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6700)) ([5944067](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F59440671dd20196ca3a7cc613dc13438251e706d))\r\n* **useToast:** dedupe duplicate ids and handle max of 0 ([#6698](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6698)) ([71c623b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F71c623b900a2b0997b60304e43e73397fea11dac))\r\n\r\n## :fire: Performances\r\n\r\n* **components:** drop the redundant inner in component extend ([#6647](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6647)) ([3bf1a92](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3bf1a92a9d3aa47ee7f02c1b2363363bc906f313))\r\n* **module:** declare `sideEffects` for barrel tree-shaking ([#6729](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6729)) ([2cc2849](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2cc2849f9fadfcc2a70933b4a278c8b058e91cd3))\r\n* **types:** decouple `useComponentProps` from the component-types barrel ([#6648](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6648)) ([6576fb8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6576fb81dd34c25a8e6b2209b9df9b2bf935f99b))\r\n* **types:** import cross-component types from source, not the barrel ([#6646](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6646)) ([7eab4bc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7eab4bcb78f17b9eed365d617aa3ef3874c21bac))\r\n* **vue:** skip rewriting unchanged templates ([#6730](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6730)) ([14b6001](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F14b60013ddc094c8e7cee5a3633a57d26c5842e6))\r\n\r\n## :heart: Contributors\r\n\r\n* @benjamincanac\r\n* @solidusite\r\n* @sandros94\r\n* @Dtem4ik\r\n* @mikenewbon\r\n* @innocenzi\r\n* @faizkhairi\r\n* @reslear\r\n* @syazany\r\n* @yamachi4416\r\n* @martipops\r\n* @typed-sigterm\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.9.0...v4.10.0",{"tag":9,"title":9,"date":10,"markdown":11},"v4.9.0","2026-06-17T14:18:32Z","## :sparkles: Highlights\r\n\r\n### :calendar: Calendar month and year selection\r\n\r\nThe [`Calendar`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fcalendar) component gains a single `type` prop (`date` | `month` | `year`, default `date`) that renders it as a day, month or year picker, covering both standalone pickers and quick navigation:\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nconst value = shallowRef(new CalendarDate(2026, 6, 17))\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CUCalendar v-model=\"value\" type=\"month\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n> [!TIP]\r\n> In `date` mode the heading also becomes a clickable button that cycles `day → month → year`, so you can jump to a month or year without clicking through `prev` \u002F `next` repeatedly. This is controlled by the new `viewControls` and `viewButton` props and works with `range`.\r\n\r\n### :compass: useTour composable\r\n\r\nThe new [`useTour`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomposables\u002Fuse-tour) composable drives guided tours by re-anchoring a single [`Popover`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fpopover) across steps. It owns the step state and resolves each step's `target` into a `reference` you bind to `\u003CUPopover>`, while you keep full control over the content and navigation:\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nconst card = useTemplateRef('card')\r\n\r\nconst tour = useTour([\r\n  { target: '#cta', title: 'Get started' },\r\n  { target: () => card.value, title: 'Profile', side: 'right' },\r\n  { target: null, title: 'All set' }\r\n])\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CUButton @click=\"tour.start()\">Start tour\u003C\u002FUButton>\r\n\r\n  \u003CUPopover :open=\"tour.open.value\" :reference=\"tour.reference.value\" :dismissible=\"false\">\r\n    \u003Ctemplate #content>\r\n      \u003C!-- your content + buttons -->\r\n      \u003CUButton :disabled=\"!tour.hasPrev.value\" @click=\"tour.prev()\">Back\u003C\u002FUButton>\r\n      \u003CUButton @click=\"tour.next()\">{{ tour.hasNext.value ? 'Next' : 'Finish' }}\u003C\u002FUButton>\r\n    \u003C\u002Ftemplate>\r\n  \u003C\u002FUPopover>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### :scissors: Override default classes\r\n\r\nA new build-time [`theme.unstyled`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnuxt#themeunstyled) option strips Nuxt UI's default theme classes from every component, keeping only their structure and the classes you provide through `class`, `ui` or `app.config.ui`. This lets you bring your own design system on top of the components' logic and accessibility, or cut HTML and bundle bloat:\r\n\r\n```ts [nuxt.config.ts]\r\nexport default defineNuxtConfig({\r\n  modules: ['@nuxt\u002Fui'],\r\n  css: ['~\u002Fassets\u002Fcss\u002Fmain.css'],\r\n  ui: {\r\n    theme: {\r\n      unstyled: true\r\n    }\r\n  }\r\n})\r\n```\r\n\r\n> [!WARNING]\r\n> This strips **structural** classes too (positioning, transitions, flex\u002Fgrid), not just cosmetic ones. Layout-heavy components like `Modal`, `Drawer` or `Calendar` will need you to re-supply their layout.\r\n\r\nFor more surgical control, slot classes can now be a `(defaults) => classes` [function](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Ftheme\u002Fcomponents) that **replaces** the slot's defaults instead of merging onto them. It receives the resolved defaults so you can reuse part of them, while plain strings keep merging exactly as before. It works in `:ui`, `app.config.ui` and `\u003CUTheme :ui>`:\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003CUButton :ui=\"{ base: () => 'text-3xl font-bold' }\" label=\"Button\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### :dart: Uniform focus styles\r\n\r\nEvery component now shares a single [`focus-visible`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Ftheme\u002Fcss-variables#focus) language: a soft outline halo tinted with the component's `color` (e.g. `outline-primary\u002F25`), so the indicator stays consistent and accessible across every variant and color. Tab panels, scrollable regions and overlay links that browsers make focusable now show the halo too, instead of hiding focus entirely.\r\n\r\nIf you prefer one outline color across your whole app regardless of component color, a single global rule in your `main.css` does it:\r\n\r\n```css [main.css]\r\n*,\r\n::before,\r\n::after {\r\n  @apply outline-primary\u002F25;\r\n}\r\n\r\n*:focus-visible,\r\n*:has(> a:focus-visible) {\r\n  --tw-ring-color: var(--ui-primary);\r\n}\r\n```\r\n\r\n> [!NOTE]\r\n> Check out the before\u002Fafter preview images in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6576.\r\n\r\n## :rocket: Features\r\n\r\n* **Calendar:** add month and year selection ([#6582](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6582)) ([ca3c72e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fca3c72eb6606da882a6aba5c9f35a3ff0dddf820))\r\n* **ChatMessages:** expose `registerMessageRef` ([#6275](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6275)) ([f99778e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff99778e3e7639c11f6b46a4e4c57fbc66077195a))\r\n* **components:** allow hiding `icon` with `false` ([#6597](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6597)) ([09eb639](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F09eb639a33460e1ece8fcfc7dd9c2f523af9b0b4))\r\n* **ContentSearch\u002FDashboardSearch:** forward input config to command palette ([#6312](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6312)) ([5199b7e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5199b7e1d262d693af4114884f06bd9126cd3202))\r\n* **FileUpload:** expose `removeFile` in slots ([#6492](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6492)) ([4da3a5d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4da3a5d34373b8c99a7304d5cd143da8273a9238))\r\n* **Modal\u002FSlideover:** add `leave` and `enter` events ([#6596](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6596)) ([006324a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F006324aeb91ae4054c314c9cb4a9d552fe04e44e))\r\n* **module:** add `theme.unstyled` option ([#6551](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6551)) ([a2a8bc9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa2a8bc907a5e490fd056e112f86e52c6416b8636))\r\n* **PinInput:** add `separator` prop ([#6392](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6392)) ([89b30e8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F89b30e8ebe2b3b3e637ba823d1c35bc2c2d32a68))\r\n* **ScrollArea:** add `shadow` prop ([#6561](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6561)) ([d850ae6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd850ae60531787984ba2416d6fca99626637b41b))\r\n* **Select\u002FSelectMenu:** use `multiple` in theme ([#6554](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6554)) ([f66eb65](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff66eb65f5cb80e245491a6de75d9bb3b175be011))\r\n* **Sidebar:** add `transition` prop ([#6484](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6484)) ([af80a67](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Faf80a674a5061dea3272ea113fa497d698fc184b))\r\n* **theme:** allow replacing slot classes with a function ([#6562](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6562)) ([ea576e2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fea576e2f321665574c416af34e7ef04e68654a79))\r\n* **theme:** uniformize focus styles across components ([#6576](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6576)) ([b026ca2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb026ca2cdb0e4d6aff6d271a95e2d7e5e1bd7e3f))\r\n* **useTour:** new composable ([#6557](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6557)) ([dc05151](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdc0515128ee6783b6cebd410c85a3e405fb7872a))\r\n* **vite:** add `root` option to override `.nuxt-ui` directory location ([#6595](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6595)) ([cccb3d5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcccb3d5a4a3e837173b1d31e6397efaedb032f59))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **CommandPalette:** only scroll to highlighted item when focused ([#6579](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6579)) ([02259a6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F02259a6ae963408b2a971722b9b66d225a0505f3))\r\n* **Link:** set default for locale prop ([#6563](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6563)) ([e9ab758](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe9ab75888a3143f77ebcc18b8fe40ba370d065d5))\r\n* **module:** remove inline script in SPA mode for strict CSP ([#6577](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6577)) ([7225e9f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7225e9f451e405d6b07de8ee44b93a11a50b55a8))\r\n* **ProseCodeCollapse:** cap root `max-height` instead of toggling pre `height` ([#6565](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6565)) ([52d3c45](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F52d3c45478d1cfc88e288a093407d459ccf5ad48))\r\n* **ProseKbd:** type default slot as `VNode[]` ([52367b1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F52367b1ac375e86b4f996ed07958114e9d63a81a))\r\n* **SelectMenu:** bind `id` and aria attributes on trigger ([#6572](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6572)) ([c3bef7a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc3bef7a21bdd67343492f01e874044e59894b95b))\r\n* **Select:** open menu on label click ([#6575](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6575)) ([e8d18c3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe8d18c37a0ebfe527ddc8fc38846d68f52e273be))\r\n* **Tabs:** render active indicator during SSR ([#6570](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6570)) ([9e5b8a6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9e5b8a6bff4f9f12fc6282b450466ec68dc9017d))\r\n* **templates:** resolve vite root to an absolute path for [#build](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002Fbuild) aliases ([#6586](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6586)) ([238e291](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F238e291791737b15fe94eeac6f93468cfcf932bb))\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Latvian language ([#6552](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6552)) ([fa52538](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffa5253825258dfb7e543dd84452602979b329703))\r\n\r\n## :heart: Contributors\r\n\r\n* @benjamincanac\r\n* @innocenzi\r\n* @zAlweNy26\r\n* @maximepvrt\r\n* @OrbisK\r\n* @mikenewbon\r\n* @al1maher\r\n* @emilsgulbis\r\n* @martinszeltins\r\n* @cydrickn\r\n* @neukinal\r\n* @hendrikheil\r\n* @johnson-jnr\r\n* @ReCoN-96\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.8.2...v4.9.0",{"tag":13,"title":13,"date":14,"markdown":15},"v4.8.2","2026-06-04T14:48:20Z","## :bug: Bug Fixes\r\n\r\n* **Form:** support setting the `name` attribute ([#6539](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6539)) ([f8186e2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff8186e2d49472629cb0ea29ef1da468227bde677))\r\n* **InputMenu\u002FSelectMenu:** re-highlight first item when items change ([#6538](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6538)) ([0414dd0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0414dd0d1ba694962562efdabfb60c135ab742ad))\r\n* **InputNumber\u002FInputDate\u002FInputTime\u002FCalendar:** restore `locale` prop ([#6546](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6546)) ([ed2f955](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fed2f955f092b6213ba2c3a4750260433f0edc2c6))\r\n* **module:** merge custom variants into AppConfig type ([#6531](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6531)) ([f0571c3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff0571c3786cdddb54712bb89154f8482e0c3c62e))\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.8.1...v4.8.2",{"tag":17,"title":17,"date":18,"markdown":19},"v4.8.1","2026-05-28T15:36:23Z","## :bug: Bug Fixes\r\n\r\n* **ContentSearch\u002FDashboardSearch:** proxy missing CommandPalette props ([#6505](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6505)) ([631f5dc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F631f5dc543fecaa36d5090a10a3db3223e9671b5))\r\n* **Form:** add `method=\"post\"` to prevent credential leaking via GET before hydration ([#6512](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6512)) ([7a0825a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7a0825ad6a17627ce4c6dd860df3cebb7cf1d813))\r\n* **Icon:** avoid recursive icon resolution ([#6495](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6495)) ([d50c121](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd50c121c05372082a7414d205d612513e89d3af7))\r\n* **locale:** improve Thai translation accuracy and consistency ([#6509](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6509)) ([5d82418](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5d82418c56e956a9f1b684b48f9bf40197cdf3aa))\r\n* **module:** expose component theme keys in AppConfig type ([#6520](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6520)) ([ffaf163](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fffaf163f77601015e4fa9e29bc18a33ca7dcb93d))\r\n* **Select\u002FSelectMenu\u002FInputMenu:** add fallback for `max-height` ([#6503](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6503)) ([f4d7cbe](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff4d7cbe71f3cb62eaf8b92a4da73f115324fcf6a))\r\n\r\n## :heart: Contributors\r\n\r\n* @Akur1a\r\n* @bansal\r\n* @benjamincanac\r\n* @maximepvrt\r\n* @thanet-s\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.8.0...v4.8.1",{"tag":21,"title":21,"date":22,"markdown":23},"v4.8.0","2026-05-21T15:03:11Z","## ✨ Highlights\r\n\r\n### 🎨 Theme component prop defaults\r\n\r\nThe [`Theme`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Ftheme#prop-defaults) component can now override **default prop values** for all descendant components. Pass a `props` object where keys are component names and values are their prop overrides:\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003CUTheme\r\n    :props=\"{\r\n      tooltip: { delayDuration: 0, arrow: true },\r\n      button: { color: 'neutral', variant: 'subtle', size: 'lg' },\r\n      input: { size: 'lg' }\r\n    }\"\r\n  >\r\n    \u003CUTooltip text=\"Tooltip\">\r\n      \u003CUButton label=\"Save\" \u002F>\r\n    \u003C\u002FUTooltip>\r\n\r\n    \u003CUInput placeholder=\"Search...\" \u002F>\r\n  \u003C\u002FUTheme>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\nExplicit props on a component always take priority. Theme components can be nested (innermost wins) and propagate through the entire tree via `provide` \u002F `inject`.\r\n\r\n### 🔍 ContentSearch async search\r\n\r\nThe [`ContentSearch`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fcontent-search#search) component now supports [FTS5 full-text search](https:\u002F\u002Fwww.sqlite.org\u002Ffts5.html) via the new `search` prop and the [`useSearchCollection`](https:\u002F\u002Fcontent.nuxt.com\u002Fdocs\u002Futils\u002Fuse-search-collection) composable ([nuxt\u002Fcontent#3787](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fcontent\u002Fpull\u002F3787), released in [`@nuxt\u002Fcontent` v3.14.0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fcontent\u002Freleases\u002Ftag\u002Fv3.14.0)). Instead of loading all content upfront with `files` and filtering client-side with Fuse.js, you can now run async queries with highlighted snippets:\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nconst { search, status, init } = useSearchCollection('content', {\r\n  immediate: false,\r\n  ignoredTags: ['style']\r\n})\r\n\r\nconst { open } = useContentSearch()\r\n\r\nwatch(open, (value) => {\r\n  if (value && status.value === 'idle') {\r\n    init()\r\n  }\r\n})\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CUContentSearch :search=\"search\" :search-status=\"status\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n> You can check out the new search on https:\u002F\u002Fui.nuxt.com or https:\u002F\u002Fnuxt.com.\r\n\r\n## 🚨 Breaking Changes\r\n\r\n* **InputMenu:** rename `autocomplete` prop to `mode` to free up HTML attribute (#6474)\r\n\r\nThe boolean `autocomplete` prop introduced in [v4.6.0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Freleases\u002Ftag\u002Fv4.6.0) collided with the standard HTML `autocomplete` attribute used for browser autofill (`address-line1`, `one-time-code`, `email`, etc.). It has been renamed to `mode` which accepts `'combobox' | 'autocomplete'` (defaults to `combobox`). The HTML `autocomplete` attribute now falls through to the inner input like other form components.\r\n\r\n```diff\r\n- \u003CUInputMenu autocomplete :items=\"items\" \u002F>\r\n+ \u003CUInputMenu mode=\"autocomplete\" :items=\"items\" \u002F>\r\n```\r\n\r\n## 🚀 Features\r\n\r\n* **Avatar\u002FAvatarGroup:** add `color` prop (#6405) (6f2396f)\r\n* **Breadcrumb:** add `color` prop (#6406) (955dac1)\r\n* **ChatMessage:** add `body` slot and improve actions alignment (#6460) (48685b6)\r\n* **ChatMessage:** add `color` prop and `header` slot (#6407) (c6ce8ca)\r\n* **ChatPrompt:** add `submitOnEnter` prop to control Enter behavior (b597f90)\r\n* **Checkbox\u002FRadioGroup\u002FSwitch:** add `highlight` prop for error ring styling (a0deee4)\r\n* **CommandPalette:** search and highlight description field (524c34d)\r\n* **ContentSearch\u002FDashboardSearch:** enable Fuse.js token search by default (ba08220)\r\n* **ContentSearch:** add async search support via `useSearchCollection` (#6432) (a1bef8b)\r\n* **DashboardGroup:** add `storageOptions` prop (8f0101b)\r\n* **Error:** add `icon` prop and `leading` slot (e6ea707)\r\n* **Separator:** add `position` prop (#6415) (844660a)\r\n* **Theme:** override component prop defaults (#6031) (71c008e)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n* **ChatMessage:** add `wrap-break-word` to content slot (#6476) (eb468e6)\r\n* **CommandPalette:** only split tokens in highlight when `useTokenSearch` is enabled (898fbce)\r\n* **CommandPalette:** preserve relative order of ignoreFilter groups (e4c1787)\r\n* **CommandPalette:** re-highlight first item after debounced results render (efd7b8e)\r\n* **CommandPalette:** update default fuse keys in docs and search components (0d9cc0d)\r\n* **components:** apply `theme.prefix` to hardcoded utility classes (f51b1e8)\r\n* **components:** constrain popper content to available viewport height (007b136)\r\n* **ContentSearch:** preserve intermediate ancestors in breadcrumb prefix (#6466) (f639b19)\r\n* **ContentToc:** apply `ui.trigger` prop to trigger elements (252b906)\r\n* **defineShortcuts:** use `e.code` for alt shortcuts to handle macOS key remapping (231f156)\r\n* **FileUpload:** pass `disabled` attribute to button variant (2890c83)\r\n* **Form:** improve errors type (#6208) (c1090ab)\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** respect `trailing: false` over default `trailingIcon` (#6457) (65b47ce)\r\n* **InputMenu:** rename `autocomplete` prop to `mode` to free up HTML attribute (#6474) (2799fa6)\r\n* **module:** don't require `@nuxtjs\u002Fmdc` when using `content` option (89f7778)\r\n* **module:** pass computed ref directly to useHead innerHTML (00b7476)\r\n* **module:** ship stripped `#build\u002Fui.css` fallback for tooling (083c2a9)\r\n* **ProseKbd:** add default slot and make `value` optional (f317c7f)\r\n* **Textarea:** autoresize on mount with pre-filled value (e96a0b6)\r\n* **useComponentProps:** treat array-typed theme values as `ClassValue` leaves (cac3860)\r\n\r\n## :heart: Contributors\r\n\r\n* @benjamincanac\r\n* @Bobakanoosh\r\n* @maximepvrt\r\n* @zAlweNy26\r\n* @Akur1a\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.7.1...v4.8.0",{"tag":25,"title":25,"date":26,"markdown":27},"v4.7.1","2026-04-28T13:42:08Z","## :bug: Bug Fixes\r\n\r\n* **ChatMessage:** make actions slot accessible on touch devices ([f5a3349](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff5a33496926faa582bac10428ec560cb17757e4c))\r\n* **Drawer:** handle RTL mode ([#6396](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6396)) ([2e3fed2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2e3fed2f002e5321621a923c2af425c0ab69fc81))\r\n* **Link:** prevent double-prefixing with `@nuxtjs\u002Fi18n` auto-localization ([#6404](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6404)) ([dde09d0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdde09d06486e68b1b4dd4538f91fefd08a3d7548))\r\n* **ProseImg:** close zoom overlay on Escape key ([e3cdbc5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe3cdbc5ad33835e751662cad8a4597d93ee5840f))\r\n* **ProsePrompt:** improve responsive ([0a5b433](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0a5b433c228f8c08fa13847be147d8f02f7919c8))\r\n\r\n## :wave: New Contributors\r\n\r\n* @ejfine made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5284\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.7.0...v4.7.1",{"tag":29,"title":29,"date":30,"markdown":31},"v4.7.0","2026-04-24T15:07:36Z","## :sparkles: Highlights\r\n\r\n### 📋 New Listbox component\r\n\r\nThe [Listbox](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Flistbox) component is a selectable list of items with built-in search, virtualization, and rich item rendering. It's ideal when you want an always-visible list without the overlay behavior of `SelectMenu`.\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nconst items = ref([\r\n  { label: 'France', icon: 'i-lucide-map-pin', value: 'FR' },\r\n  { label: 'Germany', icon: 'i-lucide-map-pin', value: 'DE' },\r\n  { label: 'Italy', icon: 'i-lucide-map-pin', value: 'IT' },\r\n  { label: 'Spain', icon: 'i-lucide-map-pin', value: 'ES' }\r\n])\r\n\r\nconst value = ref()\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CUListbox v-model=\"value\" :items=\"items\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### 🤖 New ProsePrompt component\r\n\r\nThe [ProsePrompt](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Ftypography\u002Fprompt) component displays pre-built AI prompts inside your docs with one-click copy and direct IDE integration. Users can copy the prompt to their clipboard or open it directly in **Cursor** or **Windsurf** via the `actions` prop.\r\n\r\n```mdc\r\n::prompt\r\n---\r\ndescription: Build a dashboard layout with Nuxt UI.\r\nicon: i-lucide-layout-dashboard\r\nactions:\r\n  - copy\r\n  - cursor\r\n  - windsurf\r\n---\r\nYou are a Nuxt UI expert. Help me build a dashboard layout with\r\na collapsible sidebar and a sticky top navbar.\r\n::\r\n```\r\n\r\n### 🌍 Automatic Link localization\r\n\r\nThe [Link](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Flink) component now integrates automatically with [`@nuxtjs\u002Fi18n`](https:\u002F\u002Fi18n.nuxtjs.org\u002F) when installed. Internal links are localized using the `$localePath` helper under the hood (#5537).\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003C!-- Automatically becomes \u002Fen\u002Fabout or \u002Ffr\u002Fabout based on current locale -->\r\n  \u003CULink to=\"\u002Fabout\">About\u003C\u002FULink>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\nThis also propagates to every component that accepts a `to` prop (`NavigationMenu`, `Breadcrumb`, `DropdownMenu`, `CommandPalette`, etc.), so routes stay locale-aware across your entire app.\r\n\r\n## :rocket: Features\r\n\r\n* **AuthForm:** add `separator` slot ([#6305](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6305)) ([81c7ddb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F81c7ddb6d47dade3f7f2415a2a9714e949133344))\r\n* **Card:** add `title` and `description` props ([3cf7d75](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3cf7d7550918c6d29a6dcaffd10d50305f90c4cd)), closes [#6001](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6001)\r\n* **CommandPalette:** add `group-label` slot ([#6329](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6329)) ([7fc773c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7fc773ca321fb4b7592d49af540f93b70197ae14))\r\n* **CommandPalette:** add `searchDelay` prop ([7d2af05](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7d2af0514d6b8fce9882d175693c4bea7b1316fd))\r\n* **EditorSuggestionMenu:** expose suggestion matching options ([#6234](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6234)) ([4427824](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4427824f04005a84245f883d73d4a4d0156d3996))\r\n* **Link:** auto-localize internal links when `@nuxtjs\u002Fi18n` is installed ([#5537](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5537)) ([92cfda0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F92cfda0f9f14619e388b2baa9f370e363c9fa73f))\r\n* **Listbox:** new component ([#6307](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6307)) ([00c1651](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F00c16515bad0040651fd39a01bbf4907d2681f04))\r\n* **ProsePrompt:** new component ([#6362](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6362)) ([2451ac6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2451ac6f499b7790dc4358e51600a07bd263e137))\r\n* **Table:** support sticky header\u002Ffooter in virtualized mode ([#6217](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6217)) ([15d32ce](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F15d32cea9831d20600719eb608b1223f15c0f203))\r\n* **Textarea:** expose `autoResize` method ([#6120](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6120)) ([9c5c0df](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9c5c0df96caafa59f1199aaa6df115a41de7cd03))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **Accordion\u002FTabs:** use item value as stable key to avoid remounts ([#6380](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6380)) ([3cee610](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3cee61016931bb4411c5a6b6b5934fe974836f5c))\r\n* **Avatar:** remove `leading-none` from fallback ([#6383](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6383)) ([77ce09a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F77ce09ade34f5ef0ddac8d7421b5b143724642f0))\r\n* **ChatMessage\u002FChatMessages:** preserve generic message type in slot scope ([#6391](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6391)) ([20f66db](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F20f66db8e63f1941ce82acd4cc38fd2c2826cbc7))\r\n* **ChatMessages:** prevent layout shift caused by indicator during streaming ([#6297](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6297)) ([b7160e2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb7160e213045dfe2ee37cf83f4a97c72e4c19886))\r\n* **ChatMessages:** use MutationObserver for auto-scroll during streaming ([#6357](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6357)) ([47bf3cb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F47bf3cbec92454dc81f6b6473a8f9629c5c160c3))\r\n* **ChatPromptSubmit:** ignore `disabled` prop when status is not `ready` ([600a2ca](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F600a2ca40c3a15b0f7951adad5b9781a2bdb9864))\r\n* **components:** resolve `defaultVariants` in template logic ([#6361](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6361)) ([75b37d0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F75b37d0bc9985c4975f1547cdc2f815534d5ceef))\r\n* **ContentSearch\u002FDashboardSearch:** pick shared props from CommandPalette ([cdcf2e5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcdcf2e5c656c3efa8e3a2d6be96339fcc18f159a))\r\n* **ContentSearch:** speed up navigation mapping ([0faf2c2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0faf2c23c31fc45e191204e7d872dd006a2a7aaf))\r\n* **ContentToc:** use links for scrollspy instead of hardcoded h2\u002Fh3 ([#6282](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6282)) ([6aba2ea](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6aba2ead4c76f992e1ad76f2fec11c70800143a4))\r\n* **FieldGroup:** prevent context from leaking into portals ([#6313](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6313)) ([5155e27](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5155e27e6dd163cca21401737a3f8ac1faeff4bc))\r\n* **FileUpload:** use form field `color` and `highlight` instead of raw props ([bb5a9ed](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fbb5a9ed2b662c3494917dd382a1acc22b5898eb1))\r\n* **Header\u002FDashboardSidebar\u002FSidebar:** allow auto focus in menu for proper focus trapping ([#6266](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6266)) ([9b91ee4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9b91ee40b06092ce193bb94ca3913c2143dc8ac0))\r\n* **InputDate\u002FInputTime:** increase segments width ([#6339](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6339)) ([4ebdb2f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4ebdb2f24acb37d41f161fd794a63d0eaa0d9655))\r\n* **InputTags:** add missing field group variant ([#6326](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6326)) ([aae5378](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Faae53784e788a3eca46b6721ab3d977ff5b6a656))\r\n* **Link:** ensure single-root rendering for `v-show` and `$el` resolution ([#6310](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6310)) ([2c4ff35](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2c4ff352d81660cc8e7f665b69e90f9e4e4bd05c))\r\n* **Modal\u002FSlideover:** drop empty header wrapper when empty ([#6381](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6381)) ([1082960](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1082960e60ae9754e1d947085c2f7efc85793873))\r\n* **module:** use relative `tagPriority` for inline style tags ([#6299](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6299)) ([ae693d0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fae693d0e243eea4e585b5667fc027c97edca16da))\r\n* **PricingTable:** align header elements vertically ([#6111](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6111)) ([0daacb0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0daacb02fa12e1037dc7db9e404cdb7909d0418d))\r\n* **PricingTable:** handle RTL mode ([#6382](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6382)) ([ab203db](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fab203db1d50ae4b880d6c6aae367230539695205))\r\n* **ProseCodeCollapse:** match background on overscroll ([28c89fe](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F28c89fe36f68b08f7ea3e0a1c9498526830bd4bb))\r\n* **ProseImg:** respect markdown width attribute ([#6350](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6350)) ([d4e4ea1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd4e4ea1eaa620814273ed84fab44ac6176707652))\r\n* **ProsePre:** get code from DOM if `code` prop is missing ([#6333](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6333)) ([b808ce4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb808ce4661f5232357615fcb40d7d9be8ad1ceb1))\r\n* **Select:** support `item-aligned` position mode ([#6358](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6358)) ([255807a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F255807a4bf95b91e8222ccd8bbc60016ec862c1c))\r\n\r\n## :wave: New Contributors\r\n\r\n* @faizkhairi made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6266\r\n* @Archetipo95 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6234\r\n* @nimonian made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6350\r\n* @mrkaashee made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6305\r\n* @tratteo made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6282\r\n* @Ken-vdE made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6120\r\n* @claylevering made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6380\r\n* @ChronicStone made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6217\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.6.1...v4.7.0",{"tag":33,"title":33,"date":34,"markdown":35},"v4.6.1","2026-04-03T15:11:59Z","## :bug: Bug Fixes\r\n\r\n* **ai:** use `part.state` for streaming detection and deprecate `isReasoningStreaming` ([d2d7543](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd2d7543b7fdeecd44639602aba5c13bc5bfa1e8e))\r\n* **ChatMessage:** hide files slot when no file parts exist ([9cddc8e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9cddc8e228896b197006878f689b44b11bebddeb))\r\n* **ChatMessages:** keep indicator visible until first content arrives ([195cce8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F195cce85f1b7a4eed866de1ac08e6d4040926381))\r\n* **ChatMessages:** reset scroll icon when messages are cleared ([#6239](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6239)) ([4ba3eef](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4ba3eef1f42cf558c26801365ce45f048b43a894))\r\n* **ChatPrompt:** guard enter during composition ([#6280](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6280)) ([a911ca8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa911ca8aa822efe5fd3618bf8fb71fb304f5c32d))\r\n* **DashboardSidebar:** always pass `collapsed: false` in mobile menu slots ([957a0f5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F957a0f5589ab0b0f5c129ca84999a507edff55cb)), closes [#6157](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6157)\r\n* **Modal\u002FSlideover\u002FDrawer:** suppress reka ui title and description warnings ([3451b8d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3451b8d9d303c2f5b1586cc0ddea7ac9a35fee77)), closes [#6240](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6240)\r\n* **module:** inline defaultVariants and prefix in dev template ([314e23b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F314e23b6043d5dd987793c498e45814fac407588))\r\n* **module:** transpile `reka-ui` to prevent injection errors ([#6286](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6286)) ([b822c43](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb822c433c310ee3b0dd315bbf05dbb83475f1cba))\r\n\r\n## New Contributors\r\n* @fabianpnke made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6243\r\n* @wicii2120 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6280\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.6.0...v4.6.1",{"tag":37,"title":37,"date":38,"markdown":39},"v4.6.0","2026-03-23T15:56:33Z","## :sparkles: Highlights\r\n\r\n### :file_folder: New Sidebar component\r\n\r\nThe [Sidebar](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fsidebar) component provides a responsive application sidebar that stays fixed on desktop and transforms into a **Modal**, **Slideover**, or **Drawer** on mobile. It supports three visual variants (`sidebar`, `floating`, `inset`) and three collapsible modes (`offcanvas`, `icon`, `none`):\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003CUSidebar v-model:open=\"open\" collapsible=\"icon\">\r\n    \u003Ctemplate #header>\r\n      \u003CLogo \u002F>\r\n    \u003C\u002Ftemplate>\r\n\r\n    \u003CUNavigationMenu :items=\"items\" \u002F>\r\n\r\n    \u003Ctemplate #footer>\r\n      \u003CUserMenu \u002F>\r\n    \u003C\u002Ftemplate>\r\n  \u003C\u002FUSidebar>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### :robot: New Chat components\r\n\r\nWe're introducing **3 new components** to build richer AI chat interfaces:\r\n\r\n- **[ChatReasoning](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fchat-reasoning)**: A collapsible thinking\u002Freasoning block that automatically tracks streaming duration.\r\n- **[ChatTool](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fchat-tool)**: A collapsible row for tool invocations with loading and streaming states.\r\n- **[ChatShimmer](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fchat-shimmer)**: An animated text primitive used internally by ChatReasoning and ChatTool during streaming.\r\n\r\nThese components integrate seamlessly with the [AI SDK](https:\u002F\u002Fai-sdk.dev) message parts:\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003CUChatMessages :messages=\"messages\" :status=\"status\">\r\n    \u003Ctemplate #content=\"{ message }\">\r\n      \u003Ctemplate v-for=\"(part, index) in message.parts\" :key=\"index\">\r\n        \u003CUChatReasoning\r\n          v-if=\"isReasoningUIPart(part)\"\r\n          :text=\"part.reasoning\"\r\n          :streaming=\"isReasoningStreaming(message, index, chat)\"\r\n        \u002F>\r\n        \u003CUChatTool\r\n          v-else-if=\"isToolInvocationUIPart(part)\"\r\n          :text=\"part.toolInvocation.toolName\"\r\n          :streaming=\"isToolStreaming(part)\"\r\n        \u002F>\r\n        \u003CMDC v-else-if=\"isTextUIPart(part)\" :value=\"part.text\" \u002F>\r\n      \u003C\u002Ftemplate>\r\n    \u003C\u002Ftemplate>\r\n  \u003C\u002FUChatMessages>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n## :rotating_light: Breaking Changes\r\n\r\n* **module:** use `moduleDependencies` to manipulate options (#5384)\r\n\r\nThis release adopts Nuxt's new `moduleDependencies` API to declaratively manage sub-module dependencies (`@nuxt\u002Ficon`, `@nuxt\u002Ffonts`, `@nuxtjs\u002Fcolor-mode`, `@nuxtjs\u002Fmdc`) instead of manually installing them at runtime. This requires **Nuxt >= 4.1.0**.\r\n\r\n## :rocket: Features\r\n\r\n* add standalone Vue REPL playground ([#6209](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6209)) ([390c4bd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F390c4bd3fd9bda126d035dcfd8d3f3d855d7ec97))\r\n* **ChatMessage:** add `files` slot ([12d6020](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F12d6020f3f78dba9d4570a9590ecb18bd2269613))\r\n* **ChatReasoning:** new component ([#6175](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6175)) ([6db594e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6db594e2211e145f7a7accdb25662ba034c42755))\r\n* **ChatShimmer:** new component ([#6171](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6171)) ([8db9c54](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8db9c548d3d74127a1fd98a136105f9c711f191d))\r\n* **ChatTool:** new component ([#6176](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6176)) ([7849534](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7849534eabe2039ffdb4fb632d95701a22359ec5))\r\n* **Checkbox\u002FSwitch:** add support for `trueValue` \u002F `falseValue` props ([#6150](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6150)) ([91c6356](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F91c6356e920e6288177e3795aa8ed56bc82907c0))\r\n* **ContentToc:** add `highlight-variant` prop ([#5746](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5746)) ([df080ce](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdf080ce8a1c1031b60cfcaca91c85927ec81cd9d))\r\n* **DropdownMenu:** add `filter` prop ([#6153](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6153)) ([a529b43](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa529b433cf33bf6682bf90cc25aee02ed8a825ad))\r\n* **FileUpload:** add `fileImage` prop ([#5935](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5935)) ([40f9c2e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F40f9c2e16a6a660376440403b1656302fba04797))\r\n* **Icon:** add global options on Vue-only side ([#5354](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5354)) ([566fbee](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F566fbee72c77c106c4042716ca3231ce3ccd1994))\r\n* **InputMenu:** add `autocomplete` prop ([#6026](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6026)) ([ee8a248](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fee8a248d4293ec79bdf7db820879503dcec70547))\r\n* **InputTime:** add `range` prop ([#6203](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6203)) ([c124f29](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc124f29389d139d5163f056ea3bad70b7ab108ea))\r\n* **module:** use `moduleDependencies` to manipulate options ([#5384](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5384)) ([dd3f5c5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdd3f5c53b3e59e02e3f90eebd97fb58fb41451e3))\r\n* **Sidebar:** new component ([#6038](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6038)) ([51a1f85](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F51a1f8519c148ea7ead6e5c308497b79db0bd5b6))\r\n* **Table:** implement row pinning ([#6115](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6115)) ([fbd60d9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffbd60d9998904ae4f5beb5b8980df24b4edde36f))\r\n* **Tooltip:** support global content configuration via App tooltip prop ([#6152](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6152)) ([83afd9c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F83afd9c35544b1db8c2b3ba146cca92aa69105b9))\r\n* **unplugin:** add support for prose components ([#6198](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6198)) ([c58b9b2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc58b9b26444ea34e2cf455451a90ac99eb1e0b7e))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **Avatar:** use resolved size for image width\u002Fheight ([#6008](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6008)) ([6dd0fc4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6dd0fc4ef3f22f2c8343650cbf93241ad051e220))\r\n* **ContentNavigation:** prevent toggling disabled parent items ([#6122](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6122)) ([0f1074f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0f1074fdaaaaffe821703363073758cda837837f))\r\n* **ContentSurround:** handle RTL mode ([#6148](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6148)) ([6921f13](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6921f13005610affc882e2525dbe8a7d1362be2f))\r\n* **ContentToc:** reset start margin at lg breakpoint ([8f24f79](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f24f79a475b7bfa6114075113030a1662c76999))\r\n* **DashboardSearchButton:** use valid HTML structure for trailing slot ([#6194](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6194)) ([578a12f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F578a12f67f45a2b2f922f69cd26ca29521d89058))\r\n* **Editor:** guard `lift` calls for unavailable list extensions ([#6100](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6100)) ([065db6b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F065db6b9d5f552154297445115617d34cfd3084e))\r\n* **Error:** support `status` and `statusText` properties ([1350d62](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1350d625d051a4b9c7d54335a9fa3bf78e5924bd)), closes [#6134](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6134)\r\n* **FileUpload:** make multiple, accept and reset options reactive ([#6204](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6204)) ([ae093df](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fae093df679f6f177fd7a0f885b091fac41d46556))\r\n* **Modal\u002FSlideover\u002FPopover\u002FDrawer:** prevent double `close:prevent` emit ([#6226](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6226)) ([9a0d501](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9a0d5010445e86dee3c8f17510b79d413909c60f))\r\n* **module:** only auto-import public composables and allow Vite opt-out ([#6197](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6197)) ([886f5fb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F886f5fbab0c398ad2ddd53e143c8edb9172e029d))\r\n* **NavigationMenu:** improve RTL support for viewport and indicator ([#6164](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6164)) ([755867b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F755867b6fecf0b6763b0b2ab2c7e153a39ecc2f4))\r\n* **NavigationMenu:** propagate disabled state to item in vertical orientation ([6d4d651](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6d4d6511d18381f96960c47b17b531a80387ee6c))\r\n* **ProsePre:** move shiki line highlight styles to theme ([d663950](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd663950134e3bac263ac99245bc8d0a48b56e78e))\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Icelandic language ([#6149](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6149)) ([f3ddc60](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff3ddc6033f023eb94fbfc0edd381458dcd0c353a))\r\n\r\n## :wave: New Contributors\r\n\r\n* @leonardocustodio made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6125\r\n* @SveinnB made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6149\r\n* @caiotarifa made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6194\r\n* @0xA1337 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6115\r\n* @adamgreenhall made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6199\r\n* @dropdead619 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6100\r\n* @SusithD made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6122\r\n* @howwohmm made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6226\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.5.1...v4.6.0",{"tag":41,"title":41,"date":42,"markdown":43},"v4.5.1","2026-03-02T16:31:55Z","## :bug: Bug Fixes\r\n\r\n* **components:** improve arrow styling with `stroke-default` and `fill-bg` ([#6095](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6095)) ([0e9198e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0e9198e927dbce30daf211eb9d352cea3d978f62))\r\n* **components:** improve slots return types and tests ([#6109](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6109)) ([7d1e863](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7d1e8631ea4cf6ec81a1d22d074e5c86a53eda3f))\r\n* **components:** prevent `transformUI` from mutating cached `useComponentUI` value ([286738a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F286738a107f2fcc2978adc5cdaf165628356d2b1)), closes [#6104](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6104) [#4387](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4387)\r\n* **ContentToc:** add relative positioning to content slot ([fcdb231](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffcdb231aee0d1daf8ebe7784aa10aa10327c53e3)), closes [#6117](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6117)\r\n* **ContentToc:** use rem units for indicator size calculation ([d631853](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd6318532c4659b7762e521696e4020ff4e8f7ead))\r\n* **NavigationMenu:** prevent navigation when clicking trailing area in horizontal orientation ([8f84c90](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f84c90c159cf17bc75f15fa012d2bebb198c20d)), closes [#6083](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6083)\r\n* **Page:** make slot presence reactive for variant computation ([082ea41](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F082ea41ff74f81101df113eacd5bc73cef020b89))\r\n* **types:** resolve `isArrayOfArray` type return ([#6097](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6097)) ([04292d9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F04292d97728bb5f4d2f580ae4a5d5a42bacb043a))\r\n* **useResizable:** use function declaration to prevent false auto-import ([c22ecf4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc22ecf405f7f2c116ef49b80fcdc1a6641014400))\r\n\r\n## :wave: New Contributors\r\n\r\n* @canstand made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6095\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.5.0...v4.5.1",{"tag":45,"title":45,"date":46,"markdown":47},"v4.5.0","2026-02-24T13:22:33Z","## :sparkles: Highlights\r\n\r\n### :art: New Theme component\r\n\r\nThe [Theme](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Ftheme) component lets you override the theme of all child components without modifying each one individually. Pass an object to the `ui` prop where keys are component names and values are their slot class overrides:\r\n\r\n```vue\r\n\u003CUTheme\r\n  :ui=\"{\r\n    button: {\r\n      base: 'rounded-full'\r\n    },\r\n    input: {\r\n      base: 'rounded-full'\r\n    }\r\n  }\"\r\n>\r\n  \u003CUButton label=\"Button\" color=\"neutral\" variant=\"outline\" \u002F>\r\n  \u003CUInput placeholder=\"Search...\" \u002F>\r\n\u003C\u002FUTheme>\r\n```\r\n\r\n> The Theme component doesn't render any HTML element. It uses Vue's `provide` \u002F `inject` under the hood, so overrides propagate through the entire component tree regardless of nesting depth. Theme components can be nested (innermost wins) and the `ui` prop on individual components always takes priority.\r\n\r\n### :rainbow: New neutral colors\r\n\r\nThanks to [Tailwind CSS v4.2](https:\u002F\u002Fgithub.com\u002Ftailwindlabs\u002Ftailwindcss\u002Freleases\u002Ftag\u002Fv4.2.0), four new neutral color options are now available: `taupe`, `mauve`, `mist` and `olive`. Configure them through the `ui.neutral` option in your `app.config.ts`.\r\n\r\n### :no_entry_sign: Duplicate toast prevention\r\n\r\nThe Toaster now automatically prevents duplicate toasts and displays a pulse animation when a duplicate is triggered, providing a cleaner notification experience: https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Ftoast#deduplicated-toasts\r\n\r\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe356affa-d170-4b7e-8a80-217132ee88e1\r\n\r\n## :rocket: Features\r\n\r\n* **DashboardSidebar\u002FHeader:** add `autoClose` prop ([#6089](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6089)) ([2663deb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2663deb61dfa0ce279bd7bf01138bdac87c56366))\r\n* **EditorDragHandle:** proxy  `nested` \u002F `nestedOptions` props and emit `hover` event ([#5960](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5960)) ([ed60193](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fed60193cdfaeed50d9bce4f110bab1a1e1a42407))\r\n* **Form:** add HTML5 validation to programmatic submit ([#6002](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6002)) ([ed552fc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fed552fca32d11fefb91596fd8d69fa2e43617a75))\r\n* **module:** add support for taupe \u002F mauve \u002F mist \u002F olive neutral colors ([#6081](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6081)) ([bc49d3f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fbc49d3f9b3d1a56b868136463b9466e7779a1987))\r\n* **NavigationMenu:** allow tooltip usage in `horizontal` orientation  ([#5682](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5682)) ([f46b504](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff46b504b95ae95843405b701a67cdd115b6e8c4e))\r\n* **NavigationMenu:** handle `chip` in items ([#6064](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6064)) ([401a2c0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F401a2c031ae200d617f9a35207fd58741f73a753))\r\n* **ScrollArea:** add `skipMeasurement` virtualize option ([#5721](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5721)) ([548b711](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F548b7115a2bcf08ef1605c2f1c046b5c135ffe3b))\r\n* **Select\u002FSelectMenu:** add hover effects on `outline` and `subtle` variants ([94b0c31](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F94b0c31fd38794e30ce79c7624117e00b18d2290))\r\n* **Theme:** new component ([#4387](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4387)) ([c97047d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc97047da46c7511f35382a007ef4f90ded333dd9))\r\n* **Toaster:** prevent duplicate toasts and add pulse animation ([3f6581a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3f6581a1ed6d6cf2dbf38069c35ab70777ad11e5))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **BlogPost\u002FChangelogVersion:** use `ImgHTMLAttributes` type for image prop ([#6007](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6007)) ([0185856](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F018585619b84365b71e4c60b85441c35e903a116))\r\n* **ChatMessages:** allow message props to override role defaults ([#6000](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6000)) ([f64ec17](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff64ec17fa3d7ffd258e22490966f2772caee080a))\r\n* **ChatMessages:** prevent flash at top before scrolling to bottom on mount ([4bdcb83](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4bdcb83ad0b4816001e289c03cd93413bdf6668a))\r\n* **Checkbox\u002FSwitch:** prevent `data-state` conflict when used inside Tooltip ([2bb1a8b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2bb1a8bedc5ba3fe131ae85cf9f066dfef983e98)), closes [#3599](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F3599)\r\n* **CheckboxGroup:** update `update:modelValue` emit type ([#5927](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5927)) ([64d2e88](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F64d2e887f94f71b0d3db87c75dc04a082d551ff7))\r\n* **ColorModeImage:** add baseURL support for public paths ([#6006](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6006)) ([db510f3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdb510f3b0c6f292e5125e44577eade99f71ee759))\r\n* **components:** add `fixed` prop to prevent responsive text size reduction ([#6074](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6074)) ([8f5f44c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f5f44cd47e6cf822a49a5a14a93672c76807f09))\r\n* **components:** nullable and optional type support ([#6060](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6060)) ([cd3432b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcd3432b2970f265fde5638e977771470073c0a62))\r\n* **components:** prevent iOS auto-zoom on input fields with font-size below 16px ([#6040](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6040)) ([1262016](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1262016057e7a674f5d7a8cd5fe19c1ccf6b4f4e))\r\n* **ContentNavigation:** pass nested child data to slots ([#6043](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6043)) ([e67f77e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe67f77e62af77ff4af89d98e38388636242222ca))\r\n* **defineShortcuts:** add alt key guard ([#6020](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6020)) ([8451f45](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8451f457158c7e87945ad841e5fb1890da124953))\r\n* **defineShortcuts:** allow shifted special character shortcuts ([08facc0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F08facc00ffe0eb87083e08f37cd5b5c3fa5fd3d6))\r\n* **Drawer\u002FModal\u002FPopover\u002FSlideover:** prevent unexpected close on touch when interacting with other overlays ([#5695](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5695)) ([e2c038c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe2c038c146a8fba02e1f50900683ca2a0d71f972))\r\n* **Editor:** handle placeholder in RTL mode ([#5977](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5977)) ([3cc16e3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3cc16e36375c8da89fe1efa3155d7dcc545324cc))\r\n* **EditorMentionMenu:** use `char` prop as mention prefix instead of always `@` ([0b9b097](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0b9b097f2428a9d88a6ea3b6e5512655805cde07)), closes [#6035](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6035)\r\n* **EditorToolbar:** proxy size prop to dropdown menu ([8f8d989](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f8d989d3d377fd64330aa9152490d0042d021ce))\r\n* **InputMenu\u002FInputNumber\u002FSelectMenu:** proxy `size` to buttons ([1ec1698](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1ec16989c8c2cc18434174a5a4b30019edd1fe7f)), closes [#5958](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5958)\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** exclude cosmetic items from model value type ([#6044](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6044)) ([22cf1ea](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F22cf1eadaf3378534d946ddc6bb0a9dd0ffc11be))\r\n* **InputMenu\u002FSelectMenu:** sort filtered items by match relevance ([058c66b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F058c66bf7b4f5fa47e0e64f44c84ca78284a154e)), closes [#4672](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4672)\r\n* **InputMenu:** prevent focus on trailing button ([88073b6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F88073b6af3f442c53a93c4d29edeb8e6a6e99c92))\r\n* **module:** update icon `cssLayer` option from `components` to `base` ([#6076](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6076)) ([e8bc322](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe8bc322cabcd29e1507d52bcb07cc01c59a8873c))\r\n* **NavigationMenu:** allow clicking trailing slot in horizontal orientation ([7f9996f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7f9996f6634f2884503da423be19bc5a43a07961)), closes [#5192](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5192) [#6083](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6083)\r\n* **NavigationMenu:** unique auto-generated item values for grouped items ([7b317d9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7b317d9ea02ed62d026c42f45100cad820bf345c))\r\n* **PricingPlan:** truncate title ([#6041](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6041)) ([8e86c51](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8e86c51055393d93630c4c90757534c33a4fce48))\r\n* **Select:** remove useless `by` prop ([14dceaf](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F14dceaf92f03708d2bdbb3b0d19153fef71ae401))\r\n* **Table:** improve perfs with `shallowRef` when watch deep is disabled ([#6023](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6023)) ([bc06ce2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fbc06ce22f4d8d17728b2672e791269c4d4c26e46))\r\n* **Toast:** allow `update` to keep toast open and reset duration ([82afa0a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F82afa0a1fc3b0c6ae2c73bae83834cbe7c3428c6))\r\n* **Toast:** improve animation smoothness ([#6065](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6065)) ([ee2c0a5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fee2c0a5595e70be96e3f6f228a6fd18b032b3a68))\r\n* **types:** improve `DotPathKeys` accuracy and `GetItemKeys` performance ([#6077](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6077)) ([6f7af3e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6f7af3e0f9e12ef949d1767f064644ede056135e))\r\n* **useEditorMenu:** rank filtered results by relevance ([f53484a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff53484a99e6a7b50ed266dc710fc53a741372d59))\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Belarusian language ([#5972](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5972)) ([ac9e7b3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fac9e7b32066e65f837fbabc579bef5073002d8f4))\r\n\r\n## :wave: New Contributors\r\n\r\n* @LouisHaftmann made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5927\r\n* @quentingiraud-ugo made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5695\r\n* @imfaizanyousaf made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5966\r\n* @solidprinciples made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5960\r\n* @saurlax made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6000\r\n* @veeceey made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6007\r\n* @cngJo made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6009\r\n* @KazariEX made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6020\r\n* @danielkasperczyk made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6043\r\n* @mateusznarowski made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6081\r\n* @karladler made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F6076\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.4.0...v4.5.0",{"tag":49,"title":49,"date":50,"markdown":51},"v4.4.0","2026-01-21T14:21:42Z","## :rocket: Features\r\n\r\n* **Calendar:** add `weekNumbers` prop ([#4555](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4555)) ([7a1a71b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7a1a71b59289fd96d0e71ecf0cc8897a39ad781b))\r\n* **ChangelogVersions:** handle scroll options in `indicator` prop ([#5257](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5257)) ([6a925cd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6a925cd4e51bca482d1638eca72bafaf2cddca72))\r\n* **CommandPalette\u002FInputMenu\u002FSelectMenu\u002FTree:** handle virtualizer `estimateSize` as function ([#5748](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5748)) ([d51b424](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd51b424d9e306c25fc7dc32857011ffaffe56d7e))\r\n* **CommandPalette:** add `input` prop ([#5736](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5736)) ([12052e8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F12052e8c9909142406b626d92ecfd787b3b6fe28))\r\n* **CommandPalette:** add `size` prop ([#5878](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5878)) ([3ae04c6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3ae04c64aa489d1ff9f3bc5a47e211629788764a))\r\n* **components:** add `by` prop ([#5906](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5906)) ([36cd5e5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F36cd5e5eb579f422793a1ddc195a9f71227be8c8))\r\n* **components:** add `valueKey` prop ([#5905](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5905)) ([55646ea](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F55646eaeab1598ad53b95baa2c8acb15f798482b))\r\n* **Editor:** add `placeholder.mode` prop ([d90acb3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd90acb334a7c9b5d8a61a39f8172938e2adb6887)), closes [#5785](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5785)\r\n* **Editor:** add `size` prop in menus ([#5889](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5889)) ([571d50d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F571d50df351473d0ca8d90923ffc1e0de404bc83))\r\n* **Editor:** add `taskList` handler ([#5837](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5837)) ([db04197](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdb041979b266c0b30c09ad6d7bd2250cd451ef4e))\r\n* **Editor:** add support for code inside links ([2ed2d5d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2ed2d5deb97dd1336fffaee01b222aa5c92765cd))\r\n* **Editor:** handle boolean in `image` and `mention` props ([b6fa83a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb6fa83a089cda592fc76388b038c06cf59e79ab8)), closes [#5820](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5820)\r\n* **EditorMentionMenu:** handle async search with `ignoreFilter` prop ([#5880](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5880)) ([f8d1883](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff8d18831030b2fdac7efad8155c9e21eb7637c81))\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** expose `viewportRef` for infinite scroll ([#5836](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5836)) ([f4a945c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff4a945cc59bc9bf143bb05986cba3cb1b73a3aa7))\r\n* **InputMenu\u002FSelectMenu:** add `clear` prop ([#5643](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5643)) ([ec6b8ec](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fec6b8ecb037ef5c241283c8ac47a3b63364bebab))\r\n* **Link:** support custom navigate function in vue ([#5860](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5860)) ([f51e58a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff51e58a5eae486e807493c3f3cf167ae81f3df21))\r\n* **ProseTd\u002FProseTh:** handle `align` prop ([859390e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F859390e7c608c80d3a4ce6bde41541024c117187)), closes [#5795](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5795)\r\n* **Timeline\u002FStepper:** add wrapper slot and fix dynamic slot conditions ([#5868](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5868)) ([8610d4d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8610d4d9ef063965e58bde7c3c017c90d64b4a35))\r\n* **Timeline:** add `select` event ([#5826](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5826)) ([8e431be](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8e431be00fb09c139a6ecf250aabab90244b5430))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **Banner:** isolate banner visibility using per-instance CSS variables ([#5751](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5751)) ([c7332eb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc7332eb5a51e46dac5f25309805b15a2235a3f85))\r\n* **Banner:** prevent XSS via id prop injection ([4e334a0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4e334a0efddc6469aee4c30a4cc14982dd6ee77f))\r\n* **CommandPalette\u002FContextMenu\u002FDropdownMenu:** keyboard selection on link items ([3f5bdb3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3f5bdb3c1688446a89186f2230de373ebd4b14d9))\r\n* **CommandPalette:** prevent XSS in search highlight ([e12ceb6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe12ceb6584bb6c9945363a98b3f105513e50b354))\r\n* **ContentSurround:** align next link to right on tablet without prev ([#5833](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5833)) ([b3adccc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb3adccc1f6fae0e1f5403a909d84d12449c075cc))\r\n* **defineShortcuts:** check shift modifier for special character shortcuts ([bd344d7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fbd344d743d21b192cade7cec072e8616e2699430)), closes [#5911](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5911)\r\n* **Editor:** set `contentType` when updating value ([c37d6f7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc37d6f7b0a8bfd5ed07d4823e4df52e68e78f400)), closes [#5709](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5709)\r\n* **Editor:** support all heading levels by default ([3046c3e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3046c3ed8e2eb3d144a4af8a13fac919e436da7d))\r\n* **EditorToolbar:** prevent `onClick` from being called twice on items ([cbed0cc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcbed0ccf363650914d50361b3665d5993c92509c)), closes [#5784](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5784)\r\n* **EditorToolbar:** prevent disabled dropdown when items have no kind ([d473f63](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd473f6307dc351953eb0a0c179a71c1e0b698a59))\r\n* **Error\u002FMain:** render as `main` instead of `div` ([6ccb1f5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6ccb1f53b9286852bce78259c3fa4eb36bb0390d))\r\n* **FileUpload:** emit null when clearing file ([#5892](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5892)) ([1d9a2fd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1d9a2fdfe7187dc43e2e5e341e04c297326149b6))\r\n* **FileUpload:** keep input visible when preview is disabled with multiple files ([597ac29](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F597ac29582d4902630d7c9c165298cfb0e9db04c)), closes [#5875](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5875)\r\n* **locale:** improve `cs` and `sk` terminology for correct inflection ([#5789](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5789)) ([af6f288](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Faf6f28883f26f0bd1130438273f83487439e705e))\r\n* **module:** only override `primary` color and `md` size default variants ([f422de8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff422de8326aac1c09ecb326b5e4157cfac1d12b8))\r\n* **ProseCodeTree:** prevent infinite update loop with `expandAll` prop ([c79cb77](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc79cb77ff8cce613c97561d0302647525c8d10f7)), closes [#5828](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5828)\r\n* **useOverlay:** refine close event argument extraction ([#5775](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5775)) ([182af20](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F182af209fcf61043bd4a3bca264c1f6a65a06fa7))\r\n\r\n## :wave: New Contributors\r\n* @oneminch made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5704\r\n* @LuckyWindsck made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5814\r\n* @branislavjuhaas made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5789\r\n* @naitokosuke made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5833\r\n* @yooouuri made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5836\r\n* @web-party made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5866\r\n* @IlyaSemenov made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5892\r\n* @Codfisher made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5706\r\n* @kleenkanteen made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5722\r\n* @solidusite made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5751\r\n* @mdotme made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5826\r\n* @Yizack made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5397\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.3.0...v4.4.0",{"tag":53,"title":53,"date":54,"markdown":55},"v4.3.0","2025-12-17T16:07:32Z","## :sparkles: Highlights\r\n\r\n### :pencil: New Editor components\r\n\r\nWe're introducing a suite of **6 new components** to build rich text editors, powered by [TipTap](https:\u002F\u002Ftiptap.dev\u002F):\r\n\r\n- [Editor](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Feditor): The root component supporting JSON, HTML, and Markdown content types.\r\n- [EditorToolbar](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Feditor-toolbar): A customizable toolbar with formatting actions, link editing, and extensible item groups.\r\n- [EditorSuggestionMenu](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Feditor-suggestion-menu): A command menu (`\u002F`) to insert headings, lists, code blocks, images, and more.\r\n- [EditorMentionMenu](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Feditor-mention-menu): A mention menu (`@`) to reference users or other entities.\r\n- [EditorEmojiMenu](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Feditor-emoji-menu): An emoji picker (`:`) to insert emojis inline.\r\n- [EditorDragHandle](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Feditor-drag-handle): A drag handle to reorder blocks with a dropdown menu for block actions.\r\n\r\n> The Editor is fully extensible through TipTap's extension system and exposes the editor instance for advanced use cases.\r\n\r\nWe've also released a new [Editor template](https:\u002F\u002Feditor-template.nuxt.dev\u002F) that showcases all the Editor components in a production-ready setup with **real-time collaboration** via [PartyKit](https:\u002F\u002Fwww.partykit.io\u002F) and **AI autocompletion** using [AI SDK](https:\u002F\u002Fai-sdk.dev\u002F) and [Vercel AI Gateway](https:\u002F\u002Fvercel.com\u002Fai-gateway).\r\n\r\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe4a799a3-8de1-4c85-b7f0-ca24789a6d98\r\n\r\n### :scroll: New ScrollArea component\r\n\r\nThe [ScrollArea](https:\u002F\u002Fui.nuxt.com\u002Fcomponents\u002Fscroll-area) component provides a flexible scroll container with built-in virtualization support through [TanStack Virtual](https:\u002F\u002Ftanstack.com\u002Fvirtual\u002Flatest).\r\n\r\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8d3bcb2c-f5b4-4412-99b1-f33e1b53dd8e\r\n\r\n## :rocket: Features\r\n\r\n* **AuthForm:** allow all input types ([#5565](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5565)) ([1f9009f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1f9009f41241790f92bb966b3399d5daf3460087))\r\n* **ContextMenu\u002FDropdownMenu:** expose `sub` prop on content slots ([#5609](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5609)) ([b09e6bc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb09e6bc339e1f116e622f67a0e0e250806b80547))\r\n* **defineShortcuts:** add `layoutIndependent` option ([#4251](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4251)) ([ece0568](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fece0568dfc06c92c40ed186b18e8ebead101f44c))\r\n* **Editor:** new components ([#5407](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5407)) ([38765c3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F38765c367de004993290a2e9dca5f2ab1579b284))\r\n* **extractShortcuts:** add `separator` option ([#5642](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5642)) ([4e71271](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4e71271f6996f024c9dbfff8195c40b78b91ca8c))\r\n* **FormField:** add `orientation` prop ([#5632](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5632)) ([b74ec6e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb74ec6ef9f22709a487782a09f1cf686dc02b469))\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** add `modelModifiers` prop ([#5559](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5559)) ([a92ee7b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa92ee7b58bb667dc9c3ddd89e1c0fb2ea08f7eaa))\r\n* **module:** generate `@source` for nuxt layers ([#5630](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5630)) ([de98a72](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fde98a72129641941477af3d28c8ebf901b265894))\r\n* **ProseCodeTree:** add `items` prop ([cb34ca5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcb34ca5aeead3681d007d36314afacf2f6dec8c7))\r\n* **ScrollArea:** new component ([#5245](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5245)) ([effbb18](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Feffbb18bfef7a835fa529e864e82b01ca313ea34))\r\n* **Slideover:** add `inset` prop ([05bd995](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F05bd995f63c80486cb7b04792cd1fab9910da5e7))\r\n* **unplugin:** add `router` option to disable router ([#5213](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5213)) ([b34cf8a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb34cf8a13491fec5b27a15a8ae5bd143e19aeb9d))\r\n* **unplugin:** add `scanPackages` option ([#5510](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5510)) ([4e57139](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4e57139c8c1e0e29e0a3fe8d86cd71c8a52c74e8))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **BlogPost\u002FChangelogVersion\u002FPageFeature\u002FUser:** allow tab focus ([47d93d3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F47d93d31d99e893d71cf4e2e78265d54d2e561a2)), closes [#5635](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5635)\r\n* **Carousel:** consistent stopOnInteraction behavior ([#5489](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5489)) ([36a7861](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F36a7861afa95a6cb165899be443bf9ad66bfc530))\r\n* **Carousel:** improve dots focus styles ([cc90fb8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcc90fb818caf1796c71f9e55f200a299a17f2875))\r\n* **ColorModeButton:** improve icon class merging ([2ce9af2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2ce9af2e138e160a6db9e74a43a92d194212548a))\r\n* **ContentSearch\u002FDasboardSearch:** set full height on mobile to prevent jump ([70317e5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F70317e55da0cf9760777eae4429a1ebe3a754b96))\r\n* **DashboardResizeHandle:** allow hover over panel with `z-index` ([07147f1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F07147f13ea26e593436cbbe81a3ae3d9a6a7690a))\r\n* **FormField:** hide error if error prop is false ([#5599](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5599)) ([6b7fe25](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6b7fe25935fb61d858a47df1228fb500247d1637))\r\n* **InputDate\u002FInputTime:** add missing field group variant ([#5596](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5596)) ([cb3cec2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcb3cec2a0bc7eb4e1d63f9b8d768276b03b898f9))\r\n* **PageCard\u002FPageCTA\u002FPageSection:** handle `reverse` prop under lg screens ([#5545](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5545)) ([60b430c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F60b430c3187f755a8ae21b64021c63bf9447420b))\r\n* **ProseA\u002FProseCallout\u002FProseCard:** improve focus styles ([df5f8c2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdf5f8c250c3a420733bb5be82b4f5d64bd64eec1))\r\n* **Slider:** add `aria-label` to thumb ([#5313](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5313)) ([f99ec46](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff99ec46a353253db81aacae63f3d36dadff91786))\r\n* **Table:** only forward necessary props ([#5527](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5527)) ([b0b209e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb0b209e0becd62cb8fb0402c3af5df68f47a5610))\r\n* **Table:** properly position pinned columns based on `size` ([e885b0e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe885b0ebc2adc2e6af0a181fedaa68dd76e8a18e)), closes [#4721](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4721) [#3927](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F3927)\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Basque language ([#5689](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5689)) ([748d78f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F748d78ff74d65f8a982b3bc54d0904943eb49bbf))\r\n* **locale:** add English (United Kingdom) language ([#5561](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5561)) ([b0139f0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb0139f01283d7cae5fbbe2618c3485ef939fb79e))\r\n* **locale:** add Lao language ([#5556](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5556)) ([f5f9885](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff5f9885fee75271ddf25ae4c15c3784d505816b9))\r\n\r\n## :wave: New Contributors\r\n\r\n* @AZERK0 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5530\r\n* @IO-Fire made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5557\r\n* @thanet-s made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5556\r\n* @iamThiagoo made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5598\r\n* @olivierbourdeau made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5591\r\n* @miguilimzero made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5512\r\n* @lehuuphuc made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5601\r\n* @dinocam1 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5610\r\n* @gunhaxxor made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5641\r\n* @niusia-ua made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5642\r\n* @sdsoldi made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5689\r\n* @edimitchel made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5632\r\n* @ISOR3X made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5510\r\n* @innocenzi made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5213\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.2.1...v4.3.0",{"tag":57,"title":57,"date":58,"markdown":59},"v4.2.1","2025-11-21T14:17:54Z","## :bug: Bug Fixes\r\n\r\n* **ChatPromptSubmit:** proxy event to `stop` and `reload` emits ([#5400](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5400)) [736a547](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F736a547)\r\n* **ColorModeButton:** missing icon import [5f30ccf](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5f30ccf), closes #5486\r\n* **Icon:** improve `name` type ([#5498](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5498)) [b654a77](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb654a77)\r\n* **Link:** define NuxtLinkProps instead of importing from `#app` ([#5491](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5491)) [da8daaa](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fda8daaa)\r\n* **Link:** ensure consistency across Nuxt, Vue and Inertia [a9ed10d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa9ed10d), closes #5012\r\n* **module:** put back `#build\u002Fui.css` alias ([#5499](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5499)) [d9aadc7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd9aadc7)\r\n\r\n## :wave: New Contributors\r\n* @PBK-B made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5400\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.2.0...v4.2.1",{"tag":61,"title":61,"date":62,"markdown":63},"v4.2.0","2025-11-18T17:12:18Z","## :sparkles: Highlights\r\n\r\n### 📅 New InputDate & InputTime components\r\n\r\nTwo new components are now available to handle date and time inputs: [**InputDate**](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Finput-date) ([#5387](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5387)) and [**InputTime**](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Finput-time) ([#5302](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5302)).\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nconst date = ref(new CalendarDate(2022, 2, 3))\r\nconst time = ref(new Time(12, 30, 0))\r\n\u003C\u002Fscript>\r\n\r\n\u003Ctemplate>\r\n  \u003CUInputDate v-model=\"date\" \u002F>\r\n\r\n  \u003CUInputTime v-model=\"time\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### 🎨 Tailwind CSS prefix\r\n\r\nYou can now use Tailwind CSS's [`prefix` option](https:\u002F\u002Ftailwindcss.com\u002Fdocs\u002Fstyling-with-utility-classes#using-the-prefix-option) ([#5341](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5341)) to prefix all utilities generated by Nuxt UI and avoid conflicts with your own styles or other libraries.\r\n\r\n```ts\r\nexport default defineNuxtConfig({\r\n  modules: ['@nuxt\u002Fui'],\r\n  css: ['~\u002Fassets\u002Fcss\u002Fmain.css'],\r\n  ui: {\r\n    theme: {\r\n      prefix: 'tw'\r\n    }\r\n  }\r\n})\r\n```\r\n\r\n```css\r\n@import \"tailwindcss\" prefix(tw);\r\n@import \"@nuxt\u002Fui\";\r\n```\r\n\r\n## :rotating_light: Breaking Changes\r\n\r\n* **components:** consistent exposed refs ([#5385](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5385)) ([fce2df4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffce2df4))\r\n\r\nExposed refs now consistently return the HTML element directly instead of the component instance. This affects `InputMenu`, `InputNumber`, `InputTags`, `Select`, and `SelectMenu`.\r\n\r\n```diff\r\n\u003Cscript setup lang=\"ts\">\r\nconst inputMenu = useTemplateRef('inputMenu')\r\n\r\n- inputMenu.value.inputRef.$el \u002F\u002F Component instance\r\n+ inputMenu.value.inputRef \u002F\u002F HTML element directly\r\n\u003C\u002Fscript>\r\n```\r\n\r\n* **module:** properly export composables from module ([cb25902](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcb25902))\r\n\r\nThere was an issue with how composables were exported, you no longer need the `.js` extension:\r\n\r\n```diff\r\n\u003Cscript setup lang=\"ts\">\r\n- import { useToast } from '@nuxt\u002Fui\u002Fcomposables\u002FuseToast.js'\r\n+ import { useToast } from '@nuxt\u002Fui\u002Fcomposables\u002FuseToast'\r\n\u002F\u002F or\r\n+ import { useToast } from '@nuxt\u002Fui\u002Fcomposables'\r\n\u003C\u002Fscript>\r\n```\r\n\r\n* **vite:** write theme templates ([#5355](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5355)) ([411ebcc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F411ebcc))\r\n\r\nThe Vite plugin now properly generates theme files as real files instead of incorrectly shipping them inside `.nuxt\u002F` on NPM. This ensures the `#build\u002Fui.css` import and custom theme configuration work correctly.\r\n\r\nWhen using the Vite plugin, update your `tsconfig.node.json` alias:\r\n\r\n```diff\r\n{\r\n  \"compilerOptions\": {\r\n    \"paths\": {\r\n      \"#build\u002Fui\": [\r\n-       \".\u002Fnode_modules\u002F@nuxt\u002Fui\u002F.nuxt\u002Fui\"\r\n+       \".\u002Fnode_modules\u002F.nuxt-ui\u002Fui\"\r\n      ]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## :rocket: Features\r\n\r\n* **components:** add `data-slot` attributes ([#5447](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5447)) ([dd81d46](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdd81d46))\r\n* **components:** extend native HTML attributes ([#5348](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5348)) ([5b17751](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5b17751))\r\n* **FileUpload:** add `preview` prop ([#5443](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5443)) ([2af82e7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2af82e7))\r\n* **InputDate:** new component ([#5387](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5387)) ([dabc4f8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdabc4f8))\r\n* **InputTime:** new component ([#5302](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5302)) ([936253f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F936253f))\r\n* **Modal:** add `scrollable` prop ([#5306](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5306)) ([240897e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F240897e))\r\n* **module:** add `theme.prefix` option ([#5341](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5341)) ([7fca5d7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7fca5d7))\r\n* **Table:** handle virtualizer `estimateSize` as function ([ebc8568](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Febc8568))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **AuthForm:** ensure header is shown with `leading` slot ([#5405](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5405)) ([b61127a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb61127a))\r\n* **AuthForm:** use password input id for aria-controls ([#5312](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5312)) ([55ea9be](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F55ea9be))\r\n* **ChatPrompt:** proxy `disabled` prop ([a8f2156](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa8f2156)), closes [#5300](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5300)\r\n* **CheckboxGroup\u002FRadioGroup\u002FSwitch:** consistent disabled styles ([ddd8faf](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fddd8faf)), closes [#5391](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5391)\r\n* **ColorModeButton:** use css to display color mode icon ([#5394](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5394)) ([1d1c638](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1d1c638))\r\n* **CommandPalette\u002FContentSearch:** improve performances and filtering logic ([#5433](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5433)) ([e751b37](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe751b37))\r\n* **components:** calc virtualizer estimateSize based on item description ([56ae8e7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F56ae8e7))\r\n* **components:** consistent exposed refs ([#5385](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5385)) ([fce2df4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffce2df4))\r\n* **components:** remove `locale` \u002F `dir` props proxy ([#5432](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5432)) ([a6efa7a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa6efa7a))\r\n* **ContentNavigation\u002FNavigationMenu\u002FTabs:** ensure proper badge display ([e5c11e6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe5c11e6))\r\n* **ContentSearchButton\u002FDashboardSearchButton:** hide label and trailing with css when collapsed ([3e72bf8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3e72bf8))\r\n* **FileUpload:** ensure native validation works with required ([#5358](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5358)) ([eb491e1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Feb491e1))\r\n* **Form:** refine `nested` prop type handling and simplify logic ([#5360](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5360)) ([8d5c26f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8d5c26f))\r\n* **inertia:** set serverRendered dynamically to prevent SSR crash ([#5396](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5396)) ([c0da1b2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc0da1b2))\r\n* **Input\u002FInputNumber\u002FTextarea:** make `modelModifiers` generic ([#5361](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5361)) ([5c347af](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5c347af))\r\n* **InputMenu:** prevent change event when selecting create item ([418c87b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F418c87b)), closes [#4664](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4664)\r\n* **Link:** partial extend for `vue-router` and `inertia` ([637ef58](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F637ef58))\r\n* **Marquee:** move keyframes into global css ([1e6242e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1e6242e))\r\n* **module:** detect lazy components when using `experimental.componentDetection` ([5a5ac45](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5a5ac45))\r\n* **module:** properly export composables from module ([cb25902](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcb25902)), closes [#5370](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5370)\r\n* **module:** scan layers when using `experimental.componentDetection` ([9872740](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9872740)), closes [#5389](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5389)\r\n* **NavigationMenu:** hide label and trailing with css when collapsed ([f004031](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff004031)), closes [#4254](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4254)\r\n* **NavigationMenu:** proxy `modelValue` \u002F `defaultValue` in vertical orientation ([cffaaaa](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcffaaaa)), closes [#5392](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5392)\r\n* **ProseCallout:** add `inline-block` class to icon ([#5317](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5317)) ([fc36f69](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffc36f69))\r\n* **RadioGroup:** update `update:modelValue` emit type ([#5349](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5349)) ([4cb0638](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4cb0638))\r\n* **Table:** apply styles to `th` based on column meta ([#5418](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5418)) ([620defa](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F620defa))\r\n* **types:** export missing utils types ([#5448](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5448)) ([5f0a107](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5f0a107))\r\n* **vite:** write theme templates ([#5355](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5355)) ([411ebcc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F411ebcc))\r\n* **vue:** check `import.meta.env.SSR` to support `vite-ssg` ([#5347](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5347)) ([8f38c04](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f38c04))\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Albanian language ([#5461](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5461)) ([3331533](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3331533))\r\n* **locale:** add Galician language ([#5393](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5393)) ([e93bfd4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe93bfd4))\r\n\r\n## :wave: New Contributors\r\n\r\n* @GlitchDevX made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5317\r\n* @onmax made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5346\r\n* @rodriciru made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5405\r\n* @NyllRE made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5410\r\n* @usmanibrahim74 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5418\r\n* @hfersu made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5393\r\n* @rudrokhanpro made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5448\r\n* @y-l-g made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5396\r\n* @Rolanddoda made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5461\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.1.0...v4.2.0\r\n",{"tag":65,"title":65,"date":66,"markdown":67},"v4.1.0","2025-10-23T14:22:30Z","## :sparkles: Highlights\r\n\r\n### 📦 New Empty Component\r\n\r\nA new [Empty](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fempty) component is now available to display empty states when there's no content to show ([#5200](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5200)).\r\n\r\n\u003Cimg width=\"900\" height=\"484\" alt=\"CleanShot 2025-10-23 at 16 17 10@2x\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F216a5d78-0216-4621-ad52-3c72f385256a\" \u002F>\r\n\r\n### ⚡️ Component Virtualization\r\n\r\nUse the `virtualize` prop to enable virtualization for large datasets on [CommandPalette](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fcommand-palette#with-virtualization), [InputMenu](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Finput-menu#with-virtualization), [SelectMenu](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fselect-menu#with-virtualization), [Table](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Ftable#with-virtualization) and [Tree](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Ftree#with-virtualization) components ([#5162](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5162)).\r\n\r\n```vue\r\n\u003Ctemplate>\r\n  \u003CUTable :data=\"data\" :columns=\"columns\" virtualize \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n### 🎯 Experimental Component Detection\r\n\r\nEnable the new [`experimental.componentDetection`](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnuxt#experimentalcomponentdetection) option in your `nuxt.config.ts` to automatically detect which components are actually used and only generate the necessary CSS for those components including their dependencies ([#5222](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5222)).\r\n\r\n```ts [nuxt.config.ts]\r\nexport default defineNuxtConfig({\r\n  modules: ['@nuxt\u002Fui'],\r\n  css: ['~\u002Fassets\u002Fcss\u002Fmain.css'],\r\n  ui: {\r\n    experimental: {\r\n      componentDetection: true\r\n    }\r\n  }\r\n})\r\n```\r\n\r\n## :rotating_light: Breaking Changes\r\n\r\n> We apologize for these small breaking changes. With 110+ components in the library, we occasionally need to make corrections to maintain consistency and quality. We aim to minimize breaking changes, but sometimes they're necessary to improve the developer experience in the long run.\r\n\r\n* **CommandPalette:** add `children-icon` prop to use `trailing-icon` in input ([#4397](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4397)) ([edda8a6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fedda8a66bc4e51dea073baf60601c2d3f47c1886))\r\n\r\nThe `trailing-icon` prop is now used for the Input, and a new `children-icon` prop has been added to customize the icon for child items:\r\n\r\n```diff\r\n\u003Ctemplate>\r\n- \u003CUCommandPalette :trailing-icon=\"i-lucide-arrow-right\" \u002F>\r\n+ \u003CUCommandPalette :children-icon=\"i-lucide-arrow-right\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n* **Table:** consistent args order in select event ([9526a1b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9526a1b583d54189af80ab8d3020106f3971fc7d))\r\n\r\nThe `@select` event now passes arguments in a consistent order: `(event, row)` instead of `(row, event)`:\r\n\r\n```diff\r\n\u003Ctemplate>\r\n- \u003CUTable @select=\"(row, e) => {}\" \u002F>\r\n+ \u003CUTable @select=\"(e, row) => {}\" \u002F>\r\n\u003C\u002Ftemplate>\r\n```\r\n\r\n## :rocket: Features\r\n\r\n* **Calendar:** add `variant` prop ([#5138](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5138)) ([bb4f42c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fbb4f42c38a3023a5b229363bc0b22659ffd8b58c))\r\n* **CommandPalette:** add `children-icon` prop to use `trailing-icon` in input ([#4397](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4397)) ([edda8a6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fedda8a66bc4e51dea073baf60601c2d3f47c1886))\r\n* **CommandPalette:** preserve group order in search results ([#5197](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5197)) ([38647a2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F38647a2d4a7c0567ac554c335d21776951b9978d))\r\n* **components:** expose `ui` in slot props where used ([#5207](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5207)) ([63c0a5f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F63c0a5f1b2039509427d770473c739410e6d06e1))\r\n* **components:** handle `description` in items ([#5193](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5193)) ([70cf05f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F70cf05f5103776eadbee5e5bcae7d2bb30543d4a))\r\n* **components:** implement virtualization ([#5162](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5162)) ([c744d6f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc744d6ff82424365acc9f5489a5352e5e552b5f6))\r\n* **Empty:** new component ([#5200](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5200)) ([6a6de8d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6a6de8d763852f110ca1444d4d41e9002f0002ea))\r\n* **InputNumber:** handle `increment` \u002F `decrement` as booleans ([#4805](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4805)) ([1858908](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1858908d80237d1af858af054212a02ccdb8f9ad))\r\n* **module:** add `experimental.componentDetection` option ([#5222](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5222)) ([f80474c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff80474c865d1b1669092b54b8843b29f2df4ac85))\r\n* **Popover:** add `close` method in slots ([#5176](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5176)) ([53c6508](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F53c65089370d975ed30b2a21dd274c1acb73fcc6))\r\n* **ProseImg:** improve `zoom` transition ([#4998](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4998)) ([d502c30](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd502c308a1e35a76ded9d4fea748b243fd0d33ee))\r\n* **Tree:** add global event handlers and checkbox example ([#5195](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5195)) ([84f87a5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F84f87a5953b508d74662dd3e81715ee86e75d71f))\r\n* **Tree:** expose `$el` for drag and drop example ([#5239](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5239)) ([fcf6117](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffcf61173abf40b0a956d699363b5ac31991fc4d9))\r\n* **Tree:** provide additional slot props ([#5194](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5194)) ([c8b01c9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc8b01c9026e0920e9a1dc68f265b5e681665038b))\r\n* **useToast:** handle `max` global configuration ([#5068](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5068)) ([e4c6113](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe4c6113558bb2d8a3737943e55e1822b76e9aeff))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **BlogPost\u002FChangelogVersion:** allow any attrs in`image` prop ([9632f99](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9632f990890589ec495e37939c736b2ef6931467)), closes [#5276](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5276)\r\n* **Breadcrumb:** handle `active` in items ([cc8cbf3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcc8cbf386bd23d77f22b6413a01a1dd279852d49)), closes [#4771](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4771)\r\n* **ChatMessage:** ensure left side takes full width ([af8c023](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Faf8c0232dc140cc565a28560ef53fa53a5b1bbb6))\r\n* **ChatMessage:** only apply max-width on right side ([a85b0e1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa85b0e1f61130dc2ab9e59938b3a365bd104f593))\r\n* **ChatMessage:** reset top and bottom margin ([8f9176c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f9176ce4093cc0e677e9d8bdddfaf4ad98dde15))\r\n* **ChatMessages:** allow user scroll with `should-auto-scroll` ([#5252](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5252)) ([db73765](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdb73765d7ab7af6ae5c71d85057f66eb2e422754))\r\n* **ChatMessages:** define user & assistant `ui` prop type ([#5234](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5234)) ([240bc1a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F240bc1ac7c7f124a5f6d7795ce365fc2288125c5))\r\n* **CodeTree\u002FTree:** restore item wrapper with `presentation` role ([70aaf4a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F70aaf4a3aa00b77804d6783601736b0f6a3c075e)), closes [#4945](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4945)\r\n* **components:** add missing `ui` prop in prose proxy components ([#5205](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5205)) ([d1afe90](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd1afe90419922170fed6baaad38870a26abccbef))\r\n* **ContextMenu\u002FDropdownMenu:** allow item content class override ([ab5032d](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fab5032d8f28656f68420cdd9cd604748bf190309)), closes [#5277](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5277)\r\n* **Drawer\u002FModal\u002FSlideover:** remove close autofocus prevent ([#5191](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5191)) ([8099440](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F80994401c6ca8ce29226104bef83c98f09585854))\r\n* **Error\u002FMain:** render as `div` instead of `main` ([2a09ac0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2a09ac0c1ed5b528dc843ebeb0032395dc8a125b)), closes [#4955](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4955)\r\n* **FileUpload:** handle disabling file delete button ([08c30cf](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F08c30cfecd2313d5323aa37c5a83fbfe63af39f1)), closes [#5249](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5249)\r\n* **FileUpload:** stuck focus while tabbing ([#5128](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5128)) ([2477d44](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2477d44e9c448b41da00020d1a0bd3d7331aef64))\r\n* **FileUpload:** use native img element for blob URLs preview ([69906bc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F69906bcc12e43b9cf9a1572457f633c8794eda51)), closes [#5121](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5121) [#4824](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4824)\r\n* **InputMenu\u002FSelectMenu:** enrich reusable template item prop ([63074d6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F63074d62151924e19a71c4f7e89c5abfd0b5fad1))\r\n* **InputMenu:** ensure tag can be removed when number ([028538a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F028538a728f9c1b4451aa94bb8f0b702b78fe568))\r\n* **Kbd:** return original value and use `uppercase` class ([#5238](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5238)) ([4095c9a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4095c9a55514b540c3e499d64fe8b794b26eef2b))\r\n* **NavigationMenu:** display trailing slot when badge not undefined ([f24204f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff24204f1054c7738193f813ac8918e874d153e85)), closes [#4670](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4670)\r\n* **Table:** consistent args order in select event ([9526a1b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9526a1b583d54189af80ab8d3020106f3971fc7d))\r\n* **Table:** expose `$el` instead of `rootRef` ([c019f8f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc019f8f7f3e16d3027df3de180312c231aeabd0c)), closes [#5230](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5230) [#5162](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5162)\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Croatian language ([#5293](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5293)) ([b84d67b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb84d67b6aca5cad4910dfda24600baae0f7f9db2))\r\n\r\n## :wave: New Contributors\r\n\r\n* @OlegChuev made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5136\r\n* @victorgarciaesgi made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5178\r\n* @DevAdedeji made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5169\r\n* @KazimirPodolski made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5176\r\n* @Antoine-Regembal made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5219\r\n* @Lenni009 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5283\r\n* @Ismaele-silla made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5197\r\n* @mbanusic made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5293\r\n* @brendonmatos made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5291\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.0.1...v4.1.0",{"tag":69,"title":69,"date":70,"markdown":71},"v3.3.7","2025-10-23T15:22:08Z","## :bug: Bug Fixes\r\n\r\n* **FileUpload:** handle disabling file delete button ([8e506c4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8e506c4c4abbb78b27a007167ff3966bcf4a07f2)), closes [#5249](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5249)\r\n* **FileUpload:** stuck focus while tabbing ([#5128](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5128)) ([1752f21](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1752f21b83d4420e5a9a496dcb280eaf61c97c30))\r\n* **NavigationMenu:** display trailing slot when badge not undefined ([ee9e02a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fee9e02a6021b8007b706284345a5697c55a63d26)), closes [#4670](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4670)\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.6...v3.3.7",{"tag":73,"title":73,"date":74,"markdown":75},"v3.3.6","2025-10-03T14:45:35Z","## :bug: Bug Fixes\r\n\r\n* **App:** allow global portal disabling ([#5111](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5111)) ([43c119f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F43c119fdd9964902437978313922a7f37f2bb862))\r\n* **Carousel:** ensure plugins init after client-side navigation ([#5117](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5117)) ([0f7a1b7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0f7a1b7c4f5febf34a90c155909fbb7a6ec206f3))\r\n* **Carousel:** invert arrow keys in RTL direction ([#5072](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5072)) ([27cb2b6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F27cb2b6fc26d900b1e4b5d6b256b5c871bedfbd5))\r\n* **Drawer:** prevent unwanted close when dismissible is false ([#5085](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5085)) ([027c06a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F027c06acce543284b06a45167a55d09bcd32b05a))\r\n* **Drawer:** use full height\u002Fwidth for snapPoints ([#5041](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5041)) ([8f21339](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8f21339fd46c72a432234fdb3ef8ecfbbf2d025b))\r\n* **Pagination:** make ellipsis non-interactive ([#5081](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5081)) ([ab168af](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fab168af668539117f7fc93f68693f38d7e03225d))\r\n* **Table:** empty cell value causing hydration errors ([#5069](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5069)) ([cd2662a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcd2662a952ea249b95f7cea9144610e3b85bf040))\r\n* **useKbd:** update escape key from `⎋` to `Esc` ([#5076](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5076)) ([27aa80c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F27aa80cd83b6ad35c39cb2fe4a93c0faf1d12853))\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.5...v3.3.6",{"tag":77,"title":77,"date":78,"markdown":79},"v4.0.1","2025-10-02T15:50:20Z","## :bug: Bug Fixes\r\n\r\n* **App:** allow global portal disabling ([#5111](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5111)) ([7659fa1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7659fa11628238b89f85d6f402c7bc5ccdd077e1))\r\n* **AuthForm:** export type with proper inference for field-specific props ([#5106](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5106)) ([344f269](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F344f26950bd7d509aafd07a91848e4e919ebb10a))\r\n* **Avatar:** remove redundant `img` role ([066b8a1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F066b8a1ccdc2b266593b377e04b3993490c0de7d)), closes [#5044](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5044)\r\n* **Carousel:** ensure plugins init after client-side navigation ([#5117](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5117)) ([21fbe63](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F21fbe630eb80f274287fe0e7fd7c838d4d9aac7d))\r\n* **Carousel:** invert arrow keys in RTL direction ([#5072](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5072)) ([fde53ee](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffde53ee3cbeb9aaed4314aafc90f325273a00c3a))\r\n* **ChatMessages:** ensure content is render before scrolling ([0db622a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0db622acfb78f4dcb75b8f71694b6db502e10507))\r\n* **ChatMessages:** watch deep to handle streaming with `parts` ([ff67fa3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fff67fa368bfd4f73d77eeed13fecf04674d41d76))\r\n* **components:** add missing `data-orientation` for consistency ([a9fe7c6](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa9fe7c61f43feb0639e8d0546496a51c993c05fe))\r\n* **ContentNavigation:** improve path matching and recursion with `default-open` ([22ee075](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F22ee075a398365464bc5b39ba4ac5f8648399ac4)), closes [#5112](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5112)\r\n* **ContentSearch\u002FDashboardSearch:** proxy modal props to support fullscreen ([095a0c1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F095a0c1eec7c28e140202f260031fc6c57daef3a))\r\n* **DashboardPanel\u002FDashboardSidebar:** handle RTL mode ([#5109](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5109)) ([fface35](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffface35e5456f084b3d97d90f5fe25f920e96bf8))\r\n* **Drawer:** prevent unwanted close when dismissible is false ([#5085](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5085)) ([2abdc21](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2abdc217823b5371766d51a8ea5a570011b68051))\r\n* **Drawer:** use full height\u002Fwidth for snapPoints ([#5041](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5041)) ([b145768](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb1457685b8a5a73e8390748524a2437df27b46b4))\r\n* **locale:** improve `ckb` translations ([#5079](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5079)) ([3ee3a5e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3ee3a5ea0e571a94ef9c813220eac39a25d43f82))\r\n* **locale:** improve typography with ellipsis ([#5052](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5052)) ([391f9f5](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F391f9f5f5b51f67d0ffe376026d0167377087a9e))\r\n* **Pagination:** make ellipsis non-interactive ([#5081](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5081)) ([62f64cc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F62f64cc260fbf85a2f143d53c93e0e5b665b6f71))\r\n* **Table:** empty cell value causing hydration errors ([#5069](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5069)) ([44a38ea](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F44a38ea3340e7e21a4e290c29eb8818a7c464860))\r\n* **unplugin:** handle components resolution with subpath ([31db8d9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F31db8d933ac368b194d72e562c19ba7480b85f77))\r\n* **useKbd:** update escape key from `⎋` to `Esc` ([#5076](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5076)) ([64d1589](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F64d1589d2d2a94541cca13c0821a8c9294369942))\r\n* **vue:** align `useCookie` stub with nuxt's default value handling ([#5089](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5089)) ([f531807](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff53180751cb2012ee3022e5e5d13db372312251a))\r\n\r\n## :wave: New Contributors\r\n* @theoriginalstove made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5053\r\n* @drevantonder made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5063\r\n* @paulbarre made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5072\r\n* @swarakaka made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5079\r\n* @devzom made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5085\r\n* @kendalled made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5122\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.0.0...v4.0.1",{"tag":81,"title":81,"date":82,"markdown":83},"v4.0.0","2025-09-23T12:27:36Z","We are excited to announce Nuxt UI v4, a major milestone that unifies Nuxt UI and Nuxt UI Pro into a single, fully open-source library. Following [NuxtLabs joining Vercel](https:\u002F\u002Fvercel.com\u002Fblog\u002Fnuxtlabs-joins-vercel) in July, we're now able to offer 100+ production-ready components and a complete Figma Kit available for free to everyone.\r\n\r\nRead the blog post announcement: https:\u002F\u002Fnuxt.com\u002Fblog\u002Fnuxt-ui-v4\r\n\r\n**[Get started with Nuxt UI v4 →](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnuxt)**\r\n\r\n## :sparkles: Highlights\r\n\r\n### :globe_with_meridians: Unified and Open Source\r\n\r\nNuxt UI v4 marks a significant milestone by merging Nuxt UI and Nuxt UI Pro into one cohesive, fully open-source library:\r\n\r\n* **[100+ components](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents)**: Complete access to all components, including those previously exclusive to Pro\r\n* **[Figma Kit](https:\u002F\u002Fgo.nuxt.com\u002Ffigma-ui)**: Professional design resources now available to everyone\r\n* **[Single package](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@nuxt\u002Fui)**: Everything unified under `@nuxt\u002Fui`\r\n\r\n### :desktop_computer: Templates\r\n\r\nAll our previously exclusive templates for Nuxt and Vue are now available to everyone and updated to Nuxt UI v4:\r\n\r\n* **[Starter](https:\u002F\u002Fstarter-template.nuxt.dev\u002F)**: A minimal template to get started with Nuxt UI\r\n* **[Landing](https:\u002F\u002Flanding-template.nuxt.dev\u002F)**: A modern landing page template powered by Nuxt Content\r\n* **[Docs](https:\u002F\u002Fdocs-template.nuxt.dev\u002F)**: A documentation template powered by Nuxt Content\r\n* **[SaaS](https:\u002F\u002Fsaas-template.nuxt.dev\u002F)**: A SaaS template with landing, pricing, docs and blog powered by Nuxt Content\r\n* **[Dashboard](https:\u002F\u002Fdashboard-template.nuxt.dev\u002F)**: A dashboard template with multi-column layout for building sophisticated admin interfaces\r\n* **[Chat](https:\u002F\u002Fchat-template.nuxt.dev\u002F)**: An AI chatbot template to build your own chatbot powered by Nuxt MDC and Vercel AI SDK\r\n* **[Portfolio](https:\u002F\u002Fportfolio-template.nuxt.dev\u002F)**: A sleek portfolio template to showcase your work, skills and blog powered by Nuxt Content\r\n* **[Changelog](https:\u002F\u002Fchangelog-template.nuxt.dev\u002F)**: A changelog template to display your repository releases notes from GitHub powered by Nuxt MDC\r\n\r\n### :books: Documentation\r\n\r\nWe've made extensive improvements to the documentation in v4 to provide a better developer experience:\r\n\r\n- **Unified location**: All documentation now lives under [`\u002Fdocs\u002F`](https:\u002F\u002Fui.nuxt.com\u002Fdocs) with automatic redirects from legacy paths\r\n- **Dedicated sections**: [Theme](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Ftheme) and [Typography](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Ftypography) now have their own organized sections\r\n- **AI-ready features**: [LLMs.txt](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fai\u002Fllms-txt) endpoints and [MCP Server](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fai\u002Fmcp) integration for AI tools like Cursor, Windsurf, and GitHub Copilot\r\n\r\n## :seedling: Migration from v3\r\n\r\nThe migration from v3 to v4 is designed to be smoother than previous major version transitions.\r\nWe recommend reading the [migration guide](https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv4) for step-by-step instructions.\r\n\r\n**For Nuxt UI users**\r\n\r\n1. Update to `@nuxt\u002Fui@latest`\r\n\r\n**For Nuxt UI Pro users**\r\n\r\n1. Replace `@nuxt\u002Fui-pro` with `@nuxt\u002Fui` in your dependencies\r\n2. Update module registration from `@nuxt\u002Fui-pro` to `@nuxt\u002Fui` in your Nuxt config\r\n3. Change configuration key from `uiPro` to `ui` in your app config\r\n4. Update CSS imports from `@nuxt\u002Fui-pro` to `@nuxt\u002Fui`\r\n5. Update any import statements to reference `@nuxt\u002Fui`\r\n\r\n## 🙏 Acknowledgements\r\n\r\nWe want to extend a special thanks to everyone who supported Nuxt UI Pro. Your early adoption and feedback were instrumental in shaping Nuxt UI. You helped us fund, maintain, and improve the project, allowing us to reach this milestone where we can now offer these powerful tools to the entire community.\r\n\r\nA huge thanks to the [dedicated team behind Nuxt UI](https:\u002F\u002Fui.nuxt.com\u002Fteam) and our incredible community of 250+ contributors. Your hard work, creativity, and passion have been the driving force behind this project's success.\r\n\r\nThank you for being part of this journey 💚",{"tag":85,"title":85,"date":86,"markdown":87},"v3.3.5","2025-09-23T13:54:53Z","## :bug: Bug Fixes\r\n\r\n* **InputMenu:** ensure to pass a string to items when multiple ([0031a75](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0031a75e3d10e2e0ea682a174d4bee981bf33d3a)), closes [#5018](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5018)\r\n* **InputTags:** add blur and focus event handlers on input ([#5007](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5007)) ([5db2708](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5db270804ce274b9c8eb7a2bff484905c829515b))\r\n* **Progress:** improve `status-position` when 0 ([#4994](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4994)) ([e0891ea](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe0891ea4f69ff4927ebf62e1d4d0b38b50062333))\r\n* **Tabs:** use nullish coalescing on item value ([a4ab796](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa4ab796d0e9482c03afeb655382d9736d9f5c60a)), closes [#4804](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4804)\r\n* **types:** allow arbitrary keys in tv config ([#4992](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4992)) ([8d859ea](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8d859ea73a4b1b27bfa803c1fb593a79495a8a2a))\r\n* **types:** resolve ambient declaration error in `icons` type ([#4991](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4991)) ([526cb81](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F526cb816a550d2be99f2fa7882612ba5169c2387))\r\n\r\n## New Contributors\r\n* @ronannnn made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4795\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.4...v3.3.5",{"tag":89,"title":89,"date":90,"markdown":91},"v4.0.0-beta.0","2025-09-22T16:17:25Z","## :bug: Bug Fixes\r\n\r\n* **ChatMessages:** wrap indicator with slot ([#5036](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5036)) ([c00bf30](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc00bf30497ac0235e45ece5edeaf53e13da4a5dc))\r\n* **CheckboxGroup:** proxy generic to emits ([ffa5b23](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fffa5b23f80ac517b0556d7763bb364025282bacf))\r\n* **Form:** improve nested form validation handling ([#5024](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5024)) ([77a554e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F77a554eb422e243fd43a6105df22568ef333a0b4))\r\n* **Form:** remove `joi` and `yup` in favor of @standard-schema\u002Fspec ([#5035](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5035)) ([723cf36](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F723cf369b61089cb3c1da04e8f2d8e60e4aafd90))\r\n* **InputMenu:** ensure to pass a string to items when multiple ([9beccbb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9beccbb359f1f034b40195d999aee67cb4dd3c38)), closes [#5018](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5018)\r\n* **InputTags:** add blur and focus event handlers on input ([#5007](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5007)) ([3fd2614](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3fd261410aa4f775008eb5e8132352bb378faae5))\r\n* **locale:** improve translations in `pt` locale ([#5003](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5003)) ([725ef9b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F725ef9b0ce5717ee4d7d8ae38d5298ed55343e45))\r\n* **module:** only inject tailwindcss vite plugin once ([#5008](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5008)) ([c2e39dd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc2e39dd661c58872a52458619e24f9b0b2162f57))\r\n* **ProseImg:** add `w-full` by default ([#4997](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4997)) ([de47add](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fde47add2e14cfa4ea71079aa7f500c4336f055f6))\r\n* **Tabs:** use nullish coalescing on item value ([340fc48](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F340fc4837eb7cff44b5693d73865ea98d41a3ab6)), closes [#4804](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4804)\r\n* **Tree:** remove `value-key` in favor of `get-key` ([#4999](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4999)) ([240ff42](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F240ff4266d2ac7a1c60ad271eb95aad77d842f65))\r\n* **types:** allow arbitrary keys in tv config ([#4992](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4992)) ([ae77b69](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fae77b6921f25707dbb4de2d62323033892b1aab8))\r\n\r\n## New Contributors\r\n* @jd-solanki made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4872\r\n* @JoniDS made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F5003\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.0.0-alpha.2...v4.0.0-beta.0",{"tag":93,"title":93,"date":94,"markdown":95},"v4.0.0-alpha.2","2025-09-17T09:53:38Z","This `4.0.0-alpha.2` release focused mostly on stability and documentation.\r\n> The official v4 release should come next week after some more testing.\r\n\r\n## :books: Documentation\r\n\r\nWe've made significant improvements to the documentation in this release.\r\n\r\n* **Theme:** rewritten and split into three sections - [Design system](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Ftheme\u002Fdesign-system), [CSS variables](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Ftheme\u002Fcss-variables) and [Component theming](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Ftheme\u002Fcomponents) ([#4939](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4939))\r\n* **[Typography](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Ftypography):** moved to own section with headers, text formatting, lists, tables, images, embeds, and code blocks ([#4742](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4742))\r\n* **[MCP server](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fai\u002Fmcp):** Model Context Protocol integration with tools, prompts and resources for AI assistants ([#4878](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4878))\r\n\r\n## :rotating_light: Breaking Changes\r\n\r\n* **Form:** don't mutate the form's state if transformations are enabled (#4902)\r\n\r\n> Read the migration guide about this change: https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv4#changes-to-form-component\r\n\r\n## :rocket: Features\r\n\r\n* **ContentNavigation:** handle collapsible false with type multiple ([c42c2ab](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc42c2ab47125f31278730fa929d8afae5134572a))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **Banner:** ensure `actions` slot renders ([#4946](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4946)) ([5d6e1fc](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5d6e1fcb29d7f58254847e328f4a66f65dddab70))\r\n* **CodeTree\u002FTree:** improve accessibility ([#4945](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4945)) ([117b4b3](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F117b4b36acae3f91f6e9a57ff772c62a1930f56a))\r\n* **components:** dot notation type support for `labelKey` and `valueKey` ([#4933](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4933)) ([11a0320](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F11a03201ed8454f37e911db4a14b00f74104932a))\r\n* **components:** proxySlots reactivity ([#4969](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4969)) ([3173bee](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3173bee38ce9e518076848999f14374600069d35))\r\n* **components:** standardize naming for type interfaces ([#4990](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4990)) ([788d2de](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F788d2deb53b2a96c8d87828629b3d5d5ec5187d6))\r\n* **FileUpload:** add missing `button` type ([f33e43c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff33e43cddeef333efe086607f404808a7c211f5c)), closes [#4935](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4935)\r\n* **Form:** don't mutate the form's state if transformations are enabled ([#4902](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4902)) ([99dbe81](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F99dbe81783f16cdd9bee14e9c74b34b93eb61976))\r\n* **Form:** handling race condition on `clear` function ([#4843](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4843)) ([2269b48](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2269b4831acb172ce9ab9d1526ce60051b7462b8))\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** show falsy value when model value is falsy ([#4882](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4882)) ([073dd14](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F073dd144e172282757affde491c440966e573b99))\r\n* **locale:** improve `id` name ([#4890](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4890)) ([1b5d741](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1b5d7418a5681a6ef2c4df5512e0e91c1defa2af))\r\n* **Marquee:** handle RTL mode ([#4887](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4887)) ([1846079](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1846079c1e2c6da0f7fcacc619c9c82a081f86d5))\r\n* **Progress:** improve `status-position` when 0 ([#4994](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4994)) ([0e1e44c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0e1e44c16236eb367f6c27587d5395879d2ad179))\r\n* **types:** export missing tv types ([#4971](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4971)) ([2bf273c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2bf273cd991442cc5b13b400a85d958f588e9b74))\r\n* **types:** resolve ambient declaration error in `icons` type ([#4991](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4991)) ([6ddf899](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6ddf8993b5864442802910e27e5aa32a7f67696c))\r\n\r\n## :fire: Performances\r\n\r\n* **module:** do not block setup by importing plugin ([#4923](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4923)) ([695d9f7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F695d9f767df42f7d6fd8d73abad0851c04e05265))\r\n\r\n## :globe_with_meridians: Locales\r\n\r\n* **locale:** add Georgian language ([#4973](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4973)) ([996478f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F996478fe40a7f1506a8e76ab98c991df4ea979ad))\r\n* **locale:** add Swiss German language ([#4962](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4962)) ([dcf17bb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdcf17bb96bec276ac57ba5208e31018884e25de0))\r\n\r\n## :wave: New Contributors\r\n\r\n* @reinacchi made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4890\r\n* @USLTD made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4973\r\n* @vitpetricak made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4991\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.0.0-alpha.1...v4.0.0-alpha.2",{"tag":97,"title":97,"date":98,"markdown":99},"v3.3.4","2025-09-15T16:21:49Z","## :bug: Bug Fixes\r\n\r\n* **FileUpload:** add missing `button` type ([91f86d9](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F91f86d9da2a614bd37a12f2ece9ff3ce176e8cb2)), closes [#4935](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4935)\r\n* **Form:** handling race condition on `clear` function ([#4843](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4843)) ([0a8ead7](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0a8ead72b53019969cf28d91549b9495ccc89f02))\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** show falsy value when model value is falsy ([#4882](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4882)) ([5b9d9d8](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5b9d9d8135fe5b4c3f9298161dbd0c59c511897a))\r\n* **locale:** improve `id` name ([#4890](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4890)) ([e5cb55b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe5cb55be7d5ac2690c95f05f56462b16d453670f))\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.3...v3.3.4",{"tag":101,"title":101,"date":102,"markdown":103},"v4.0.0-alpha.1","2025-09-01T14:33:45Z","## :books: Documentation\r\n\r\nYou can check out the new docs for v4 on https:\u002F\u002Fui4.nuxt.com while in alpha.\r\n\r\n## :rotating_light: Breaking Changes\r\n\r\n* **components:** rename `nullify` modifier to `nullable` and add `optional` (#4838)\r\n* **module:** update compatibility to nuxt 4\r\n\r\n> Read the [migration guide to v4](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv4).\r\n\r\n## :rocket: Features\r\n\r\n* **Icon:** allow passing a component instead of a name ([#4766](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4766)) ([61b603f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F61b603fff476aeac065268bd8dd493ff45577de4))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **AuthForm:** use `error` from form field ([#4738](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4738)) ([00dfb6b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F00dfb6b5866760e0669e9dbbaa247919f5400f55))\r\n* **BlogPost:** ensure date slot renders ([#4743](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4743)) ([4514880](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4514880902ba6ec75b5bf69099f4b6bef0f58efa))\r\n* **ChangelogVersion\u002FChangelogVersions:** handle RTL mode ([#4777](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4777)) ([f91c408](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff91c4081e5d6b884fc7dd8c5669fd262ddb98649))\r\n* **ContentSearch\u002FDashboardSearch:** make `ui.modal` work ([946c2ec](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F946c2ec8875af2c3fc74862b2c29d08dfb4cf6e2))\r\n* **module:** add `@source` on components ([a16465f](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa16465f3da051d1a4dbef6dadfe7a5f66da1216e)), closes [#4773](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4773)\r\n* **PageCard:** improve keyboard accessibility ([#4733](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4733)) ([3029568](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F30295684653f89b811e75e7a79a9684814c68ec1))\r\n* **ProseImg:** ensure unique motion layout id for images ([#4720](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4720)) ([9480a0b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9480a0baa46a2391d43d2f868fa8efdba12011f6))\r\n* **unplugin:** handle components overrides in subdirectories ([#4781](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4781)) ([69ee75e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F69ee75e5b291873e3b9466bfdb9187ac05e82d6f))\r\n\r\n## New Contributors\r\n* @cco3 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4808\r\n* @fabianmerino made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4826\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.0.0-alpha.0...v4.0.0-alpha.1",{"tag":105,"title":105,"date":106,"markdown":107},"v3.3.3","2025-09-01T12:25:46Z","## :rocket: Features\r\n\r\n* **useFormField:** export form errors injection key ([#4808](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4808)) ([ec2bc0a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fec2bc0a89d3b0854b6ccd6384d1a5fd78be8b726))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **components:** broken types for `update:model-value` event ([#4853](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4853)) ([7133f50](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7133f501e4346ba6990c437cfa16af05b886c884))\r\n* **Form:** default slot types ([#4758](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4758)) ([a32cc37](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa32cc37f7392499ab02558e4d58b46195f7ffad4))\r\n* **Form:** update `Form` interface to accept RegExp ([#4821](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4821)) ([0c2d390](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0c2d390139d540350d517d97d56be7dd4e25b34a))\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** show placeholder when model value is falsy ([#4825](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4825)) ([90b5daf](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F90b5daf2a16fbf87f8b0c20e6abf9fe7ae546809))\r\n* **InputMenu:** prevent `focus-outside` event on content ([77b6b9a](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F77b6b9ae8e876b03a5edc45a85e94b448c2c48e9))\r\n* **Link:** ensure target `_blank` is flagged as external for Inertia ([#4746](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4746)) ([520b277](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F520b2775d8978240c00bfa934dccd317898445d4))\r\n* **Table:** ensure `colspan` calc for `loading` and `empty` states ([#4826](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4826)) ([bdcc8c4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fbdcc8c4bf2ac339f046e6a0bbc1a719100f51566))\r\n\r\n## New Contributors\r\n* @cco3 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4808\r\n* @fabianmerino made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4826\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.2...v3.3.3",{"tag":109,"title":109,"date":110,"markdown":111},"v2.22.2","2025-09-01T13:40:23Z","## :bug: Bug Fixes\r\n\r\n* **Meter:** correct vertical alignment of progress bar ([#4735](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4735)) ([875be4b](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F875be4b680856b2e2b4e6b31d18f233f7e7fcdfb))\r\n* **SelectMenu\u002FInputMenu:** ensure object compare with `by` prop ([#4791](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4791)) ([44382cd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F44382cd3404cb692a3a72336312d81a72fa7cde6))\r\n\r\n## New Contributors\r\n* @DanielPagani made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4735\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv2.22.1...v2.22.2",{"tag":113,"title":113,"date":114,"markdown":115},"v4.0.0-alpha.0","2025-08-15T10:43:34Z","## :books: Documentation\r\n\r\nYou can check out the new docs for v4 on https:\u002F\u002Fui4.nuxt.com while in alpha.\r\n\r\n## :rotating_light: Breaking Changes\r\n\r\n* **components:** upgrade `ai-sdk` to v5 ([#4698](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4698)) ([9545fdd](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9545fddec8ba88bbf523cdb26672129adc5ed4f3))\r\n* **FieldGroup:** rename from `ButtonGroup` ([#4596](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4596)) ([8aa96d1](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8aa96d1a04c66bd5796bebed75709015e1e2b684))\r\n* **components:** import `@nuxt\u002Fui-pro` components ([#4675](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4675)) ([f6ae153](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff6ae1534280818ff6a8a4c967ae589e0f715ddbe))\r\n* **Marquee:** rename from `PageMarquee` ([#4741](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4741)) ([0a4d9b4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0a4d9b4dd35703f884b740eab2bfcc6e0d11f870))\r\n* **PageAccordion:** remove in favor of `Accordion` ([#4734](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4734)) ([1c63aab](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1c63aab7eb21a5d2fb0a7c69725f0e7490c88ebd))\r\n\r\n> Read the [migration guide to v4](https:\u002F\u002Fui4.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv4).\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.2...v4.0.0-alpha.0",{"tag":117,"title":117,"date":118,"markdown":119},"v3.3.2","2025-08-14T13:49:17Z","> This release ensures the `tailwind-variants@2.0.1` dependency is installed. The `2.1.0` version is somehow broken at the moment: https:\u002F\u002Fgithub.com\u002Fheroui-inc\u002Ftailwind-variants\u002Fissues\u002F259 \u002F https:\u002F\u002Fgithub.com\u002Fheroui-inc\u002Ftailwind-variants\u002Fissues\u002F258\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.1...v3.3.2",{"tag":121,"title":121,"date":122,"markdown":123},"v3.3.1","2025-08-14T13:01:57Z","## :rocket: Features\r\n\r\n* **Form:** support error RegExp in exposed methods ([#4608](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4608)) ([b8b74a0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fb8b74a0c333f1cad12781aecd3f20e94b8617763))\r\n* **Tree:** add `item-wrapper` slot ([#4521](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4521)) ([411d937](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F411d93710a13a364340609c3219419dab36332cc))\r\n* **useOverlay:** return promise on `open` method ([#4592](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4592)) ([58aac86](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F58aac862dd0df26fcce6649c3ea5bd5e95f41405))\r\n\r\n## :bug: Bug Fixes\r\n\r\n* **Drawer:** improve closing animation with `inset` prop ([#4676](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4676)) ([9da1527](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F9da1527f628a206a9697b32b1ec9f82df5f7c9c7))\r\n* **FileUpload:** handle wildcard in dropzone `dataTypes` ([#4671](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4671)) ([729bed4](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F729bed47f589f3f158fa3748ff21376abe19e296))\r\n* **FileUpload:** improve file removal a11y ([#4607](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4607)) ([f90bba0](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff90bba00c140394e9f1c71979a9072503f2377e1))\r\n* **FileUpload:** open dialog on keyup ([#4629](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4629)) ([8e9265e](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8e9265e91f3e43a39a4867565f415faabf6315bc))\r\n* **FileUpload:** prevent default on keydown ([#4633](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4633)) ([68d8a98](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F68d8a983ed2665941f7c2ad53bd67b66e8d13f37))\r\n* **Input:** incorrect rendering of type `date` \u002F `time` on iOS ([#4715](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4715)) ([93cc83c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F93cc83cbc74644b9a5a337e1cb8aa963baa5a172))\r\n* **InputMenu\u002FSelect\u002FSelectMenu:** add display value fallback when no items found ([#4689](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4689)) ([34ca811](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F34ca811ff095ac4cfecc3fc7128cc4703e3b3dbb))\r\n* **Select\u002FInputMenu:** handle focus via label inside a FormField ([#4696](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4696)) ([55dbcd2](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F55dbcd20a882e8c72bba975d0633a744284faa19))\r\n* **Tabs:** add missing Badge import ([#4594](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4594)) ([fbec29c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffbec29c1b7b874ca7c93652abe8bb40b4b9d8ef6))\r\n* **Toast:** add type for progress `ui` prop ([#4677](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4677)) ([a8af85c](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa8af85c14bc24b0065b74c506873e4381495d8d9))\r\n* **Tooltip:** render only if `text` or `kbds` are present ([#4568](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F4568)) ([5e39cbb](https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5e39cbb3b284f382d910de96d8f19faf4044108e))\r\n\r\n## New Contributors\r\n* @calmyournerves made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4594\r\n* @dev1-dylan made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4652\r\n* @kazupon made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4674\r\n* @cyrilf made their first contribution in https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fpull\u002F4597\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv3.3.0...v3.3.1",1784756346927]