From d0a537f56bb5dfce9d7921a786cf7699eaebefd5 Mon Sep 17 00:00:00 2001 From: tsanislavgatev Date: Mon, 27 Oct 2025 15:53:20 +0200 Subject: [PATCH 1/3] feat(ui5-menu): add placement api --- packages/main/src/Menu.ts | 9 +++++++++ packages/main/src/MenuTemplate.tsx | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/main/src/Menu.ts b/packages/main/src/Menu.ts index ef01695a042b..f7c0cacf4b49 100644 --- a/packages/main/src/Menu.ts +++ b/packages/main/src/Menu.ts @@ -40,6 +40,7 @@ import { // Styles import menuCss from "./generated/themes/Menu.css.js"; +import type PopoverPlacement from "./types/PopoverPlacement.js"; const MENU_OPEN_DELAY = 300; @@ -200,6 +201,14 @@ class Menu extends UI5Element { @property({ type: Boolean }) open = false; + /** + * Determines on which side the component is placed at. + * @default "Bottom" + * @public + */ + @property() + placement: `${PopoverPlacement}` = "Bottom"; + /** * Determines the horizontal alignment of the menu relative to its opener control. * @default "Start" diff --git a/packages/main/src/MenuTemplate.tsx b/packages/main/src/MenuTemplate.tsx index aa0bcaed0185..7377c9fa20f4 100644 --- a/packages/main/src/MenuTemplate.tsx +++ b/packages/main/src/MenuTemplate.tsx @@ -10,7 +10,7 @@ export default function MenuTemplate(this: Menu) { Date: Mon, 27 Oct 2025 16:31:15 +0200 Subject: [PATCH 2/3] docs(ui5-menu): add since tag --- packages/main/src/Menu.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/main/src/Menu.ts b/packages/main/src/Menu.ts index f7c0cacf4b49..f5d5fc063559 100644 --- a/packages/main/src/Menu.ts +++ b/packages/main/src/Menu.ts @@ -205,6 +205,7 @@ class Menu extends UI5Element { * Determines on which side the component is placed at. * @default "Bottom" * @public + * @since 2.16.0 */ @property() placement: `${PopoverPlacement}` = "Bottom"; From 2737220447e6f02836745ed6a29ca66847ce90e4 Mon Sep 17 00:00:00 2001 From: tsanislavgatev Date: Wed, 29 Oct 2025 15:26:28 +0200 Subject: [PATCH 3/3] fix(ui5-menu): fix order --- packages/main/src/Menu.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/main/src/Menu.ts b/packages/main/src/Menu.ts index f5d5fc063559..db2f3b1fdb11 100644 --- a/packages/main/src/Menu.ts +++ b/packages/main/src/Menu.ts @@ -29,6 +29,7 @@ import { isInstanceOfMenuItem } from "./MenuItem.js"; import { isInstanceOfMenuItemGroup } from "./MenuItemGroup.js"; import { isInstanceOfMenuSeparator } from "./MenuSeparator.js"; import type PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js"; +import type PopoverPlacement from "./types/PopoverPlacement.js"; import type { ListItemClickEventDetail, } from "./List.js"; @@ -40,7 +41,6 @@ import { // Styles import menuCss from "./generated/themes/Menu.css.js"; -import type PopoverPlacement from "./types/PopoverPlacement.js"; const MENU_OPEN_DELAY = 300;