DropdownMenu

Organism

Accessible dropdown using role="menu" + role="menuitem". Closes on Escape and outside click. Supports left/right alignment, icons, separators, danger and disabled items, and arrow-key navigation.

Default (left aligned)

Preview
Code
<%- include('modules/ui/DropdownMenu', {
  id: 'actions-menu',
  trigger: '',
  items: [
    { label: 'View', icon: '' },
    { label: 'Edit', icon: '' },
    { label: 'Duplicate', icon: '' }
  ]
}) %>

With separator & danger

Preview
Code
<%- include('modules/ui/DropdownMenu', {
  id: 'row-menu',
  align: 'right',
  trigger: '',
  items: [
    { label: 'Open', icon: '...' },
    { label: 'Rename', icon: '...' },
    { label: 'Archive', icon: '...', disabled: true },
    { type: 'separator' },
    { label: 'Delete', icon: '...', danger: true }
  ]
}) %>

With header

Preview
Code
<%- include('modules/ui/DropdownMenu', {
  id: 'account-menu',
  trigger: '',
  header: '
...
', items: [ { label: 'Profile', icon: '...' }, { label: 'Settings', icon: '...' }, { type: 'separator' }, { label: 'Sign out', icon: '...', danger: true } ] }) %>
Source modules/ui/DropdownMenu.ejs