How do I add web components to typescript JSX type for preact on Deno?
/// <reference lib="dom" />
/** @jsx h */
import { PreactDOMAttributes, h } from 'https://esm.sh/preact@10.16.0'
type CustomEvents<K extends string> = { [key in K] : (event: CustomEvent) => void };
type CustomElement<T, K extends string> = Partial<T & PreactDOMAttributes & { children: any } & CustomEvents<`on${K}`>>;
class InputObject extends HTMLElement {}
declare global {
namespace JSX {
interface IntrinsicElements {
['template']: HTMLTemplateElement;
['input-object']: CustomElement<InputObject, ''>
}
}
}
const meow = () => {
return (
<input-object>
<template data-item>
<input name="meow"/>
</template>
</input-object>
)
}