16.0.9 • Published 12 months ago

itsa-react-focuscontainer v16.0.9

Weekly downloads
5
License
BSD-3-Clause
Repository
github
Last release
12 months ago

Build Status

Sorry, this module is not yet documented and tested. It does work though! So you can use its powerfull features.

The focuscontainer adds a wrapper over items that should be focussable by keyboard movement.

Look at the the file lib/component.jsx for the properties to use.

Features:

  • Adds keyboard focussing
  • Focus stays inside the container
  • Specify which keys trigger the focus
  • Specify which element should be focussed (even non-focussable elements)
  • Focussed elements outside the view get inside through transition
  • Life: keeps on doing its job when descendant React-Components change
  • Container gets labelled with a class itsa-focuscontainer-focussed when descendant element has focus
  • Works with nested focus-containers

How to use:

const React = require("react"),
    ReactDOM = require("react-dom"),
    FocusContainer = require("itsa-react-focuscontainer");

ReactDOM.render(
    <FocusContainer transitionTime={300} >
        <input type="text" />
        <input type="text" />
        <input type="text" />
        <button>Press me</button>
    </FocusContainer>,
    document.getElementById("component-container")
);

Or nested:

.itsa-focuscontainer:focus {
    border-style: dotted;
}
const React = require("react"),
    ReactDOM = require("react-dom"),
    FocusContainer = require("itsa-react-focuscontainer");

ReactDOM.render(
    <FocusContainer transitionTime={300} >
        <input type="text" />
        <input type="text" />
        <input type="text" />
        <FocusContainer
            keyEnter={13}
            transitionTime={300} >
            <input type="text" />
            <input type="text" />
            <input type="text" />
        </FocusContainer>,
        <button>Press me</button>
    </FocusContainer>,
    document.getElementById("component-container")
);

If you want to express your appreciation

Feel free to donate to one of these addresses; my thanks will be great :)

  • Ether: 0xE096EBC2D19eaE7dA8745AA5D71d4830Ef3DF963
  • Bitcoin: 37GgB6MrvuxyqkQnGjwxcn7vkcdont1Vmg
16.0.9

12 months ago

16.0.8

6 years ago

16.0.7

6 years ago

16.0.6

6 years ago

16.0.5

6 years ago

16.0.4

7 years ago

16.0.3

7 years ago

16.0.2

7 years ago

16.0.1

7 years ago

16.0.0

7 years ago

15.0.42

8 years ago

15.0.41

8 years ago

15.0.40

8 years ago

15.0.39

8 years ago

15.0.38

8 years ago

15.0.37

8 years ago

15.0.36

8 years ago

15.0.35

8 years ago

15.0.34

8 years ago

15.0.33

8 years ago

15.0.32

8 years ago

15.0.31

8 years ago

15.0.30

8 years ago

15.0.29

8 years ago

15.0.28

8 years ago

15.0.27

8 years ago

15.0.26

8 years ago

15.0.25

8 years ago

15.0.24

8 years ago

15.0.23

8 years ago

15.0.22

8 years ago

15.0.21

8 years ago

15.0.20

8 years ago

15.0.19

8 years ago

15.0.18

8 years ago

15.0.17

8 years ago

15.0.16

8 years ago

15.0.15

8 years ago

15.0.14

8 years ago

15.0.13

8 years ago

15.0.12

8 years ago

15.0.11

8 years ago

15.0.10

8 years ago

15.0.9

8 years ago

15.0.8

8 years ago

15.0.7

8 years ago

15.0.6

8 years ago

15.0.5

8 years ago

15.0.4

8 years ago

15.0.3

8 years ago

15.0.2

8 years ago

15.0.1

8 years ago