Skip to content

jacobmllr95/idle-timeout

Repository files navigation

Version Size License

A zero dependency, ~3KB library to make idle state detection in the browser an ease. With it's simple but yet powerful API it features everything you will ever need.

Installation

Using npm

npm install idle-timeout

Using yarn

yarn add idle-timeout

Using CDN

<script src="https://unpkg.com/idle-timeout/dist/idle-timeout.min.js"></script>

Usage

idleTimeout is totally easy to use. All you basically need to do is:

idleTimeout(() => {
  // Do some cool stuff
});

Documentation

The idleTimeout constructor takes two arguments:

  • callback [Function] - The callback function
  • options [Object] - An optional options object
    • element [Element] - The element to listen for the timeout
    • timeout [Number] - The idle timeout (in milliseconds)
    • loop [Boolean] - Wether the timeout should be looped when idle
const instance = idleTimeout(
  () => {
    // Callback
  },
  {
    element: document,
    timeout: 1000 * 60 * 5,
    loop: false
  }
);

Methods

pause() - Pauses the timeout

instance.pause();

resume() - Resumes an paused timeout

instance.resume();

reset() - Reset the timeout

instance.reset();

destroy() - Destroy the instance

instance.destroy();

Getters

idle [Boolean] - Wether the current state is idle

instance.idle; // false

Setters

timeout = value [Number] - Set the timeout (in milliseconds)

instance.timeout = 1000 * 60;

loop = value [Boolean] - Set wether the timeout should be looped

instance.loop = true;

idle = value [Boolean] - Set the idle state

instance.idle = true;

Browser Support

Chrome
Chrome
Firefox
Firefox
Safari
Safari
Opera
Opera
Edge
Edge
IE
IE
 Latest 2 Latest 2 Latest 2 Latest 2 Latest 2 11

License

This project is licensed under the terms of the MIT License.