@xcons/widget
Version:
XCon Studio widget utilities with advanced template rendering, reactive binding system and registry pattern support
38 lines (37 loc) • 1.26 kB
TypeScript
export declare class WidgetDOMManager {
private static instance;
private observers;
private mutationObserver?;
private isAutoScanEnabled;
private scanDebounceTimeout?;
private lastScanTime;
private readonly SCAN_DEBOUNCE_MS;
private readonly MIN_SCAN_INTERVAL;
domReady: boolean;
static getInstance(): WidgetDOMManager;
constructor();
private setupDOMReadyListener;
scanAndInitializeWidget(selector: string): void;
scanContainer(container: HTMLElement): void;
private initializeWidgetOnElement;
private initializeAndRenderWidget;
getWidgetInstance(element: HTMLElement): any;
destroyWidget(element: HTMLElement): boolean;
destroyWidgetById(widgetId: string, container?: HTMLElement): boolean;
getWidgetsInContainer(container: HTMLElement): Array<{
element: HTMLElement;
id: string;
selector: string;
instance: any;
}>;
private createContainerWrapper;
private handleInitializationError;
rescanDOM(): void;
private performScan;
setupAutoScan(): void;
private debouncedRescan;
disableAutoScan(): void;
private detectMobile;
cleanup(): void;
}
export declare const defaultWidgetDOMManager: WidgetDOMManager;