neos-script
Version:
[neos-script-sample](https://github.com/rheniumNV/neos-script-sample)
75 lines (74 loc) • 1.92 kB
TypeScript
export type JSX_Member = {
name: string;
id?: string;
type?: string;
value?: any;
idOnly?: true;
readOnly?: true;
isRaw?: true;
};
export type JSX_Member_Element = {
[key: string]: {
ID: string;
Data: any;
} | string | any;
};
export type JSX_Component = {
children: JSX_Member_Element[];
};
export type JSX_Components = {
children: JSX_Component[] | undefined;
};
export type JSX_SlotData = {
children: JSX_Member_Element;
};
export type JSX_Slot = {
children: [JSX_SlotData, JSX_Components];
};
export type JSX_Children = {
children: JSX_Slot[] | undefined;
};
export type JSX_Raw = {
json: any;
};
export type JSX_IdSpace = {
children: {} | JSX.Element | JSX.Element[];
};
export type JSX_Id = {
key?: string;
};
declare global {
export namespace JSX {
type Element = any;
interface ElementChildrenAttribute {
children: any;
}
type IntrinsicElements = {
slot: any;
slotData: {
children: JSX_Member_Element | Array<JSX_Member_Element>;
};
components: any;
component: any;
children: any;
assets: any;
member: JSX_Member;
raw: JSX_Raw;
idSpace: JSX_IdSpace;
id: JSX_Id;
common: any;
};
}
}
type Props = {
children: JSX.IntrinsicElements | JSX.IntrinsicElements[];
};
declare function jsx(statement: string | any, rawProps: any, ...a: any[]): any;
declare function Fragment(props: Props): JSX.IntrinsicElements | JSX.IntrinsicElements[];
declare class Component<P = {}> {
element: null;
readonly props: P;
constructor(props: P);
render(): JSX.IntrinsicElements[] | null;
}
export { jsx, jsx as jsxs, Fragment, Component };