Skip to Content

Menu

Dropdown of actions. trigger is any element; items support icons, keyboard-shortcut hints, dividers and a danger tone.

import { Menu, Button } from '@gg-software/ui'; <Menu trigger={<Button>Actions ▾</Button>} placement="bottom-start" items={[ { key: 'edit', label: 'Edit', shortcut: '⌘E', onClick: () => edit() }, { key: 'duplicate', label: 'Duplicate', onClick: () => duplicate() }, { divider: true }, { key: 'delete', label: 'Delete', danger: true, onClick: () => confirmDelete() }, ]} />;

Props

PropTypeDefaultDescription
trigger*ReactNode
items*MenuItem[]
placement"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end"bottom-start
classNamestring

* required · generated from packages/ui/src/navigation/Menu/Menu.tsx

Types

type MenuItem = { key?: string; label?: ReactNode; icon?: ReactNode; shortcut?: ReactNode; danger?: boolean; disabled?: boolean; onClick?: () => void; divider?: boolean; // renders a separator instead of an item };