` component, specifically with the `v-model:open` binding:\n\n* `v-model:collapsed` works great — it properly handles the collapsed/expanded state.\n* But `v-model:open` doesn't seem to behave as expected. When I bind it to a custom `open` state and try to set it to `false` (e.g., using a custom button), the sidebar doesn’t actually close. Then, as soon as I click anywhere else on the page, the `open` value is automatically reset to `true`.\n\nIt feels like something internal is re-opening the sidebar and overriding the bound value.\n\nOther small notes:\n\n* `\u003CUDashboardSidebarToggle />` is hidden on desktop due to `lg:hidden`, which makes sense for mobile setups. But even when made visible, it doesn’t allow fully toggling the sidebar on desktop — the sidebar remains fixed.\n* I also tried changing the `default-size` prop (e.g., to `16rem` / `256px`), and it didn’t apply immediately. It only worked after clearing the site data. I’m guessing this is due to cookies storing the previous value? Maybe it could be possible to sync the cookie automatically when `default-size` changes?\n\nHere’s a minimal reproduction of the issue: [Here](https://codesandbox.io/p/devbox/polished-cookies-lrv5hm?file=%2Fapp%2Fpages%2Findex.vue%3A9%2C23)\n\nLastly, I was wondering if in the future it might be possible to support a prop like `expand-on-hover`, where a collapsed sidebar could temporarily expand on mouse hover — without pushing the rest of the layout. This could allow building more advanced layouts similar to what Supabase uses: a primary sidebar that stays collapsed when a secondary one is open, but can still expand on hover without shifting the content.\n\nThanks again for your amazing work and for considering these ideas! 😊\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3168,3169,3170],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4599,"DashboardSidebar: v-model:open not working as expected","2025-07-25T16:31:55Z","https://github.com/nuxt/ui/issues/4599",0.6972622,{"description":3177,"labels":3178,"number":3182,"owner":3147,"repository":3148,"state":3149,"title":3183,"updated_at":3184,"url":3185,"score":3186},"### Environment\n\n- Operating System: Darwin\n- Node Version: v23.11.0\n- Nuxt Version: 3.17.3\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: devtools, typescript, css, compatibilityDate, devServer, vite, runtimeConfig, app, ui, scripts, modules, sentry, sourcemap\n- Runtime Modules: @nuxt/ui@3.1.2, @pinia/nuxt@0.11.0, pinia-plugin-persistedstate/nuxt@4.3.0, @sentry/nuxt/module@9.19.0, @nuxt/scripts@0.11.7, @nuxt/eslint@1.4.0\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/r7ryl3\n\n### Description\n\nI recently upgrade to NuxtUI 3.1.2 (from 3.0.1) and It's impossible (or I don't know) how to deal with custom type for `InputMenu`, I got some types issues on `label-key`, `v-model`, `items`, `slots` as you can see in my reproduction.\n\n### Additional context\n\n\n\n### Logs\n\n```shell-script\n\n```",[3179,3180,3181],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4182,"Custom type with InputMenu","2025-05-19T12:22:28Z","https://github.com/nuxt/ui/issues/4182",0.6980092,{"description":3188,"labels":3189,"number":3192,"owner":3147,"repository":3148,"state":3193,"title":3194,"updated_at":3195,"url":3196,"score":3197},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v24.2.0\n- Nuxt Version: 4.0.3\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.4\n- Package Manager: bun@1.2.17\n- Builder: -\n- User Config: css, modules, nitro, i18n, imports, runtimeConfig, icon, compatibilityDate\n- Runtime Modules: @nuxtjs/i18n@10.0.6, @nuxt/ui-pro@3.3.1, @nuxt/eslint@1.9.0, @nuxtjs/html-validator@2.1.0, @nuxt/image@1.11.0, @vueuse/nuxt@13.7.0, @artmizu/nuxt-prometheus@2.5.2, @nuxtjs/seo@3.1.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.3.1\n\n### Reproduction\n\n```vue\n\u003Cscript lang=\"ts\" setup>\nconst value = ref(\"\");\nconst items: Array\u003Cstring | number> = [1, \"2\", 3];\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUForm :state=\"value\" class=\"flex max-w-72 flex-col space-y-4 py-8\">\n \u003CUFormField label=\"UInputMenu\">\n \u003CUInputMenu v-model=\"value\" :items placeholder=\"UInputMenu\" />\n \u003C/UFormField>\n \u003CUFormField label=\"USelect\">\n \u003CUSelect v-model=\"value\" :items placeholder=\"USelect\" />\n \u003C/UFormField>\n \u003CUFormField label=\"USelectMenu\">\n \u003CUSelectMenu v-model=\"value\" :items placeholder=\"USelectMenu\" />\n \u003C/UFormField>\n \u003C/UForm>\n\u003C/template>\n```\n\n### Description\n\nAfter updating to version 3.3.1, the InputMenu, Select and SelectMenu component's placeholder value is not shown, if the value is not found in the items array. In version 3.3.0 the placeholder correctly shows up.\n\nNuxt UI 3.3.0\n\u003Cimg width=\"350\" height=\"300\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/2b0937d4-7640-4277-8169-ff192bc01d97\" />\n\nNuxt UI 3.3.1\n\u003Cimg width=\"410\" height=\"285\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/3d744e11-748b-4b3c-a236-fcee8fdcd765\" />\n\n\u003Cimg width=\"395\" height=\"298\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ac7be307-ca5c-4957-a2fb-5721eebdea07\" />\n\nIf the v-model is `undefined` it works just like in 3.3.0, however in my projects I feel like that's not always achievable because of type definitions.\nI know I could set the default value to one of the items' values, but what if I don't want to populate the component by default and just show the placeholder? \nFor this to work in version 3.3.1 I'd have to loosen up the type definitions, so that required fields are not required anymore, which is wrong and I don't feel like I should have to do to keep the behavior of a UI component. \n\nShouldn't we have an exception for falsy values that are sometimes used as default values (empty string, 0...), so the placeholder can be shown without having to explicitly have `undefined` as the default value?\n\n### Additional context\n\nI haven't dug that deep, but I think #4689 introduced this behavior to these components. \n\n### Logs\n\n```shell-script\n\n```",[3190,3191],{"name":3138,"color":3139},{"name":3141,"color":3142},4812,"closed","[InputMenu,Select,SelectMenu] Placeholder not showing in v3.3.1, if item is not found and default value is not undefined or null","2025-08-27T14:42:51Z","https://github.com/nuxt/ui/issues/4812",0.66909343,{"description":3199,"labels":3200,"number":3207,"owner":3147,"repository":3148,"state":3193,"title":3208,"updated_at":3209,"url":3210,"score":3211},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v24.2.0\n- Nuxt Version: 4.0.1\n- CLI Version: 3.27.0\n- Nitro Version: 2.12.4\n- Package Manager: npm@11.3.0\n- Builder: -\n- User Config: compatibilityDate, devtools, extends, pinia, css, ui, modules, runtimeConfig, nitro\n- Runtime Modules: @nuxt/eslint@1.7.1, @nuxt/image@1.10.0, @nuxt/ui@3.3.0, @pinia/nuxt@0.11.2, pinia-plugin-persistedstate/nuxt@4.4.1\n- Build Modules: -\n------------------------------\n\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\n4.0.1\n\n### Reproduction\n\n```\n\u003Ctemplate>\n \u003Cdiv class=\"flow-root mb-3\">\n \u003Cul role=\"list\" class=\"-my-6 divide-y divide-gray-200\">\n \u003Cli v-for=\"product in basketStore.items\" :key=\"product.rid\" class=\"flex py-6\">\n \u003Cdiv class=\"hidden sm:block h-24 w-24 flex-shrink-0 overflow-hidden rounded-md border border-gray-200\">\n \u003CProductsProductImage />\n \u003C/div>\n\n \u003Cdiv class=\"ml-4 flex flex-1 flex-col\">\n \u003Cdiv>\n \u003Cdiv class=\"flex justify-between text-base font-medium text-gray-900 mb-2\">\n \u003CNuxtLink :to=\"'/product/' + product.id\">{{ product.name }}\u003C/NuxtLink>\n \u003Cp class=\"ml-4\">£{{ product.selectedQuantity?.price }}\u003C/p>\n \u003C/div>\n \u003C/div>\n\n \u003Cdiv class=\"flex flex-1 flex-col md:flex-row items-end justify-between text-sm text-black gap-4\">\n \u003Cdiv class=\"w-full flex flex-col md:flex-row flex-wrap gap-2 \">\n \u003CUSelectMenu v-if=\"hasMultipleSkus(product)\" class=\"max-w-56\" v-model=\"product.selectedSku\"\n :search-input=\"false\" :label-key=\"'name'\" :items=\"product.skus\"\n @update:modelValue=\"changeSku($event as Sku, product)\">\n \u003C/USelectMenu>\n \u003Cpre>{{ product.selectedQuantity }}\u003C/pre>\n \u003CUSelectMenu v-model=\"product.selectedQuantity\" :search-input=\"false\"\n :label-key=\"'quantity'\" class=\"max-w-56\" :items=\"updatePricesWithStock(product)\"\n @update:modelValue=\"changeQuantity($event as QuantityPrice, product)\">\n \u003Ctemplate #item=\"{ item }\">\u003Cspan>{{ item.quantity }}\u003C/span>\u003Cspan\n v-if=\"item.disabled\">Out of\n stock\u003C/span>\u003C/template>\n \u003C/USelectMenu>\n \u003C/div>\n \u003Cdiv class=\"flex\">\n \u003Cbutton type=\"button\" class=\"font-medium text-primary-500 hover:text-primary-600\"\n @click=\"basketStore.remove(product.rid)\">Remove\u003C/button>\n \u003C/div>\n\n \u003C/div>\n\n \u003C/div>\n \u003C/li>\n\n \u003C/ul>\n \u003C/div>\n\u003C/template>\n\u003Cscript setup lang=\"ts\">\nimport type { Product, Sku, QuantityPrice } from '../../types';\n\nfunction changeSku(sku: Sku, item: Product) {\n\n}\n\nfunction hasMultipleSkus(item: Product): boolean {\n\n}\n\n\nfunction changeQuantity(quantity: QuantityPrice, item: Product) {\n\n}\n\n// Helper function to map prices and add \"disabled\" property - see other \nconst updatePricesWithStock = (item: any) => {\n return item.selectedSku?.prices.map((price: QuantityPrice) => ({\n ...price,\n disabled: !item?.onDemand && price.quantity > item.selectedSku?.stock\n }));\n};\n\n\n\u003C/script>\n```\n\n### Description\n\n_(Not sure whether to include this issue in Nuxt or Nuxt UI)_\n\nI have a base component that uses a selectMenu with an array. In Nuxt 3.17.6 with compatibiltyVersion: 4 set, the SelectMenu works as expected. When upgrading to nuxt 4 the label key no longer works. I'll attach screenshots and the code is in the reproduction section.\n**Nuxt 3.17.6**\n\u003Cimg width=\"736\" height=\"216\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/04967fa3-d156-46e2-b74d-f060ec68fcc4\" />\n\n**Nuxt 4**\n\u003Cimg width=\"751\" height=\"220\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/8ccf4caf-12f1-46d0-beda-9ebea3b1eee3\" />\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3201,3202,3205,3206],{"name":3138,"color":3139},{"name":3203,"color":3204},"needs reproduction","CB47CF",{"name":3141,"color":3142},{"name":3144,"color":3145},4627,"SelectMenu | Label Key not working correctly with Nuxt 4?","2025-07-30T09:17:46Z","https://github.com/nuxt/ui/issues/4627",0.67275614,{"description":3213,"labels":3214,"number":3220,"owner":3147,"repository":3148,"state":3193,"title":3221,"updated_at":3222,"url":3223,"score":3224},"### Environment\n\n- Operating System: Linux\n- Node Version: v22.17.1\n- Nuxt Version: -\n- CLI Version: 3.28.0\n- Nitro Version: -\n- Package Manager: npm@10.9.2\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### Package\n\nv3.x\n\n### Version\n\nv3.3.0\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/unruffled-mendel-t2h99c\n\n### Description\n\n\nSite crashes when a user clicks a `UDropdownMenu` button while a `UInputMenu` popover is already open. \n\n### Steps to Reproduce\n1. Open the `UInputMenu` popover (Click on dropdown arrow or start typing or just clicking on input if `open-on-click` is set).\n2. Without closing the `UInputMenu` popover, click on the `UDropdownMenu` button.\n3. The application crashes.\n\n\nIssue was found on v3.3.0\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3215,3216,3217],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3218,"color":3219},"needs follow up","fbca04",4934,"UDropdownMenu Crash When UInputMenu Popover is Open","2025-09-09T15:00:38Z","https://github.com/nuxt/ui/issues/4934",0.6742826,{"description":3226,"labels":3227,"number":3233,"owner":3147,"repository":3148,"state":3193,"title":3234,"updated_at":3235,"url":3236,"score":3237},"### Environment\n\n- Operating System: `Windows_NT`\n- Node Version: `v22.13.1`\n- Nuxt Version: `3.17.2`\n- CLI Version: `3.25.0`\n- Nitro Version: `2.11.11`\n- Package Manager: `yarn@1.22.22`\n- Builder: `-`\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\n3.1.1\n\n### Reproduction\n\nhttps://github.com/user-attachments/assets/3204c1e4-c367-4397-b3fc-7a8c335bf000\n\n### Description\n\nCheck current docs. https://ui.nuxt.com/components/input-menu#items\n\n### Additional context\n\nWhen clicking on the dropdown the first time not all items are shown. When clicking the second time the items are all there.\n\n### Logs\n\n```shell-script\n\n```",[3228,3229,3232],{"name":3138,"color":3139},{"name":3230,"color":3231},"duplicate","cfd3d7",{"name":3141,"color":3142},4100,"InputMenu: Not all items shown in dropdown on first open","2025-05-07T14:53:25Z","https://github.com/nuxt/ui/issues/4100",0.6756192,{"description":3239,"labels":3240,"number":3243,"owner":3147,"repository":3148,"state":3193,"title":3244,"updated_at":3245,"url":3246,"score":3247},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.14.0`\n- Nuxt Version: `3.18.0`\n- CLI Version: `3.27.0`\n- Nitro Version: `2.12.4`\n- Package Manager: `pnpm@10.12.3`\n- Builder: `-`\n- User Config: `modules`, `ssr`, `components`, `devtools`, `app`, `css`, `colorMode`, `runtimeConfig`, `future`, `experimental`, `compatibilityDate`, `eslint`, `fonts`, `icon`, `supabase`\n- Runtime Modules: `@nuxt/eslint@1.4.1`, `reka-ui/nuxt@2.4.0`, `@nuxt/ui@3.3.0`, `@nuxtjs/supabase@1.5.2`, `@vueuse/nuxt@13.6.0`\n- Build Modules: `-`\n\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.3.0\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/suspicious-lumiere-6jxxjc\n\n### Description\n\nWhen displaying the `UInputMenu`, with no items in the array (fetched later) but with a default value, the placeholder is shown instead of showing the string.\n\n### Additional context\n\nFaulty commit: 488707e\n\n#4528 \n\n### Logs\n\n```shell-script\n\n```",[3241,3242],{"name":3138,"color":3139},{"name":3141,"color":3142},4635,"`UInputMenu` does not display default model value (placeholder shown instead)","2025-08-14T09:04:53Z","https://github.com/nuxt/ui/issues/4635",0.6757965,{"description":3249,"labels":3250,"number":3254,"owner":3147,"repository":3148,"state":3193,"title":3255,"updated_at":3256,"url":3257,"score":3258},"### Environment\n\nnot needed\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.1\n\n### Reproduction\n\ncheck current docs: https://ui.nuxt.com/components/navigation-menu#content-orientation\n\n### Description\n\n\n\nThe dropdown is at wrong position... also the \"arrow\" prop doesnt work\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3251,3252,3253],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4073,"UNavigationMenu: Dropdown broken","2025-05-13T12:02:03Z","https://github.com/nuxt/ui/issues/4073",0.6819063,["Reactive",3260],{},["Set"],["ShallowReactive",3263],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fDGbSoZlRPO9Asjro4I9X1OnoHD251KFeTJ05xkP2-jI":-1},"/nuxt/ui/2724"]