@hadyfayed/filament-react-wrapper
Version:
Enterprise React integration for Laravel/Filament - Smart asset loading, 90%+ React-PHP function mapping, no-plugin Filament integration
24 lines • 1.59 kB
TypeScript
import { default as React } from 'react';
import { IComponentDefinition, IComponentContext, IComponentMiddleware } from '../interfaces/IComponentRegistry';
export declare abstract class BaseComponentFactory {
abstract createComponent(definition: IComponentDefinition, props: Record<string, any>): React.ComponentType<any> | null;
protected applyMiddleware(component: React.ComponentType<any>, props: Record<string, any>, middleware: IComponentMiddleware[], context: IComponentContext): React.ComponentType<any>;
protected validateComponent(component: any): boolean;
}
export declare class SynchronousComponentFactory extends BaseComponentFactory {
createComponent(definition: IComponentDefinition, props?: Record<string, any>): React.ComponentType<any> | null;
}
export declare class AsynchronousComponentFactory extends BaseComponentFactory {
private componentCache;
createComponentAsync(definition: IComponentDefinition, _props?: Record<string, any>): Promise<React.ComponentType<any> | null>;
createComponent(definition: IComponentDefinition, props?: Record<string, any>): React.ComponentType<any> | null;
clearCache(): void;
}
export declare class ComponentFactoryManager {
private syncFactory;
private asyncFactory;
createComponent(definition: IComponentDefinition, props?: Record<string, any>): React.ComponentType<any> | null;
createComponentAsync(definition: IComponentDefinition, props?: Record<string, any>): Promise<React.ComponentType<any> | null>;
clearAsyncCache(): void;
}
//# sourceMappingURL=ComponentFactory.d.ts.map