flexium
Version:
A lightweight, signals-based UI framework with cross-platform renderers
35 lines (30 loc) • 1.45 kB
TypeScript
import { S as Signal, C as Computed } from './canvas-BarP3tEC.js';
export { b as batch, e as effect, r as root, u as untrack } from './canvas-BarP3tEC.js';
export { s as state } from './state-EWGQpL70.js';
export { D as DOMRenderer, F as Fragment, a as createRoot, c as createTextVNode, d as domRenderer, h, i as isVNode, r as render } from './render-R0xx7YCq.js';
import { V as VNode } from './renderer-CWYPPHmO.js';
export { C as CommonProps, R as Renderer } from './renderer-CWYPPHmO.js';
export { P as Portal } from './portal-BGTCMKyS.js';
/**
* Reactive DOM Rendering
*
* Integrates the signal system with the DOM renderer to enable fine-grained
* reactive updates. Only the specific DOM nodes that depend on changed signals
* will be updated, without re-rendering the entire component tree.
*/
/**
* Mount a virtual node with reactive tracking
*
* This function creates DOM nodes and automatically sets up reactive effects
* for any signal dependencies in props or children.
*/
declare function mountReactive(vnode: VNode | string | number | Signal<any> | Computed<any> | null | undefined | Function | any[], parent?: Node): Node | null;
/**
* Create a reactive root for rendering
*/
declare function createReactiveRoot(container: HTMLElement): {
render(vnode: VNode): void;
unmount(): void;
};
declare function hydrate(vnode: any, container: Element): void;
export { VNode, createReactiveRoot, hydrate, mountReactive };