pulsex
Version:
A lightweight and powerful JavaScript library for tracking user activity on websites. Easily monitor user interactions, including page visits, clicks, time spent, and engagement patterns. Designed for flexibility and performance, PulseX integrates seamles
54 lines (46 loc) • 1.05 kB
text/typescript
export interface PulseXConfig {
apiEndpoint: string;
interval: number;
maxQueueSize?: number;
}
export interface EngagementTrackingTask {
element: HTMLElement;
threshold?: number;
}
export interface EventPayload {
_id: string;
sessionId: string;
type: string;
pageUrl: string;
referrer: string;
data: any;
createdAt: string;
}
export interface SectionEngagement {
sectionId: string;
startTime: number;
endTime: number;
totalDuration: number;
}
// New Types for Additional Events
export interface ClickEvent {
elementId: string;
textContent: string;
timestamp: number;
x: number;
y: number;
button: number; // 0 = Left, 1 = Middle, 2 = Right
}
export interface HoverEvent {
elementId: string;
startTime: number;
endTime: number;
hoverDuration: number;
clicked: boolean;
clickData: ClickEvent | null;
}
export interface FormSubmissionEvent {
formId: string;
timestamp: number;
inputValues: Record<string, string | boolean | number>;
}