@jay-js/system
Version:
A powerful and flexible TypeScript library for UI, state management, lazy loading, routing and managing draggable elements in modern web applications.
32 lines (31 loc) • 1.22 kB
TypeScript
/**
* @file JSX Development Runtime implementation for Jay JS
* @description Provides the JSX transformation functions for development use
*/
import { Fragment } from "../../core/index.js";
/**
* Type definition for JSX props
*/
export interface JSXProps {
[key: string]: any;
children?: any[] | any;
}
/**
* Type definition for JSX component function
*/
export type JSXComponent = (props: JSXProps) => HTMLElement | Promise<HTMLElement>;
/**
* JSX Development transformation function
* This function is used by the JSX compiler in development mode
*
* @param tag - HTML tag name or component function
* @param props - Element properties and attributes
* @param key - Unique key for element identification
* @param isStaticChildren - Whether children are static
* @param source - Source information for development tools
* @param self - Self reference for development tools
* @returns HTMLElement or Promise<HTMLElement>
*/
declare function jayJSXDEV(tag: any, props: JSXProps, _key: string | null, _isStaticChildren: boolean, _source: any, _self: any): HTMLElement | Promise<HTMLElement>;
export { jayJSXDEV as jsxDEV, Fragment };
export type { JSX } from "../types/intrinsic-elements.js";