feedlet-widget
Version:
Lightweight JavaScript widget for capturing user feedback and exit-intent surveys
35 lines (33 loc) • 961 B
TypeScript
import { FeedLetConfig, ContextualMarker, ViewportInfo } from './types';
export interface ModalData {
type: 'feedback' | 'exit-survey' | 'contextual';
feedbackType?: 'bug' | 'idea' | 'other';
note?: string;
question?: string;
answer?: string;
marker?: ContextualMarker;
viewportInfo?: ViewportInfo;
}
export declare class ModalManager {
private element;
private config;
private eventListeners;
private isOpen;
constructor(config: FeedLetConfig);
open(data: ModalData): void;
close(): void;
private createElement;
private renderContextualInfo;
private renderModalContent;
private renderFeedbackForm;
private renderExitSurveyForm;
private addStyles;
private adjustColor;
private attachEventListeners;
private handleEscapeKey;
private handleSubmit;
on(event: string, callback: Function): void;
private emit;
isModalOpen(): boolean;
destroy(): void;
}