@idscan/idvc2
Version:
component for the capturing documents
31 lines (30 loc) • 1.44 kB
TypeScript
import { TemplateResult } from 'lit-html';
import { getTranslation } from '../../environment/langs';
export type Events = {
[key: string]: (data?: any) => void;
};
export type HTMLElementID = string;
export type StateBase = (Record<string, any> & {
translation?: ReturnType<typeof getTranslation>;
}) | Record<string, never>;
export declare abstract class ComponentLit<T extends StateBase> {
protected mountElement: HTMLElement | HTMLElementID;
events?: Events;
state: T;
protected initialState: T;
protected componentWrapper: HTMLElement;
protected templateFn: (state: T) => TemplateResult;
protected constructor(mountElement: HTMLElement | HTMLElementID, state: T, templateFn: (state: any, handlers?: any) => TemplateResult, events?: Events);
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
backToInitialState(): void;
unmount(): void;
remount(): void;
addClassForComponentWrapper(className: string): void;
removeClassFromComponentWrapper(className: string): void;
protected changeState(state: Record<string, any>): void;
protected updateView(property?: any): void;
protected replaceHTMLContent(className: string, newContent: string): void;
private wrapStateToProxy;
protected renderTemplate(): void;
private mount;
}