A React hook that uses useEffect() on the server and useLayoutEffect() in the browser
A JavaScript library to observe Page Lifecycle API states: https://github.com/WICG/page-lifecycle
Check if passive events are available on the current device
Detect if a device is mouse only, touch only, or hybrid
Detect if the browser supports passive events