react-html-element
Version:
An HTMLElement extension that provides a simple setup for Web Components using React.
24 lines (23 loc) • 812 B
TypeScript
import type ReactDOM from 'react-dom';
import type { Root } from 'react-dom/client';
type Renderable = Parameters<ReactDOM.Renderer>[0][number];
type ReactHTMLElementDOMRoot = Pick<Root, 'render' | 'unmount'>;
declare class ReactHTMLElement extends HTMLElement {
private _initialized?;
private _mountPoint?;
private _root?;
private _awaitingRoot;
private _app;
private getShadowRoot;
private template;
private mountSelector;
get shadow(): ShadowRoot;
get mountPoint(): Element;
set mountPoint(mount: Element);
root(): Promise<ReactHTMLElementDOMRoot>;
render(app: Renderable): void;
renderRoot(app: Renderable): Promise<void>;
disconnectedCallback(): void;
constructor(template?: string, mountSelector?: string);
}
export default ReactHTMLElement;