Skip to content
Logic2BUI

Search docs

Search components and documentation

New
Menu

Dropdown Menu

Displays a menu of actions or options triggered by a button.

Installation

npx logic2b@next add dropdown-menu

Usage

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

<DropdownMenu>
  <DropdownMenuTrigger>Open</DropdownMenuTrigger>
  <DropdownMenuContent>
    <DropdownMenuLabel>My Account</DropdownMenuLabel>
    <DropdownMenuSeparator />
    <DropdownMenuItem>Profile</DropdownMenuItem>
    <DropdownMenuItem>Billing</DropdownMenuItem>
  </DropdownMenuContent>
</DropdownMenu>

Examples

Checkboxes

Radio Group

Accessibility

  • Wraps Radix Dropdown Menu: opens with Enter, Space, or the arrow keys and closes on Escape.
  • Arrow keys move between items, typeahead jumps to a label, and submenus open with ArrowRight — all following the WAI-ARIA menu pattern.
  • Checkbox and radio items expose menuitemcheckbox / menuitemradio roles and announce their checked state to assistive technology.

Live playground

Edit the component props and inspect the exact JSX before copying it. The preview loads only when this section enters the viewport.

Generated JSX
<DropdownMenu
  modal
>
  <DropdownMenuTrigger
    className="rounded-md border px-4 py-2 text-sm font-medium"
  >Project actions</DropdownMenuTrigger>
  <DropdownMenuContent>
    <DropdownMenuLabel>Workspace</DropdownMenuLabel>
    <DropdownMenuItem>Open project</DropdownMenuItem>
    <DropdownMenuItem>Duplicate</DropdownMenuItem>
    <DropdownMenuSeparator />
    <DropdownMenuItem
      variant="destructive"
    >Archive</DropdownMenuItem>
  </DropdownMenuContent>
</DropdownMenu>

API reference

Generated from the public TypeScript exports in src/ui/dropdown-menu.tsx.

View JSON

DropdownMenu

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Root>

DropdownMenuPortal

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>

DropdownMenuTrigger

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>

DropdownMenuContent

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Content>
PropTypeRequiredDefaultDescription
sideOffsetnumberNo4—

DropdownMenuGroup

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Group>

DropdownMenuLabel

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & { inset?: boolean }
PropTypeRequiredDefaultDescription
insetbooleanNo——

DropdownMenuItem

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & { inset?: boolean variant?: "default" | "destructive" }
PropTypeRequiredDefaultDescription
insetbooleanNo——
variant"default" | "destructive"No"default"—

DropdownMenuCheckboxItem

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>

DropdownMenuRadioGroup

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>

DropdownMenuRadioItem

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>

DropdownMenuSeparator

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>

DropdownMenuShortcut

Component
Props: React.ComponentProps<"span">

DropdownMenuSub

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>

DropdownMenuSubTrigger

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & { inset?: boolean }
PropTypeRequiredDefaultDescription
insetbooleanNo——

DropdownMenuSubContent

Component
Props: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>

Accessibility contract

Machine-readable behavior and consumer responsibilities for dropdown-menu.

View JSON
Support
Primitive-managed
Pattern
menu
Radix Dropdown Menu
Keyboard interactions for dropdown-menu
KeysBehavior
Enter SpaceActivate the focused control.
ArrowUp ArrowDown ArrowLeft ArrowRightMove within the composite control.
Home EndMove to the first or last item.
EscapeClose the open surface and restore focus.

Built-in semantics

  • Manages menu/menuitem roles, roving focus and checked state for checkbox/radio items.

Consumer responsibilities

  • Provide an accessible name for the trigger and use menu items only for actions/options.