# SbMenu A dropdown menu component with keyboard navigation support. ## Parameters | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | Open | bool | false | Whether the menu is open | | Placement | SbPlacement | BottomStart | Menu placement relative to anchor | | CloseOnItemClick | bool | true | Close when clicking a menu item | | Class | string? | null | Additional CSS classes | ## Events | Event | Type | Description | |-------|------|-------------| | OpenChanged | EventCallback\ | Fired when open state changes | ## Templates / Slots | Slot | Type | Description | |------|------|-------------| | AnchorContent | RenderFragment | Content that triggers the menu | | ChildContent | RenderFragment | Menu items (SbMenuItem components) | ## Keyboard Navigation - **ArrowDown**: Move to next item - **ArrowUp**: Move to previous item - **Home**: Move to first item - **End**: Move to last item - **Enter/Space**: Activate focused item - **Escape**: Close menu - **Tab**: Close menu ## CSS Classes - `sb-menu-anchor` - Anchor wrapper - `sb-menu` - Menu container - `sb-menu--{placement}` - Placement variants ## Accessibility - Uses `role="menu"` on the menu - Uses `role="menuitem"` on items - Supports keyboard navigation ## Examples ### Basic Usage ```razor Options @code { private bool isOpen = false; } ``` ### With Icons ```razor ``` ### With Keyboard Shortcuts ```razor File ``` ### With Disabled Items ```razor Actions ``` ### Different Placements ```razor Bottom End Top Start ``` ### User Menu ```razor ``` ### Keep Open After Click ```razor Multi-Select Option 1 Option 2 Option 3 ``` ### Row Actions Menu ```razor ```