A set of actions in a popover.
DropdownMenuGroup once the list grows past 7–10 items.icon) to items so users can identify actions quickly.description) to an item to explain what it does.isDanger).DropdownMenuGroup to separate related items into visually distinct sections. Add label to categorize the section; omit it to render only a divider.DropdownMenuFooter for supplemental information or hints that apply to the whole list. It renders after all items.DropdownMenuTrigger for an inline text trigger that inherits surrounding text styles.DropdownMenuTriggerButton for a standard Button trigger, or with isIconOnly for tight layouts such as tables and toolbars.DropdownMenuTrigger to build a custom trigger (e.g., an Avatar).isDisabled), and danger (isDanger) states. Hover and keyboard focus apply the same background highlight.tooltip) explaining why the action is unavailable.tooltip) to any item that needs extra context beyond its label and description.shouldCloseOnClick={false} on an item to keep the menu open after it is clicked, for multi-select or toggle flows.DropdownMenuCheckboxItem for toggle options such as column visibility or filters. It shows a check indicator when selected.DropdownMenuSub and DropdownMenuSubTrigger. The submenu opens on mouse hover or keyboard activation and its trigger shows a trailing chevron.placement to control where the menu opens relative to the trigger. Default is bottom-start. Placement is a preference — the menu adjusts to stay visible in the viewport, and disappears when the trigger scrolls out of view.DropdownMenu with DropdownMenuTrigger or DropdownMenuTriggerButton, DropdownMenuContent, and inside the content: DropdownMenuGroup, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuSub, DropdownMenuSubTrigger, and DropdownMenuFooter.DropdownMenuItem renders a non-interactive div unless it has onClick, href, or isTrigger. Provide onClick or href for any item the user is meant to activate — including disabled items, which otherwise render as static text.href on DropdownMenuItem for navigation items; pair with isExternal for external links, which adds target="_blank" rel="noopener noreferrer".DropdownMenuCheckboxItem requires both isChecked and onCheckedChange. It does not accept icon — the slot is reserved for the check indicator.DropdownMenuGroup renders a header only when label is set; without it, only the divider renders.DropdownMenuSubTrigger adds its own trailing chevron and keeps the menu open on click. Pass the label as children and an optional leading icon.DropdownMenuTriggerButton renders a Button and accepts every Button prop (variant, icon, iconPosition, isIconOnly, aria-label).elementAfter for trailing item content — most often a KeyboardShortcut. It is pinned to the trailing edge, so shortcuts line up down the menu without hand-tuned spacing. Never pad labels or add spacer elements to achieve that alignment.elementBefore for leading item content that is not an icon. It renders after the icon rather than replacing it.trailingIcon on DropdownMenuItem for a trailing indicator icon.DropdownMenu accepts every PopoverPrimitive prop except withArrow — menus never render an arrow.shouldRestrictSize defaults to false on DropdownMenu (the primitive defaults to true), so menu size is not viewport-constrained by default.shouldNavigateList defaults to true, enabling arrow-key navigation and typeahead across items.animationTransitionDuration in milliseconds; default is 125.isOpen paired with onOpenChange; use defaultIsOpen for an uncontrolled initial state; use isDisabled to disable the whole menu.children. Ember yields via the default block, which also exposes the Floating UI context as a block param.Pluma prefix (<PlumaDropdownMenu>, <PlumaDropdownMenuItem>, <PlumaDropdownMenuTriggerButton>) and all props are @ args. elementBefore and elementAfter are available as the :elementBefore and :elementAfter named blocks (with the label in :default) or as component args.