Overview
Command Palette gives users rapid keyboard navigation and quick actions with Ctrl+K or Cmd+K.
Live Example
Below is a live inline view of the Command Palette modal interface, featuring search filtering, action items, shortcut hints, and a navigation footer:
π
- Navigation
- π Go to Dashboard G D
- π View Projects G P
- Preferences
- π Toggle Dark Mode T
<div class="command-palette" role="dialog" aria-modal="true">
<div class="command-palette-header">
<span class="text-secondary me-2"><span>π</span></span>
<input type="text" class="command-palette-input" id="commandInput" name="commandQuery" placeholder="Type a command or search...">
</div>
<ul class="command-palette-results">
<li class="command-palette-group-title"><span>Navigation</span></li>
<li class="command-palette-item active">
<span class="command-palette-item-title">
<span>π</span>
<span>Go to Dashboard</span>
</span>
<span class="command-palette-item-shortcut"><kbd>G D</kbd></span>
</li>
<li class="command-palette-item">
<span class="command-palette-item-title">
<span>π</span>
<span>View Projects</span>
</span>
<span class="command-palette-item-shortcut"><kbd>G P</kbd></span>
</li>
</ul>
<div class="command-palette-footer">
<span>Navigation: <kbd>β</kbd> <kbd>β</kbd> to select</span>
<span><kbd>Esc</kbd> to close</span>
</div>
</div>
Triggering from JavaScript
You can launch a command palette programmatically or via the global keyboard listener:
const palette = boodoo.CommandPalette.getOrCreateInstance(document.querySelector('#my-palette'), {
items: [
{ title: 'Dashboard', href: '/dashboard', icon: 'π', shortcut: 'G D' },
{ title: 'Toggle Theme', action: () => boodoo.theme.toggle(), icon: 'π' }
]
});
palette.open();