jsx-view
Version:
Minimal JSX for HTML DOM tightly integrated with RxJS. TypeScript definitions, and attributes can be assigned to observables.
33 lines • 1.39 kB
TypeScript
import type { Subscription } from "rxjs";
/** Populated via `jsxDev` transpiler */
export interface JSXDevInfo {
/** `this` value in the context the component was created */
self?: unknown;
source?: undefined | {
fileName: string;
lineNumber: number;
columnNumber: number;
};
}
export interface JSXViewDevInfo extends JSXDevInfo, JSXViewDevRenderInfo {
}
export interface JSXViewDevRenderInfo {
/** direct parent component */
directParentComponent?: undefined | JSX.ComponentFunction<Record<PropertyKey, unknown>>;
directParentComponentProps?: undefined | Record<PropertyKey, unknown>;
parentComponent?: undefined | JSX.ComponentFunction<Record<PropertyKey, unknown>>;
parentComponentProps?: undefined | Record<PropertyKey, unknown>;
intrinsicProps?: undefined | Record<PropertyKey, unknown>;
}
export declare type JSXViewDevFunction = (element: Element, devInfo: JSXViewDevInfo, whileMountedSub: Subscription) => void;
/** @internal */
export declare const _devctx: import("./Context").Context<JSXViewDevFunction | null>;
export declare const _devctxglobal: [JSXViewDevFunction | null];
/**
* Do something to every element given their dev information.
*
* @remarks
* **Experimental**, please share feedback!
*/
export declare function addJSXDev(fn: JSXViewDevFunction | null): void;
//# sourceMappingURL=addJSXDev.d.ts.map