@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.
27 lines (26 loc) • 839 B
TypeScript
/**
* @file JSX Runtime implementation for Jay JS
* @description Provides the JSX transformation functions for production 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 transformation function for production use
*
* @param tag - String tag name or component function
* @param props - Element properties and attributes
* @returns HTMLElement or Promise<HTMLElement>
*/
declare function jsx(tag: any, props: JSXProps): HTMLElement | Promise<HTMLElement>;
export { jsx, jsx as jsxs, Fragment };
export type { JSX } from "../types/intrinsic-elements.js";