\n\u003C/template>\n```\n\nError:\n```\nType '() => Promise\u003Cnumber>' is not assignable to type '((event: FormSubmitEvent\u003Cany>) => any) & ((() => void | Promise\u003Cvoid>) | ((event: FormSubmitEvent\u003Cany>) => void | Promise\u003Cvoid>))'.\n Type '() => Promise\u003Cnumber>' is not assignable to type '((event: FormSubmitEvent\u003Cany>) => any) & (() => void | Promise\u003Cvoid>)'.ts(2322)\nForm.vue.d.ts(59, 18): The expected type comes from property 'onSubmit' which is declared here on type '__VLS_NormalizeComponentEvent\u003CNonNullable\u003C{ onSubmit?: ((event: FormSubmitEvent\u003Cany>) => any) & ((() => void | Promise\u003Cvoid>) | ((event: FormSubmitEvent\u003Cany>) => void | Promise\u003C...>)); ... 11 more ...; class?: any; } & VNodeProps & AllowedComponentProps & ComponentCustomProps>, { ...; }, \"onSubmit\", \"submit\", \"submi...'\n---\n(property) onSubmit?: ((event: FormSubmitEvent\u003Cany>) => any) & ((() => void | Promise\u003Cvoid>) | ((event: FormSubmitEvent\u003Cany>) => void | Promise\u003Cvoid>))\n```\n\n### Description\n\n`\u003CUForm>`s `@submit` event handler type require that it does not return any value. This is needlessly constraining.\n\n### Additional context\n\nThis is not required by the implementation, but instead wholly caused by the types of `onSubmit` property:\nhttps://github.com/nuxt/ui/blob/901bf7cac3ea53264b27adf879ee4072fa9ac242/src/runtime/components/Form.vue#L53\n\nResult of the `onSubmit` prop is not used at all:\nhttps://github.com/nuxt/ui/blob/901bf7cac3ea53264b27adf879ee4072fa9ac242/src/runtime/components/Form.vue#L243\n\nReplacing the type of `onSubmit` with this should be enough:\n```typescript\nexport interface FormProps\u003CS extends FormSchema, T extends boolean = true> {\n // ...\n onSubmit?: (event: FormSubmitEvent\u003CFormData\u003CS, T>>) => unknown\n}\n```\nThis should still allow passing event handlers without arguments.\n\n### Logs\n\n```shell-script\n\n```",[3157,3158],{"name":3138,"color":3139},{"name":3144,"color":3145},4873,"`UForm` `onSubmit` type is needlessly constrained","2025-09-02T05:54:14Z","https://github.com/nuxt/ui/issues/4873",0.6755283,{"description":3165,"labels":3166,"number":3176,"owner":3147,"repository":3147,"state":3177,"title":3178,"updated_at":3179,"url":3180,"score":3181},"### Environment\n\n------------------------------\r\n- Operating System: `Windows_NT`\r\n- Node Version: `v16.16.0`\r\n- Nuxt Version: `3.2.3`\r\n- Nitro Version: `2.2.3`\r\n- Package Manager: `npm@9.4.0`\r\n- Builder: `vite`\r\n- User Config: `alias`, `app`, `build`, `imports`, `modules`, `naiveUI`, `ssr`, `supabase`, `runtimeConfig`, `tailwindcss`, `typescript`\r\n- Runtime Modules: `@vueuse/nuxt@9.13.0`, `@nuxtjs/tailwindcss@6.4.1`, `@pinia/nuxt@0.4.7`, `@nuxtjs/critters@0.4.0`, `@nuxtjs/fontaine@0.2.4`, `@nuxtjs/google-fonts@3.0.0-1`, `@nuxt/image-edge@1.0.0-27954023.4cee565`, `nuxt-headlessui@1.1.1`, `@nuxtjs/supabase@0.3.1`, `@formkit/nuxt@1.0.0-beta.15`, `@huntersofbook/naive-ui-nuxt@0.7.1` \r\n- Build Modules: `-`\n\n### Reproduction\n\nI am sorry to open this without a reproduction, but I simply cannot reproduce this. It happens in a specific repo, and I have tried thousands of things, though cannot find what causes the issue. \r\n\r\nI am opening this issue so that people can weigh in and if there are others experiencing this, they can use the hack I've found (see below).\n\n### Describe the bug\n\nAuto import of my components work great. But their types are not recognized in VS Code. Whenever I hover over a component in the `\u003Ctemplate>` section of an SFC, its type is indicated as `any`. \r\n\r\nIt is very weird but I've found a hack: When I reference the `.nuxt/components` path anywhere in the project, the types start working. So I added this line to my `app.vue` file:\r\n\r\n```\r\nimport {} from \".nuxt/components\";\r\n``` \r\n\r\nI think something is causing Nuxt to ignore the `.nuxt/components` path but when I reference it somewhere, Nuxt starts recognizing it back.\r\n\r\nI'd be forever grateful if someone knows what is going on here and suggest where to look.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3167,3170,3173],{"name":3168,"color":3169},"3.x","29bc7f",{"name":3171,"color":3172},"pending triage","E99695",{"name":3174,"color":3175},"needs reproduction","FBCA04",19427,"closed","Auto imported component types do not work","2023-03-08T08:40:06Z","https://github.com/nuxt/nuxt/issues/19427",0.64679337,{"description":3183,"labels":3184,"number":3188,"owner":3147,"repository":3148,"state":3177,"title":3189,"updated_at":3190,"url":3191,"score":3192},"### Environment\n\n- Operating System: Darwin\n- Node Version: v23.9.0\n- Nuxt Version: -\n- CLI Version: 3.28.0\n- Nitro Version: -\n- Package Manager: npm@11.3.0\n- Builder: -\n- User Config: -\n- Runtime Modules: -\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\n4.0.1\n\n### Reproduction\n\nhttps://github.com/awais019/nuxt-ui-extend-bug\n\n### Description\n\nI am trying to create a custom type for my generic Form component. But when I try to use it in defineProps. It gives me this error.\n\n```\n[@vue/compiler-sfc] Failed to resolve extends base type.\n If this previously worked in 3.2, you can instruct the compiler \nto ignore this extend by adding /* @vue-ignore */ \nbefore it, for example: interface Props extends /* @vue-ignore \n*/ Base {} Note: both in 3.2 or with the ignore, the properties in \nthe base type are treated as fallthrough attrs \n14 | \u003Ctemplate> 15 | \u003Cdiv>Form\u003C/div> 16 | \u003C/template> | ^ 17 |\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3185,3186,3187],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4699,"Not able to extend `FormProps`.","2025-08-11T10:24:22Z","https://github.com/nuxt/ui/issues/4699",0.6606497,{"labels":3194,"number":3198,"owner":3147,"repository":3147,"state":3177,"title":3199,"updated_at":3200,"url":3201,"score":3202},[3195,3196,3197],{"name":3168,"color":3169},{"name":3171,"color":3172},{"name":3174,"color":3175},14497,"es modules not working on nuxt 3","2023-01-19T17:36:12Z","https://github.com/nuxt/nuxt/issues/14497",0.6632462,{"description":3204,"labels":3205,"number":3209,"owner":3147,"repository":3148,"state":3177,"title":3210,"updated_at":3211,"url":3212,"score":3213},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.11.0\n- Nuxt Version: 3.17.1\n- CLI Version: 3.25.0\n- Nitro Version: 2.11.11\n- Package Manager: npm@11.3.0\n- Builder: -\n- User Config: compatibilityDate, devtools, modules, css, runtimeConfig, ui\n- Runtime Modules: @nuxt/ui@3.1.0, @formkit/auto-animate/nuxt@0.8.2\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.0\n\n### Reproduction\n\n-\n\n### Description\n\nAfter upgrading from v3.0.2 to v3.1.0 I'm missing types for event binding directives and intellisense/automcomplete for attributes of all Nuxt UI components. Below I added a specific example for the Table component, but this happens to all components. I have removed node_modules, reinstalled, cleared the .nuxt and .output directories, and tried setting up a new project as well (using `npx nuxi init -t ui \u003Cmy-app>`).\n\nMissing types on event binding directives:\n\u003Cimg width=\"712\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/b3bb862c-16aa-4deb-aa12-c07211034f9b\" />\n\nMissing autocomplete:\n\u003Cimg width=\"487\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/8a851f0a-5894-41ae-8cdf-3f2f51d2ab52\" />\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3206,3207,3208],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4029,"Where are all the types? v3.0.2 -> v3.1.0 upgrade","2025-04-30T12:20:42Z","https://github.com/nuxt/ui/issues/4029",0.6650221,{"description":3215,"labels":3216,"number":3219,"owner":3147,"repository":3148,"state":3177,"title":3220,"updated_at":3221,"url":3222,"score":3223},"### Environment\n\n- Operating System: Linux\n- Node Version: v22.14.0\n- Nuxt Version: 3.17.1\n- CLI Version: 3.25.0\n- Nitro Version: 2.11.11\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: app, build, colorMode, compatibilityDate, debug, devtools, fonts, future, hooks, i18n, icon, imports, modules, nitro, routeRules, runtimeConfig, security, ssr, sourcemap, css, telemetry, vite\n- Runtime Modules: @nuxt/eslint@1.3.0, @pinia/nuxt@0.11.0, @vueuse/nuxt@13.1.0, @nuxtjs/i18n@9.5.3, nuxt-security@2.2.0, @nuxt/ui@3.1.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.0\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/epic-smoke-95wysw?file=%2Fapp%2Fpages%2Findex.vue\n\n### Description\n\nUsing the `@update:model-value` event handler produces type errors with the Select component, starting from nuxt-ui v3.1.0 (v3.0.2 works fine).\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nType 'boolean | AcceptableValue | undefined' is not assignable to type '\"yes\" | \"no\"'.\n Type 'undefined' is not assignable to type '\"yes\" | \"no\"'.ts-plugin(2322)\n```",[3217,3218],{"name":3138,"color":3139},{"name":3141,"color":3142},4019,"Type Issue with Select Component","2025-04-29T15:39:56Z","https://github.com/nuxt/ui/issues/4019",0.66533196,{"description":3225,"labels":3226,"number":3229,"owner":3147,"repository":3148,"state":3177,"title":3230,"updated_at":3231,"url":3232,"score":3233},"### Environment\n\n- Operating System: `Windows_NT`\n- Node Version: `v22.18.0`\n- Nuxt Version: `4.1.1`\n- CLI Version: `3.28.0`\n- Nitro Version: `2.12.4`\n- Package Manager: `npm@11.5.2`\n- Builder: `-`\n- User Config: `runtimeConfig`, `modules`, `devtools`, `supabase`, `css`, `routeRules`, `compatibilityDate`\n- Runtime Modules: `@nuxt/ui-pro@3.3.3`, `@vueuse/nuxt@13.9.0`, `@nuxtjs/supabase@1.6.2`, `nuxt-charts@0.2.3`\n- Build Modules: `-`\n\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Package\n\nv3.x\n\n### Version\n\nv3.3.3\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/zen-euclid-cf554n\n\n### Description\n\nThe problem occurs because the UFileUpload component likely contains a button element that doesn't have an explicit type attribute, causing it to default to type=\"submit\", which triggers form submission.\n\n### Additional context\n\n```\n\u003Ccomponent\n :is=\"variant === 'button' ? 'button' : 'div'\"\n ref=\"dropzoneRef\"\n :type=\"variant === 'button' ? 'button' : undefined\" // 👈 add this maybe?\n :role=\"variant === 'button' ? undefined : 'button'\"\n :data-dragging=\"isDragging\"\n :class=\"ui.base({ class: props.ui?.base })\"\n :tabindex=\"interactive && !disabled ? 0 : -1\"\n @click=\"interactive && !disabled && open()\" \n @keydown.prevent\n @keyup.enter.space=\"interactive && !disabled && open()\"\n>\n```\n\n### Logs\n\n```shell-script\n\n```",[3227,3228],{"name":3138,"color":3139},{"name":3141,"color":3142},4935,"UFileUpload with variant button inside form will cause UForm submit","2025-09-09T14:55:29Z","https://github.com/nuxt/ui/issues/4935",0.66780144,{"description":3235,"labels":3236,"number":3239,"owner":3147,"repository":3147,"state":3177,"title":3240,"updated_at":3241,"url":3242,"score":3243},"### Environment\n\n------------------------------\r\n- Operating System: Windows_NT\r\n- Node Version: v18.17.0\r\n- Nuxt Version: 3.6.5\r\n- Nitro Version: 2.5.2\r\n- Package Manager: npm@9.6.7\r\n- Builder: vite\r\n- User Config: app, vite, build, modules, css, runtimeConfig, plugins, googleFonts, devtools\r\n- Runtime Modules: @pinia/nuxt@0.4.11, @pinia-plugin-persistedstate/nuxt@1.1.1, @nuxtjs/google-fonts@3.0.2, nuxt-icon@0.5.0\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\n[Reproduction](https://stackblitz.com/edit/github-egvwuo-q53rtw?file=README.md)\n\n### Describe the bug\n\nUsing a component in the template while also importing its type in the Composition API leads to an error.\n\n### Additional context\n\nIn reproduction you can delete comment tags in **bug.vue** page to see error. I don't encounter this error when i don't call the component within the template. You can see it on the **weird.vue** page or in the **bug.vue** page with a comment.\r\n\r\nI don't encounter this issue in a project where I'm using version ^3.6.2.\n\n### Logs\n\n```shell-script\nInternal server error: Failed to resolve import \".nuxt/components\" from \"pages\\course\\index.vue\". Does the file exist? 05:38:47 \r\n Plugin: vite:import-analysis\r\n File: *path*/pages/course/index.vue:8:32\r\n 2 | import { ref } from 'vue';\r\n 3 | import { defineComponent as _defineComponent } from \"vue\";\r\n 4 | import { ModalsClassroom } from \".nuxt/components\";\r\n | ^\r\n 5 | const _sfc_main = /* @__PURE__ */ _defineComponent({\r\n 6 | __name: \"index\",\n```\n",[3237,3238],{"name":3168,"color":3169},{"name":3171,"color":3172},22979,"Nuxt3.6.5 - Failed to resolve import \".nuxt/components\" | Using a component in the template while also importing its type in the Composition API leads to an error.","2023-09-04T10:36:49Z","https://github.com/nuxt/nuxt/issues/22979",0.672871,{"description":3245,"labels":3246,"number":3254,"owner":3147,"repository":3147,"state":3177,"title":3255,"updated_at":3256,"url":3257,"score":3258},"### Environment\r\n\r\n浏览器\r\n\r\n### Reproduction\r\n\r\nhttps://codesandbox.io/p/sandbox/pedantic-jones-djcypc?file=%2Fpages%2Findex.vue%3A101%2C10\r\n\r\n### Describe the bug\r\n\r\nError using the 'naive-ui' type\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Logs\r\n\r\n_No response_",[3247,3248,3251],{"name":3171,"color":3172},{"name":3249,"color":3250},"vite","3574D1",{"name":3252,"color":3253},"upstream","E8A36D",24303,"The requested module '/_nuxt/node_modules/.cache/vite/client/deps/naive-ui.js?v=a31a58c4' does not provide an export named 'FormInst'","2025-05-30T11:10:30Z","https://github.com/nuxt/nuxt/issues/24303",0.6731801,["Reactive",3260],{},["Set"],["ShallowReactive",3263],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fFiCg9dZc4HkuQbSsDJee78MJNGK-bINjbNZXOvUqiiU":-1},"/nuxt/ui/3465"]