UNPKG

egreact

Version:

A react render for egret 一个为 egret 而生的 react 渲染器

61 lines (60 loc) 2.61 kB
import React from 'react'; import egretProps from './egret/index'; import euiProps from './eui/index'; import customProps from './custom'; import type { IPropsHandlers, IElementProps } from '../type'; export declare type NodeProps<T> = { children?: React.ReactNode; ref?: React.Ref<T>; key?: React.Key; } & IElementProps; declare type InferClass<T> = T extends { __Class: new (...args: any[]) => infer U; } ? U : any; export declare type TransProp<T> = { [key in Exclude<keyof T, `${string}__${string}`>]?: T[key] extends (args: any) => any ? Parameters<T[key]>[0]['newValue'] : T[key]; } & NodeProps<InferClass<T>>; declare global { namespace JSX { interface IntrinsicElements { displayObject: TransProp<typeof egretProps.displayObject>; displayObjectContainer: TransProp<typeof egretProps.displayObjectContainer>; shape: TransProp<typeof egretProps.shape>; sprite: TransProp<typeof egretProps.sprite>; bitmap: TransProp<typeof egretProps.bitmap>; bitmapText: TransProp<typeof egretProps.bitmapText>; textField: TransProp<typeof egretProps.textField>; 'eui-component': TransProp<typeof euiProps.component>; 'eui-group': TransProp<typeof euiProps.group>; 'eui-image': TransProp<typeof euiProps.image>; 'eui-bitmapLabel': TransProp<typeof euiProps.bitmapLabel>; 'eui-label': TransProp<typeof euiProps.label>; 'eui-rect': TransProp<typeof euiProps.rect>; 'eui-scroller': TransProp<typeof euiProps.scroller>; 'eui-button': TransProp<typeof euiProps.button>; 'eui-dataGroup': TransProp<typeof euiProps.dataGroup>; 'eui-editableText': TransProp<typeof euiProps.editableText>; 'eui-list': TransProp<typeof euiProps.list>; 'eui-itemRenderer': TransProp<typeof euiProps.itemRenderer>; objectContainer: TransProp<typeof customProps.objectContainer>; arrayContainer: TransProp<typeof customProps.arrayContainer>; primitive: TransProp<typeof customProps.primitive>; font: TransProp<typeof customProps.font>; } } } export interface Catalogue { [name: string]: IPropsHandlers; } export declare let catalogueMap: Catalogue; export declare const extend: (newCatalogue: Catalogue) => { [x: string]: IPropsHandlers; }; export declare type EventCategoryInfo = { category: any; withPrefix: boolean; }; export declare const EVENT_CATEGORY_MAP: { [key: string]: EventCategoryInfo; }; export {};