1.4.0 • Published 10 years ago

react-user-focus v1.4.0

Weekly downloads
6
License
MIT
Repository
github
Last release
10 years ago

react-user-focus

react-user-focus is a Reactjs component that communicates the state of the user's focus (focused, idle, away). The purpose of this component is to allow user-dependent processes such as animations, and communication to be aware of the current state of the user's focus.

Installation

The easiest way to use react-user-focus is to install it from NPM or Yarn and include it in your own React build process (using Browserify, Webpack, etc).

npm install react-user-focus --save

or

yarn add react-user-focus

Usage

react-user-focus can contain children, or be rendered simply by itself.

import ReactUserFocus from 'react-user-focus';

<ReactUserFocus
  onFocusChange={onFocusChange}
  onIdleChange={onIdleChange}
  idleTime={2}
/>

Properties

react-user-focus currently has 3 properties can that can be included when rendering the component.

  • onFocusChange - accepts a function that is called with the parameter of isHidden when the focus of the user changes.
import ReactUserFocus from 'react-user-focus';

function onFocusChange(isHidden) {
  console.log(`Is hidden?:${isHidden}`);
}

<ReactUserFocus
  onFocusChange={onFocusChange}
/>
  • onIdleChange - accepts a function that is called with the parameter of isIdle when the idleness of a user changes.

  • idleTime - the amount of time (in seconds) with no engagement to consider a user as idle.

import ReactUserFocus from 'react-user-focus';

function onIdleChange(isIdle) {
  console.log(`Is Idle?:${isIdle}`);
}

<ReactUserFocus
  onIdleChange={onIdleChange}
  idleTime={2}
/>

Demo & Examples

Live demo - To see a live demo of this component, visit my website: SeanKilgarriff.com. Open up the console in developer tools, and type AmIFocused?() into the console.

To build the examples locally, run:

npm install
npm start

Then open localhost:8080 in a browser. If you have other webpack dev servers running, the ports will be incremental - 8081, 8082, etc.

License

This repository is covered by the MIT License

Copyright (c) 2016 Sean Kilgarriff.

1.4.0

10 years ago

1.3.5

10 years ago

1.3.4

10 years ago

1.3.3

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.1

10 years ago

1.1.26

10 years ago

1.1.25

10 years ago

1.1.24

10 years ago

1.1.23

10 years ago

1.1.22

10 years ago

1.1.21

10 years ago

1.1.20

10 years ago

1.1.19

10 years ago

1.1.18

10 years ago

1.1.17

10 years ago

1.1.16

10 years ago

1.1.15

10 years ago

1.1.14

10 years ago

1.1.13

10 years ago

1.1.12

10 years ago

1.1.11

10 years ago

1.1.10

10 years ago

1.1.9

10 years ago

1.1.8

10 years ago

1.1.7

10 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago