Skip to content

Commit 2b5f829

Browse files
fix(gcds-nav-group): Focusout logic to close open dropdowns (#930)
* fix(gcds-nav-group): Focusout logic to close open dropdowns * Update tab queue on keyboard press --------- Co-authored-by: Melanie Boeckmann <melanie.bockmann@gmail.com>
1 parent cf95623 commit 2b5f829

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

packages/web/src/components/gcds-nav-group/gcds-nav-group.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ export class GcdsNavGroup {
8888
if (
8989
(e.target === this.el || this.el.contains(e.target)) &&
9090
!this.el.contains(e.relatedTarget) &&
91-
this.navStyle === 'dropdown' &&
91+
this.navStyle.includes('dropdown') &&
9292
this.open &&
9393
window.innerWidth >= 1024
9494
) {

packages/web/src/utils/menus/utils.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ export async function handleKeyDownNav(event, nav, queue) {
2424
} else {
2525
await focusNavItem(currentIndex + 1, queue);
2626
}
27+
setTimeout(() => {
28+
nav.updateNavItemQueue(nav);
29+
}, 200);
2730
break;
2831

2932
// Up arrow
@@ -36,6 +39,9 @@ export async function handleKeyDownNav(event, nav, queue) {
3639
} else {
3740
await focusNavItem(currentIndex - 1, queue);
3841
}
42+
setTimeout(() => {
43+
nav.updateNavItemQueue(nav);
44+
}, 200);
3945
break;
4046

4147
// Right arrow
@@ -92,6 +98,9 @@ export async function handleKeyDownNav(event, nav, queue) {
9298
}
9399
}
94100
}
101+
setTimeout(() => {
102+
nav.updateNavItemQueue(nav);
103+
}, 200);
95104
break;
96105

97106
// ENTER || SPACEBAR

0 commit comments

Comments
 (0)