\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_",[2014,2016],{"name":2002,"color":2015},"a2eeef",{"name":1988,"color":1989},2094,"Some component doesn't have a UI prop","2025-03-17T14:27:40Z","https://github.com/nuxt/ui/issues/2094",0.7107953,{"description":2023,"labels":2024,"number":2026,"owner":1991,"repository":1992,"state":2006,"title":2027,"updated_at":2028,"url":2029,"score":2030},"### Description\n\nHi, short request here. \n\nI noticed that when passing classes to a `UCard` component, they are not inherited by any of the child elements. Other components such as `UButton` do have this so this might actually be a bug, not sure.\n\nSo for example I have this; `\u003CUCard class=\"p-3 space-y-3\">` and it results in this; `\u003Cdiv> class=\"p-4 sm:p-6\" \u003C/div>` which are the default classes. Instead, I would like it to return the following; `\u003CUCard class=\"p-3 space-y-3 sm:p-6\">`4\n\nHopefully that makes sense. For my own components I usually bind the attributes `$attrs` to the component, but I am sure it is more complicated in this case. 😄 \n\nAnyway, thanks for the great library!\n\n### Additional context\n\n_No response_",[2025],{"name":2002,"color":2015},2369,"[Card] Classes passthrough","2024-10-12T20:56:45Z","https://github.com/nuxt/ui/issues/2369",0.7142071,{"description":2032,"labels":2033,"number":2041,"owner":1991,"repository":1992,"state":2006,"title":2042,"updated_at":2043,"url":2044,"score":2045},"",[2034,2035,2038],{"name":1985,"color":1986},{"name":2036,"color":2037},"v3","49DCB8",{"name":2039,"color":2040},"typescript","3A629E",2140,"[NavigationMenu/DropdownMenu/ContextMenu] Generic type doesn't work when passing links as `[][]`","2025-03-24T20:38:14Z","https://github.com/nuxt/ui/issues/2140",0.7156791,{"description":2047,"labels":2048,"number":2051,"owner":1991,"repository":1992,"state":2006,"title":2052,"updated_at":2053,"url":2054,"score":2055},"### Environment\n\n- Operating System: `Windows_NT`\n- Node Version: `v22.12.0`\n- Nuxt Version: `3.16.0`\n- CLI Version: `3.23.0`\n- Nitro Version: `2.11.6`\n- Package Manager: `pnpm@9.9.0`\n- Builder: `-`\n- User Config: `devtools`, `modules`, `css`, `future`, `compatibilityDate`\n- Runtime Modules: `@nuxt/ui@3.0.0`, `@nuxt/eslint@1.2.0`\n- Build Modules: `-`\n\n### Version\n\nv3.0.0\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/lingering-night-wl8j66\n\n### Description\n\nWhen items have value `null` or `undefined` and click the select menu, app will throw an error. \n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nUncaught (in promise) TypeError: Cannot read properties of undefined (reading 'disabled') SelectMenu.vue:379\n at SelectMenu.vue:379:35\n at renderList (runtime-core.esm-bundler.js:2904:16)\n at SelectMenu.vue:1:1\n at renderFnWithContext (runtime-core.esm-bundler.js:692:13)\n at renderSlot (runtime-core.esm-bundler.js:2981:53)\n at ComboboxGroup.vue:38:2\n at renderFnWithContext (runtime-core.esm-bundler.js:692:13)\n at renderSlot (runtime-core.esm-bundler.js:2981:53)\n at ListboxGroup.vue:21:34\n at renderFnWithContext (runtime-core.esm-bundler.js:692:13)\n```",[2049,2050],{"name":1985,"color":1986},{"name":1988,"color":1989},3316,"`USelectMenu`: can not open drop select when options have value `null`","2025-03-15T11:31:45Z","https://github.com/nuxt/ui/issues/3316",0.72021145,{"description":2057,"labels":2058,"number":2063,"owner":1991,"repository":1992,"state":2006,"title":2064,"updated_at":2065,"url":2066,"score":2067},"### 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?",[2059,2062],{"name":2060,"color":2061},"question","d876e3",{"name":2036,"color":2037},3658,"Button Focus Indication","2025-03-24T09:50:12Z","https://github.com/nuxt/ui/issues/3658",0.7246512,{"description":2069,"labels":2070,"number":2075,"owner":1991,"repository":1992,"state":2006,"title":2076,"updated_at":2077,"url":2078,"score":2079},"### 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```",[2071,2072],{"name":1985,"color":1986},{"name":2073,"color":2074},"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.72552574,{"description":2081,"labels":2082,"number":2084,"owner":1991,"repository":1992,"state":2006,"title":2085,"updated_at":2086,"url":2087,"score":2088},"### Description\n\nWe have private modules using @nuxt/ui. \r\nTheir module setup uses nuxt.hook to add files to tailwindcss.config. \r\nwith... \r\n```\r\n// nuxt.config.ts\r\ntailwindcss: {\r\n exposeConfig: true,\r\n}\r\n```\r\nWe can see at runtime our private modules were included in the tailwind content.\r\nThis is also confirmed with logs during the build and nuxt.hook\r\n\r\nEverything works as expected when building locally...\r\n``` bash\r\nnpm run dev\r\n```\r\nor\r\n``` bash\r\nnuxt build\r\n```\r\nHowever when building for production the resulting client bundle is missing any style used in a module. \r\nin other words, anything from tailwindcss.content with `node_modules` in the path was skipped.\r\n\r\nMy modules tailwind styles don't work in production.\r\n\r\nHow can I debug this?",[2083],{"name":2060,"color":2061},2253,"Expected styles from a private modules are missing in the production client bundle","2024-12-09T11:19:56Z","https://github.com/nuxt/ui/issues/2253",0.72850114,{"description":2090,"labels":2091,"number":2094,"owner":1991,"repository":1992,"state":2006,"title":2095,"updated_at":2096,"url":2097,"score":2098},"### For what version of Nuxt UI are you asking this question?\n\nv3.0.0-alpha.x\n\n### Description\n\nHello,\n\nHow to access [Neutral Palette](https://ui3.nuxt.dev/getting-started/theme#neutral-palette) classes ? (text-ui-dimmed, bg-ui-accented ...)\nTailwind CSS IntelliSense doesn't offer them, are they generated by default?\nIf not, What is the easiest way to do this?\n\nThanks in advance",[2092,2093],{"name":2060,"color":2061},{"name":2036,"color":2037},2843,"Neutral Palette classes","2024-12-09T11:12:10Z","https://github.com/nuxt/ui/issues/2843",0.7300982,["Reactive",2100],{},["Set"],["ShallowReactive",2103],{"TRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"_LJDWAauZka5TCuTb0SnJ-_D39fD_6x5PSUPrvrx06Y":-1},"/nuxt/fonts/574"]