\n\u003C/template>\n```\n\nSelectMenu does not display the label associated to the falsy value \"0\":\n\n\nThe list is populated with both values:\n\n\nThe label associated to the truthy value \"1\" is displayed as expected:\n\n\n### Description\n\nAll falsy values are not displayed anymore since v2.20.0 due to the rework of the computed `label` in the SelectMenu component.\n\nHere is the definition of this computed in `/src/runtime/components/form/SelectMenu.vue`:\n```\nconst label = computed(() => {\n if (!props.modelValue) return null\n\n if (Array.isArray(props.modelValue) && props.modelValue.length) {\n return `${props.modelValue.length} selected`\n } else if (['string', 'number'].includes(typeof props.modelValue)) {\n return props.valueAttribute ? accessor(selected.value, props.optionAttribute) : props.modelValue\n }\n\n return accessor(props.modelValue as Record\u003Cstring, any>, props.optionAttribute)\n})\n```\n\n**The component should treat `0`, `\"\"` and `false` as \"acceptable\" labelled values.**\n\nI believe the first condition should be either :\n`if(props.modelValue == null) return null` \nOr:\n`if(props.modelValue === null || props.modelValue === undefined) return null` \n\n### Additional context\n\nI will try to find some time to create a pull request if this is accepted as an issue. Not sure I can manage to do it short-term though.\n\n### Logs\n\n```shell-script\n\n```",[2889,2892],{"name":2890,"color":2891},"bug","d73a4a",{"name":2878,"color":2879},3132,"SelectMenu label not displayed for falsy values","2025-01-17T15:36:46Z","https://github.com/nuxt/ui/issues/3132",0.7232614,{"description":2899,"labels":2900,"number":2902,"owner":2856,"repository":2881,"state":2858,"title":2903,"updated_at":2904,"url":2905,"score":2906},"### For what version of Nuxt UI are you asking this question?\n\nv2.x\n\n### Description\n\nHow can i use [Zod](https://zod.dev/) to validate an [UInput file field](https://ui.nuxt.com/components/input#type)? \n\nLet's say you have the following code:\n(I found the example over [here](https://blog.stackademic.com/upgrade-your-full-stack-form-validation-with-zod-and-react-hook-form-in-next-js-107b014628a3).)\n\n```vue\n\u003CUForm :schema=\"schema\" :state=\"state\" @submit=\"onSubmit\">\n\n \u003CUFormGroup name=\"picture\" label=\"Picture\">\n \u003CUInput v-model=\"state.picture\" type=\"file\" @change=\"onChangeFile\"/>\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.",[2901],{"name":2853,"color":2854},2462,"UInput with type='file', how to validate with Zod?","2025-03-10T01:51:18Z","https://github.com/nuxt/ui/issues/2462",0.7354062,{"description":2908,"labels":2909,"number":2910,"owner":2856,"repository":2911,"state":2858,"title":2912,"updated_at":2913,"url":2914,"score":2915},"I've been using the new Nuxt website for a few months right now and wanted to provide some UX feedback based on my developer usage. For context I find myself using the docs multiple times a day.\n\n1. When searching the docs the text input field gets blocked from rendering which means there is a disconnect with what you're typing and what is displayed. I don't think the search results need to be instant but what you're typing in the text input should not be blocked. For example in the recording below I am constantly typing but it's really choppy and I finished typing a full 10 seconds before my typed text is actually completely displayed.\n\n\n\n2. The animations for the menus are cool but the artificial delay trips me up multiple times a day if I'm moving \"too fast\". I know where I want to go but frequently find myself needing to slow down or try again to get to the menu that I want because of the delay.\n\n\n\n_All if this feedback is in contrast to the previous website which I didn't have nearly as much friction using when navigation around and didn't feel like I was be throttled when navigating through the docs. If this was only a marketing page that would be fine but since it's also developer documentation I think it should be a bit more responsive._",[],1857,"nuxt.com","Laggy search and navigation feedback","2025-04-15T11:39:18Z","https://github.com/nuxt/nuxt.com/issues/1857",0.7390642,{"description":2917,"labels":2918,"number":2924,"owner":2856,"repository":2881,"state":2858,"title":2925,"updated_at":2926,"url":2927,"score":2928},"### 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_",[2919,2920,2923],{"name":2875,"color":2876},{"name":2921,"color":2922},"v3","49DCB8",{"name":2878,"color":2879},2662,"Override default props from `AppConfig`","2024-11-17T08:30:46Z","https://github.com/nuxt/ui/issues/2662",0.73965484,{"description":2930,"labels":2931,"number":2937,"owner":2856,"repository":2881,"state":2858,"title":2938,"updated_at":2939,"url":2940,"score":2941},"### 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: compatibilityDate, devtools, extends, modules\r\n- Runtime Modules: @nuxt/ui@2.18.4\r\n- Build Modules: -\n\n### Version\n\n2.18.4\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-qsqtmc?file=app.vue\n\n### Description\n\nLandingFAQ being built on top Accordion, when an item has a specified \"slot\" property, it should allow to display custom content in a corresponding slot. In my reproduction, you can see i have an faq item with a slot property equal to \"risks\". When using \u003Ctemplate #risks> risks \u003C/template> to show a specific content for that item, it works well in the accordion but is ignored in the LandingFAQ where the content property is shown instead.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2932,2933,2936],{"name":2890,"color":2891},{"name":2934,"color":2935},"pro","5BD3CB",{"name":2878,"color":2879},2057,"LandingFAQ component in Pro ignores the \"slot\" property of an item","2024-09-10T20:23:57Z","https://github.com/nuxt/ui/issues/2057",0.74275124,{"description":2943,"labels":2944,"number":2947,"owner":2856,"repository":2911,"state":2948,"title":2949,"updated_at":2950,"url":2951,"score":2952},"(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",[2945],{"name":2890,"color":2946},"ff281a",1455,"closed","query parameters on module page result in hydration mismatch","2025-03-24T22:03:27Z","https://github.com/nuxt/nuxt.com/issues/1455",0.6728909,{"description":2954,"labels":2955,"number":2958,"owner":2856,"repository":2881,"state":2948,"title":2959,"updated_at":2960,"url":2961,"score":2962},"### For what version of Nuxt UI are you asking this question?\n\nv3.0.0-alpha.x\n\n### Description\n\n### Environment\n\n* Operating System: Linux\n* Node Version: v20.15.1\n* Nuxt Version: 3.14.1592\n* Package Manager: npm@10.7.0\n* Nuxt UI: v3.0.0-alpha.x\n\n### Description\nHello, I have the following configurations; \n\n#### assets/css/main.css\n```css\n@import \"tailwindcss\";\n@import \"@nuxt/ui\";\n\n@theme {\n /* Font Family Extend */\n --font-display: 'Work Sans', sans-serif;\n --font-content: 'Roboto', sans-serif;\n --font-condensed: 'Roboto Condensed', sans-serif;\n\n\n /* Color Extend */\n --color-brand-50: #fef4ee;\n --color-brand-100: #fcdbc5;\n --color-brand-200: #facaae;\n --color-brand-300: #f6a57b;\n --color-brand-400: #f27545;\n --color-brand-500: #ee5221;\n --color-brand-600: #df3917;\n --color-brand-700: #b92915;\n --color-brand-800: #932219;\n --color-brand-900: #772017;\n --color-brand-950: #400d0a;\n}\n\n:root {\n --ui-primary: var(--color-brand-500);\n}\n```\n\nand my nuxt.config.ts file; \n```ts\nexport default defineNuxtConfig({\n // ....\n modules: ['@nuxt/ui', '@pinia/nuxt'],\n css: ['~/assets/css/main.css', '~/assets/scss/common.scss'],\n vite: {\n css: {\n preprocessorOptions: {\n scss: { api: 'modern-compiler' }\n }\n }\n },\n // ....\n});\n```\nWith the configurations defined as above when i set ssr:false in my nuxt.config.ts, my custom color called 'brand' is not applied to components and the default green is used from the tailwind. With ssr: true everything is ok with `npm run dev`. I also tried to set the color 'brand' in app.config.ts \n\n```ts\nexport default defineAppConfig({\n ui:{\n colors: {\n primary: 'brand'\n }\n }\n});\n``` \nwith this setting again everything works but this time ts complains about `Type '\"brand\"' is not assignable to type 'Color | undefined'.ts(2322)`. \n\nI did not find a true way to set colors from extended tailwindcss color palette. Thanks in advance for any help.\n\n\nThe following screenshot; ssr: false and primary color defined on ```:root {}``` \n\n\n\nThe following screenshot; ssr: true and primary color defined on ```:root {}``` \n\n\n\n\n \nThe following screenshot; ssr: false and primary color defined on 'appconfig' but this time I have the following error from ts\n\n\n\n\n\n\nEdit 1: \n> [!IMPORTANT]\n> I also tried to extend on a types/colors.d.ts file the `tailwindcss/colors` namespace to add my custom color but no chance\n\n```ts\nimport colors from 'tailwindcss/colors'\n\n\ndeclare module 'tailwindcss/colors' {\n const colors = colors | 'brand'\n export default colors;\n}\n```\n\n",[2956,2957],{"name":2853,"color":2854},{"name":2921,"color":2922},2869,"Use a custom color instead of the predefined Tailwind colors with ssr false","2024-12-16T09:47:16Z","https://github.com/nuxt/ui/issues/2869",0.71404785,["Reactive",2964],{},["Set"],["ShallowReactive",2967],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fuoJt4Qld-HgGu6EAgMvy2RIUBU7k0If7UUa13avgfdM":-1},"/nuxt/test-utils/787"]