@randyd45/web-behavior-tracker
Version:
A framework-agnostic package for tracking user behavior on web forms
45 lines (44 loc) • 1.41 kB
TypeScript
import { BehaviorEvent, BehaviorMetrics, BehaviorInsights, TrackingOptions } from './types.js';
export declare class BehaviorTracker {
private events;
private startTime;
private options;
private formFields;
private isTracking;
private sessionId;
private static readonly STORAGE_KEY;
private debounceTimers;
private lastInputValues;
private static readonly THROTTLE_DELAY;
private lastThrottledEvent;
constructor(options?: TrackingOptions);
private getOrCreateSessionId;
private saveSessionData;
private loadSessionData;
startTracking(): void;
stopTracking(): void;
private setupPageUnloadHandler;
private removePageUnloadHandler;
private handlePageUnload;
getMetrics(): BehaviorMetrics;
getInsights(): BehaviorInsights;
getEvents(): BehaviorEvent[];
private setupEventListeners;
private removeEventListeners;
private handleInputEvent;
private handleEvent;
private isFormElement;
private getElementValue;
private getElementAttributes;
private handleSelectChange;
private handleCheckboxRadioChange;
private handleFormSubmit;
private getElementPath;
private getFieldInteractionOrder;
private detectSuspiciousPatterns;
private calculateRiskScore;
private calculateCompletionRate;
getSessionId(): string;
clearSession(): void;
private getElementState;
}