/** * Idle state */ export type IdleState = { isIdle: boolean; lastActive: number; timeSinceLastActive: number; }; /** * Hook that tracks whether user is being inactive * * @param timeout - Idle timeout in milliseconds (default: 300000 = 5 minutes) * @param events - Events to listen for activity (default: common user events) * @returns Idle state and reset function * * @example * ```tsx * const { isIdle, lastActive, reset } = useIdle(60000); // 1 minute timeout * * return ( *
User is {isIdle ? 'idle' : 'active'}
*Last active: {new Date(lastActive).toLocaleTimeString()}
* *