@feedal/embed
Version:
Feedal embed script to load feedback forms via JS or NPM
32 lines (31 loc) • 1.16 kB
TypeScript
import { EmbedOptions, TriggerState } from './types';
import { PerformanceManager } from './performance';
export declare class TriggerManager {
private options;
private performanceManager;
private state;
private listeners;
private timers;
private onTrigger;
constructor(options: EmbedOptions, performanceManager: PerformanceManager, onTrigger: () => void);
setupTrigger(): void;
private setupExitIntentTrigger;
private setupElementVisibleTrigger;
private setupSessionDurationTrigger;
private setupIdleTrigger;
private canTrigger;
private trigger;
private isMobile;
reset(): void;
getState(): TriggerState;
destroy(): void;
}
export declare class TriggerUtils {
static detectExitIntent(callback: () => void, options?: {
sensitivity?: number;
cooldown?: number;
}): () => void;
static observeElementVisibility(element: HTMLElement, callback: (isVisible: boolean, ratio: number) => void, threshold?: number): IntersectionObserver;
static trackSessionDuration(): number;
static createIdleDetector(idleTime: number, callback: () => void): () => void;
}