Skip to content

Dropdown Menus

Glassmorphic dropdown menus with icons, keyboard shortcuts, separators, danger items, and disabled states.

Basic Usage

js
const cleanup = Oura.dropdown('#menu-trigger', {
  items: [
    { label: 'Edit', icon: '✏️', onClick: () => console.log('Edit') },
    { label: 'Duplicate', icon: '📋', onClick: () => console.log('Duplicate') },
    { separator: true },
    { label: 'Delete', icon: '🗑️', danger: true, onClick: () => console.log('Delete') },
  ],
});

Item Options

OptionTypeDescription
labelstringDisplay text
iconstringEmoji or HTML icon
shortcutstringKeyboard shortcut label
separatorbooleanRenders a divider line
disabledbooleanGrays out and disables click
dangerbooleanRed color styling
onClick() => voidClick handler

Placement

js
Oura.dropdown('#btn', {
  placement: 'bottom-end', // bottom-start | bottom-end | top-start | top-end
  items: [...]
});

With Shortcuts

js
Oura.dropdown('#file-menu', {
  items: [
    { label: 'New File', shortcut: '⌘N', onClick: () => {} },
    { label: 'Open', shortcut: '⌘O', onClick: () => {} },
    { label: 'Save', shortcut: '⌘S', onClick: () => {} },
    { separator: true },
    { label: 'Close', shortcut: '⌘W', onClick: () => {} },
  ],
});

Released under the MIT License.