diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js index 8d8c69d2b4..d69afadb59 100644 --- a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js @@ -68,9 +68,24 @@ const NavItem = ({ link, setItemOpened, itemOpened }) => { setItemOpened(); } }; + + const handleFocusOut = () => { + setTimeout(() => { + const node = clickRef.current; + if (opened && node && !node.contains(document.activeElement)) { + setItemOpened(); + } + }, 0); + }; + + const node = clickRef.current; + document.addEventListener("click", handleClickOutside, true); + node?.addEventListener("focusout", handleFocusOut); + return () => { document.removeEventListener("click", handleClickOutside, true); + node?.removeEventListener("focusout", handleFocusOut); }; }, [opened]);