Skip to content

feat: add command palette with DI-based command registration#5065

Open
Pavel910 wants to merge 2 commits intonextfrom
feat/command-palette
Open

feat: add command palette with DI-based command registration#5065
Pavel910 wants to merge 2 commits intonextfrom
feat/command-palette

Conversation

@Pavel910
Copy link
Copy Markdown
Collaborator

@Pavel910 Pavel910 commented Apr 2, 2026

Summary

Caution

This feature is hidden from users for the time being. You can enable it using the Developer Mode.

  • Add Command DI abstraction for registering commands with full dependency injection support
  • Add CommandPalettePresenter (MobX) that lazily resolves commands from the container, manages open/close state, active command selection, and global keyboard shortcuts
  • Add CommandPalette UI component (@webiny/admin-ui) using cmdk + Radix Dialog — supports command list with search, grouped categories, and pluggable detail views
  • Commands can optionally provide a detailView React component (e.g., a form) that renders inside the palette when selected
  • Global shortcuts: commands with a shortcut property register global hotkeys that trigger the command directly
  • Demo extensions: simple command (SayHello) and form-based command (SendMessage) in extensions/commandPalette/
CleanShot 2026-04-02 at 14 52 02

@Pavel910 Pavel910 self-assigned this Apr 2, 2026
@Pavel910 Pavel910 added this to the 6.2.0 milestone Apr 2, 2026
prevPropsRef.current = { ...props };
});
if (!disabled && typeof keys === "object") {
Object.assign(state.handlers[zIndex], keys);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants