UNPKG

@xcons/widget

Version:

XCon Studio widget utilities with advanced template rendering, reactive binding system and registry pattern support

44 lines (43 loc) 1.23 kB
import type { InitializationMode, WidgetConfig } from '../widget/interfaces'; export interface RegisteredWidget { selector: string; widgetClass: new (...args: any[]) => any; config: WidgetConfig; initMode: InitializationMode; isReady: boolean; } export declare class WidgetRegistry { private widgets; /** * Register widget with selector */ registerWidget(selector: string, widgetClass: any, config: WidgetConfig, initMode?: InitializationMode): void; /** * Mark all widgets as ready (called by DOM manager) */ markAllWidgetsAsReady(): void; /** * Create widget instance by selector */ createWidget(selector: string, config?: Partial<WidgetConfig>): any | null; /** * Get all registered widget selectors */ getRegisteredSelectors(): string[]; /** * Get registered widget by selector */ getRegisteredWidget(selector: string): RegisteredWidget | undefined; /** * Get all registered widgets */ getRegisteredWidgets(): RegisteredWidget[]; /** * Unregister widget */ unregisterWidget(selector: string): boolean; /** * Clear all registered widgets */ clear(): void; }