UNPKG

@joshuafcole/fluorine

Version:

A highly reactive, optionally compiled, and strongly typed view layer for TypeScript.

93 lines (92 loc) 3.08 kB
export { Renderer, PropType, FElement, FElem, FNode, FChild } from "./renderer"; export { handle, get, handlers, EventBinder, Compilable } from "./catalyst"; export { stasis } from "./stasis"; import { Renderer, FElement, FElem, FSVGElement } from "./renderer"; declare global { type PARRArray<T> = PARRLabel<T> & [any, ...(string | number)[]]; interface PARRLabel<T> { __type: T; slice(end?: number): PARRArray<T>; slice(start?: number, end?: number): PARRArray<T>; } function PARR<T>(x: T): PARRArray<T>; } export declare let renderer: Renderer; declare let _handlers: { [id: string]: (event: Event, elem: FElement) => unknown; }; declare global { namespace React { let renderer: Renderer; let handlers: typeof _handlers; function createElement(tagname: string, props?: FElement, ...children: (FElem | string | undefined)[]): FElem; } namespace JSX { interface ElementChildrenAttribute { children: {}; } interface IntrinsicElements { [tag: string]: FElement; div: FElement; section: FElement; span: FElement; button: FElement; a: FElement; nav: FElement; ul: FElement; ol: FElement; li: FElement; input: FElement; textarea: FElement; svg: FSVGElement & { viewBox: string; height?: number | string; width?: number | string; preserveAspectRatio?: string; x?: number | string; y?: number | string; }; g: FSVGElement; circle: FSVGElement & { cx: number | string; cy: number | string; r: number | string; pathLength?: number | string; }; ellipse: FSVGElement & { cx: number | string; cy: number | string; rx: number | string; ry: number | string; pathLength?: number | string; }; line: FSVGElement & { x1: number | string; y1: number | string; x2: number | string; y2: number | string; pathLength?: number | string; }; polygon: FSVGElement & { points: string; pathLength?: number | string; }; polyline: FSVGElement & { points: string; pathLength?: number | string; }; path: FSVGElement & { d: string; }; rect: FSVGElement & { x: number | string; y: number | string; width: number | string; height: number | string; rx?: number | string; ry?: number | string; pathLength?: number | string; }; } } }