MindeesUI
ComponentsOverlays

Dropdown Menu

An anchored menu of actions opened by pressing a trigger element, with per-item icons, destructive styling, and disabled states.

DropdownMenu attaches a list of actionable items to a trigger element, opening an anchored Popover when the trigger is pressed. Each MenuItem supports an icon, a destructive tone, and a disabled state. Open state can be controlled or left internal. Selecting an item runs its handler and closes the menu.

Import

import { DropdownMenu } from '@mindees/ui';

Usage

<DropdownMenu
  trigger={<Button>Options</Button>}
  items={[
    { label: 'Edit', onPress: edit },
    { label: 'Duplicate', onPress: duplicate },
    { label: 'Delete', onPress: remove, destructive: true },
  ]}
/>

Props

PropTypeDefaultDescription
triggerReact.ReactElementElement that opens the menu when pressed.
itemsreadonly MenuItem[]Menu items (label, onPress, icon, destructive, disabled).
placement'top' | 'bottom''bottom'Side of the trigger the panel opens toward.
openbooleanControlled open state. Omit for internal management.
onOpenChange(open: boolean) => voidCalled when the open state changes.
styleStyleProp<ViewStyle>Style applied to the elevated menu panel.

Accessibility

The panel is rendered with accessibilityRole="menu" and each row uses accessibilityRole="menuitem", reporting accessibilityState.disabled for disabled items. The trigger's existing onPress is preserved and composed with the open toggle, and each row meets a 44pt minimum tap target.

On this page