Actions & overlays@neumorphism-ui/dropdown-menu

Dropdown Menu

A complete composable API built on Base UI Menu. Combines regular items, checkboxes, radio groups, labels, separators, shortcuts, and nested submenus on one surface.

@neumorphism-ui/dropdown-menu
Registry JSON

Preview

Installation

Installation: dropdown-menunpx shadcn@latest add @neumorphism-ui/dropdown-menu

The CLI resolves npm dependencies, base tokens, utilities, and component source in order.

New to this Registry? Set up the namespace before continuing.

Usage

Usage: Installationnpx shadcn@latest add @neumorphism-ui/button @neumorphism-ui/dropdown-menu

Import

Dropdown Menu import code
import * as React from "react"
import { Button } from "@/components/ui/button"
import {
  DropdownMenu,
  DropdownMenuCheckboxItem,
  DropdownMenuContent,
  DropdownMenuItem,
  DropdownMenuGroup,
  DropdownMenuLabel,
  DropdownMenuSeparator,
  DropdownMenuShortcut,
  DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"

Example

Dropdown Menu usage code
export function WorkspaceMenu() {
  const [showDepthGrid, setShowDepthGrid] = React.useState(true)

  return (
    <DropdownMenu>
      <DropdownMenuTrigger render={<Button variant="soft" />}>
        Open menu
      </DropdownMenuTrigger>
      <DropdownMenuContent align="start">
        <DropdownMenuGroup>
          <DropdownMenuLabel>Workspace</DropdownMenuLabel>
          <DropdownMenuSeparator />
          <DropdownMenuItem>
            Duplicate
            <DropdownMenuShortcut>⌘D</DropdownMenuShortcut>
          </DropdownMenuItem>
          <DropdownMenuCheckboxItem
            checked={showDepthGrid}
            onCheckedChange={setShowDepthGrid}
          >
            Show depth grid
          </DropdownMenuCheckboxItem>
          <DropdownMenuItem variant="destructive">Delete</DropdownMenuItem>
        </DropdownMenuGroup>
      </DropdownMenuContent>
    </DropdownMenu>
  )
}

API Reference

ComponentPropTypeDefaultDescription
DropdownMenuopen / defaultOpenbooleanfalseThe controlled open state or initial uncontrolled open state.
DropdownMenuonOpenChange(open: boolean) => void—Called when the menu open state changes.
DropdownMenuTriggerrenderReactElement | (props, state) => ReactElement—Composes trigger behavior onto a button or link.
DropdownMenuContentside / align"top" | "right" | "bottom" | "left" / "start" | "center" | "end""bottom" / "start"Positions the popup relative to the trigger.
DropdownMenuContentsideOffsetnumber8The distance between the trigger and popup.
DropdownMenuItemvariant"default" | "destructive""default"Selects the regular or destructive action style.
DropdownMenuItem / LabelinsetbooleanfalseAligns text with rows that include an indicator.
DropdownMenuCheckboxItemcheckedboolean | "indeterminate"—The controlled state of a checkbox item.
DropdownMenuCheckboxItemonCheckedChange(checked) => void—Called when a checkbox item state changes.

Accessibility

  • 01

    Base UI handles Arrow key navigation, Home, End, typeahead, closing with Escape, and focus restoration.

  • 02

    Give each DropdownMenuItem a clear command label, and distinguish destructive actions in the wording as well as with variant.

  • 03

    Use checked with onCheckedChange to manage CheckboxItem state explicitly.