\r\n \u003CSheet :default-open=\"true\">\r\n \u003CSheetContent :side=\"'left'\" class=\"outline-0 p-0 w-[240px] z-[99999]\">\r\n \u003CVisuallyHidden>\r\n \u003CSheetHeader>\r\n \u003CSheetTitle>dialog\u003C/SheetTitle>\r\n \u003CSheetDescription>description\u003C/SheetDescription>\r\n \u003C/SheetHeader>\r\n \u003C/VisuallyHidden>\r\n \u003Cdiv style=\"width: 100%; height: 100vh; display: flex; flex-direction: column;\">\r\n \u003C!-- Header -->\r\n \u003Cdiv class=\"w-full h-[56px] flex items-center sm:h-[48px]\">\r\n \u003Cdiv class=\"w-full h-[56px] flex items-center ml-[14px] sm:ml-[16px]\">\r\n \u003Cdiv class=\"w-10 h-10 flex items-center justify-center sm:hidden\">\r\n \u003C!-- SVG Icon Placeholder -->\r\n \u003C/div>\r\n \u003Cdiv class=\"w-[120px] h-[56px] sm:w-auto sm:h-[48px]\" style=\"display: flex; justify-content: center; align-items: center;\">\r\n \u003Cdiv class=\"w-[94px] h-[30px]\">\r\n \u003C!-- Logo Placeholder -->\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C!-- Footer -->\r\n \u003Cdiv class=\"sidebar_toolbar\">\r\n \u003CSheetClose class=\"outline-0\">\r\n \u003CNuxtLayout name=\"tab-toolbar-nav-menu\" />\r\n \u003C/SheetClose>\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C/SheetContent>\r\n \u003C/Sheet>\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\n\r\nShadcnUI Sheet.vue:\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport { DialogRoot, type DialogRootEmits, type DialogRootProps, useForwardPropsEmits } from 'radix-vue';\r\n\r\nconst props = defineProps\u003CDialogRootProps>();\r\nconst emits = defineEmits\u003CDialogRootEmits>();\r\nconst forwarded = useForwardPropsEmits(props, emits);\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003CDialogRoot v-bind=\"forwarded\">\r\n \u003Cslot />\r\n \u003C/DialogRoot>\r\n\u003C/template>\r\n```\r\n\r\n**The warning message:**\r\n\r\n```text\r\n[Vue warn]: Extraneous non-props attributes (data-v-e01f9c95) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.\r\n at \u003CDialogRoot defaultOpen=true onUpdate:open=fn data-v-e01f9c95=\"\" >\r\n at \u003CSheet default-open=true >\r\n at \u003CSideBar ref=Ref\u003C undefined > >\r\n```\r\n\r\nThis warning has appeared multiple times and only occurs on the server side. No warnings appear on the client side.\r\n\r\nThrough testing, I found that switching to the `DialogRoot` component eliminates the warnings. The warnings reappear when using the `Sheet` component.\r\n\r\nHere’s the alternative component:\r\n\r\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport { DialogRoot, VisuallyHidden } from \"radix-vue\";\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cdiv id=\"index-side-bar\">\r\n \u003Cslot />\r\n \u003CDialogRoot :default-open=\"true\">\r\n \u003CSheetContent :side=\"'left'\" class=\"outline-0 p-0 w-[240px] z-[99999]\">\r\n \u003CVisuallyHidden>\r\n \u003CSheetHeader>\r\n \u003CSheetTitle>dialog\u003C/SheetTitle>\r\n \u003CSheetDescription>description\u003C/SheetDescription>\r\n \u003C/SheetHeader>\r\n \u003C/VisuallyHidden>\r\n \u003Cdiv style=\"width: 100%; height: 100vh; display: flex; flex-direction: column;\">\r\n \u003C!-- Header -->\r\n \u003Cdiv class=\"w-full h-[56px] flex items-center sm:h-[48px]\">\r\n \u003Cdiv class=\"w-full h-[56px] flex items-center ml-[14px] sm:ml-[16px]\">\r\n \u003Cdiv class=\"w-10 h-10 flex items-center justify-center sm:hidden\">\r\n \u003C!-- SVG Icon Placeholder -->\r\n \u003C/div>\r\n \u003Cdiv class=\"w-[120px] h-[56px] sm:w-auto sm:h-[48px]\" style=\"display: flex; justify-content: center; align-items: center;\">\r\n \u003Cdiv class=\"w-[94px] h-[30px]\">\r\n \u003C!-- Logo Placeholder -->\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C!-- Footer -->\r\n \u003Cdiv class=\"sidebar_toolbar\">\r\n \u003CSheetClose class=\"outline-0\">\r\n \u003CNuxtLayout name=\"tab-toolbar-nav-menu\" />\r\n \u003C/SheetClose>\r\n \u003C/div>\r\n \u003C/div>\r\n \u003C/SheetContent>\r\n \u003C/DialogRoot>\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\n\r\n**When using DevTools**, the same warning occurs, similar to the server-side warning, but it doesn’t appear on the client side:\r\n\r\n```text\r\n[Vue warn]: Extraneous non-props attributes (data-v-inspector) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.\r\n at \u003CDialogRoot default-open=true data-v-inspector=\"layouts/index/SideBar.vue:16:7\" >\r\n at \u003CSideBar data-v-inspector=\"app.vue:4:7\" ref=Ref\u003C undefined > >\r\n at \u003CLayoutLoader key=\"index-side-bar\" layoutProps= { 'data-v-inspector': 'app.vue:4:7',\r\n```\r\n\r\nI have already disabled DevTools with `componentInspector: false`.\r\n\r\nGitHub link: [Nuxt DevTools Issue #722](https://github.com/nuxt/devtools/issues/722).\r\n",[3067],{"name":3057,"color":3058},29002,"(Need Help) Encountering Warnings When Using Nuxt3 + shadcnUI and Unsure How to Fix Them","2024-09-17T08:13:28Z","https://github.com/nuxt/nuxt/issues/29002",0.7547555,{"description":3074,"labels":3075,"number":3084,"owner":3039,"repository":3039,"state":3040,"title":3085,"updated_at":3086,"url":3087,"score":3088},"### What problem does this feature solve?\r\n\r\nThe `layout` property should only allow strings and functions. If you set the layout to an `array` (for example), no error is shown. Only a Warning (coming from Vue directly): \r\n\r\n```\r\n[Vue warn]: Avoid using non-primitive value as key, use string/number value instead.\r\n\r\n(found in \u003CRoot>)\r\n```\r\n\r\nA decent error message would be great to see here!\r\n\r\nTo get started, the source code for setting and evaluating the layout is [here](https://github.com/nuxt/nuxt.js/blob/dev/lib/app/App.js#L82)\r\n\r\n\r\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\r\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This feature request is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c7888\">#c7888\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3076,3079,3081],{"name":3077,"color":3078},"enhancement","8DEF37",{"name":3080,"color":3037},"good first issue",{"name":3082,"color":3083},"2.x","d4c5f9",4035,"Throw an error when `layout` is no string","2023-01-22T15:50:48Z","https://github.com/nuxt/nuxt/issues/4035",0.7555142,{"labels":3090,"number":3099,"owner":3039,"repository":3039,"state":3040,"title":3100,"updated_at":3101,"url":3102,"score":3103},[3091,3094,3095,3096],{"name":3092,"color":3093},"documentation","5319e7",{"name":3027,"color":3028},{"name":3030,"color":3031},{"name":3097,"color":3098},"🍰 p2-nice-to-have","0E8A16",13376,"Improve warning about `definePageMeta()` outside `setup`","2023-10-21T08:51:28Z","https://github.com/nuxt/nuxt/issues/13376",0.75740904,{"description":3105,"labels":3106,"number":3113,"owner":3039,"repository":3114,"state":3040,"title":3115,"updated_at":3116,"url":3117,"score":3118},"### Description\n\nStoryblok uses the `v-editable=\"blok\"` directive to make them easily accessibly in their theme editor. The client can click on the blok to customise it. In most cases it works well, but somehow with the button I have issues.\n\nMaybe worth to check that out?\n\nI can of course wrap it in a div for now, but then I miss the `block` setting that then does not have any effect without further customisations on the div as well.\n\n```\n[Vue warn]: Runtime directive used on component with non-element root node. The directives will not function as intended. \n at \u003CNuxtLink ariaCurrentValue=\"page\" to=\"\" custom=\"\" > \n at \u003CULink type=undefined disabled=false inactiveClass=\"\" ... > \n at \u003CUButton label=\"Button\" color=\"primary\" variant=\"solid\" ... > \n at \u003CButton ref_key=\"blokRef\" ref=Ref\u003C Proxy(Object) {__v_skip: true} > blok= {_uid: '64a08c2a-1e70-41a3-8415-b0c70c1d72eb', icon: '', link: {…}, block: false, color: 'primary', …\n```\n\nPlease let me know if you need more info on this.",[3107,3110],{"name":3108,"color":3109},"question","d876e3",{"name":3111,"color":3112},"v3","49DCB8",4374,"ui","Runtime directive used on component with non-element root node.","2025-06-24T10:04:34Z","https://github.com/nuxt/ui/issues/4374",0.7591638,{"description":3120,"labels":3121,"number":3128,"owner":3039,"repository":3129,"state":3040,"title":3130,"updated_at":3131,"url":3132,"score":3133},"- [ ] Add Custom Button class (responsive + look)\n- [ ] Add Custom Form Input class",[3122,3125],{"name":3123,"color":3124},"design","00bd6f",{"name":3126,"color":3127},"dev","018415",1340,"nuxt.com","UI Configuration","2023-10-10T14:44:52Z","https://github.com/nuxt/nuxt.com/issues/1340",0.76013815,{"labels":3135,"number":3138,"owner":3039,"repository":3039,"state":3040,"title":3139,"updated_at":3140,"url":3141,"score":3142},[3136,3137],{"name":3057,"color":3058},{"name":3082,"color":3083},6645,"Build removes style tags inside template","2023-01-22T15:34:46Z","https://github.com/nuxt/nuxt/issues/6645",0.76144797,{"description":3144,"labels":3145,"number":3151,"owner":3039,"repository":3114,"state":3040,"title":3152,"updated_at":3153,"url":3154,"score":3155},"### Environment\n\n```\n System:\n OS: macOS 15.5\n CPU: (14) arm64 Apple M3 Max\n Memory: 555.83 MB / 36.00 GB\n Shell: 5.9 - /bin/zsh\n Binaries:\n Node: 23.11.0 - /opt/homebrew/bin/node\n Yarn: 1.22.22 - /opt/homebrew/bin/yarn\n npm: 10.9.2 - /opt/homebrew/bin/npm\n pnpm: 9.12.3 - /opt/homebrew/bin/pnpm\n Watchman: 2025.04.28.00 - /opt/homebrew/bin/watchman\n npmPackages:\n nuxt: ^3.17.3 => 3.17.4 \n```\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.17.4\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/nuxt-ui3-n3sxks\n\n### Description\n\nWhen using the UNavigationMenu component from Nuxt UI 3 in a fresh Nuxt 3 app, the following warning appears in the browser console:\n\n```shell-script\n> [Vue warn] toRefs() expects a reactive object but received a plain one.\n```\n\nThis occurs even when rendering the component barebones:\n\n**pages/index.vue:**\n\n```vue\n\u003Cscript setup lang=\"ts\">\nimport type { NavigationMenuItem } from '@nuxt/ui'\n\nconst items = ref\u003CNavigationMenuItem[]>([\n {\n label: 'Guide',\n icon: 'i-lucide-book-open',\n to: '/getting-started',\n children: [\n {\n label: 'Introduction',\n description: 'Fully styled and customizable components for Nuxt.',\n icon: 'i-lucide-house'\n },\n {\n label: 'Installation',\n description: 'Learn how to install and configure Nuxt UI in your application.',\n icon: 'i-lucide-cloud-download'\n },\n {\n label: 'Icons',\n icon: 'i-lucide-smile',\n description: 'You have nothing to do, @nuxt/icon will handle it automatically.'\n },\n {\n label: 'Colors',\n icon: 'i-lucide-swatch-book',\n description: 'Choose a primary and a neutral color from your Tailwind CSS theme.'\n },\n {\n label: 'Theme',\n icon: 'i-lucide-cog',\n description: 'You can customize components by using the `class` / `ui` props or in your app.config.ts.'\n }\n ]\n },\n {\n label: 'Composables',\n icon: 'i-lucide-database',\n to: '/composables',\n children: [\n {\n label: 'defineShortcuts',\n icon: 'i-lucide-file-text',\n description: 'Define shortcuts for your application.',\n to: '/composables/define-shortcuts'\n },\n {\n label: 'useOverlay',\n icon: 'i-lucide-file-text',\n description: 'Display a modal/slideover within your application.',\n to: '/composables/use-overlay'\n },\n {\n label: 'useToast',\n icon: 'i-lucide-file-text',\n description: 'Display a toast within your application.',\n to: '/composables/use-toast'\n }\n ]\n },\n {\n label: 'Components',\n icon: 'i-lucide-box',\n to: '/components',\n active: true,\n children: [\n {\n label: 'Link',\n icon: 'i-lucide-file-text',\n description: 'Use NuxtLink with superpowers.',\n to: '/components/link'\n },\n {\n label: 'Modal',\n icon: 'i-lucide-file-text',\n description: 'Display a modal within your application.',\n to: '/components/modal'\n },\n {\n label: 'NavigationMenu',\n icon: 'i-lucide-file-text',\n description: 'Display a list of links.',\n to: '/components/navigation-menu'\n },\n {\n label: 'Pagination',\n icon: 'i-lucide-file-text',\n description: 'Display a list of pages.',\n to: '/components/pagination'\n },\n {\n label: 'Popover',\n icon: 'i-lucide-file-text',\n description: 'Display a non-modal dialog that floats around a trigger element.',\n to: '/components/popover'\n },\n {\n label: 'Progress',\n icon: 'i-lucide-file-text',\n description: 'Show a horizontal bar to indicate task progression.',\n to: '/components/progress'\n }\n ]\n },\n {\n label: 'GitHub',\n icon: 'i-simple-icons-github',\n badge: '3.8k',\n to: 'https://github.com/nuxt/ui',\n target: '_blank'\n },\n {\n label: 'Help',\n icon: 'i-lucide-circle-help',\n disabled: true\n }\n])\n\u003C/script>\n\u003Ctemplate>\n \u003CUNavigationMenu :items=\"items\" class=\"w-full justify-center\" />\n\u003C/template>\n\n```\n\n**Minimal Reproduction**\nRepro created using Nuxt 3 + Nuxt UI 3 starter structure.\n\npackage.json:\n```json\n{\n \"name\": \"nuxt-app\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"nuxt build\",\n \"dev\": \"nuxt dev\",\n \"generate\": \"nuxt generate\",\n \"preview\": \"nuxt preview\",\n \"postinstall\": \"nuxt prepare\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"eslint --fix .\"\n },\n \"dependencies\": {\n \"@iconify-json/lucide\": \"^1.2.44\",\n \"@iconify-json/simple-icons\": \"^1.2.35\",\n \"@nuxt/ui\": \"^3.1.1\",\n \"nuxt\": \"^3.17.3\"\n },\n \"devDependencies\": {\n \"@nuxt/eslint\": \"^1.4.1\",\n \"eslint\": \"^9.27.0\",\n \"typescript\": \"^5.8.3\"\n }\n}\n```\n\nNotes\n\t•\tReproduces consistently in local dev.\n\t•\tDoes not reproduce on Codesandbox with the Nuxt UI 3 starter (possibly due to different runtime setup).\n\t•\tNo functional issues observed so far, but the warning pollutes the console.\n\t•\tThis warning has only recently started appearing in the console logs, despite no code changes to this component on our end — possibly introduced in a recent dependency update.\n",[3146,3147,3148],{"name":3030,"color":3031},{"name":3111,"color":3112},{"name":3149,"color":3150},"reka-ui","56d799",4257,"[Vue warn] toRefs() expects a reactive object but received a plain one - \u003CUNavigationMenu />","2025-06-10T14:16:02Z","https://github.com/nuxt/ui/issues/4257",0.76158965,["Reactive",3157],{},["Set"],["ShallowReactive",3160],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fUNq2cYdedm-BKiOWeNKqwLcytthOAUocOAacNnAKE4k":-1},"/nuxt/nuxt.com/1435"]