easy-jsx-html-engine
Version:
Dead simple HTML engine using JSX syntax.
15 lines (14 loc) • 1.26 kB
TypeScript
import type { Child, Children, Component, PropsWithChildren } from "./types";
import { VoidElem } from "./intrinsics";
export declare function childrenToString(children: Child[]): string;
export declare function createElement<S extends VoidElem>(name: S, attrs?: JSX.IntrinsicElements[S] & Record<string, any>): JSX.Element;
export declare function createElement<S extends Exclude<keyof JSX.IntrinsicElements, VoidElem>>(name: S, attrs?: JSX.IntrinsicElements[S] & Record<string, any>, ...children: Children[]): JSX.Element;
export declare function createElement(name: string, attrs?: JSX.HtmlGlobalAttributes & Record<string, any>, ...children: Children[]): JSX.Element;
export declare function createElement<P extends {} = {}>(name: Component<P>, attrs?: Omit<P, "children"> & (P extends {
children?: any;
} ? PropsWithChildren : {}), ...children: P extends {
children: infer C;
} ? C extends Array<any> ? C : never : []): JSX.Element;
export declare function createElement(name: string | Component, attrs?: JSX.HtmlGlobalAttributes & Record<string, any>, ...children: Children[]): JSX.Element;
export declare function dangerouslyPreventEscaping(str: string): JSX.Element;
export declare function Fragment(props: PropsWithChildren): JSX.Element;