\n \u003C/div>\n\u003C/template>\n\n\u003Cscript setup>\nconst tabIndex = ref(0)\nconst tabItems = [\n {\n accessorKey: 'firstTab',\n label: 'First Tab',\n value: 0\n },\n {\n accessorKey: 'secondTab',\n label: 'Second Tab',\n value: 1\n },\n {\n accessorKey: 'thirdTab',\n label: 'Third Tab',\n value: 2\n }\n]\n\u003C/script>\n```\n\n### Description\n\nIn Nuxt UI's UTabs component, when an item's value is set to 0 (a number), the internal TabsTrigger evaluates `:value=\"item.value || String(index)\"`. Since 0 is falsy in JavaScript, it falls back to String(index) (e.g., '0'), causing the v-model to update as a string instead of a number, leading to unexpected type coercion after tab selection.\n\nPotential solution:\n\n`:value=\"item.value ?? String(index)\" `\n\nThis uses the nullish coalescing operator (??), which only falls back if item.value is null or undefined (not falsy values like 0), preserving the numeric type for 0 while maintaining the intended fallback behavior for missing values.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3137,3140,3143],{"name":3138,"color":3139},"bug","d73a4a",{"name":3141,"color":3142},"v3","49DCB8",{"name":3144,"color":3145},"triage","ffffff",4804,"nuxt","ui","open","UTabs: Numeric value 0 coerced to string due to falsy check in TabsTrigger","2025-08-21T22:30:48Z","https://github.com/nuxt/ui/issues/4804",0.7321691,{"description":3155,"labels":3156,"number":3158,"owner":3147,"repository":3159,"state":3149,"title":3160,"updated_at":3161,"url":3162,"score":3163},"### 🐛 The bug\n\nHi, I found this specific bug that occurs using layouts and having `pageTransition` and `layoutTransition` enabled in nuxt config. Then, you navigate between layouts and the last page has a video and is fetching something with `useFetch`, then, you try to play the video. The script loads, but the video doesn't play.\n\n\n\n- Steps to reproduce: _(It is recommended to open the preview in a new tab)_\n1. Start the reproduction\n2. You must be on the index page `/`\n3. Click `Go to Layout`\n4. Try to play the video\n5. The script loads, but the video doesn't play\n6. Inspect the console and you must see the error\n\n\n### 🛠️ To reproduce\n\nhttps://stackblitz.com/edit/nuxt-starter-aqvq3n\n\n### 🌈 Expected behavior\n\nThe video in /video should be played after clicking it\n\n### ℹ️ Additional context\n\nnuxt: 3.13.2\n@nuxt/scripts: 0.9.4\n\nBtw: this error doesn't occur if you enclose the script with `\u003CClientOnly>`",[3157],{"name":3138,"color":3139},297,"scripts","ScriptYouTubePlayer: Weird specific bug related to layouts, transitions and useFetch","2024-10-22T08:53:32Z","https://github.com/nuxt/scripts/issues/297",0.74239045,{"description":3165,"labels":3166,"number":3170,"owner":3147,"repository":3148,"state":3149,"title":3171,"updated_at":3172,"url":3173,"score":3174},"### Environment\n\n- Node Version: v22.17.1\n- Nuxt Version: 4.0.3\n- CLI Version: 3.27.0\n- Nitro Version: 2.12.4\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.3.0\n\n### Reproduction\n\nhttps://ui.nuxt.com/components/navigation-menu#control-active-item\n\n### Description\n\nas per title, seems that manual active control is not working at all even in docs https://ui.nuxt.com/components/navigation-menu#control-active-item\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3167,3168,3169],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4682,"[NavigationMenu] v-model, value, default-value: does nothing","2025-08-08T08:39:46Z","https://github.com/nuxt/ui/issues/4682",0.74396247,{"description":3176,"labels":3177,"number":3186,"owner":3147,"repository":3148,"state":3187,"title":3188,"updated_at":3189,"url":3190,"score":3191},"### Description\n\nI want to let customers know what password requirements they've already checked according to create a strong password, but for this I need the model value to know what they are filling in.\n\nYou can validate it on `input` (that somehow doesn't work neither until you blur it once), but that's not really what I want for the full form\n\n### Additional context\n\nhttps://ui3.nuxt.dev/components/input#with-password-strength-indicator",[3178,3181,3182,3185],{"name":3179,"color":3180},"enhancement","a2eeef",{"name":3141,"color":3142},{"name":3183,"color":3184},"nuxt/ui-pro","00dc82",{"name":3144,"color":3145},3430,"closed","Expose v-model values in authForm","2025-05-14T13:36:42Z","https://github.com/nuxt/ui/issues/3430",0.71265143,{"description":3193,"labels":3194,"number":3202,"owner":3147,"repository":3148,"state":3187,"title":3203,"updated_at":3204,"url":3205,"score":3206},"### Description\n\nHow can I assign an ID to a tab so that I can scroll directly to it?\nCurrently, I’m working around this by giving the div inside the slot (i.e. the tab content) an ID. When the tab is opened, I scroll to that ID manually.\n\n```\n\u003Ctemplate>\n \u003CUAccordion\n v-model=\"currentOpen\"\n :ui=\"accordionStyle\"\n :items=\"items\"\n >\n \u003Ctemplate #component=\"{ item }\">\n \u003Ccomponent\n :is=\"getComponent((item as CustomAccordionItem).componentName)\"\n :id=\"(item as CustomAccordionItem).sectionKey\"\n :section-key=\"(item as CustomAccordionItem).sectionKey\"\n @section-mounted=\"sectionMounted\"\n />\n \u003C/template>\n \u003C/UAccordion>\n\u003C/template>\n```\n\ndid i miss something?\n\n### Additional context\n\n_No response_",[3195,3196,3197,3200],{"name":3179,"color":3180},{"name":3144,"color":3145},{"name":3198,"color":3199},"closed-by-bot","ededed",{"name":3201,"color":3199},"stale",3868,"Allow assigning IDs to Nuxt UI Tab panels for scroll targeting","2025-08-12T02:12:52Z","https://github.com/nuxt/ui/issues/3868",0.71889013,{"description":3208,"labels":3209,"number":3220,"owner":3147,"repository":3147,"state":3187,"title":3221,"updated_at":3222,"url":3223,"score":3224},"### Environment\r\n\r\n- Operating System: Linux\r\n- Node Version: v18.18.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, modules\r\n- Runtime Modules: @nuxt/content@2.12.1\r\n- Build Modules: -\r\n\r\n### Reproduction\r\n\r\nCheckout the project on Stackblitz:\r\n[https://stackblitz.com/edit/nuxt-starter-cjpm2f?file=app.vue](https://stackblitz.com/edit/nuxt-starter-cjpm2f?file=app.vue)\r\nThe input value should be 2, but it remains 1 if you remove the async statement or NuxtLayout, everything will be fixed.\r\n\r\n### Describe the bug\r\n\r\nIt seems something happens in NuxtLayout that breaks v-model behavior *before mount* and prevent it from updating the value of input. if you don't use any async statement or NuxtLayout, everything works fine.\r\n\r\n### Additional context\r\n\r\nIf you don't use v-model and use `:value` and `@input` instead or just print the variable value, everything works file, only v-model is broken.\r\n\r\n### Logs\r\n\r\n_No response_",[3210,3213,3216,3219],{"name":3211,"color":3212},"3.x","29bc7f",{"name":3214,"color":3215},"pending triage","E99695",{"name":3217,"color":3218},"needs reproduction","FBCA04",{"name":3198,"color":3199},26934,"NuxtLayout breaks v-model behaviour when used after any async statement","2024-05-07T01:49:01Z","https://github.com/nuxt/nuxt/issues/26934",0.72377986,{"description":3226,"labels":3227,"number":3232,"owner":3147,"repository":3148,"state":3187,"title":3233,"updated_at":3234,"url":3235,"score":3236},"### Environment\n\n- Operating System: Darwin\n- Node Version: v20.15.1\n- Nuxt Version: 3.14.159\n- CLI Version: 3.17.2\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@9.14.3\n- Builder: -\n- User Config: -\n- Runtime Modules: -\n- Build Modules: -\n\n\n### Version\n\nv2.18.6\n\n### Reproduction\n\nGo here:\n\nhttps://ui.nuxt.com/components/tabs#default-index\n\nReload the page\n\n### Description\n\nWhen tabs have an initial index other than `0` they visually transition from the left tab to the index / v-model # tab.\n\nHappy to PR this.\n\n### Additional context\n\n\n\n### Logs\n\n```shell-script\n\n```",[3228,3229,3230,3231],{"name":3138,"color":3139},{"name":3144,"color":3145},{"name":3198,"color":3199},{"name":3201,"color":3199},3084,"[Tabs] non-0 `index` / `v-model` always transitions from 0","2025-06-18T09:02:36Z","https://github.com/nuxt/ui/issues/3084",0.7308482,{"description":3238,"labels":3239,"number":3242,"owner":3147,"repository":3148,"state":3187,"title":3243,"updated_at":3244,"url":3245,"score":3246},"### Environment\n\n- Operating System: `Linux`\n- Node Version: `v20.18.0`\n- Nuxt Version: `3.17.6`\n- CLI Version: `3.25.1`\n- Nitro Version: `2.11.13`\n- Package Manager: `yarn@1.22.22`\n- Builder: `-`\n- User Config: `app`, `css`, `ssr`, `modules`, `mg_ui`, `icon`, `extends`, `components`, `vite`, `runtimeConfig`, `devtools`, `pinia`, `imports`, `hooks`, `compatibilityDate`\n- Runtime Modules: `@nuxt/ui-pro@3.2.0`, `@pinia/nuxt@0.4.11`, `@formkit/auto-animate/nuxt@0.8.2`, `@nuxt/image@1.10.0`\n- Build Modules: `-`\n\n\n### Version\n\nv3.3.0\n\n### Reproduction\n\nhttps://ui.nuxt.com/components/page-card#link\n\n### Description\n\nHi, first thank you for the amazing lib !\nI was starting to use the `\u003CUPageCard` in my application with the `to=\"\"` prop to make it a link and I noticed I could'nt reach the link with my keyboard.\n\nWhen I checked the rendered code, I noticed the link has a `tabindex=\"-1\"` which makes it not focusable and is therefore an A11Y issue.\n\nAm I missing something or is it not normal ?\n\nI also asked on Discord and the AI confirmed it wasn't [mentioned in the docs](https://discord.com/channels/473401852243869706/1400493333670789291)\n\n### Additional context\n\nOfficial documentation : \n\u003Cimg width=\"752\" height=\"610\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/f297a64e-a0b8-4b78-adb9-5e630d51f023\" />\nAnd the rendered link element : \n\u003Cimg width=\"517\" height=\"208\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/fbf26569-fc21-461e-9184-8653d73e53a4\" />\n\n### Logs\n\n```shell-script\n\n```",[3240,3241],{"name":3138,"color":3139},{"name":3183,"color":3184},4639,"NuxtUI Pro : PageCard's rendered link \u003Ca> is not accessible with keyboard (tabindex=\"-1\")","2025-08-13T12:23:18Z","https://github.com/nuxt/ui/issues/4639",0.7405314,{"description":3248,"labels":3249,"number":3253,"owner":3147,"repository":3148,"state":3187,"title":3254,"updated_at":3255,"url":3256,"score":3257},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v24.0.2\n- Nuxt Version: 3.17.4\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: bun@1.2.14\n- Builder: -\n- User Config: compatibilityDate, devtools, future, modules, css, runtimeConfig\n- Runtime Modules: @nuxt/ui-pro@3.1.3, @nuxtjs/supabase@1.5.1, @nuxt/image@1.10.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.3\n\n### Reproduction\n\nNo need for reproduction.\n\n### Description\n\nHi, and thanks for this amazing UI library.\nI was wondering why to use a v-model for UProgress since it does not update the script from the dom?\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3250,3251,3252],{"name":3138,"color":3139},{"name":3141,"color":3142},{"name":3144,"color":3145},4232,"[UProgress]: replace v-model with :value?","2025-05-27T12:32:29Z","https://github.com/nuxt/ui/issues/4232",0.7413617,{"description":3259,"labels":3260,"number":3265,"owner":3147,"repository":3148,"state":3187,"title":3266,"updated_at":3267,"url":3268,"score":3269},"### Description\n\nHello there,\n\nin `@nuxt/ui` v2 it was possible to access the buttons from inside `Tabs` or the input from `SelectMenu` via template refs to focus explicit elements. \nIs it possible to get that feature back especially for accessibility reasons?",[3261,3264],{"name":3262,"color":3263},"question","d876e3",{"name":3141,"color":3142},4292,"Exposing elements for better accessibility","2025-06-12T13:38:55Z","https://github.com/nuxt/ui/issues/4292",0.741573,["Reactive",3271],{},["Set"],["ShallowReactive",3274],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fRoleGebR-XJFP_hsQXr8sbMSJZ9PSN62Jja3ZKNmK0Y":-1},"/nuxt/ui/2061"]