\r\n\u003C/template>\r\n``` \r\n\r\nBy the way, [the doc state](https://ui.nuxt.com/getting-started/theming#ui-prop) that \"Each component has a ui prop\". Which is not true then.\n\n### Additional context\n\n_No response_",[2884,2887],{"name":2885,"color":2886},"enhancement","a2eeef",{"name":2871,"color":2872},2094,"closed","Some component doesn't have a UI prop","2025-03-17T14:27:40Z","https://github.com/nuxt/ui/issues/2094",0.7067627,{"description":2895,"labels":2896,"number":2899,"owner":2874,"repository":2900,"state":2889,"title":2901,"updated_at":2902,"url":2903,"score":2904},"http://localhost:3000/integrations?version=2.x\n\n",[2897],{"name":2868,"color":2898},"ff281a",549,"nuxt.com","[Integrations] Version selector is not valid on refresh with query param","2023-02-15T12:32:31Z","https://github.com/nuxt/nuxt.com/issues/549",0.7287371,{"description":2906,"labels":2907,"number":2899,"owner":2874,"repository":2914,"state":2889,"title":2915,"updated_at":2916,"url":2917,"score":2904},"My dev dependencies: \r\n```\r\n{\r\n \"@nuxt/devtools\": \"^0.5.5\",\r\n \"@nuxtjs/tailwindcss\": \"^6.4.1\",\r\n \"@vitest/coverage-c8\": \"^0.31.3\",\r\n \"nuxt\": \"^3.5.2\",\r\n \"nuxt-vitest\": \"0.8.2\",\r\n \"tailwindcss\": \"^3.3.2\",\r\n \"vitest\": \"^0.31.3\"\r\n }\r\n```\r\n\r\nThe app is building fine, but trying to start Vitest is causing the following error:\r\n`ERROR Only URLs with a scheme in: file and data are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'`\r\n\r\nIt seems to be breaking down on `const { startVitest } = await import(await resolvePath(\"vitest/node\"));` in `module.mjs`\r\n\r\nIs anyone else experiencing this issue with the latest version of Nuxt or is it just me?",[2908,2911],{"name":2909,"color":2910},"vitest-environment","b60205",{"name":2912,"color":2913},"windows","6FA283","test-utils","Dynamic module import seems to be causing error","2023-12-02T00:17:10Z","https://github.com/nuxt/test-utils/issues/549",{"description":2919,"labels":2920,"number":2924,"owner":2874,"repository":2874,"state":2889,"title":2925,"updated_at":2926,"url":2927,"score":2928},"Bypassing Koa's response handling is not supported. Avoid using the following node properties:\r\n\r\nres.statusCode\r\nres.writeHead()\r\nres.write()\r\nres.end()\r\n\r\nbut \r\n\r\nserver.js 40 line\r\ncontext.res.writeHead(opts.status, {\r\n 'Location': opts.path\r\n })\r\n context.res.end()\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This question is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c1126\">#c1126\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[2921],{"name":2922,"color":2923},"2.x","d4c5f9",1277,"Bypassing Koa's response handling is not supported. Avoid using the following node properties res.writeHead()","2023-01-18T15:41:00Z","https://github.com/nuxt/nuxt/issues/1277",0.7307096,{"description":2930,"labels":2931,"number":2936,"owner":2874,"repository":2875,"state":2889,"title":2937,"updated_at":2938,"url":2939,"score":2940},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v18.20.4\n- Nuxt Version: 3.13.2\n- CLI Version: 3.15.0\n- Nitro Version: 2.9.7\n- Package Manager: npm@10.7.0\n- Builder: -\n- User Config: default\n- Runtime Modules: @nuxt/ui@2.18.7\n- Build Modules: -\n\n### Version\n\nv3\n\n### Reproduction\n\nCreat new project with nuxi\n\nInstall nuxt/ui\n\n### Description\n\nCannot destructure property 'nuxt' of 'this' as it is undefined.\n\nNot working on fresh project\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2932,2933],{"name":2868,"color":2869},{"name":2934,"color":2935},"v3","49DCB8",2442,"Cannot destructure property 'nuxt' of 'this' as it is undefined.","2024-10-23T20:22:23Z","https://github.com/nuxt/ui/issues/2442",0.7358515,{"description":2942,"labels":2943,"number":2946,"owner":2874,"repository":2875,"state":2889,"title":2947,"updated_at":2948,"url":2949,"score":2950},"### For what version of Nuxt UI are you suggesting this?\n\nv3.0.0-alpha.x\n\n### Description\n\nI find that creating an input password with toggle button to show the text felt so verbose. How about adding a default toggle button when the input has password type since it was a good practice for accessibility?\n\n\n\n### Additional context\n\n```html\n\u003C!-- this is easier and shorter to write -->\n\u003CUInput type=\"password\" />\n\n\u003C!-- if we want to hide, we can let slot do the work, or maybe consider adding a properties to hide it. It's more shorter -->\n\u003CUInput type=\"password\">\n \u003Ctemplate #trailing>\u003C/template>\n\u003C/UInput>\n\n\u003C!-- compared to what we must do now as the documentation say -->\n\u003Ctemplate>\n \u003CUInput\n v-model=\"password\"\n placeholder=\"Password\"\n :type=\"show ? 'text' : 'password'\"\n :ui=\"{ trailing: 'pe-1' }\"\n >\n \u003Ctemplate #trailing>\n \u003CUButton\n color=\"neutral\"\n variant=\"link\"\n size=\"sm\"\n :icon=\"show ? 'i-lucide-eye-off' : 'i-lucide-eye'\"\n aria-label=\"show ? 'Hide password' : 'Show password'\"\n :aria-pressed=\"show\"\n aria-controls=\"password\"\n @click=\"show = !show\"\n />\n \u003C/template>\n \u003C/UInput>\n\u003C/template>\n\n\u003Cscript setup lang=\"ts\">\nconst show = ref(false)\nconst password = ref('password')\n\u003C/script>\n```",[2944,2945],{"name":2885,"color":2886},{"name":2934,"color":2935},2806,"input: add toggle password button automatically for type password","2024-12-02T17:21:42Z","https://github.com/nuxt/ui/issues/2806",0.7416259,{"description":2952,"labels":2953,"number":2961,"owner":2874,"repository":2875,"state":2889,"title":2962,"updated_at":2963,"url":2964,"score":2965},"### Environment\n\n Operating System: Darwin\r\n- Node Version: v20.12.2\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.5.0\r\n- Builder: -\r\n- User Config: routeRules, app, runtimeConfig, nitro, css, devtools, experimental, auth, mongoose, pinia, vueEmail, googleFonts, modules\r\n- Runtime Modules: @nuxt/image@1.7.0, @vueuse/nuxt@10.9.0, nuxt-mongoose@1.0.5, @pinia/nuxt@0.5.1, @pinia-plugin-persistedstate/nuxt@1.2.0, @nuxt/content@2.12.1, @sidebase/nuxt-auth@0.7.2, @vue-email/nuxt@0.8.19, nuxt-aos@1.2.4, @nuxt/ui@2.16.0, @nuxtjs/google-fonts@3.2.0\r\n- Build Modules: -\n\n### Version\n\nv2.16.0\n\n### Reproduction\n\nnothing there\n\n### Description\n\n- activeClass does not work on UButton when switching from another layout, activeClass starts working when you reload the page. \r\n- If I use NuxtLink everything works fine.\r\n\r\n> I have layout auth on the registration page, after authorization I am automatically redirected to the page with the default layout, on this page there is a menu with a UButtons\r\n\r\n----\r\nScreenshot don't work\r\n\r\nScreenshot normal work\r\n\r\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2954,2955,2958],{"name":2868,"color":2869},{"name":2956,"color":2957},"needs reproduction","CB47CF",{"name":2959,"color":2960},"closed-by-bot","ededed",1778,"UButton - activeClass does not work when switching from another layout","2025-04-01T02:12:03Z","https://github.com/nuxt/ui/issues/1778",0.74182105,{"description":2967,"labels":2968,"number":2973,"owner":2874,"repository":2875,"state":2889,"title":2974,"updated_at":2975,"url":2976,"score":2977},"### Environment\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v20.12.0\n- Nuxt Version: 3.15.0\n- CLI Version: 3.17.2\n- Nitro Version: 2.10.4\n- Package Manager: yarn@1.22.22\n- Builder: -\n- User Config: default\n- Runtime Modules: @nuxt/devtools@1.6.4, @nuxt/ui@2.20.0, @vueuse/nuxt@12.2.0, @vueuse/motion/nuxt@2.2.6, @nuxtjs/device@3.2.4, @nuxt/image@1.8.1, @pinia/nuxt@0.9.0, pinia-plugin-persistedstate/nuxt, @vite-pwa/nuxt@0.10.6, nuxt-snackbar@1.1.2, nuxt-gtag@3.0.2, @nuxt/eslint@0.7.4\n- Build Modules: -\n------------------------------\n\n### Version\n\nv2.20.0\n\n### Reproduction\n\n no reproduction\n\n### Description\n\nI notice there's a syntax error in the code;\nThe error is coming from a syntax error in the Headless UI Vue component code. Specifically, there's an unexpected semicolon in this line: \n(0,;__vite_ssr_import_5__.match)(i.value,{\nThis appears to be a build/compilation issue with the Headless UI Vue component. Let me check if there are any Headless UI Vue dependencies in the package.json.\n\nThe error appears when using nuxt v3.15.0 \nWith the previous \"nuxt\": \"3.14.1592\", no error. I 'm not sure if i should fill the bug Report here or in Nuxt directly!\n\n\n### Additional context\n\nUnexpected token ';'\n\n function g(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}let R=Symbol(\"TransitionContext\");var pe=(a=>(a.Visible=\"visible\",a.Hidden=\"hidden\",a))(pe||{});function me(){return (0,__vite_ssr_import_0__.inject)(R,null)!==null}function Te(){let e=(0,__vite_ssr_import_0__.inject)(R,null);if(e===null)throw new Error(\"A \u003CTransitionChild /> is used but it is missing a parent \u003CTransitionRoot />.\");return e}function ge(){let e=(0,__vite_ssr_import_0__.inject)(N,null);if(e===null)throw new Error(\"A \u003CTransitionChild /> is used but it is missing a parent \u003CTransitionRoot />.\");return e}let N=Symbol(\"NestingContext\");function L(e){return\"children\"in e?L(e.children):e.value.filter(({state:t})=>t===\"visible\").length>0}function Q(e){let t=(0,__vite_ssr_import_0__.ref)([]),a=(0,__vite_ssr_import_0__.ref)(!1);(0,__vite_ssr_import_0__.onMounted)(()=>a.value=!0),(0,__vite_ssr_import_0__.onUnmounted)(()=>a.value=!1);function s(n,r=__vite_ssr_import_6__.RenderStrategy.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&((0,__vite_ssr_import_5__.match)(r,{[__vite_ssr_import_6__.RenderStrategy.Unmount](){t.value.splice(l,1)},[__vite_ssr_import_6__.RenderStrategy.Hidden](){t.value[l].state=\"hidden\"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!==\"visible\"&&(r.state=\"visible\"):t.value.push({id:n,state:\"visible\"}),()=>s(n,__vite_ssr_import_6__.RenderStrategy.Unmount)}return{children:t,register:h,unregister:s}}let W=__vite_ssr_import_6__.Features.RenderStrategy,he=(0,__vite_ssr_import_0__.defineComponent)({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=(0,__vite_ssr_import_0__.ref)(0);function r(){n.value|=__vite_ssr_import_2__.State.Opening,t(\"beforeEnter\")}function l(){n.value&=~__vite_ssr_import_2__.State.Opening,t(\"afterEnter\")}function f(){n.value|=__vite_ssr_import_2__.State.Closing,t(\"beforeLeave\")}function S(){n.value&=~__vite_ssr_import_2__.State.Closing,t(\"afterLeave\")}if(!me()&&(0,__vite_ssr_import_2__.hasOpenClosed)())return()=>(0,__vite_ssr_import_0__.h)(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=(0,__vite_ssr_import_0__.ref)(null),y=(0,__vite_ssr_import_0__.computed)(()=>e.unmount?__vite_ssr_import_6__.RenderStrategy.Unmount:__vite_ssr_import_6__.RenderStrategy.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=(0,__vite_ssr_import_0__.ref)(v.value?\"visible\":\"hidden\"),I={value:!0},c=(0,__vite_ssr_import_1__.useId)(),b={value:!1},P=Q(()=>{!b.value&&i.value!==\"hidden\"&&(i.value=\"hidden\",H(c),S())});(0,__vite_ssr_import_0__.onMounted)(()=>{let o=D(c);(0,__vite_ssr_import_0__.onUnmounted)(o)}),(0,__vite_ssr_import_0__.watchEffect)(()=>{if(y.value===__vite_ssr_import_6__.RenderStrategy.Hidden&&c){if(v.value&&i.value!==\"visible\"){i.value=\"visible\";return}(0,;__vite_ssr_import_5__.match)(i.value,{[\"hidden\"]:()=>H(c),[\"visible\"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);(0,__vite_ssr_import_0__.onMounted)(()=>{(0,__vite_ssr_import_0__.watchEffect)(()=>{if(i.value===\"visible\"){let o=(0,__vite_ssr_import_3__.dom)(d);if(o instanceof Comment&&o.data===\"\")throw new Error(\"Did you forget to passthrough the ref to the actual DOM node?\")}})});function te(o){let E=I.value&&!A.value,p=(0,__vite_ssr_import_3__.dom)(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?(0,__vite_ssr_import_7__.transition)(p,j,M,X,_,V=>{b.value=!1,V===__vite_ssr_import_7__.Reason.Finished&&l()}):(0,__vite_ssr_import_7__.transition)(p,Y,Z,ee,_,V=>{b.value=!1,V===__vite_ssr_import_7__.Reason.Finished&&(L(P)||(i.value=\"hidden\",H(c),S()))})))}return (0,__vite_ssr_import_0__.onMounted)(()=>{(0,__vite_ssr_import_0__.watch)([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),(0,__vite_ssr_import_0__.provide)(N,P),(0,__vite_ssr_import_2__.useOpenClosedProvider)((0,__vite_ssr_import_0__.computed)(()=>(0,__vite_ssr_import_5__.match)(i.value,{[\"visible\"]:__vite_ssr_import_2__.State.Open,[\"hidden\"]:__vite_ssr_import_2__.State.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&__vite_ssr_import_4__.env.isServer?{class:(0,__vite_ssr_import_0__.normalizeClass)([a.class,U.class,...j,...M])}:{}};return (0,__vite_ssr_import_6__.render)({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value===\"visible\",name:\"TransitionChild\"})}}}),ce=he,Se=(0,__vite_ssr_import_0__.defineComponent)({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=(0,__vite_ssr_import_2__.useOpenClosed)(),n=(0,__vite_ssr_import_0__.computed)(()=>e.show===null&&h!==null?(h.value&__vite_ssr_import_2__.State.Open)===__vite_ssr_import_2__.State.Open:e.show);(0,__vite_ssr_import_0__.watchEffect)(()=>{if(![!0,!1].includes(n.value))throw new Error('A \u003CTransition /> is used but it is missing a :show=\"true | false\" prop.')});let r=(0,__vite_ssr_import_0__.ref)(n.value?\"visible\":\"hidden\"),l=Q(()=>{r.value=\"hidden\"}),f=(0,__vite_ssr_import_0__.ref)(!0),S={show:n,appear:(0,__vite_ssr_import_0__.computed)(()=>e.appear||!f.value)};return (0,__vite_ssr_import_0__.onMounted)(()=>{(0,__vite_ssr_import_0__.watchEffect)(()=>{f.value=!1,n.value?r.value=\"visible\":L(l)||(r.value=\"hidden\")})}),(0,__vite_ssr_import_0__.provide)(N,l),(0,__vite_ssr_import_0__.provide)(R,S),()=>{let d=(0,__vite_ssr_import_6__.omit)(e,[\"show\",\"appear\",\"unmount\",\"onBeforeEnter\",\"onBeforeLeave\",\"onAfterEnter\",\"onAfterLeave\"]),y={unmount:e.unmount};return (0,__vite_ssr_import_6__.render)({ourProps:{...y,as:\"template\"},theirProps:{},slot:{},slots:{...s,default:()=>[(0,__vite_ssr_import_0__.h)(ce,{onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value===\"visible\",name:\"Transition\"})}}});\n\n\n SyntaxError: Unexpected token ';'\n at new Script (node:vm:116:7)\n at createScript (node:vm:268:10)\n at Object.runInThisContext (node:vm:316:10)\n at ViteNodeRunner.runModule (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:398:19)\n at ViteNodeRunner.directRequest (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:381:16) \n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async ViteNodeRunner.cachedRequest (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:206:14) \n at async ViteNodeRunner.dependencyRequest (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:259:12)\n at async node_modules\\@headlessui\\vue\\dist\\headlessui.esm.js:23:32\n at async ViteNodeRunner.runModule (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:399:5) \n\n### Logs\n\n```shell-script\n\n```",[2969,2970],{"name":2868,"color":2869},{"name":2971,"color":2972},"duplicate","cfd3d7",2972,"Syntax error in the Headless UI Vue component code","2024-12-25T10:39:30Z","https://github.com/nuxt/ui/issues/2972",0.7420263,{"description":2979,"labels":2980,"number":2985,"owner":2874,"repository":2875,"state":2889,"title":2986,"updated_at":2987,"url":2988,"score":2989},"### Description\n\nIn v3, we seem to have lost any focus indication on Buttons. This looks intentional as I see `focus:outline-hidden` on the base. For a11y and good keyboard navigation, it's best practice to have a visual indication of focus: https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#discernibleandpredictablekeyboardfocus\n\nIt seems we've taken a step backward from v2 in this regard. Was this intentional? Is the intent for users to add their own `focus-visible:*` classes via app config?",[2981,2984],{"name":2982,"color":2983},"question","d876e3",{"name":2934,"color":2935},3658,"Button Focus Indication","2025-03-24T09:50:12Z","https://github.com/nuxt/ui/issues/3658",0.74209934,["Reactive",2991],{},["Set"],["ShallowReactive",2994],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f1cUwnd1ca6CpPhCzDSkXE75gJm1MBwsZ9XRXCLVPjMk":-1},"/nuxt/ui/3094"]