\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.",[2899],{"name":2888,"color":2889},2462,"UInput with type='file', how to validate with Zod?","2025-03-10T01:51:18Z","https://github.com/nuxt/ui/issues/2462",0.77817965,{"description":2906,"labels":2907,"number":2911,"owner":2877,"repository":2877,"state":2879,"title":2912,"updated_at":2913,"url":2914,"score":2915},"### Environment\n\n------------------------------\r\n- Operating System: Darwin\r\n- Node Version: v18.19.0\r\n- Nuxt Version: 3.11.2\r\n- CLI Version: 3.11.1\r\n- Nitro Version: 2.9.6\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: devtools\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-sh3gjl\r\nTo see the redirect, you need to open the preview in its own browser window.\r\n\r\nLocal instructions:\r\n\r\n```bash\r\nnpx nuxi@latest init public-error\r\ncd public-error\r\nnpm run dev\r\n```\r\nVisit http://localhost:3000\r\nOpen DevTools and enable routing\r\n```bash\r\nmkdir pages/test\r\ncp pages/index.vue pages/test/index.vue\r\nmkdir public/test\r\n```\r\nVisit http://localhost:3000/test\r\n301 redirect to `/test/`\r\n\n\n### Describe the bug\n\nWhen using the dev server, when a route shares the exact same string as a folder within the [public](https://nuxt.com/docs/guide/directory-structure/public) directory, a combination of `vite dev server`, `h3`, and `send` libraries check the `public` subfolder paths and on discovering a matching string and that it is a folder, then does a 301 redirect with a trailing slash. It never hits `nitro` until after the redirect occurs.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2908],{"name":2909,"color":2910},"pending triage","E99695",26963,"public subfolder name collision with route causes 301 redirect","2024-06-30T11:04:20Z","https://github.com/nuxt/nuxt/issues/26963",0.77831906,{"description":2917,"labels":2918,"number":2919,"owner":2877,"repository":2877,"state":2879,"title":2920,"updated_at":2921,"url":2922,"score":2923},"\n",[],32228,"Why is any file access in the public folder 404?","2025-05-28T13:13:46Z","https://github.com/nuxt/nuxt/issues/32228",0.784212,{"description":2925,"labels":2926,"number":2936,"owner":2877,"repository":2877,"state":2879,"title":2937,"updated_at":2938,"url":2939,"score":2940},"### Environment\n\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v16.16.0\r\n- Nuxt Version: 3.6.0\r\n- Nitro Version: 2.5.1\r\n- Package Manager: pnpm@8.6.2\r\n- Builder: vite\r\n- User Config: devtools, experimental\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-mehymr?file=server%2Froutes%2Ftest2-%5Bid%5D-test2.ts\n\n### Describe the bug\n\npages/test-[id]-test.vue -> work fine\r\n\r\n\r\n\r\nserver/routes/test2-[id]-test2.ts -> returns 404\r\n\r\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2927,2930,2933],{"name":2928,"color":2929},"documentation","5319e7",{"name":2931,"color":2932},"good first issue","fbca04",{"name":2934,"color":2935},"nitro","bfd4f2",21781,"Server routes params are not working as pages routes","2024-06-30T11:08:26Z","https://github.com/nuxt/nuxt/issues/21781",0.7853686,{"description":2942,"labels":2943,"number":2945,"owner":2877,"repository":2878,"state":2946,"title":2947,"updated_at":2948,"url":2949,"score":2950},"### Description\n\nHey,\r\n\r\nIs there a way to hide the checkbox in the header when the `v-model` is set?\r\n\r\nI'm not able to find the right template name (I tried named templates like `#select-header`).\r\n\r\nI want to hide this checkbox:\r\n\r\n\r\nThank's in advance :)",[2944],{"name":2888,"color":2889},2224,"closed","UTable - hide the \"select all\" checbox in header","2024-11-08T16:24:43Z","https://github.com/nuxt/ui/issues/2224",0.7529306,{"description":2952,"labels":2953,"number":2958,"owner":2877,"repository":2878,"state":2946,"title":2959,"updated_at":2960,"url":2961,"score":2962},"### Environment\n\n- Operating System: Darwin\n- Node Version: v20.9.0\n- Nuxt Version: 3.16.1\n- CLI Version: 3.23.1\n- Nitro Version: 2.11.8\n- Package Manager: pnpm@10.7.0\n- Builder: -\n- User Config: compatibilityDate, devtools, modules, css, icon, router, routeRules, content, zodI18n, runtimeConfig, ui, fonts, googleSignIn, i18n\n- Runtime Modules: @nuxt/eslint@1.3.0, @nuxt/fonts@0.11.0, @nuxt/icon@1.11.0, @nuxt/ui@3.0.2, @nuxt/content@3.4.0, @pinia/nuxt@0.10.1, pinia-plugin-persistedstate/nuxt@4.2.0, nuxt-zod-i18n@1.11.5, @nuxtjs/i18n@9.4.0, nuxt-vue3-google-signin@0.0.11\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.2\n\n### Reproduction\n\n```vue\n\u003Cscript setup lang=\"ts\">\nconst table = useTemplateRef('table')\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUTable ref=\"table\" />\n\u003C/template>\n```\n\n### Description\n\nCant get ref, need for scroll to top table\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2954,2957],{"name":2955,"color":2956},"bug","d73a4a",{"name":2871,"color":2872},3960,"UTable - tableRef - undefined","2025-04-23T09:17:33Z","https://github.com/nuxt/ui/issues/3960",0.75860214,{"description":2964,"labels":2965,"number":2968,"owner":2877,"repository":2878,"state":2946,"title":2969,"updated_at":2970,"url":2971,"score":2972},"### Environment\n\nx\n\n### Version\n\nv2.21.1\n\n### Reproduction\n\nhttps://ui2.nuxt.com/\n\n### Description\n\nOn the [Nuxt UI 2 website](https://ui2.nuxt.com/), the version list is not displaying correctly.\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2966,2967],{"name":2955,"color":2956},{"name":2874,"color":2875},3556,"Nuxt UI 2 website[ui2.nuxt.com] version list is not displaying correctly.","2025-03-16T11:15:17Z","https://github.com/nuxt/ui/issues/3556",0.765584,{"description":2974,"labels":2975,"number":2977,"owner":2877,"repository":2878,"state":2946,"title":2978,"updated_at":2979,"url":2980,"score":2981},"### Environment\n\n- Operating System: Linux\r\n- Node Version: v18.20.3\r\n- Nuxt Version: 3.12.4\r\n- CLI Version: 3.12.0\r\n- Nitro Version: 2.9.7\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: devtools, modules, compatibilityDate\r\n- Runtime Modules: @nuxt/ui@2.18.4\r\n- Build Modules: -\n\n### Version\n\nv2.18.4\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-kntdwe?file=app.vue\n\n### Description\n\nInitialize any UTable, make sure it is empty. Add an expand slot. The Empty State slot will now not span the full width of the table.\r\n\r\nRemove the expand slot, and the Empty State is the full width of the table again.\n\n### Additional context\n\n\r\n\n\n### Logs\n\n_No response_",[2976],{"name":2955,"color":2956},2055,"UTable: Expand Slot causes EmptyState width issue","2024-09-20T12:36:12Z","https://github.com/nuxt/ui/issues/2055",0.77044743,["Reactive",2983],{},["Set"],["ShallowReactive",2986],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f9lkT1aATluHrR_lJwT40_rdcJxtu_etHOiOgFSzVE4A":-1},"/nuxt/ui/3901"]