Menu
A dropdown menu triggered by a button. Supports keyboard navigation, type-ahead search, disabled items, and separators.
Primitive: MenuARIA: role="menu" + role="menuitem"Keyboard: Arrow, Enter, Space, Escape, Type-ahead
Edit
Duplicate
Archive
Delete
menu.rs
use stratum_leptos::*;
view! {
<Menu>
<MenuTrigger>
<Button variant=ButtonVariant::Outline>"Actions"</Button>
</MenuTrigger>
<MenuContent>
<MenuItem>"Edit"</MenuItem>
<MenuItem>"Duplicate"</MenuItem>
<MenuItem>"Archive"</MenuItem>
<MenuSeparator />
<MenuItem destructive=true>"Delete"</MenuItem>
</MenuContent>
</Menu>
}Installation
stratum add menuProps
| Prop | Type | Default | Description |
|---|---|---|---|
| open | Option<bool> | None | Controlled open state |
| on_open_change | Option<Callback<bool>> | None | Fires when menu opens/closes |
| on_select | Option<Callback<String>> | None | Fires when a menu item is activated |
Accessibility
- Trigger:
aria-haspopup="menu",aria-expanded. - Menu content:
role="menu". Items:role="menuitem". - Arrow keys navigate items (skipping disabled).
Enter/Spaceactivate. Escapecloses. Type-ahead: typing a character focuses matching item.