UNPKG

@hadyfayed/filament-react-wrapper

Version:

Enterprise React integration for Laravel/Filament - Smart asset loading, 90%+ React-PHP function mapping, no-plugin Filament integration

94 lines 3.13 kB
import { default as React } from 'react'; import { IComponentRegistry, IComponentDefinition, IComponentConfig, IComponentMetadata, IComponentMiddleware, IComponentContext, IHookManager } from '../interfaces/IComponentRegistry'; export type ReactComponentDefinition = IComponentDefinition; export type ComponentConfig = IComponentConfig; export type ComponentMetadata = IComponentMetadata; export type ComponentMiddleware = IComponentMiddleware; export type ComponentContext = IComponentContext; export type HookManager = IHookManager; declare class ReactComponentRegistry implements IComponentRegistry { private components; private events; private extensions; private middleware; /** * Register a React component with enhanced features */ register(definition: ReactComponentDefinition): void; /** * Get a registered component by name */ get(name: string): ReactComponentDefinition | undefined; /** * Create a component instance with processing */ create(name: string, props?: Record<string, unknown>): React.ComponentType<Record<string, unknown>> | null; /** * Register an extension */ registerExtension(name: string, extension: unknown): void; /** * Add global middleware */ addMiddleware(middleware: ComponentMiddleware): void; /** * Get all registered components with filtering */ getAll(filter?: { category?: string; tag?: string; name?: RegExp; }): Map<string, ReactComponentDefinition>; /** * Check if a component is registered */ has(name: string): boolean; /** * Unregister a component */ unregister(name: string): boolean; /** * Clear all registered components */ clear(): void; /** * Get list of registered component names */ getComponentNames(): string[]; /** * Get component statistics */ getStats(): { totalComponents: number; categoryCounts: Record<string, number>; tagCounts: Record<string, number>; }; /** * Add event listener */ on(event: string, callback: (...args: unknown[]) => unknown, priority?: number): void; /** * Remove event listener */ off(event: string, callback: (...args: unknown[]) => unknown): void; /** * Mount a component to a DOM container (for Blade template compatibility) */ mount(componentName: string, containerId: string, props?: Record<string, unknown>): void; /** * Unmount a component from a DOM container */ unmount(containerId: string): void; /** * Create hook manager for component context */ private createHookManager; } export declare const componentRegistry: ReactComponentRegistry; export declare function registerComponents(definitions: ReactComponentDefinition[]): void; export declare function createExtension(name: string, setup: (registry: ReactComponentRegistry) => void): { name: string; install: () => void; }; export { ReactComponentRegistry }; //# sourceMappingURL=ReactComponentRegistry.d.ts.map