universal-idle-timeout is based on the excellent idleTimeout which is a zero dependency, ~5KB library to make idle state detection in the browser an ease. universal-idle-timeout maintains a universal user action tracking system across all of the tabs by using localstorage. When localstorage is not available, it gracefully degrades to tracking the actions in the current tab.
npm install @certsy/universal-idle-timeout
yarn add @certsy/universal-idle-timeout
idleTimeout is totally easy to use. All you basically need to do is:
idleTimeout(() => {
// Do some cool stuff
});
The idleTimeout constructor takes two arguments:
callback [Function]
- The callback functionoptions [Object]
- An optional options objectelement [Element]
- The element to listen for the timeouttimeout [Number]
- The idle timeout (in milliseconds)
const instance = idleTimeout(
() => {
// Callback
},
{
element: document,
timeout: 1000 * 60 * 5,
loop: false
}
);