UNPKG

@descope/sdk-component-drivers

Version:
229 lines (208 loc) 6.06 kB
type Empty = null | undefined; type RefOrRefFn = Element | (() => HTMLElement | Empty) | Empty; type Logger = { error(...data: any[]): void; warn(...data: any[]): void; info(...data: any[]): void; debug(...data: any[]): void; }; declare class BaseDriver { #private; logger: Logger | undefined; nodeName: string; constructor(refOrRefFn: RefOrRefFn, config: { logger: Logger; }); get asyncEle(): Promise<Element>; get ele(): Element; get isExists(): boolean; } type Data$2 = { name: string; icon: string; url: string; }[]; declare class AppsListDriver extends BaseDriver { nodeName: string; set data(data: Data$2); get data(): Data$2; get ele(): Element & { data: Data$2; }; } declare class AvatarDriver extends BaseDriver { nodeName: string; set displayName(name: string); set image(imgUrl: string); get flowId(): string; onClick(cb: (e: Event) => void): () => void; } declare class ButtonDriver extends BaseDriver { nodeName: string; onClick(cb: (e: Event) => void): () => void; disable(): void; enable(): void; } declare class FlowDriver extends BaseDriver { nodeName: string; set projectId(projectId: string); set baseUrl(baseUrl: string); set flowId(flowId: string); set theme(theme: string | null | undefined); onSuccess(cb: () => void): () => void; onPageUpdated(cb: () => void): () => void; } declare class GenericFlowButtonDriver extends ButtonDriver { get flowId(): string; get enableMode(): 'onlyOne' | 'oneOrMore' | 'always'; } type Column = { path: string; header: string; type: string; attrs: Record<string, string>; }; declare class GridDriver<T extends any> extends BaseDriver { #private; nodeName: string; onSelectedItemsChange(cb: (e: CustomEvent<{ value: T[]; }>) => void): () => void; get ele(): Element & { data: T[]; columns: Column[]; renderColumn: ({ path, header, type, attrs }: Column) => string; }; get data(): T[]; set data(data: T[]); get columns(): any[]; filterColumns(filterFn: (col: Column) => boolean): void; onColumnsChange(cb: (columns: Column[]) => void): void; set renderColumn(renderFn: ({ path, header, type, attrs }: Column) => string); } declare class LinkDriver extends BaseDriver { nodeName: string; get ele(): Element & { innerText: string; getAttribute: (name: string) => string | null; }; get href(): string; set href(href: string); } declare class ModalDriver extends BaseDriver { #private; beforeOpen: undefined | (() => void | Promise<void>); afterClose: undefined | (() => void); nodeName: string; close(): void; open(): Promise<void>; reset(): void; setContent(template: HTMLTemplateElement): void; remove(): void; } declare class MultiSelectDriver extends BaseDriver { nodeName: string; setData(data: { label: string; value: string; }[]): Promise<void>; } declare class NotificationDriver extends BaseDriver { nodeName: string; close(): void; show(): void; setContent(template: HTMLTemplateElement): void; remove(): void; } type Data$1 = { id: string; name: string; description?: string; logo?: string; isConnected?: boolean; }[]; type Detail$1 = { id: string; action: string; }; declare class OutboundAppsListDriver extends BaseDriver { nodeName: string; set data(data: Data$1); get data(): Data$1; get ele(): Element & { data: Data$1; }; get connectFlowId(): string; get disconnectFlowId(): string; onConnectClick(cb: (detail: Detail$1) => void): () => void; onDisconnectClick(cb: (detail: Detail$1) => void): () => void; } declare class SingleSelectDriver extends BaseDriver { nodeName: string; onInput(cb: (e: InputEvent) => void): () => void; get value(): string; set value(value: string); setData(data: { label: string; value: string; }[]): Promise<void>; } declare class TextDriver extends BaseDriver { nodeName: string; get ele(): Element & { innerText: string; }; get text(): string; set text(content: string); } declare class TextFieldDriver extends BaseDriver { nodeName: string; onInput(cb: (e: InputEvent) => void): () => void; get value(): string; set value(value: string); disable(): void; enable(): void; } declare class UserAttributeDriver extends BaseDriver { nodeName: string; set value(value: string); set badgeLabel(label: string); get label(): string; get editFlowId(): string; get deleteFlowId(): string; onEditClick(cb: (e: Event) => void): () => void; onDeleteClick(cb: (e: Event) => void): () => void; } declare class UserAuthMethodDriver extends BaseDriver { nodeName: string; set fulfilled(isFulfilled: boolean); onUnfulfilledButtonClick(cb: (e: Event) => void): () => void; onFulfilledButtonClick(cb: (e: Event) => void): () => void; get flowId(): string; get fulfilledFlowId(): string; } type Data = { id: string; name: string; lastLoginDate: number; isCurrent: boolean; }[]; type Detail = { id: string; action: string; }; declare class DeviceListDriver extends BaseDriver { nodeName: string; set displayName(name: string); get ele(): Element & { data: Data; }; get data(): Data; set data(data: Data); get flowId(): string; onRemoveDeviceClick(cb: (detail: Detail) => void): () => void; } declare class FlowButtonDriver extends ButtonDriver { get flowId(): string; } export { AppsListDriver, AvatarDriver, ButtonDriver, DeviceListDriver, FlowButtonDriver, FlowDriver, GenericFlowButtonDriver, GridDriver, LinkDriver, ModalDriver, MultiSelectDriver, NotificationDriver, OutboundAppsListDriver, SingleSelectDriver, TextDriver, TextFieldDriver, UserAttributeDriver, UserAuthMethodDriver };