From 41261ef4dce590a5358f9bbbd4738e8dbccfbf1d Mon Sep 17 00:00:00 2001
From: druid <druid@druids-MBP-2.lan>
Date: Thu, 21 Jan 2021 17:05:38 +0200
Subject: [PATCH] positioning of lang menu

---
 .../navigation/menu-language/menu-language.tsx       | 12 ++++--------
 .../hy-desktop-menu-links/hy-desktop-menu-links.tsx  |  7 +++++++
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/components/navigation/menu-language/menu-language.tsx b/src/components/navigation/menu-language/menu-language.tsx
index ed0386d3..60d8c8f2 100644
--- a/src/components/navigation/menu-language/menu-language.tsx
+++ b/src/components/navigation/menu-language/menu-language.tsx
@@ -67,14 +67,10 @@ export class MenuLanguage {
       this.menuLanguageToggled.emit();
 
       let hyHeader = this.el.closest('.hy-site-header') as HTMLElement;
-      const headerHeight = `${
-        languageMenuSelector.offsetHeight +
-        hyHeader.offsetTop +
-        hyHeader.offsetHeight +
-        8 -
-        languageMenuSelector.offsetTop -
-        languageMenuSelector.offsetHeight
-      }px`;
+      let rectHeader = hyHeader.getBoundingClientRect();
+      let rectLangMenu = languageMenuSelector.getBoundingClientRect();
+
+      const headerHeight = `${languageMenuSelector.offsetHeight + rectHeader.bottom + 8 - rectLangMenu.bottom}px`;
       const languagePanel = languageMenuSelector.shadowRoot.querySelectorAll(
         `.menu--language__dropdown`
       )[0] as HTMLElement;
diff --git a/src/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.tsx b/src/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.tsx
index 03d02953..dcd5d96d 100644
--- a/src/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.tsx
+++ b/src/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.tsx
@@ -199,6 +199,13 @@ export class HyDesktopMenuLinks {
     }
   }
 
+  @Listen('click', {target: 'window'})
+  handleWindowClick(event) {
+    this.handleDesktopMenuClose(event);
+
+    event.stopPropagation();
+  }
+
   handleDesktopMenuClose(event) {
     let fadeOut = true;
     this.closePanel(fadeOut);
-- 
GitLab