fix(dropdown): keep submenu open while the pointer moves into it

Moving the pointer diagonally from a submenu trigger to its flyout crosses
the items below it, which closed the flyout before it could be reached.
Delay hiding the flyout by 300ms, and show it immediately on hover or focus.
This commit is contained in:
Herculino Trotta committed 2026-10-12 02:33:14 -03:00
1 parent ac16359ff4
commit dfb5cf37b4
1 file changed
+13
+13
View File
@@ -444,6 +444,19 @@ $breakpoints: (
border: var(--dropdown-border-width) solid var(--dropdown-border-color);
border-radius: var(--dropdown-border-radius);
box-shadow: var(--dropdown-box-shadow);
// Delay hiding: moving the pointer diagonally into the flyout crosses the
// items below the parent, and the delay keeps it open long enough to reach it.
// Delaying display (not visibility) keeps the flyout inheriting the menu's
// visibility, so it still disappears together with the main menu.
transition-property: display;
transition-duration: 0s;
transition-delay: 300ms;
transition-behavior: allow-discrete;
}
&:hover > .dropdown-submenu-content,
&:focus-within > .dropdown-submenu-content {
transition-delay: 0s;
}
}
}