Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
Get Started
"use client"
import { Button } from "@/components/ui/button"Installation
pnpm dlx shadcn@latest add dropdown-menu
Usage
import { Button } from "@/components/ui/button"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuGroup,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"<DropdownMenu>
<DropdownMenuTrigger render={<Button variant="outline" />}>
Open
</DropdownMenuTrigger>
<DropdownMenuContent>
<DropdownMenuGroup>
<DropdownMenuLabel>My Account</DropdownMenuLabel>
<DropdownMenuItem>Profile</DropdownMenuItem>
<DropdownMenuItem>Billing</DropdownMenuItem>
<DropdownMenuSeparator />
</DropdownMenuGroup>
<DropdownMenuGroup>
<DropdownMenuItem>Team</DropdownMenuItem>
<DropdownMenuItem>Subscription</DropdownMenuItem>
</DropdownMenuGroup>
</DropdownMenuContent>
</DropdownMenu>Examples
Basic
A basic dropdown menu with labels and separators.
"use client"
import { Button } from "@/components/ui/button"Submenu
Use DropdownMenuSub to nest secondary actions.
"use client"
import { Button } from "@/components/ui/button"Shortcuts
Add DropdownMenuShortcut to show keyboard hints.
"use client"
import { Button } from "@/components/ui/button"Icons
Combine icons with labels for quick scanning.
"use client"
import { Button } from "@/components/ui/button"Checkboxes
Use DropdownMenuCheckboxItem for toggles.
"use client"
import * as React from "react"Checkboxes Icons
Add icons to checkbox items.
"use client"
import * as React from "react"Radio Group
Use DropdownMenuRadioGroup for exclusive choices.
"use client"
import * as React from "react"Radio Icons
Show radio options with icons.
"use client"
import * as React from "react"Destructive
Use variant="destructive" for irreversible actions.
"use client"
import { Button } from "@/components/ui/button"Avatar
An account switcher dropdown triggered by an avatar.
"use client"
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"Complex
A richer example combining groups, icons, and submenus.
"use client"
import * as React from "react"RTL
To enable RTL support in shadcn/ui, see the RTL configuration guide.
"use client"
import * as React from "react"API Reference
See the Base UI documentation for the full API reference.
Deploy your shadcn/ui app on Vercel
Trusted by OpenAI, Sonos, Adobe, and more.
Vercel provides tools and infrastructure to deploy apps and features at scale.
Deploy to Vercel