From 4f926fdedf151312e8766b4597f05ae23b8fc11d Mon Sep 17 00:00:00 2001 From: PelayoFelgueroso Date: Wed, 28 Jan 2026 14:07:52 +0100 Subject: [PATCH 1/2] -Autoclose submenus in sidenav when collapsed -Close submenus when clicking outside or pressing "esc" --- packages/lib/src/base-menu/GroupItem.tsx | 11 +++++------ packages/lib/src/sidenav/Sidenav.tsx | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/lib/src/base-menu/GroupItem.tsx b/packages/lib/src/base-menu/GroupItem.tsx index d5a742288..31beb3407 100644 --- a/packages/lib/src/base-menu/GroupItem.tsx +++ b/packages/lib/src/base-menu/GroupItem.tsx @@ -39,17 +39,16 @@ const GroupItem = ({ items, ...props }: GroupItemProps) => { { - event.preventDefault(); - }} - onOpenAutoFocus={(event) => { - event.preventDefault(); + onKeyDown={(event) => { + if (event.key === "Escape") { + toggleOpen(); + } }} align="start" side={isHorizontal ? "bottom" : "right"} style={{ zIndex: "var(--z-contextualmenu)" }} sideOffset={isHorizontal ? 16 : 0} - onInteractOutside={isHorizontal ? () => toggleOpen() : undefined} + onInteractOutside={() => toggleOpen()} > {items.map((item, index) => ( diff --git a/packages/lib/src/sidenav/Sidenav.tsx b/packages/lib/src/sidenav/Sidenav.tsx index 7481e199e..4021cb20a 100644 --- a/packages/lib/src/sidenav/Sidenav.tsx +++ b/packages/lib/src/sidenav/Sidenav.tsx @@ -139,6 +139,7 @@ const DxcSidenav = ({ )} {navItems && ( Date: Mon, 2 Feb 2026 11:24:44 +0100 Subject: [PATCH 2/2] Handle conflicts --- packages/lib/src/base-menu/GroupItem.tsx | 2 +- packages/lib/src/sidenav/Sidenav.tsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/lib/src/base-menu/GroupItem.tsx b/packages/lib/src/base-menu/GroupItem.tsx index d96e2163d..44af31428 100644 --- a/packages/lib/src/base-menu/GroupItem.tsx +++ b/packages/lib/src/base-menu/GroupItem.tsx @@ -60,7 +60,7 @@ const GroupItem = ({ items, ...props }: GroupItemProps) => { }), }} sideOffset={isHorizontal ? 16 : 0} - onInteractOutside={isHorizontal ? () => toggleOpen() : undefined} + onInteractOutside={() => toggleOpen()} > {!isHorizontal && props.depthLevel === 0 && (