Navigation
Command Palette
Searchable list of commands and pages with keyboard navigation and shortcut hints, inline in a panel.
Pages
Product roadmapTeam/Projects
Weekly sync notesTeam/Meetings
Onboarding guide
Actions
New page
⌘NToggle dark mode
⌘⇧LOpen settings
⌘,- Navigate
- Select
- Close
Last chosen: nothing yet
Installation
Install the package (React 19):
terminal
terminal
terminal
Import the styles once, in your app entry or root layout:
/src/main.tsx
Use it anywhere inside your app's <Theme> (see Installation):
/src/CommandPaletteExample.tsx
Examples
Inline
Pages
Product roadmapTeam/Projects
Weekly sync notesTeam/Meetings
Onboarding guide
Actions
New page
⌘NToggle dark mode
⌘⇧LOpen settings
⌘,- Navigate
- Select
- Close
Last chosen: nothing yet
API Reference
CommandPalette
| Prop | Type | Default |
|---|---|---|
groups | { label: string; items: CommandItem[] }[] | |
onSelect | (item: CommandItem) => void | |
placeholder | string | "Search…" |
inputLabel | string | |
emptyText | ReactNode | "No results" |
filters | { label: string; icon?: IconName; menu?: boolean; muted?: boolean; onClick?: () => void }[] | [] |
hints | { keys: ReactNode; label: string }[] | ↑↓ Navigate, ↵ Select, esc Close |
preview | boolean | false |
defaultSelectedId | string | |
query | string | |
onQueryChange | (query: string) => void | |
autoFocus | boolean | false |
headerEnd | ReactNode |
Accessibility
- The input is a WAI-ARIA combobox (
aria-expanded,aria-controls,aria-autocomplete="list",aria-activedescendant) controlling an always-visible listbox; focus stays in the input. - Typing filters by title, keywords and path (every word must match). ↑/↓ move the highlight, Ctrl+Home / Ctrl+End jump to the ends, Enter runs the highlighted item.
- Groups are labelled
groups; options exposearia-selectedfor the highlighted one; disabled items are skipped. - When nothing matches, the empty text is announced through a status region.
Usage
- Use to search and run many commands or jump to pages; for the ⌘K modal use CommandPaletteDialog.
- Add
keywordswith synonyms so people find commands by the words they use. - Don't use it for a handful of actions: a Menu is easier to discover.
© 2026 Motion. Internal documentation.