How to use the focus-lock function in focus-lock

To help you get started, we’ve selected a few focus-lock examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github theKashey / react-focus-lock / src / Trap.js View on Github external
(persistentFocus || focusWasOutsideWindow)
          || !isFreeFocus()
          || (!lastActiveFocus && autoFocus)
        ) {
          if (
            workingNode
            && !(
              focusInside(workingArea)
              || focusIsPortaledPair(activeElement, workingNode)
            )
          ) {
            if (document && !lastActiveFocus && activeElement && !autoFocus) {
              activeElement.blur();
              document.body.focus();
            } else {
              result = moveFocusInside(workingArea, lastActiveFocus);
              lastPortaledElement = {};
            }
          }
          focusWasOutsideWindow = false;
          lastActiveFocus = document && document.activeElement;
        }
      }

      if (document) {
        const newActiveElement = document && document.activeElement;
        const allNodes = getFocusabledIn(workingArea);
        const focusedItem = allNodes.find(({ node }) => node === newActiveElement);
        if (focusedItem) {
          // remove old focus
          allNodes
            .filter(({ guard, node }) => guard && node.dataset.focusAutoGuard)
github theKashey / dom-focus-lock / src / index.js View on Github external
const activateTrap = () => {
  let result = false;
  if (lastActiveTrap) {
    const observed = lastActiveTrap;
    if(!isFreeFocus()) {
      if (observed && !focusInside(observed)) {
        result = moveFocusInside(observed, lastActiveFocus);
      }
      lastActiveFocus = document.activeElement;
    }
  }
  return result;
};