Menu
Examples
Loading examples…
API
From COMPONENTS.md.
import { Menu } from 'achery-ui'
import type { MenuItemDef, MenuSeparator } from 'achery-ui'
<Menu
trigger={<Button variant="ghost" size="sm">•••</Button>}
items={[
{ id: 'edit', label: 'Edit', glyph: 'key', onSelect: () => {} },
{ type: 'separator', id: 'sep1' },
{ id: 'delete', label: 'Delete', danger: true, onSelect: () => {} },
]}
/>
| Prop | Type | Default | Notes |
|---|---|---|---|
trigger |
ReactNode |
— | Rendered as Radix asChild trigger |
items |
(MenuItemDef | MenuSeparator)[] |
— | |
side |
'top' | 'bottom' | 'left' | 'right' |
'bottom' |
Preferred open side |
align |
'start' | 'center' | 'end' |
'end' |
Alignment to trigger |
className |
string |
— | Applied to content panel |
MenuItemDef: id, label, onSelect, glyph?, disabled?, danger?
MenuSeparator: { type: 'separator', id }
Renders into a portal — safe inside overflow-hidden containers.