mirror of
https://github.com/imezx/Warp.git
synced 2025-04-25 15:40:02 +00:00
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
/// <reference types="react" />
|
|
export declare type Pragma = (type: any, props: Record<string, any> | null, ...children: ComponentChildren[]) => JSX.Element;
|
|
export declare type PragmaFrag = any;
|
|
declare type ComponentChild = VNode<any> | string | number | boolean | null | undefined;
|
|
declare type ComponentChildren = ComponentChild[] | ComponentChild;
|
|
export declare type VNode<TProps = {}> = {
|
|
type: any;
|
|
key: string | number | any;
|
|
props: TProps & {
|
|
children: ComponentChildren;
|
|
};
|
|
};
|
|
export declare type Render = (vnode: ComponentChild, parent: Element | Document | ShadowRoot | DocumentFragment, replaceNode?: Element | Text | undefined) => void;
|
|
export declare type AutocompleteRenderer = {
|
|
/**
|
|
* The function to create virtual nodes.
|
|
*
|
|
* @default preact.createElement
|
|
*/
|
|
createElement: Pragma;
|
|
/**
|
|
* The component to use to create fragments.
|
|
*
|
|
* @default preact.Fragment
|
|
*/
|
|
Fragment: PragmaFrag;
|
|
/**
|
|
* The function to render children to an element.
|
|
*/
|
|
render?: Render;
|
|
};
|
|
export declare type HTMLTemplate = (strings: TemplateStringsArray, ...values: any[]) => VNode | VNode[];
|
|
export {};
|