Menu

A menu displays a list of actions or options that a user can choose.

<Menu>
  <Button isIconOnly>
    <MenuIcon />
  </Button>
  <Popover>
    <MenuContent>
      <MenuItem>Account settings</MenuItem>
      <MenuItem>Create team</MenuItem>
      <MenuItem>Command menu</MenuItem>
      <MenuItem>Log out</MenuItem>
    </MenuContent>
  </Popover>
</Menu>

Installation

npx shadcn@latest add @dotui/menu

Usage

Use menus to display a list of actions or options that a user can choose from.

import { Button } from "@/components/ui/button";
import { Menu, MenuContent, MenuItem } from "@/components/ui/menu";
import { Popover } from "@/components/ui/popover";
<Menu>
	<Button>Open Menu</Button>
	<Popover>
		<MenuContent>
			<MenuItem>Edit</MenuItem>
			<MenuItem>Duplicate</MenuItem>
			<MenuItem>Delete</MenuItem>
		</MenuContent>
	</Popover>
</Menu>

Playground

Use the controls below to experiment with different menu props and see the live preview and code update.

placement
<Menu>
  <Button>Open Menu</Button>
  <Popover placement="bottom">
    <MenuContent>
      <MenuItem>Edit</MenuItem>
      <MenuItem>Duplicate</MenuItem>
      <MenuItem>Archive</MenuItem>
      <MenuItem>Delete</MenuItem>
    </MenuContent>
  </Popover>
</Menu>

Examples

Placement
Type
MobileType

state: closed

API Reference

Missing description.

PropType
MenuTriggerType

A menu displays a list of actions or options that a user can choose.

PropType
DOMRenderFunction<"div", MenuRenderProps>
ReactNode | function
Iterable<T>
ReactNode | function
readonly any[]
SelectionMode
Iterable<Key> | "all"
Iterable<Key> | "all"
function
Iterable<Key>
boolean
boolean
"clearSelection" | "none"

A MenuItem represents an individual action in a Menu.

PropType
union
ReactNode | function
Key
boolean
union
string
T

Last updated on 5/22/2026