\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2946,2947,2948],{"name":2925,"color":2926},{"name":2908,"color":2909},{"name":2911,"color":2912},4407,"SelectInput search-input props has typescript errors with native input attributes","2025-06-27T02:45:36Z","https://github.com/nuxt/ui/issues/4407",0.7770184,{"description":2955,"labels":2956,"number":2959,"owner":2914,"repository":2915,"state":2960,"title":2961,"updated_at":2962,"url":2963,"score":2964},"### Environment\n\n- Operating System: Linux\n- Node Version: v22.14.0\n- Nuxt Version: 3.17.3\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: npm@11.3.0\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.1, @pinia/nuxt@0.11.0, @vueuse/nuxt@13.2.0, @nuxtjs/i18n@9.5.4, nuxt-security@2.2.0, @nuxt/ui@3.1.2\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.2\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/sharp-christian-kzdxt9?file=%2Fapp%2Fpages%2Findex.vue\n\n### Description\n\nStarting from v3.1.2, using the [built-in v-model-modifiers](https://vuejs.org/guide/essentials/forms.html#modifiers) produces type errors. They are still working tho, so its only a type issue.\n\nReproduction:\n1. Open provided link\n2. Run `pnpx nuxi typecheck`\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n➜ workspace git:(master) ✗ pnpx nuxi typecheck\nPackages: +1\n+\nProgress: resolved 1, reused 1, downloaded 0, added 1, done\nℹ Nuxt Icon server bundle mode is set to local 11:09:23 AM\n✔ Nuxt Icon discovered local-installed 2 collections: lucide, simple-icons 11:09:25 AM\nℹ Running with compatibility version 4 nuxt 11:09:25 AM\napp/pages/index.vue:8:22 - error TS2353: Object literal may only specify known properties, and 'modelModifiers' does not exist in type '{ readonly onBlur?: ((event: FocusEvent) => any) | undefined; readonly onChange?: ((event: Event) => any) | undefined; readonly \"onUpdate:modelValue\"?: ((payload: number) => any) | undefined; ... 24 more ...; modelValue?: number | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps'.\n\n8 \u003CUInput v-model.number=\"myNumber\" type=\"number\" />\n ~~~~~~~\n\napp/pages/index.vue:9:22 - error TS2353: Object literal may only specify known properties, and 'modelModifiers' does not exist in type '{ readonly onBlur?: ((event: FocusEvent) => any) | undefined; readonly onChange?: ((event: Event) => any) | undefined; readonly \"onUpdate:modelValue\"?: ((payload: string) => any) | undefined; ... 24 more ...; modelValue?: string | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps'.\n\n9 \u003CUInput v-model.lazy=\"myText\" />\n ~~~~~\n\n\nFound 2 errors in the same file, starting at: app/pages/index.vue:8\n\n\n ERROR Process exited with non-zero status (2) 11:09:41 AM\n\n at R._waitForOutput (/root/.cache/pnpm/v3/tmp/dlx-4483/node_modules/.pnpm/nuxi@3.25.1/node_modules/nuxi/dist/chunks/main.mjs:508:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Object.run (/root/.cache/pnpm/v3/tmp/dlx-4483/node_modules/.pnpm/nuxi@3.25.1/node_modules/nuxi/dist/chunks/typecheck.mjs:91:9)\n at async runCommand$1 (/root/.cache/pnpm/v3/tmp/dlx-4483/node_modules/.pnpm/nuxi@3.25.1/node_modules/nuxi/dist/shared/nuxi.BlFGnQYG.mjs:1767:16)\n at async runCommand$1 (/root/.cache/pnpm/v3/tmp/dlx-4483/node_modules/.pnpm/nuxi@3.25.1/node_modules/nuxi/dist/shared/nuxi.BlFGnQYG.mjs:1758:11)\n at async runMain$1 (/root/.cache/pnpm/v3/tmp/dlx-4483/node_modules/.pnpm/nuxi@3.25.1/node_modules/nuxi/dist/shared/nuxi.BlFGnQYG.mjs:1896:7) \n\n\n\n ERROR Process exited with non-zero status (2)\n```",[2957,2958],{"name":2925,"color":2926},{"name":2908,"color":2909},4166,"closed","Built-in v-model modifiers produce type errors with v3.1.2","2025-05-22T12:51:25Z","https://github.com/nuxt/ui/issues/4166",0.74503934,{"description":2966,"labels":2967,"number":2975,"owner":2914,"repository":2915,"state":2960,"title":2976,"updated_at":2977,"url":2978,"score":2979},"### Description\r\n\r\nHi 👋🏻 \r\n\r\nI started using NuxtUI and realized one more thing that can be improved. Right now, For `v-model` of tabs component index (number) is used.\r\n\r\nIf we want to get the key of active tab for making API req then we have to do something like below:\r\n```ts\r\nconst activeTabKey = items[itemsModel.value]!.key\r\n\r\n// With this feature implemented we can directly use `itemsModel.value`\r\n```\r\n\r\nInstead, if we can allow using `key` then:\r\n- I'll be more readable\r\n- If we change the order of the tabs (in items array) it doesn't affect the active tab\r\n\r\n### Additional context\r\n\r\nWe can also introduce this change in v3.",[2968,2969,2970,2973],{"name":2905,"color":2906},{"name":2911,"color":2912},{"name":2971,"color":2972},"closed-by-bot","ededed",{"name":2974,"color":2972},"stale",2061,"Allow using tab item key as value for v-model","2025-06-18T09:06:22Z","https://github.com/nuxt/ui/issues/2061",0.74849993,{"description":2981,"labels":2982,"number":2986,"owner":2914,"repository":2914,"state":2960,"title":2987,"updated_at":2988,"url":2989,"score":2990},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v23.6.0`\n- Nuxt Version: `3.17.5`\n- CLI Version: `3.25.1`\n- Nitro Version: `2.11.12`\n- Package Manager: `pnpm@10.12.1`\n- Builder: `-`\n- User Config: `compatibilityDate`, `components`, `css`, `devtools`, `devServer`, `experimental`, `hooks`, `ignore`, `imports`, `modules`, `runtimeConfig`, `$development`, `$production`, `$env`, `ssr`, `vite`, `eslint`, `googleFonts`, `icon`, `primevue`\n- Runtime Modules: `@formkit/auto-animate/nuxt@0.8.2`, `@nuxt/eslint@1.4.1`, `@nuxt/icon@1.13.0`, `@nuxt/image@1.10.0`, `@nuxtjs/color-mode@3.5.2`, `@nuxtjs/google-fonts@3.2.0`, `@pinia/nuxt@0.11.1`, `@primevue/nuxt-module@4.3.5`, `@vueuse/nuxt@13.3.0`, `pinia-plugin-persistedstate/nuxt@4.3.0`\n- Build Modules: `-`\n\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/confident-water-h3prwy\n\n### Describe the bug\n\nMy `nuxt.config.ts` has the following:\n\n```ts\n{\n runtimeConfig: {\n public: {\n userId: \"default\",\n userPIN: \"default\",\n },\n },\n}\n```\n\nLooking at `.nuxt/types/schema.d.ts`, it is correctly typed:\n\n```ts\n interface PublicRuntimeConfig {\n userId: string,\n\n userPIN: string,\n }\n```\n\n1. Run the reproduction. Both `userId` and `userPIN` are indeed strings.\n2. Uncomment the lines in `.env`. `userId` has now become a number.\n\n### Additional context\n\nAttempted workarounds: \n- Surrounding the value in `.env` with single or double quotes (e.g. FOO=\"1234\") makes no difference, the value in `runtimeConfig` still ends up as a number.\n- Using `FOO=\"'1234'\"` does force the value to be a string, but includes the single quotes, so that is not desirable either.\n- Ultimately I had to write a plugin that ran first and coerced the relevant values in `runtimeConfig.public` to strings.\n\nI'm guessing that `JSON.stringify` is being used to parse the values received from `.env`, which causes anything number-like to end up as a number.\n\nThis bug seriously limits the utility of typing `runtimeConfig`.\n\n### Logs\n\n```shell-script\n\n```",[2983],{"name":2984,"color":2985},"pending triage","E99695",32375,"runtimeConfig parser converts number-like .env values to a number, even when typed as a string","2025-06-13T09:47:06Z","https://github.com/nuxt/nuxt/issues/32375",0.7518715,{"description":2992,"labels":2993,"number":2998,"owner":2914,"repository":2914,"state":2960,"title":2999,"updated_at":3000,"url":3001,"score":3002},"### Environment\r\n\r\n{}\r\n\r\n### Reproduction\r\n\r\nhttps://codesandbox.io/p/sandbox/agitated-mendeleev-ypytew\r\n\r\n### Describe the bug\r\n\r\n`v-model` on native `\u003Cinput />` tags should not be treated as an alias of `:value`. Firstly, because it's a directive. In essence, a function. In some cases, it has the same effect as \r\n```html\r\n\u003Cinput :value=\"text\"\r\n @input=\"event => text = event.target.value />\r\n```\r\nbut not in all cases (e.g: `type`s of `'checkbox' | 'radio'`, where `v-model` can be set to a selection array and `:value` points the individual item).\r\n\r\n### Additional context\r\n\r\nThe bug can be circumvented:\r\n```html\r\n\u003Cinput\r\n v-model=\"selection\"\r\n v-bind=\"{ value: option, type }\"\r\n/>\r\n```\r\nor ignored:\r\n```html\r\n\u003Cinput\r\n v-model=\"selection\"\r\n :data-foo=\"/* ts-ignore */\"\r\n :value=\"option\"\r\n :type=\"type\"\r\n/>\r\n```\r\nbut that doesn't change the fact the type definition for `v-model` directive is wrong.\r\n___\r\nInitially encountered it on [SO](https://stackoverflow.com/questions/75452800/typescript-error-on-input-value-in-template-loop-through-object-keys-in-vue-3-n) (I'm tao in that discussion - I thought it would be a good idea if I reported the bug back to you).\r\n\r\n### Logs\r\n\r\n_No response_",[2994,2997],{"name":2995,"color":2996},"3.x","29bc7f",{"name":2984,"color":2985},19079,"Type definition for `v-model` directive on native input is wrong","2023-02-16T13:46:32Z","https://github.com/nuxt/nuxt/issues/19079",0.75502264,{"labels":3004,"number":3010,"owner":2914,"repository":2914,"state":2960,"title":3011,"updated_at":3012,"url":3013,"score":3014},[3005,3006,3007],{"name":2995,"color":2996},{"name":2984,"color":2985},{"name":3008,"color":3009},"needs reproduction","FBCA04",23460,"TS Typing issue.","2023-10-20T22:22:28Z","https://github.com/nuxt/nuxt/issues/23460",0.7552588,{"labels":3016,"number":3021,"owner":2914,"repository":2914,"state":2960,"title":3022,"updated_at":3023,"url":3024,"score":3025},[3017,3018],{"name":2995,"color":2996},{"name":3019,"color":3020},"upstream","E8A36D",14640,"Error transforming file.vue: v-model can only be used on \u003Cinput>, \u003Ctextarea> and \u003Cselect> elements. Custom webcomponents not working with v-model","2023-01-19T17:38:19Z","https://github.com/nuxt/nuxt/issues/14640",0.7558518,["Reactive",3027],{},["Set"],["ShallowReactive",3030],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fklZUzmTWnnTHGsdHvA0Eawyhi0o4Dcl9f-eQaiQ2fHg":-1},"/nuxt/ui/3751"]