react-watchman
Version:
A human behavior-aware idle detector for React applications. Combines user activity signals with AI-inspired heuristics to detect inactivity intelligently. Ideal for SaaS, banking, and secure apps requiring session timeout and idle monitoring.
28 lines (24 loc) • 889 B
TypeScript
import React from 'react';
interface ReactWatchmanOptions {
idleTime?: number;
onIdle?: () => void;
onActive?: () => void;
sensitivity?: number;
debounce?: number;
onVisibilityChange?: (isVisible: boolean) => void;
onTabHide?: () => void;
onTabShow?: (hiddenDuration: number) => void;
onFocus?: () => void;
onBlur?: () => void;
}
declare function useReactWatchman({ idleTime, onIdle, onActive, sensitivity, debounce, onVisibilityChange, onTabHide, onTabShow, onFocus, onBlur, }?: ReactWatchmanOptions): {
isIdle: boolean;
};
interface WatchmanBoundaryProps extends Partial<ReactWatchmanOptions> {
timeout?: number;
children: React.ReactNode;
renderIdle?: () => React.ReactNode;
}
declare const WatchmanBoundary: React.FC<WatchmanBoundaryProps>;
export { WatchmanBoundary, useReactWatchman };
export type { ReactWatchmanOptions };