Menu

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

<Menu>
  <Button>
    <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>

API Reference

Missing description.

PropType
MenuTriggerType

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

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

A MenuItem represents an individual action in a Menu.

PropType
union
Key
T
string
boolean
ReactNode | function

Last updated on 1/13/2026

Built with passion by @mehdibha.