Menu

A pull-down menu with shortcuts, checkmarks, submenus and the macOS 27 rounded highlight.

@cupertinoui/dropdown-menuBase UI Menu Registry JSON

Installation

pnpm dlx shadcn@latest add @cupertinoui/dropdown-menu

The first install also adds the macOS theme. See Installation to set up the registry.

Usage

import {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuShortcut,
  DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"

<DropdownMenu>
  <DropdownMenuTrigger>File</DropdownMenuTrigger>
  <DropdownMenuContent>
    <DropdownMenuItem>
      New Window <DropdownMenuShortcut>⌘N</DropdownMenuShortcut>
    </DropdownMenuItem>
  </DropdownMenuContent>
</DropdownMenu>

Examples

Checkmarks

Radio items

API Reference

Every part forwards the props of the underlying Base UI Menu part. The props below are the ones CupertinoUI adds or changes.

DropdownMenuContent

PropTypeDescription
align"start" | "center" | "end"
Default: "center"
Alignment against the trigger.
sideOffsetnumber
Default: 4
Distance from the trigger.
classNamestringExtra classes, merged with the component's own.

DropdownMenuItem

PropTypeDescription
variant"default" | "destructive"
Default: "default"
Destructive items are red.
insetbooleanIndent the item to line up with checkmark items.
disabledbooleanDims the item.

DropdownMenuCheckboxItem

PropTypeDescription
checkedbooleanShows a checkmark.
onCheckedChange(checked: boolean) => voidCalled when toggled.

DropdownMenuShortcut

PropTypeDescription
childrenReactNodeThe key equivalent, e.g. ⌘N.