@highloop/feedback-internal
Version:
68 lines (67 loc) • 1.97 kB
TypeScript
import mitt from 'mitt';
import type { IData, ITheme } from './interfaces/data';
import type { IText } from './interfaces/text';
export declare let events: {
FETCHED: string;
CLOSE: string;
SUBMIT: string;
RESET: string;
RENDERED: string;
ERROR: string;
};
export declare class HighloopFeedbackCore {
id: string;
root: HTMLElement;
emitter: ReturnType<typeof mitt>;
isReady: boolean;
data?: IData;
private demo?;
private text;
private themeOverride?;
private meta?;
private closable;
private apiEndpoint;
private error?;
private app?;
private updateToken?;
private wrapper?;
private expanded?;
private hideHeader?;
private screenshotData?;
private disableScreenshot?;
private disablePath?;
private screenshotLightbox?;
private screenshotLightboxWrapper?;
constructor(id: string, { root, meta, apiEndpoint, theme, demo, text, closable, expanded, hideHeader, disablePath, disableScreenshot }: {
apiEndpoint?: string;
theme?: Partial<ITheme>;
text?: IText;
demo?: IData;
root: HTMLElement;
meta?: any;
closable?: boolean;
expanded?: boolean;
hideHeader?: boolean;
disableScreenshot?: boolean;
disablePath?: boolean;
});
get isMounted(): boolean;
private fire;
on<T>(type: string, handler: (d: T) => unknown): () => void;
once<T>(type: string, handler: (d: T) => unknown): void;
private fetch;
setMeta(meta: any): void;
private ensureWrapper;
private takeScreenshot;
private closeScreenshotLightbox;
private openScreenshotLightbox;
render(): void;
update(): void;
private saveInternal;
private submitResult;
reset(): void;
destroy(): void;
private addThemeProperties;
private updateTheme;
setTheme(theme: ITheme): void;
}