JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 165
  • Score
    100M100P100Q98460F
  • License MIT

Restricts keyboard tabindex to a single subtree in the DOM

Package Exports

  • makeup-keyboard-trap

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (makeup-keyboard-trap) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

makeup-keyboard-trap

Build Status Coverage Status Dependency status devDependency status

A vanilla JavaScript port of jquery-keyboard-trap.

This module restricts keyboard tabindex to a single subtree in the DOM. This behaviour is useful when implementing a modal interface (e.g. a modal dialog).

It will ignore programmatically focusable items with a tabindex of -1.

Experimental

This module is still in an experimental state, until it reaches v1.0.0 you must consider all minor releases as breaking changes. Patch releases may introduce new features, but will be backwards compatible.

const keyboardTrap = require('makeup-keyboard-trap');

// trap an element
keyboardTrap.trap(document.querySelector('el'));

// untrap the current trapped element
keyboardTrap.untrap();

Install

// via npm
npm install makeup-keyboard-trap

// via yarn
yarn add makeup-keyboard-trap

Events

  • keyboardTrap : fired by trapped element when keyboard trap is activated
  • keyboardUntrap : fired by trapped element when keyboard trap is deactivated

Dependencies

  • None

Development

  • npm start
  • npm test
  • npm run lint
  • npm run fix
  • npm run build
  • npm run clean

The following hooks exist, and do not need to be invoked manually:

  • npm prepublish cleans, lints, tests and builds on every npm publish command
  • pre-commit cleans, lints, tests and builds on every git commit command

Test Reports

Each test run will generate the following reports:

  • /reports/coverage contains Istanbul code coverage report
  • /reports/html contains HTML test report

CI Build

https://travis-ci.org/makeup-js/makeup-keyboard-trap

Code Coverage

https://coveralls.io/github/makeup-js/makeup-keyboard-trap