\n \u003C/UFormGroup>\n\n \u003CUButton type=\"submit\">\n Submit\n \u003C/UButton>\n\n\u003C/UForm>\n```\n\n```ts\n\u003Cscript setup lang=\"ts\">\n import { z } from 'zod';\n\n const state = reactive({\n picture: undefined,\n })\n\n const schema = z.object({\n picture: z.custom\u003CFileList>()\n .transform((val) => {\n if (val instanceof File) return val;\n if (val instanceof FileList) return val[0];\n return null;\n })\n .superRefine((file, ctx) => {\n if (!(file instanceof File)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n fatal: true,\n message: 'Not a file',\n });\n return z.NEVER;\n }\n if (file.size > 5 * 1024 * 1024) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Max file size allowed is 5MB',\n });\n }\n if (\n !['image/jpeg', 'image/png', 'image/webp', 'image/jpg'].includes(\n file.type\n )\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'File must be an image (jpeg, jpg, png, webp)',\n });\n }\n })\n });\n\n type Schema = z.infer\u003Ctypeof schema>;\n\n async function onSubmit (event: FormSubmitEvent\u003CSchema>) {\n console.log(event.data);\n }\n\u003C/script>\n```\n\nAs aspected the following onChange function logs a FileList\n\n```ts\nfunction onChangeFile(event: Event) {\n console.log(event)\n}\n```\n\nBut when I log val in the transform function of Zod\n\n```ts\n.transform((val) => {\n console.log(val);\n if (val instanceof File) return val;\n if (val instanceof FileList) return val[0];\n return null;\n})\n```\n\nI get a string like this:\n\n```\nC:\\fakepath\\Screenshot 2024-10-25 at 10.26.36.png\n```\n\nCan someone please help me out, i'm looking for a few days now for a solution.",[2010],{"name":2011,"color":2012},"question","d876e3",2462,"UInput with type='file', how to validate with Zod?","2025-03-10T01:51:18Z","https://github.com/nuxt/ui/issues/2462",0.7094616,{"description":2019,"labels":2020,"number":2022,"owner":1991,"repository":2002,"state":1993,"title":2023,"updated_at":2024,"url":2025,"score":2026},"How can I disable icon caching? I'm doing svg animation and I need hmr when changing an svg file.\r\n\r\nhttps://stackblitz.com/edit/nuxt-icon-playground-mjfbfn?file=assets%2Ficons%2Fnuxt-icon.svg\r\nTry changing the fill attribute of the svg file and save it",[2021],{"name":2011,"color":2012},160,"how to disable svg caching","2024-12-21T19:58:04Z","https://github.com/nuxt/icon/issues/160",0.7174152,{"description":2028,"labels":2029,"number":2030,"owner":1991,"repository":2031,"state":1993,"title":2032,"updated_at":2033,"url":2034,"score":2035},"https://github.com/guidepup/guidepup",[],787,"test-utils","screen reader driver","2024-03-17T21:40:20Z","https://github.com/nuxt/test-utils/issues/787",0.7183869,{"description":2037,"labels":2038,"number":2042,"owner":1991,"repository":2043,"state":2044,"title":2045,"updated_at":2046,"url":2047,"score":2048},"(reported on discord) you can see by hard-reloading https://nuxt.com/modules?q=svg, for example.\r\n\r\nprobably similar to https://github.com/nuxt/nuxt.com/issues/1417",[2039],{"name":2040,"color":2041},"bug","ff281a",1455,"nuxt.com","closed","query parameters on module page result in hydration mismatch","2025-03-24T22:03:27Z","https://github.com/nuxt/nuxt.com/issues/1455",0.6831336,{"description":2050,"labels":2051,"number":2053,"owner":1991,"repository":2043,"state":2044,"title":2054,"updated_at":2055,"url":2056,"score":2057},"```\n:resources-blog-list\n\n->\n\n::resources-blog-list\n::\n```\n\nThis should fix the hydration errors",[2052],{"name":2040,"color":2041},587,"[Content] Replace all inline components in markdown","2023-02-15T12:32:34Z","https://github.com/nuxt/nuxt.com/issues/587",0.7114904,{"description":2059,"labels":2060,"number":2053,"owner":1991,"repository":2031,"state":2044,"title":2067,"updated_at":2068,"url":2069,"score":2057},"After updating to 0.6.10 on Nuht 3 version 3.4.1, i get an error when I try to start\r\n\r\n`\"vitest-environment-nuxt\": \"^0.6.10\"`\r\n\r\n```\r\n❯ yarn test-ui\r\n(node:51339) V8: /Users/ibochkarev/Projects/XXXX/XXXX/node_modules/ttf2woff2/jssrc/ttf2woff2.js:3 Invalid asm.js: Invalid member of stdlib\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n\r\n DEV v0.30.1 /Users/ibochkarev/Projects/XXXX/XXXX\r\n UI started at http://localhost:51204/__vitest__/\r\n\r\n\r\n Test Files no tests\r\n Tests no tests\r\n Start at 13:52:13\r\n Duration 368ms (transform 0ms, setup 0ms, collect 0ms, tests 0ms, environment 0ms, prepare 0ms)\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\nVitest caught 39 unhandled errors during the test run.\r\nThis might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\nDataCloneError: (path) => path.replace(/^\\/oc/, '') could not be cloned.\r\n ❯ new DOMException node:internal/per_context/domexception:72:5\r\n ❯ WorkerInfo.postTask node_modules/tinypool/dist/esm/index.js:421:17\r\n ❯ ThreadPool.runTask node_modules/tinypool/dist/esm/index.js:712:16\r\n ❯ Tinypool.run node_modules/tinypool/dist/esm/index.js:760:38\r\n ❯ runFiles node_modules/vitest/dist/vendor-cli-api.70680cd5.js:7217:20\r\n ❯ node_modules/vitest/dist/vendor-cli-api.70680cd5.js:7254:99\r\n ❯ Object.runTests node_modules/vitest/dist/vendor-cli-api.70680cd5.js:7254:59\r\n ❯ Object.runTests node_modules/vitest/dist/vendor-cli-api.70680cd5.js:7396:5\r\n ❯ async file:/Users/ibochkarev/Projects/umatech/premier.one-v3/node_modules/vitest/dist/vendor-cli-api.70680cd5.js:13913:9\r\n ❯ Vitest.runFiles node_modules/vitest/dist/vendor-cli-api.70680cd5.js:13927:12\r\n ❯ Vitest.start node_modules/vitest/dist/vendor-cli-api.70680cd5.js:13836:5\r\n ❯ startVitest node_modules/vitest/dist/vendor-cli-api.70680cd5.js:20784:5\r\n```\r\n\r\nThis line, which swears at startup, is in nuxt.config.ts config in the proxy section and looks like this\r\n\r\n```js\r\n'/oc': {\r\n target: process.env.NUXT_OC_BACKEND_API_URL,\r\n cookieDomainRewrite: '',\r\n changeOrigin: true,\r\n rewrite: (path: string) => path.replace('/^\\/oc/, '')\r\n },\r\n```\r\n\r\nI tried excluding the config file:\r\n\r\n```js\r\nimport { configDefaults } from 'vitest/config'\r\nimport { defineVitestConfig } from 'nuxt-vitest/config'\r\n\r\nexport default defineVitestConfig({\r\n // any custom vitest config you require\r\n test: {\r\n environment: 'nuxt',\r\n exclude: [...configDefaults.exclude, ['src/shared/api/**', 'public/**', 'node_modules/**', 'nuxt.config.ts']],\r\n },\r\n})\r\n\r\n```\r\n\r\nbut now I get the error\r\n\r\n```\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\nTypeError: pattern.startsWith is not a function\r\n ❯ isNegativePattern node_modules/vitest/dist/vendor-cli-api.70680cd5.js:4702:20\r\n ❯ convertToPositivePattern node_modules/vitest/dist/vendor-cli-api.70680cd5.js:4694:12\r\n ❯ getNegativePatternsAsPositive node_modules/vitest/dist/vendor-cli-api.70680cd5.js:5044:31\r\n ❯ Object.generate node_modules/vitest/dist/vendor-cli-api.70680cd5.js:5004:30\r\n ❯ getWorks node_modules/vitest/dist/vendor-cli-api.70680cd5.js:6957:31\r\n ❯ FastGlob node_modules/vitest/dist/vendor-cli-api.70680cd5.js:6911:19\r\n ❯ WorkspaceProject.globFiles node_modules/vitest/dist/vendor-cli-api.70680cd5.js:13473:12\r\n ❯ WorkspaceProject.globAllTestFiles node_modules/vitest/dist/vendor-cli-api.70680cd5.js:13451:34\r\n ❯ WorkspaceProject.globTestFiles node_modules/vitest/dist/vendor-cli-api.70680cd5.js:13446:34\r\n```",[2061,2064],{"name":2062,"color":2063},"vitest-environment","b60205",{"name":2065,"color":2066},"needs reproduction","DE7793","DataCloneError: (path) => path.replace(/^\\/oc/, '') could not be cloned","2023-12-05T11:42:33Z","https://github.com/nuxt/test-utils/issues/587",{"description":2071,"labels":2072,"number":2075,"owner":1991,"repository":1992,"state":2044,"title":2076,"updated_at":2077,"url":2078,"score":2079},"### Environment\r\n\r\n- Operating System: Darwin\r\n- Node Version: v20.15.1\r\n- Nuxt Version: 3.13.2\r\n- CLI Version: 3.13.2\r\n- Nitro Version: 2.9.7\r\n- Package Manager: pnpm@8.15.9\r\n- Builder: -\r\n- User Config: app, colorMode, compatibilityDate, css, devServer, devtools, i18n, modules, openFetch, runtimeConfig, ssr, tailwindcss\r\n- Runtime Modules: @nuxt/ui@2.18.0, @pinia/nuxt@0.5.1, nuxt-icons@3.2.1, @nuxtjs/i18n@8.5.3, nuxt-open-fetch@0.9.1\r\n- Build Modules: -\r\n\r\n### Version\r\n\r\nv.2.18.0\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/nuxt-ui-k1f28x?file=app.config.ts\r\n\r\n### Description\r\n\r\nSince updating the library to version 2.18.0, custom variants defined in the app.config.ts are no longer recognized by TypeScript, resulting in type errors when using these custom variants in the code.\r\n\r\nSteps to reproduce:\r\n\r\n1. Define a custom variant in app.config.ts\r\n2. Observe TypeScript type errors indicating the variant is not recognized when using it to custom another button ( in app.config.ts )\r\n\r\nExpected behavior: Custom variants should be properly recognized and validated by TypeScript, as they were in versions prior to 2.18.0.\r\n\r\nThank you for your help in resolving this issue!\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Logs\r\n\r\n_No response_",[2073],{"name":2040,"color":2074},"d73a4a",2221,"Custom variants not recognized by TypeScript in app.config.ts after updating to v2.18.0","2024-11-26T13:14:03Z","https://github.com/nuxt/ui/issues/2221",0.71503353,{"description":2081,"labels":2082,"number":2087,"owner":1991,"repository":1992,"state":2044,"title":2088,"updated_at":2089,"url":2090,"score":2091},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v20.18.3`\n- Nuxt Version: `3.15.4`\n- CLI Version: `3.22.2`\n- Nitro Version: `2.10.4`\n- Package Manager: `pnpm@9.15.4`\n- Builder: `-`\n- User Config: `extends`, `modules`, `$development`, `devtools`, `colorMode`, `runtimeConfig`, `routeRules`, `future`, `compatibilityDate`, `vite`, `typescript`, `hooks`, `echo`, `eslint`, `i18n`, `sanctum`\n- Runtime Modules: `@nuxt/content@2.13.4`, `@nuxt/eslint@0.7.6`, `@nuxt/fonts@0.10.3`, `@nuxt/image@1.9.0`, `@nuxt/ui@2.21.0`, `@nuxthq/studio@2.2.1`, `@vueuse/nuxt@12.7.0`, `nuxt-og-image@4.1.4`, `@nuxtjs/i18n@9.2.1`, `nuxt-auth-sanctum@0.5.6`, `nuxt-laravel-echo@0.2.1`, `@nuxtjs/seo@2.2.0`\n- Build Modules: `-`\n\n\n### Version\n\n2.21.0\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-ui-i7bgngfx?file=app.vue\n\n### Description\n\nIf I place a USelectMenu inside a UModal that is being opened inside USlideover, I cannot focus the select menu's input.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2083,2084],{"name":2040,"color":2074},{"name":2085,"color":2086},"upstream","78bddb",3408,"USelectMenu inside UModal inside USlideover","2025-03-24T14:19:31Z","https://github.com/nuxt/ui/issues/3408",0.7193431,["Reactive",2093],{},["Set"],["ShallowReactive",2096],{"TRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"dQvUgswHTTGdvSqFsyqUFUCdtCMkeXr_gMX4VNiyf3g":-1},"/nuxt/ui/3132"]