UNPKG

@web-widget/web-widget

Version:
32 lines (29 loc) 1.14 kB
import { SerializableValue, ServerWidgetModule, ClientWidgetModule, Meta } from '@web-widget/helpers'; interface SerializableObject { [key: string]: SerializableValue; } type Loader = () => Promise<ServerWidgetModule | ClientWidgetModule>; interface WebWidgetElementProps { base?: string; data?: SerializableObject; import?: string; inactive?: boolean; loading?: 'lazy' | 'eager' | 'idle'; meta?: Meta; name?: string; renderTarget?: 'light' | 'shadow'; } interface WebWidgetRendererOptions extends WebWidgetElementProps { children?: string; renderStage?: 'server' | 'client'; } interface WebWidgetRendererInterface { localName: string; attributes: Record<string, string>; renderInnerHTMLToString(): Promise<string>; renderOuterHTMLToString(): Promise<string>; } interface WebWidgetRendererConstructor { new (loader: Loader, options: WebWidgetRendererOptions): WebWidgetRendererInterface; } export type { Loader as L, SerializableObject as S, WebWidgetRendererConstructor as W, WebWidgetElementProps as a, WebWidgetRendererOptions as b, WebWidgetRendererInterface as c };