PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | build/modules/block-library/navigation/view.js +9 -6 23.3.2 → trunk View file →
@@ -49,8 +49,13 @@
49 49 },
50 50 get menuOpenedBy() {
51 51 const ctx = getContext();
52 52 return ctx.type === "overlay" ? ctx.overlayOpenedBy : ctx.submenuOpenedBy;
53 + },
54 + get isSubmenuOpen() {
55 + const ctx = getContext();
56 + const isDefaultOverlayOpen = !ctx.hasCustomOverlay && Object.values(ctx.overlayOpenedBy || {}).filter(Boolean).length > 0;
57 + return isDefaultOverlayOpen || state.isMenuOpen;
53 58 }
54 59 },
55 60 actions: {
56 61 openMenuOnHover(event) {
@@ -56,11 +61,10 @@
56 61 openMenuOnHover(event) {
57 62 if (event?.pointerType === "touch") {
58 63 return;
59 64 }
60 - const { type, overlayOpenedBy } = getContext();
61 - if (type === "submenu" && // Only open on hover if the overlay is closed.
62 - Object.values(overlayOpenedBy || {}).filter(Boolean).length === 0) {
65 + const { type } = getContext();
66 + if (type === "submenu") {
63 67 actions.openMenu("hover");
64 68 }
65 69 },
66 70 closeMenuOnHover(event) {
@@ -66,11 +70,10 @@
66 70 closeMenuOnHover(event) {
67 71 if (event?.pointerType === "touch") {
68 72 return;
69 73 }
70 - const { type, overlayOpenedBy } = getContext();
71 - if (type === "submenu" && // Only close on hover if the overlay is closed.
72 - Object.values(overlayOpenedBy || {}).filter(Boolean).length === 0) {
74 + const { type } = getContext();
75 + if (type === "submenu") {
73 76 actions.closeMenu("hover");
74 77 }
75 78 },
76 79 openMenuOnClick() {