Activity Timeout in milliseconds.
Props
Props are the configuration options that can be passed to useIdleTimer
or
withIdleTimer
. All props are optional and have sensible defaults. If a prop
is updated dynamically, IdleTimer will be automatically restarted with the new
set of properties. Examples of how they are used can be found in the
hook and
higher order component docs.
timeout#
number
1200000
promptTimeout#
When the user becomes idle, the onPrompt
function is called and after the prompt timeout in milliseconds is reached, the onIdle function is called.
number
0
events#
DOM events to watch for activity on.
EventsType[]
['mousemove','keydown','wheel','DOMMouseScroll','mousewheel','mousedown','touchstart','touchmove','MSPointerDown','MSPointerMove','visibilitychange']
immediateEvents#
DOM events that will bypass the timeout and immediately call onPrompt/onIdle. The events in this array take precedence over the events array.
EventsType[]
[]
onPrompt#
When promptTimeout
is set, this function is called after the user becomes idle. This is useful for displaying a confirm prompt. If the prompt timeout is reached, onIdle
is then called.
() => void
() => {}
onIdle#
Function to call when user is idle.
() => void
() => {}
onActive#
Function to call when user becomes active.
(event: Event) => void
() => {}
onMessage#
Function to call when a message
event is received.
(data: string | number | object) => void
() => {}
onAction#
Function to call on user activity.
(event: Event) => void
() => {}
debounce#
Debounce the onAction function by setting delay in milliseconds.
number
0
throttle#
Throttle the onAction function by setting delay in milliseconds.
number
0
eventsThrottle#
Throttle the activity events. Useful if you are listening to mouse events. Helps to cut down on cpu usage.
number
200
element#
Element to bind activity listeners to.
Node
document
startOnMount#
Start the timer when the hook mounts.
boolean
true
startManually#
Require the timer to be started manually.
boolean
false
stopOnIdle#
Once the user goes idle the IdleTimer will not reset on user input. Instead, `start()` or `reset()` must be called manually to restart the timer.
boolean
false
timers#
Set custom timers. By default main thread timers are used to allow for better tree shaking. If you want to use worker thread timers, import them from the package and set them here.
ITimers
{ setTimeout, clearTimeout, setInterval, clearInterval }
crossTab#
Enable cross tab event replication.
boolean
false
name#
Sets the name for the IdleTimer instance. This is required if you are running multiple instances with crossTab
enabled.
string
idle-timer
syncTimers#
Syncs timers across all tabs. Timers are synced when user input is detected. The value of this property is the duration of the throttle on the sync operation. Setting to 0 disables the feature.
number
0
leaderElection#
Enables the Leader Election feature. Leader Election will assign one tab to be the leader. To determine if a tab is the leader, use the isLeader
method.
boolean
false