[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"github-release-nuxt-ui-v4.10.0":3,"$f2v3tzw7dti6zg":-1},{"adjacent":4,"latestReleases":16,"relatedArticles":31,"relatedArticlesAreVersioned":8,"release":40},{"newer":5,"older":11},{"htmlUrl":6,"id":7,"isPrerelease":8,"name":9,"publishedAt":10,"tagName":9},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Freleases\u002Ftag\u002Fv4.11.0","01a0250d-0e12-72ec-8e1b-cbf215572881",false,"v4.11.0","2026-08-21T15:23:38.000Z",{"htmlUrl":12,"id":13,"isPrerelease":8,"name":14,"publishedAt":15,"tagName":14},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Freleases\u002Ftag\u002Fv4.9.0","019ed64f-b307-721e-b846-2951dccc4fb7","v4.9.0","2026-06-17T14:18:32.000Z",[17,21,25,29,30],{"id":18,"isPrerelease":8,"name":19,"publishedAt":20,"tagName":19},"01a0f831-ca6d-75a3-b346-cd122695e021","v4.11.3","2026-10-01T13:36:34.000Z",{"id":22,"isPrerelease":8,"name":23,"publishedAt":24,"tagName":23},"01a0c8fc-d675-768f-bc9d-b203b4ef4d1e","v4.11.2","2026-09-22T10:57:12.000Z",{"id":26,"isPrerelease":8,"name":27,"publishedAt":28,"tagName":27},"01a07c99-2835-7139-a2b4-dc1366a91f12","v4.11.1","2026-09-07T12:52:35.000Z",{"id":7,"isPrerelease":8,"name":9,"publishedAt":10,"tagName":9},{"id":13,"isPrerelease":8,"name":14,"publishedAt":15,"tagName":14},[32],{"id":33,"image":34,"publishedAt":35,"slug":36,"sourceName":37,"summary":38,"title":39},"019ddc9c-805c-71c8-81be-4ae362cfeb7c","https:\u002F\u002Fblog.vueschool.io\u002Fwp-content\u002Fuploads\u002F2026\u002F04\u002Fcollaborative-editor-example.jpg","2026-04-28T00:00:34.000Z","vibe-coding-a-collaborative-editor-with-comment-support-with-nuxt-ui-and-jazz","VueSchool","This article explores the creation of a collaborative editor using Nuxt UI and Jazz, focusing on real-time editing and comment support. It discusses the final product's features, including a rich text editor with a toolbar, image upload capabilities, and a layout optimized for collaboration. The author also shares insights on leveraging AI in the development process.","Vibe Coding a Collaborative Editor with Comment Support with Nuxt UI and Jazz",{"htmlUrl":41,"id":42,"isPrerelease":8,"name":43,"projectId":44,"projectName":45,"projectOwner":46,"projectRepo":47,"projectUrl":48,"publishedAt":49,"summary":50,"tagName":43,"updatedAt":51,"breakingChangesHtml":52,"displayName":53,"hasBreakingChanges":8,"indexable":54,"notesHtml":55,"version":56},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Freleases\u002Ftag\u002Fv4.10.0","019f6acc-642e-757c-b85b-fa657eec332f","v4.10.0","019d75ac-bef8-7578-b1f1-429ff8d0dc0f","Nuxt UI","nuxt","ui","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui","2026-07-16T08:23:12.000Z","Nuxt UI v4.10.0 introduces the new `InputRating` component for displaying and collecting ratings with customizable options. It also enhances performance by bundling icons for offline use and adds the `unmountOnHide` prop to `Modal` and `Slideover` components to preserve state when closed.","2026-07-16T12:00:20.467Z",null,"Nuxt UI v4.10.0",true,"\u003Ch2>✨ Highlights\u003C\u002Fh2>\n\u003Ch3>:star2: InputRating component\u003C\u002Fh3>\n\u003Cp>A new \u003Ca href=\"https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Finput-rating\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u003Ccode>InputRating\u003C\u002Fcode>\u003C\u002Fa> component lets you display and collect ratings, with support for half-steps, custom length, clearing, hover preview and any icon:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-vue\">&lt;script setup lang=&quot;ts&quot;&gt;\nconst value = shallowRef(3.5)\n&lt;\u002Fscript&gt;\n\n&lt;template&gt;\n  &lt;UInputRating v-model=&quot;value&quot; :step=&quot;0.5&quot; hoverable \u002F&gt;\n&lt;\u002Ftemplate&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>📦 Bundled, offline-ready icons\u003C\u002Fh3>\n\u003Cp>Nuxt 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&#39;s own icons (the \u003Ccode>lucide\u003C\u002Fcode> collection by default), on both Nuxt and pure Vue\u002FVite.\u003C\u002Fp>\n\u003Cp>On Nuxt this rides on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ficon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u003Ccode>@nuxt\u002Ficon\u003C\u002Fcode>\u003C\u002Fa>&#39;s existing client bundle. On Vue the \u003Ccode>@nuxt\u002Fui\u002Fvite\u003C\u002Fcode> plugin gains an \u003Ccode>icon.clientBundle\u003C\u002Fcode> 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 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ficon\u002Freleases\u002Ftag\u002Fv2.3.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u003Ccode>@nuxt\u002Ficon\u003C\u002Fcode> v2.3.0\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-ts\">import ui from &#39;@nuxt\u002Fui\u002Fvite&#39;\n\nexport default defineConfig({\n  plugins: [\n    ui({\n      icon: {\n        clientBundle: {\n          \u002F\u002F list them explicitly...\n          icons: [&#39;lucide:heart&#39;, &#39;simple-icons:github&#39;],\n          \u002F\u002F ...or scan your whole app\n          scan: true\n        }\n      }\n    })\n  ]\n})\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>[!TIP]\u003Cbr>Install each collection you use with \u003Ccode>@iconify-json\u002F{collection_name}\u003C\u002Fcode> so its icons can be bundled. See the \u003Ca href=\"https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Fintegrations\u002Ficons\u002Fvue\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Icons\u003C\u002Fa> integration for the details.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>♻️ Keep overlay state with \u003Ccode>unmountOnHide\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fmodal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u003Ccode>Modal\u003C\u002Fcode>\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fcomponents\u002Fslideover\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u003Ccode>Slideover\u003C\u002Fcode>\u003C\u002Fa> components now accept the \u003Ccode>unmountOnHide\u003C\u002Fcode> prop. Set it to \u003Ccode>false\u003C\u002Fcode> to keep their content mounted while closed so form state, scroll position and expensive children survive open\u002Fclose cycles:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-vue\">&lt;template&gt;\n  &lt;UModal :unmount-on-hide=&quot;false&quot;&gt;\n    &lt;UButton label=&quot;Open&quot; \u002F&gt;\n\n    &lt;template #content&gt;\n      &lt;!-- kept alive when the modal is closed --&gt;\n    &lt;\u002Ftemplate&gt;\n  &lt;\u002FUModal&gt;\n&lt;\u002Ftemplate&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>🚀 Features\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>ChatPrompt:\u003C\u002Fstrong> add body slot and focus highlight (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6709\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6709\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F123184b5c72fd3f7d4b6c032a6dd4b52a5046e6e\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">123184b\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ChatTool:\u003C\u002Fstrong> add \u003Ccode>actions\u003C\u002Fcode> prop for tool approval (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6694\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6694\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F1a3a9dc35b6a4e7a3aea57d93532b155de51c0ec\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">1a3a9dc\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ContentSearch\u002FDashboardSearch:\u003C\u002Fstrong> support \u003Ccode>unmountOnHide\u003C\u002Fcode> prop (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6523\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6523\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff03f98bafa972f593927bf01669369da8a30e212\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">f03f98b\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ContentToc:\u003C\u002Fstrong> scroll list independently and center active link (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6697\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6697\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F64b9f7dd93863370ada09dc3be31bb05a8a5a4ce\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">64b9f7d\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drawer:\u003C\u002Fstrong> add \u003Ccode>close\u003C\u002Fcode> and \u003Ccode>closeIcon\u003C\u002Fcode> props (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6669\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6669\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F53e88a468824c0a9b5f9d2bd08a4113b6922afe7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">53e88a4\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor:\u003C\u002Fstrong> allow disabling starter kit for plain text (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6713\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6713\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F76d613c590ed8f0ac7884aa3c3ca2cd5027da6e2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">76d613c\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Empty:\u003C\u002Fstrong> add \u003Ccode>loading\u003C\u002Fcode> and \u003Ccode>loadingIcon\u003C\u002Fcode> props (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6707\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6707\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F86cd25c5cadacfbbe63d04195a4fb05fec9702d9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">86cd25c\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>InputRating:\u003C\u002Fstrong> new component (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5757\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#5757\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fcba2c2c40c23d7a3624f7948357a70c3d35846fe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">cba2c2c\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modal\u002FSlideover:\u003C\u002Fstrong> support \u003Ccode>unmountOnHide\u003C\u002Fcode> prop (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6626\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6626\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4deb61b91cc22ec1bbda80faa35f13a267c8ad1d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">4deb61b\u003C\u002Fa>), closes \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F5839\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#5839\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F3605\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#3605\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>module:\u003C\u002Fstrong> pre-bundle used icons into \u003Ccode>@nuxt\u002Ficon\u003C\u002Fcode> client bundle (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6633\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6633\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F8d46034c19474e62e5dbc25b5efb3f887d615c58\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">8d46034\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Popover:\u003C\u002Fstrong> support \u003Ccode>enableTouch\u003C\u002Fcode> prop (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6626\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6626\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F54125f3f6ee98816b757e9c30c6bf3eaae458dc8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">54125f3\u003C\u002Fa>), closes \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F2346\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#2346\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Prompt:\u003C\u002Fstrong> add \u003Ccode>claude\u003C\u002Fcode> action (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6693\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6693\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7bdcb1381c7cb55c7fd602545b3ddc4461b19c43\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">7bdcb13\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>prose:\u003C\u002Fstrong> configurable heading anchors and copy button (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6735\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6735\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff419731d9b570892e21b990f13985f3f4ad4a56c\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">f419731\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ScrollArea:\u003C\u002Fstrong> add \u003Ccode>getScrollElement\u003C\u002Fcode> virtualize option (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6650\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6650\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa84de85b2a017c8692e6da889291c06d5015c115\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">a84de85\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Table:\u003C\u002Fstrong> add \u003Ccode>getScrollElement\u003C\u002Fcode> virtualize option (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6657\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6657\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7e6d0f767666be718ae32709a029cfe456fb660b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">7e6d0f7\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>unplugin:\u003C\u002Fstrong> pre-bundle used icons into the Vue\u002FVite build (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6635\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6635\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fdcf7cbc0918dcf55ad4e93929ebe4949dd5ac17c\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">dcf7cbc\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>🐛 Bug Fixes\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>AuthForm:\u003C\u002Fstrong> track password visibility per field (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6638\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6638\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F0faeb9265e720b43021b020c3bd9d7878b9464da\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">0faeb92\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>BlogPost\u002FChangelogVersion:\u003C\u002Fstrong> format date in UTC to prevent hydration mismatch (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6722\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6722\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffe5bb2388b32fd13a4fe677b1d82328312ca501b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">fe5bb23\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Button:\u003C\u002Fstrong> allow inline event handlers with non-void return types (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6668\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6668\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F269080a85dc877a2140bdc951c32ccd5626f4684\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">269080a\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Carousel:\u003C\u002Fstrong> prevent reset when plugin props use inline objects (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff41d11e2e330213385a807fccece1c3a3d3bb936\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">f41d11e\u003C\u002Fa>), closes \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6221\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6221\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ChatMessages:\u003C\u002Fstrong> re-evaluate streaming indicator on each render (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6673\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6673\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F5c986dd4051a3b409945a25015888dd3b8d70642\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">5c986dd\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>components:\u003C\u002Fstrong> forward \u003Ccode>$attrs\u003C\u002Fcode> to root element when \u003Ccode>to\u003C\u002Fcode> prop is absent (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6628\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6628\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd3b5f1d3f966e92f9194e1e114f5c84ea1e8cbaa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">d3b5f1d\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>components:\u003C\u002Fstrong> forward \u003Ccode>data-slot\u003C\u002Fcode> to component root (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6643\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6643\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc9c5232238f483f51b1be30128fa1c548a7b0329\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">c9c5232\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>components:\u003C\u002Fstrong> respect \u003Ccode>prefers-reduced-motion\u003C\u002Fcode> in animations (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6723\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6723\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff95152949ac6762aa61610482892bd6551a21593\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">f951529\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ContentNavigation:\u003C\u002Fstrong> key items by identity to prevent leading icon flash (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6640\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6640\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F09fb52b73397733a61c1f53dbd035c2ba040145e\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">09fb52b\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>defineShortcuts:\u003C\u002Fstrong> add missing \u003Ccode>arrowdown\u003C\u002Fcode> to shiftable keys (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6702\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6702\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2128414292aeec7d8fc3c724745eb6ea81d086b8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">2128414\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>defineShortcuts:\u003C\u002Fstrong> defer standalone shortcuts that prefix a chain (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6703\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6703\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F76ee17697fdf2bf7a2e79fbe3c2d389b05934163\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">76ee176\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor:\u003C\u002Fstrong> prevent suggestion menu blinking on keystroke (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6712\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6712\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7e6d8b0e69c6de392c2df45008f4722c1eda740d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">7e6d8b0\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>FileUpload:\u003C\u002Fstrong> add \u003Ccode>aria-disabled\u003C\u002Fcode> attribute when disabled (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6653\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6653\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc3b2996f181d68b2382db6aef8c429a5f0fc3d88\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">c3b2996\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>inertia:\u003C\u002Fstrong> make \u003Ccode>useRoute().fullPath\u003C\u002Fcode> reactive across navigations (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6696\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6696\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fc256997f33b44324d43b212bae6b2be2de83b42c\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">c256997\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Link:\u003C\u002Fstrong> apply \u003Ccode>rel\u003C\u002Fcode> prop to internal links (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6677\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6677\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F276302eef23a8ea9a2b144aca80e18b6efa55111\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">276302e\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Link:\u003C\u002Fstrong> fall back to original path when \u003Ccode>localePath\u003C\u002Fcode> fails (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6637\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6637\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F906e8fd49f2dbf664133c79f2ebe5569e63d627e\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">906e8fd\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>LocaleSelect:\u003C\u002Fstrong> add missing keys in emoji mapping (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6629\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6629\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ffab73ab2ecceccd6a2d4e55eabf42efe9f7c9e23\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">fab73ab\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>module:\u003C\u002Fstrong> avoid unhead v2-only \u003Ccode>hookOnce\u003C\u002Fcode> in colors plugin (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6658\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6658\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fe4ca5798118d8073d04eb208136d1f34334bf1b7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">e4ca579\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SelectMenu\u002FInputMenu:\u003C\u002Fstrong> only re-highlight first item with \u003Ccode>create-item\u003C\u002Fcode> (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6689\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6689\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fa71dece0fdc332c06f0de4b7f4e8d1fa00559cb8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">a71dece\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Separator:\u003C\u002Fstrong> forward fall-through attributes to root (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6641\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6641\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F88baabcf42b115b7da1a65e5f71092a37b5c9bf3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">88baabc\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>theme:\u003C\u002Fstrong> use logical properties for RTL (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6724\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6724\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F317901253dfd02a857ebdba632816445ba45afef\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">3179012\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>types:\u003C\u002Fstrong> type prose components in app config (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6711\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6711\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Fd56e39a06c9bb8aee24ce2f294e41c4533ff086d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">d56e39a\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>useComponentProps:\u003C\u002Fstrong> let app config \u003Ccode>defaultVariants\u003C\u002Fcode> override \u003Ccode>withDefaults\u003C\u002Fcode> (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6686\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6686\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002Ff5e58fb7baae38ca2cedf589af3b625b73e247f3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">f5e58fb\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>useFileUpload:\u003C\u002Fstrong> keep dropzone type filter reactive to accept (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6699\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6699\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F000aba433df85a8b28dc16127a587fc18822b32f\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">000aba4\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>useResizable:\u003C\u002Fstrong> recover from corrupted persisted storage (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6704\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6704\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F4c607453fe405705e715c24801939bdc7acf6ba6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">4c60745\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>useResizable:\u003C\u002Fstrong> share resize logic between mouse and touch (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6705\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6705\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F730a54c023c5750a696df73879dbc806981e2d85\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">730a54c\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>useScrollspy:\u003C\u002Fstrong> unobserve previous headings on update (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6700\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6700\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F59440671dd20196ca3a7cc613dc13438251e706d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">5944067\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>useToast:\u003C\u002Fstrong> dedupe duplicate ids and handle max of 0 (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6698\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6698\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F71c623b900a2b0997b60304e43e73397fea11dac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">71c623b\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>🔥 Performances\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>components:\u003C\u002Fstrong> drop the redundant inner in component extend (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6647\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6647\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F3bf1a92a9d3aa47ee7f02c1b2363363bc906f313\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">3bf1a92\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>module:\u003C\u002Fstrong> declare \u003Ccode>sideEffects\u003C\u002Fcode> for barrel tree-shaking (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6729\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6729\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F2cc2849f9fadfcc2a70933b4a278c8b058e91cd3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">2cc2849\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>types:\u003C\u002Fstrong> decouple \u003Ccode>useComponentProps\u003C\u002Fcode> from the component-types barrel (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6648\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6648\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F6576fb81dd34c25a8e6b2209b9df9b2bf935f99b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">6576fb8\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>types:\u003C\u002Fstrong> import cross-component types from source, not the barrel (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6646\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6646\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F7eab4bcb78f17b9eed365d617aa3ef3874c21bac\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">7eab4bc\u003C\u002Fa>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>vue:\u003C\u002Fstrong> skip rewriting unchanged templates (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fissues\u002F6730\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">#6730\u003C\u002Fa>) (\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcommit\u002F14b60013ddc094c8e7cee5a3633a57d26c5842e6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">14b6001\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>❤️ Contributors\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>@benjamincanac\u003C\u002Fli>\n\u003Cli>@solidusite\u003C\u002Fli>\n\u003Cli>@sandros94\u003C\u002Fli>\n\u003Cli>@Dtem4ik\u003C\u002Fli>\n\u003Cli>@mikenewbon\u003C\u002Fli>\n\u003Cli>@innocenzi\u003C\u002Fli>\n\u003Cli>@faizkhairi\u003C\u002Fli>\n\u003Cli>@reslear\u003C\u002Fli>\n\u003Cli>@syazany\u003C\u002Fli>\n\u003Cli>@yamachi4416\u003C\u002Fli>\n\u003Cli>@martipops\u003C\u002Fli>\n\u003Cli>@typed-sigterm\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Full Changelog\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.9.0...v4.10.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui\u002Fcompare\u002Fv4.9.0...v4.10.0\u003C\u002Fa>\u003C\u002Fp>\n","4.10.0"]