\n\u003C/UDropdownMenu>\n```\n\n### Logs\n\n```shell-script\n\n```",[3251,3252,3255],{"name":3181,"color":3182},{"name":3253,"color":3254},"needs reproduction","CB47CF",{"name":3207,"color":3208},3546,"`UAvatar` doesn't trigger `UDropdownMenu`","2025-03-28T17:43:01Z","https://github.com/nuxt/ui/issues/3546",0.69448406,{"description":3262,"labels":3263,"number":3273,"owner":3184,"repository":3184,"state":3225,"title":3274,"updated_at":3275,"url":3276,"score":3277},"### Environment\n\n- Operating System: `Darwin`\r\n- Node Version: `v16.18.1`\r\n- Nuxt Version: `3.3.2`\r\n- Nitro Version: `2.3.2`\r\n- Package Manager: `npm@8.19.2`\r\n- Builder: `vite`\r\n- User Config: `-`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\r\n\n\n### Reproduction\n\nhttps://github.com/niklv/nuxt-component-props-def-bug\n\n### Describe the bug\n\nFor my project config typing I need to refer to typing of component props.\r\nI try extract props typing in this way. But looks like there are no props typing at all.\r\n```vue\r\n\u003Cscript lang=\"ts\" setup>\r\n// ComponentA.vue\r\nconst {propA} = defineProps\u003C{\r\n propA: string\r\n}>()\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cdiv v-text=\"propA\" />\r\n\u003C/template>\r\n\r\n```\r\n\r\n```ts\r\n// config.ts\r\nimport type {ComponentA} from \"#components\";\r\nimport {ComponentOptionsBase} from \"@vue/runtime-core\";\r\n\r\n\r\ntype ComponentProps\u003CT> = T extends ComponentOptionsBase\u003Cinfer P, // Props\r\n any, // RawBindings\r\n any, // D\r\n any, // C\r\n any, // M\r\n any, // Mixin\r\n any, // Extends\r\n any> ? unknown extends P ? {} : P : {};\r\n\r\n\r\ntype CompAProps = ComponentProps\u003Ctypeof ComponentA>\r\n\r\n\r\nconst someConfig:CompAProps = {\r\n // @ts-expect-error\r\n notExistedProp: true // should be error\r\n}\r\n```\n\n### Additional context\n\n\r\n\r\nThere are must be some props typing in first generic argument of `DefineComponent`\n\n### Logs\n\n_No response_",[3264,3267,3270],{"name":3265,"color":3266},"types","2875C3",{"name":3268,"color":3269},"3.x","29bc7f",{"name":3271,"color":3272},"upstream","E8A36D",20010,"Empty global components props typings","2023-10-22T09:01:34Z","https://github.com/nuxt/nuxt/issues/20010",0.69494706,{"labels":3279,"number":3283,"owner":3184,"repository":3184,"state":3225,"title":3284,"updated_at":3285,"url":3286,"score":3287},[3280],{"name":3281,"color":3282},"2.x","d4c5f9",7221,"Bug in the code (using Vue instead of Vue.prototype)","2023-01-18T15:36:21Z","https://github.com/nuxt/nuxt/issues/7221",0.7255854,{"description":3289,"labels":3290,"number":3293,"owner":3184,"repository":3215,"state":3225,"title":3294,"updated_at":3295,"url":3296,"score":3297},"### Description\n\nCurrently when I use useOverlay and pass props it says props is type any.\nby adding `satisfies InstanceType\u003Ctypeof COMPONENT>[\"$props\"]` it gets the right types.\n\nBut it should work out of the box. Could the typesafety for props be implemented?\n\ncurrent solution\n```\n useOverlay()\n .create(COMPONENT, {\n props: {\n id: id,\n onUpdated() {\n...\n },\n } satisfies InstanceType\u003Ctypeof COMPONENT>[\"$props\"],\n })\n .open();\n```\n\n### Additional context\n\nSomething like this could create type safety\n\n```\nfunction createTypedOverlay\u003CT extends new (...args: any) => any>(\n component: T,\n options: {\n props: InstanceType\u003CT>[\"$props\"];\n [key: string]: any;\n }\n) {\n return useOverlay().create(component, options);\n}\n```",[3291,3292],{"name":3181,"color":3182},{"name":3207,"color":3208},3915,"Typesafety on useOverlay props","2025-05-01T20:57:51Z","https://github.com/nuxt/ui/issues/3915",0.72563523,["Reactive",3299],{},["Set"],["ShallowReactive",3302],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fMA3yxd_02DK4pYJ6kVB8qkqGYwx1XY0W1WqXwvyKKIA":-1},"/nuxt/icon/270"]