This is how far I have gotten:
type AsProp<T extends keyof JSX.IntrinsicElements> = {
as?: T
}
export type DialogTriggerProps<T extends keyof JSX.IntrinsicElements> = AsProp<T> & JSX.IntrinsicElements[T]
const DialogTrigger = component$<DialogTriggerProps<"button">>(({ as: Tag = "button", ...props }) => {
Problems:
Only accepts "button" dont know how to type it with compoennt$<>
I would like to accept Component<Props> aswell