UNPKG

@xcons/widget

Version:

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

25 lines (24 loc) 1.23 kB
import type { IWidget, WidgetConfig, WidgetContext } from '../widget/interfaces'; import { WidgetRegistry } from './widget-registry'; export interface WidgetRef<T extends IWidget = IWidget> { instance: T; container: HTMLElement | null; widgetId: string; } export interface MountConfig { context?: Partial<WidgetContext>; autoInit?: boolean; } export declare class WidgetFactory { private registry; constructor(registry?: WidgetRegistry); createWidget(selector: string, config?: Partial<WidgetConfig>): WidgetRef<IWidget>; createWidget<T extends IWidget>(widgetClass: new (...args: any[]) => T, config?: Partial<WidgetConfig>): WidgetRef<T>; createAndMount(selector: string, container: HTMLElement, mountConfig?: MountConfig): Promise<WidgetRef<IWidget>>; createAndMount<T extends IWidget>(widgetClass: new (...args: any[]) => T, container: HTMLElement, mountConfig?: MountConfig): Promise<WidgetRef<T>>; attach(widgetRef: WidgetRef, container: HTMLElement, contextOverride?: Partial<WidgetContext>): Promise<void>; detach(widgetRef: WidgetRef): void; private detectMobile; dispose(widgetRef: WidgetRef): void; } export declare const defaultWidgetFactory: WidgetFactory;