How to use the @leafygreen-ui/lib.keyMap.Tab function in @leafygreen-ui/lib

To help you get started, we’ve selected a few @leafygreen-ui/lib 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 mongodb / leafygreen-ui / packages / menu / src / Menu.tsx View on Github external
switch (e.keyCode) {
      case keyMap.ArrowDown:
        refToFocus = refs[(refs.indexOf(focused!) + 1) % refs.length];
        refToFocus.focus();
        setFocused(refToFocus);
        break;

      case keyMap.ArrowUp:
        refToFocus =
          refs[(refs.indexOf(focused!) - 1 + refs.length) % refs.length];
        setFocused(refToFocus);
        refToFocus.focus();
        break;

      case keyMap.Tab:
        if (!e.shiftKey && trapLastMenuItem(filteredRefs)) {
          e.preventDefault();
          setFocused(refs[0]);
          refs[0].focus();
        }

        if (e.shiftKey && trapFirstMenuItem()) {
          e.preventDefault();
          filteredRefs[filteredRefs.length - 1].focus();
          setFocused(filteredRefs[filteredRefs.length - 1]);
        }

        break;

      case keyMap.Space:
      case keyMap.Enter: