\n\nWhere I use config then, it shows me typing error.\nWhen I switch to the legacy tsconfig, typing issue are gone.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nTypecheck summary: \n\n\n\napp/layouts/default.vue:35:33 - error TS2339: Property 'title' does not exist on type '{}'.\n\n35 title: appConfig.information?.title,\n ~~~~~\n\napp/layouts/default.vue:36:39 - error TS2339: Property 'description' does not exist on type '{}'.\n\n36 description: appConfig.information?.description,\n ~~~~~~~~~~~\n\napp/layouts/default.vue:39:36 - error TS2339: Property 'socials' does not exist on type '{}'.\n\n39 github: appConfig.information?.socials?.github,\n ~~~~~~~\n\napp/layouts/default.vue:40:38 - error TS2339: Property 'socials' does not exist on type '{}'.\n\n40 linkedin: appConfig.information?.socials?.linkedin,\n ~~~~~~~\n\napp/layouts/default.vue:41:40 - error TS2339: Property 'birthdate' does not exist on type '{}'.\n\n41 isBirthday: appConfig.information?.birthdate ? isBirthday(appConfig.information?.birthdate) : false,\n ~~~~~~~~~\n\napp/layouts/default.vue:41:86 - error TS2339: Property 'birthdate' does not exist on type '{}'.\n\n41 isBirthday: appConfig.information?.birthdate ? isBirthday(appConfig.information?.birthdate) : false,\n ~~~~~~~~~\n\napp/layouts/default.vue:44:27 - error TS2339: Property 'icons' does not exist on type '{}'.\n\n44 normal: appConfig.ui?.icons?.normal as string[] ?? [],\n ~~~~~\n\napp/layouts/default.vue:45:29 - error TS2339: Property 'icons' does not exist on type '{}'.\n\n45 birthday: appConfig.ui?.icons?.birthday as string[] ?? [],\n ~~~~~\n\napp/middleware/title.global.ts:5:28 - error TS2571: Object is of type 'unknown'.\n\n5 const appConfigTitle = useAppConfig().information.title;\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n\napp/pages/index.vue:14:62 - error TS2339: Property 'messages' does not exist on type '{}'.\n\n14 const messages = useState('randomIndex', () => appConfig.ui?.messages?.sort(() => Math.random() - 0.5))\n ~~~~~~~~\n\nnuxt.schema.ts:3:16 - error TS2304: Cannot find name 'defineNuxtSchema'.\n\n3 export default defineNuxtSchema({\n ~~~~~~~~~~~~~~~~\n\nnuxt.schema.ts:3:16 - error TS2304: Cannot find name 'defineNuxtSchema'.\n\n3 export default defineNuxtSchema({\n ~~~~~~~~~~~~~~~~\n\nnuxt.schema.ts:3:16 - error TS2304: Cannot find name 'defineNuxtSchema'.\n\n3 export default defineNuxtSchema({\n ~~~~~~~~~~~~~~~~\n```",[3157,3160],{"name":3158,"color":3159},"pending triage","E99695",{"name":3161,"color":3162},"possible regression","B90A42",32768,"useAppConfig lose types from nuxt schema with new tsconfig","2025-07-25T22:51:01Z","https://github.com/nuxt/nuxt/issues/32768",0.76669556,{"description":3169,"labels":3170,"number":3177,"owner":3147,"repository":3147,"state":3149,"title":3178,"updated_at":3179,"url":3180,"score":3181},"### Describe the feature\r\n\r\nHi :wave: , \r\nIt would be nice to be able to use `useAppConfig` within modules since this can be used by modules to get non-stringifyable data in plugins. \r\n\r\nCurrently there's like a dependency loop when we import an `app.config.ts` (in a module file) with \r\n\r\n````ts\r\nimport { defineAppConfig } from \"nuxt/app\"\r\nexport default defineAppConfig({ /* ..... */ })\r\n````\r\nif we don't specify the import, the import will fail since `app.config.ts` has not been transformed.\r\n\r\nusing `useAppConfig()` in modules triggers the same issue since it need to be imported from `nuxt/app`\r\n\r\n### Additional information\r\n\r\n- [ ] Would you be willing to help implement this feature?\r\n- [ ] Could this feature be implemented as a module?\r\n\r\n### Final checks\r\n\r\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\r\n- [X] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3171,3174],{"name":3172,"color":3173},"documentation","5319e7",{"name":3175,"color":3176},"🍰 p2-nice-to-have","0E8A16",18762,"Allow sharing app config with build-time modules","2024-06-30T11:09:31Z","https://github.com/nuxt/nuxt/issues/18762",0.77150834,{"description":3183,"labels":3184,"number":3192,"owner":3147,"repository":3148,"state":3149,"title":3193,"updated_at":3194,"url":3195,"score":3196},"### For what version of Nuxt UI are you suggesting this?\n\nv3.0.0-alpha.x\n\n### Description\n\nHello everyone, I’d like to discuss the possibility of setting `props` by default from `AppConfig`. Currently, it’s very convenient that we can configure the theme through the config. It would be great to have a similar option for props. Previously, @benjamincanac mentioned [here](https://github.com/nuxt/ui/issues/1289#issuecomment-2480556540) that this is not currently planned.\n\nMy proposal is simple: wrap all `withDefaults` in our own implementation. This way, we can define props without making significant changes to the code.\n\n## What it could look like\n\nLet’s look at the `Accordion.vue` component. At the moment, its props look like this:\n```ts\nconst props = withDefaults(defineProps\u003CAccordionProps\u003CT>>(), {\n type: 'single',\n collapsible: true,\n labelKey: 'label'\n})\n```\nLet’s assume our wrapper is called `withUiDefaults`. Then the code would look like this:\n```diff\n-const props = withDefaults(defineProps\u003CAccordionProps\u003CT>>(), {\n+const props = withUiDefaults(defineProps\u003CAccordionProps\u003CT>>(), {\n type: 'single',\n collapsible: true,\n labelKey: 'label'\n})\n```\nThe implementation of `withUiDefaults` is quite simple:\n```ts\nfunction withUiDefaults(props, defaults) {\n const defaultFromConfig = {}\n\n return withDefaults(props, {\n ...defaults,\n ...defaultFromConfig\n })\n}\n``` \n\n## Issues I See\n\n1) **Typing `AppConfig` might be challenging** \n We would need to somehow generate types based on the components. \n **My opinion:** I think we can retrieve this using `vue-component-meta` during the UI build stage. So, in my opinion, this isn’t a significant problem.\n\n2) **Developers might set `modelValue` or other critical props by default** \n **My opinion:** In such cases, we can log a warning to the console. Additionally, developers should understand which props they are overriding. We won’t be able to cover all edge cases, but I don’t think we need to.\n\n### Additional context\n\n_No response_",[3185,3186,3187,3190],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3188,"color":3189},"closed-by-bot","ededed",{"name":3191,"color":3189},"stale",2662,"Override default props from `AppConfig`","2025-07-03T08:46:07Z","https://github.com/nuxt/ui/issues/2662",0.77351934,{"description":3198,"labels":3199,"number":3205,"owner":3147,"repository":3147,"state":3149,"title":3206,"updated_at":3207,"url":3208,"score":3209},"### Describe the feature\n\nBased on [this discussion](https://github.com/nuxt/nuxt/discussions/19896), I suggest to implement a global variables feature.\r\n\r\nExample:\r\n\r\n`app.config.ts`\r\n```\r\nexport default defineAppConfig({\r\n appName: 'My Nuxt App'\r\n})\r\n```\r\n\r\n`pages/index.vue`\r\n```\r\n\u003Ctemplate>\r\n\u003Ch1>{{ appConfig.appName }}\u003C/h1>\r\n\u003C/template>\r\n```\r\n\r\nWithout explicit declare: `const appConfig = useAppConfig()` on every component.\r\n\r\n\n\n### Additional information\n\n- [X] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\n- [X] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3200,3202],{"name":3138,"color":3201},"8DEF37",{"name":3203,"color":3204},"discussion","538de2",20098,"Global variables template shortcut","2024-06-30T11:09:06Z","https://github.com/nuxt/nuxt/issues/20098",0.7753302,{"description":3211,"labels":3212,"number":3217,"owner":3147,"repository":3148,"state":3218,"title":3219,"updated_at":3220,"url":3221,"score":3222},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v22.13.1\n- Nuxt Version: 3.15.4\n- CLI Version: 3.21.1\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@10.2.1\n- Builder: -\n- User Config: modules, plugins, devtools, css, runtimeConfig, compatibilityDate, eslint\n- Runtime Modules: @nuxt/ui@3.0.0-alpha.12, @nuxt/eslint@0.7.6\n- Build Modules: -\n------------------------------\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0-alpha.12\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/alert-horizontal-xdchy9\n\n### Description\n\nHorizontal orientation remains in vertical mode\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3213,3216],{"name":3214,"color":3215},"bug","d73a4a",{"name":3141,"color":3142},3324,"closed","UAlert - Orientation horizontal not working","2025-02-14T23:14:22Z","https://github.com/nuxt/ui/issues/3324",0.74860084,{"description":3224,"labels":3225,"number":3229,"owner":3147,"repository":3148,"state":3218,"title":3230,"updated_at":3231,"url":3232,"score":3233},"### Environment\n\n/\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\n3.1.3\n\n### Reproduction\n\nhttps://ui.nuxt.com/components/select-menu#theme\n\n### Description\n\nSize variants should change the text size of the `empty` slot (for example, `xs` variant should change the `emtpy` text size to `xs`.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3226,3227,3228],{"name":3214,"color":3215},{"name":3141,"color":3142},{"name":3144,"color":3145},4377,"SelectMenu size does not change the `emtpy` text size","2025-06-25T14:04:07Z","https://github.com/nuxt/ui/issues/4377",0.7493938,{"description":3235,"labels":3236,"number":3241,"owner":3147,"repository":3147,"state":3218,"title":3242,"updated_at":3243,"url":3244,"score":3245},"### Environment\n\n- Operating System: `Darwin`\r\n- Node Version: `v16.17.1`\r\n- Nuxt Version: `3.0.0-rc.13`\r\n- Nitro Version: `0.6.1`\r\n- Package Manager: `yarn@1.22.19`\r\n- Builder: `vite`\r\n- User Config: `ssr`, `build`, `modules`, `buildModules`\r\n- Runtime Modules: `@formkit/nuxt@1.0.0-beta.11`\r\n- Build Modules: `@nuxtjs/tailwindcss@6.1.3`, `@nuxtjs/eslint-module@3.1.0`\r\n\n\n### Reproduction\n\nTry using different layout on the page:\r\n```\r\n\u003Cscript lang=\"ts\">\r\nexport default defineNuxtComponent({\r\n layout: 'admin',\r\n})\r\n\u003C/script>\r\n```\n\n### Describe the bug\n\nHi, I'm migrating the project on options API to Nuxt 3, and looks like `layout` option doesn't work when using options API.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3237,3240],{"name":3238,"color":3239},"3.x","29bc7f",{"name":3158,"color":3159},15367,"defineNuxtComponent doesn't support layout property","2023-01-19T17:49:06Z","https://github.com/nuxt/nuxt/issues/15367",0.756679,{"description":3247,"labels":3248,"number":3251,"owner":3147,"repository":3148,"state":3218,"title":3252,"updated_at":3253,"url":3254,"score":3255},"### Description\n\nThis would be a new prop for `UInputTags` that would allow you to set a max length on the items being added. \n\n```\n\u003CInputTags v-model=\"items\" :max-item-length=\"25\" />\n\nconst items = ref([\n \"ok\",\n \"this one would not be ok because of how long it is\"\n])\n```\n\nThough, you could use something like Zod to do form validation, I think this could just apply a `maxlength` to the input itself to prevent typing more than the limit.\n\n### Additional context\n\n_No response_",[3249,3250],{"name":3138,"color":3139},{"name":3141,"color":3142},4405,"InputTags max item length","2025-07-01T08:35:33Z","https://github.com/nuxt/ui/issues/4405",0.75972927,{"labels":3257,"number":3263,"owner":3147,"repository":3147,"state":3218,"title":3264,"updated_at":3265,"url":3266,"score":3267},[3258,3259,3260],{"name":3138,"color":3201},{"name":3238,"color":3239},{"name":3261,"color":3262},"app","17512D",11736,"`options.css` is not supported","2023-01-19T15:52:40Z","https://github.com/nuxt/nuxt/issues/11736",0.76189893,["Reactive",3269],{},["Set"],["ShallowReactive",3272],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f1U39-UF5tr8vmZzamE1QxKsNuEerkF8Wk976oa-NrcY":-1},"/nuxt/ui/4409"]