Repository URL to install this package:
|
Version:
0.2.3 ▾
|
import * as elementList from 'html-element-list/element-list.json';
import { ComponentType, ForwardRefExoticComponent, HTMLProps } from 'react';
import { IReactComponent } from './reactComponent';
export declare type IElementComponent<X> = ComponentType<HTMLProps<any> & X>;
export declare type IElementComposerFn<S, X extends {
__global?: any;
}> = <P = any>(Component: ComponentType<P> | ForwardRefExoticComponent<any> | string, name: S) => IReactComponent<P & IElementExtendedProps<X, S>>;
export declare type IElementComposerIndex<S extends string, X extends {
__global?: any;
}> = IElementComposerFn<S, X> & {
[I in keyof typeof elementList]: {
[K in S]: IElementComponent<IElementExtendedProps<X, K>>;
};
};
export declare type IElementExtendedProps<X extends {
__global?: any;
}, K> = X['__global'] & (K extends keyof X ? X[K] : {});
export interface IElementProps<S, X extends {
__global?: any;
}> {
$: IElementComposerIndex<S extends string ? S : 'Base', X>;
}