vasille
Version:
The same framework which is designed to build bulletproof frontends (core library).
28 lines (27 loc) • 1.05 kB
TypeScript
import { Fragment, Root } from "./node.js";
import { Runner } from "./runner.js";
/**
* Represents a Vasille.js application
* @class App
* @extends Root
*/
export declare class App<Node, Element, TagOptions extends object, T extends object = object> extends Root<Node, Element, TagOptions> {
private readonly node;
/**
* Constructs an app node
* @param node {Element} The root of application
* @param runner {Runner} A adapter which execute DOM manipulation
*/
constructor(node: Element, runner: Runner<Node, Element, TagOptions>);
appendNode(node: Node): void;
}
interface PortalOptions<Node, Element, TagOptions extends object> {
node: Element;
slot?: (ctx: Fragment<Node, Element, TagOptions>) => void;
}
export declare class Portal<Node, Element, TagOptions extends object> extends Fragment<Node, Element, TagOptions> {
private readonly node;
constructor(input: PortalOptions<Node, Element, TagOptions>, runner: Runner<Node, Element, TagOptions>);
appendNode(node: Node): void;
}
export {};