\n\n### Additional context\n\n_No response_",[3019,3022],{"name":3020,"color":3021},"enhancement","a2eeef",{"name":3023,"color":3024},"triage","ffffff",4606,"nuxt","ui","open","✨ Expand/Collapse Support for Component Theme JSON in Nuxt UI Docs","2025-07-26T11:50:47Z","https://github.com/nuxt/ui/issues/4606",0.76118535,{"description":3034,"labels":3035,"number":3048,"owner":3026,"repository":3026,"state":3028,"title":3049,"updated_at":3050,"url":3051,"score":3052},"### Environment\n\nNuxt 3.2.2\r\nNodejs 19\n\n### Reproduction\n\nMy components is nested 5~6 layers. \n\n### Describe the bug\n\nWhen I change too many code or rename deep component,the VS Code maybe open `/.nuxt/components.d.ts` file automatically,then cosole report many error. These error will disappear just when I delete `.nuxt` folder and recompile with `yarn dev`\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3036,3039,3042,3045],{"name":3037,"color":3038},"good first issue","fbca04",{"name":3040,"color":3041},"dx","C39D69",{"name":3043,"color":3044},"upstream","E8A36D",{"name":3046,"color":3047},"🍰 p2-nice-to-have","0E8A16",19627,"disable vs-code auto-refactoring generated `.d.ts` files (or document)","2024-06-30T11:09:19Z","https://github.com/nuxt/nuxt/issues/19627",0.7684555,{"description":3054,"labels":3055,"number":3064,"owner":3026,"repository":3027,"state":3065,"title":3066,"updated_at":3067,"url":3068,"score":3069},"### Environment\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v20.10.0\n- Nuxt Version: 3.13.2\n- CLI Version: 3.16.0\n- Nitro Version: 2.9.7\n- Package Manager: yarn@4.5.0\n- Builder: -\n- User Config: default\n- Runtime Modules: @nuxt/content@2.13.4, @nuxt/ui-pro@3.0.0-alpha.9, @pinia/nuxt@0.5.5, @nuxt/image@1.8.1, @nuxt/test-utils/module@3.14.4, @nuxtjs/i18n@9.1.0, @nuxtjs/seo@2.0.2, @nuxtjs/turnstile@0.9.11, nuxt-security@2.1.4, @nuxt/scripts@0.9.5\n- Build Modules: -\n------------------------------\n\n### Version\n\nv3.x\n\n### Reproduction\n\n```vue\n\u003CUButton v-show=\"true\" />\n```\n\n### Description\n\nAssuming it's because of the primitives, using v-show triggers a warning for every Nuxt UI (and Nuxt UI Pro) component, stating a runtime directive was used on a component with a non-element root node. This makes it impossible to apply conditional display unless using v-if, which doesn't cover the use cases that v-show does.\n\n### Additional context\n\n_No response_\n\n### Logs\n\nExample from my project of a button:\n```shell-script\n[Vue warn]: Runtime directive used on component with non-element root node. The directives will not function as intended. \n at \u003CNuxtLink class=\"inline-flex items-center focus:outline-none disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors gap-1.5 hover:bg-[var(--ui-primary)]/75 disabled:bg-[var(--ui-primary)] aria-disabled:bg-[var(--ui-primary)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ui-primary)] p-4 text-lg max-w-md w-full mx-auto rounded-lg bg-primary shadow-lg text-black font-semibold justify-center\" raw=true custom=\"\" > \n at \u003CLink type=\"button\" disabled=false class=\"inline-flex items-center focus:outline-none disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors gap-1.5 hover:bg-[var(--ui-primary)]/75 disabled:bg-[var(--ui-primary)] aria-disabled:bg-[var(--ui-primary)] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ui-primary)] p-4 text-lg max-w-md w-full mx-auto rounded-lg bg-primary shadow-lg text-black font-semibold justify-center\" ... > \n at \u003CButton type=\"button\" loading=false class=\"p-4 text-lg max-w-md w-full mx-auto rounded-lg bg-primary shadow-lg text-black font-semibold justify-center\" ... > \n at \u003CIndex onVnodeUnmounted=fn\u003ConVnodeUnmounted> ref=Ref\u003C undefined > > \n at \u003CAnonymous key=\"/\" vnode= {__v_isVNode: true, __v_skip: true, type: {…}, props: {…}, key: null, …} route= {fullPath: '/', hash: '', query: {…}, name: 'index', path: '/', …} ... > \n at \u003CRouterView name=undefined route=undefined > \n at \u003CNuxtPage> \n at \u003CDefault ref=Ref\u003C undefined > > \n at \u003CLayoutLoader key=\"default\" layoutProps= {ref: RefImpl} name=\"default\" > \n at \u003CNuxtLayoutProvider layoutProps= {ref: RefImpl} key=\"default\" name=\"default\" ... > \n at \u003CNuxtLayout> \n at \u003CToastProvider swipe-direction=\"right\" duration=5000 > \n at \u003CToaster key=0 > \n at \u003CTooltipProvider> \n at \u003CConfigProvider use-id=fn\u003Cuse-id> dir=\"ltr\" > \n at \u003CApp> \n at \u003CApp key=4 > \n at \u003CNuxtRoot>\n```",[3056,3059,3062],{"name":3057,"color":3058},"bug","d73a4a",{"name":3060,"color":3061},"v3","49DCB8",{"name":3043,"color":3063},"78bddb",2866,"closed","[v3]: v-show causes a runtime warning and breaks","2025-03-24T17:58:14Z","https://github.com/nuxt/ui/issues/2866",0.71130997,{"description":3071,"labels":3072,"number":3076,"owner":3026,"repository":3027,"state":3065,"title":3077,"updated_at":3078,"url":3079,"score":3080},"### Description\n\nI'm basically trying to display the week day full name in the Calendar header slot.\n\nInstead of having `S - M - T - W - T - F -S` as week day headers, I'd like to show `Sunday - Monday - Tuesday - Wednesday - ...`\n\nThe `#week-day` slot only provides the day's letter, so there's no way to reformat it.\n\n```\n\u003Ctemplate #week-day=\"item\">\n {{ item }}\n\u003C/template>\n```\n\nIt simply displays \n```\n{\n \"day\": \"M\"\n}\n```\nWhich is not super helpful\n\nWould it be possible to have, like, the weekday number (0 to 6) ? \n\nSuggestion:\n```\n{\n \"day\": \"M\",\n \"dayNumber\": \"1\",\n}\n```\n\n### Additional context\n\n_No response_",[3073,3074,3075],{"name":3020,"color":3021},{"name":3060,"color":3061},{"name":3023,"color":3024},3714,"Pass more complete data to Calendar week-day slots","2025-04-01T11:52:50Z","https://github.com/nuxt/ui/issues/3714",0.71317244,{"description":3082,"labels":3083,"number":3086,"owner":3026,"repository":3026,"state":3065,"title":3087,"updated_at":3088,"url":3089,"score":3090},"Similar approach to https://github.com/antfu/unplugin-vue-components#importing-from-ui-libraries\r\n\r\nI been using this pattern for `unplugin-vue-components` for a while and I think it turns out a flexible and straightforward solution to support various component libraries without the changes need to be done on the author side. For example, some components might use JSX to build up the library, or uses all named exports on the top-level module, or imports styles separately. Additionally, the resolver opens more possibility to integrate on-demand usages, for example `unplugin-icons` which the icons are served virtually via module name. This would also be great if we could join the force from the Vite side to provide a uniformed resolver solution and made it easier for ppl adopting to more libraries at ease.",[3084,3085],{"name":3037,"color":3038},{"name":3046,"color":3047},11785,"Support custom resolvers for @nuxt/components","2025-06-05T13:18:25Z","https://github.com/nuxt/nuxt/issues/11785",0.75179815,{"description":3092,"labels":3093,"number":3098,"owner":3026,"repository":3027,"state":3065,"title":3099,"updated_at":3100,"url":3101,"score":3102},"### For what version of Nuxt UI are you suggesting this?\n\nv2.x\n\n### Description\n\nI know you guys are working hard on V3, but I really like to see this feature still in V2. We all know that not everybody will move over to V3 right away.\n\nI have to set my `strategy` to `override`, because tailwind-merge doesn't know about my custom tailwind extends. This is quite a pain in the ass, since this is causing other issues as well. Take the [Pro LandingGird](https://ui.nuxt.com/pro/components/landing-grid) as example. Classes are added to the grid items to set the right cols. By doing this with `strategy` set to `override`, all other classes will be overridden.\n\nI saw some sort of solution in [#925 ](https://github.com/nuxt/ui/issues/925#issuecomment-1857910586), but that didn't work. It's also not documented and can't find it in the module either.\n\nI know have to create my own merge config, but that will not work for Nuxt UI.\n\n\n### Additional context\n\nYou may wonder why I need this. Thats because I'm also using Tailwind Fluid, and try to replicate a design library that uses different spacings etc.\n\n",[3094,3097],{"name":3095,"color":3096},"duplicate","cfd3d7",{"name":3020,"color":3021},2893,"Extend tailwind-merge configuration","2024-12-13T15:04:57Z","https://github.com/nuxt/ui/issues/2893",0.7521753,{"description":3104,"labels":3105,"number":3106,"owner":3026,"repository":3107,"state":3065,"title":3108,"updated_at":3109,"url":3110,"score":3111},"On the new blog post [Nuxt 3.15](https://nuxt.com/blog/v3-15), the link to vite 6 changelog is missing ([here](https://nuxt.com/blog/v3-15#%EF%B8%8F-vite-6-included)).\nIf this is missing, I send a PR with this issue fixing that, otherwise you can discard both, hope that helps.",[],1744,"nuxt.com","Missing vite 6 changelog link","2024-12-27T17:05:05Z","https://github.com/nuxt/nuxt.com/issues/1744",0.75302964,{"description":3113,"labels":3114,"number":3118,"owner":3026,"repository":3026,"state":3065,"title":3119,"updated_at":3120,"url":3121,"score":3122},"**🚧 Work in progress 🚧**\r\n\r\n| Name | Description | Nuxt 2 | Nuxt 3 | Migration steps required |\r\n| --------------------- | ------------------ | ------ | ------ | -------------------------------------------------------------------------------------------------------------------- |\r\n| `app.vue` | | ❌ | ✅ | Move `layouts/default.vue` (if present) to `~/app.vue` and rename the `\u003Cnuxt />` component to `\u003Cnuxt-page />` |\r\n| Assets | | ✅ | ✅ | |\r\n| Components | Auto-import | ✅ | ✅ | |\r\n| Layouts | `layout: 'custom'` | ✅ | ✅ | |\r\n| Modules | | ✅ | 🚧 | Module authors should migrate to using [`@nuxt/kit`](/modules/kit). [See below](#modules-compatibility) for details. |\r\n| Pages | | ✅ | ✅ | |\r\n| Pages: dynamic params | | ✅ | ✅ | Rename `_id.vue` style parameters to `[id].vue` style parameters. |\r\n| Pages: _.vue | Catch-all routes | ✅ | ✅ | Rename `_.vue` to `[...params].vue` (or similar) |\r\n| Plugins | | ✅ | ✅ | The `plugins/` directory is now auto-imported so individual plugins can be removed from `nuxt.config`. |\r\n| Static | | ✅ | ✅ | Rename `static/` to `public/` |\r\n| Store | | ✅ | 🚧 | |\r\n\r\n\r\n\r\nhttps://www.notion.so/nuxt/Nuxt-2vs3-930e72eecb4643f6885f97540b9053df",[3115],{"name":3116,"color":3117},"3.x","29bc7f",11061,"Compatibility Progress","2023-01-19T14:46:54Z","https://github.com/nuxt/nuxt/issues/11061",0.75927144,{"labels":3124,"number":3129,"owner":3026,"repository":3026,"state":3065,"title":3130,"updated_at":3131,"url":3132,"score":3133},[3125,3126],{"name":3116,"color":3117},{"name":3127,"color":3128},"refactor","173A12",11799,"refactor `WebpackBundler` and `PostcssConfig`","2023-01-19T15:43:41Z","https://github.com/nuxt/nuxt/issues/11799",0.7599291,{"description":3135,"labels":3136,"number":3139,"owner":3026,"repository":3027,"state":3065,"title":3060,"updated_at":3140,"url":3141,"score":3142},"The development is ongoing on the default branch of this repository: https://github.com/nuxt/ui.\n\n---\n\nA lot has changed since `@nuxt/ui` was made open-source (May 2023), so the plan here is to rewrite every component from scratch alongside their config.\n\nI'll post regular updates on this issue and on https://twitter.com/benjamincanac.\n\n## Documentation\n\nhttps://ui3.nuxt.dev\n\n## Roadmap (Nov 20, 2024)\n\n- [x] Finish the migration to `reka-ui@alpha` on `@nuxt/ui` & `@nuxt/ui-pro` #2448\n- [x] Write the docs for implemented `@nuxt/ui-pro` components\n- [x] Finish `@nuxt/ui-pro` components\n- [x] Make Nuxt UI Pro v3 work with Vue like Nuxt UI https://github.com/nuxt/ui-pro/pull/742\n- [ ] Implement new components in `@nuxt/ui` like\n - [x] `Calendar` #2618\n - [ ] `InputDate` #2524\n - [x] `Tree` #3180\n - [x] `Stepper` #2733\n- [x] Migrate all the Nuxt UI Pro templates\n - [x] Starter\n - [x] Landing\n - [x] Docs\n - [x] SaaS https://github.com/nuxt-ui-pro/saas/pull/86\n - [x] Dashboard https://github.com/nuxt-ui-pro/dashboard/pull/86\n- [ ] Build the Nuxt UI docs marketing pages\n - [x] Landing\n - [x] Figma\n - [x] Pro -> Landing\n - [x] Pro -> Pricing\n - [x] Pro -> Templates\n - [x] Pro -> Activate\n - [ ] Releases\n- [x] Write migration guide https://ui3.nuxt.dev/getting-started/migration\n- [x] Release `@nuxt/ui` & `@nuxt/ui-pro` officially once `tailwindcss` and `reka-ui` are released\n- [x] Migrate all the Nuxt apps (nuxt.com, image.nuxt.com, eslint.nuxt.com, devtools.nuxt.com, fonts.nuxt.com, hub.nuxt.com, nuxt.studio, etc.)\n- [ ] Implement new `@nuxt/ui` & `@nuxt/ui-pro` components\n- [ ] Create new templates like Changelog, Portfolio, etc. \n\n## Breaking Changes\n\nThe biggest change is the switch to `tailwind-variants`, this will cause lots of breaking changes if you've used the `ui` prop or `app.config.ts` to override the config. I apologize in advance for this but I strongly believe this will be beneficial and will bring consistency across all components.\n\n> At the beginning the config was split in many keys for the same div to give more flexibility, but since then we introduced `tailwind-merge` which now allows us to group those keys together, this is a good opportunity to clean the whole thing. \n\nThe config will now have a `slots` amongst other keys that will specifically target dom nodes. The `ui` prop will only allow you to target those slots.\n\nThese changes alongside the refactor of all components will also improve the types, the `app.config.ts` and `ui` props are now perfectly typed, as well as all components `props`, `slots`, `emits` and `expose`.\n\n> Feel free to comment on this if you have any ideas for the next major.\n\n```[tasklist]\n### Components\n- [x] Accordion\n- [x] Alert\n- [x] Avatar\n- [x] AvatarGroup\n- [x] Badge\n- [x] Breadcrumb\n- [x] Button\n- [x] ButtonGroup\n- [x] Card\n- [x] Carousel\n- [x] Checkbox\n- [x] Chip\n- [x] Collapsible\n- [x] CommandPalette\n- [x] Container\n- [x] ContextMenu\n- [x] Drawer\n- [x] DropdownMenu (Dropdown)\n- [x] Form\n- [x] FormField (FormGroup)\n- [x] Icon\n- [x] Input\n- [x] InputMenu\n- [x] Kbd\n- [x] Link\n- [x] Modal\n- [x] NavigationMenu (HorizontalNavigation/VerticalNavigation)\n- [x] Pagination\n- [x] Popover\n- [x] Progress\n- [x] Provider\n- [x] RadioGroup\n- [x] Select\n- [x] SelectMenu\n- [x] Separator (Divider)\n- [x] Skeleton\n- [x] Slideover\n- [x] Slider (Range)\n- [x] Table\n- [x] Tabs\n- [x] Textarea\n- [x] Toast (Notification)\n- [x] Switch (Toggle)\n- [x] Tooltip\n```\n",[3137],{"name":3138,"color":3061},"release",1289,"2025-07-17T12:55:11Z","https://github.com/nuxt/ui/issues/1289",0.76181865,["Reactive",3144],{},["Set"],["ShallowReactive",3147],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fPPn1bKTUASuZWgrwruycW0IsIaxaRq8L-f4g6L5mp8U":-1},"/nuxt/ui/3747"]