How to use the focus-lock.focusInside 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
if (workingNode) {
      const workingArea = [
        workingNode,
        ...shards.map(extractRef).filter(Boolean),
      ];

      if (!activeElement || focusWhitelisted(activeElement)) {
        if (
          (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;
        }
      }
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;
};