Fast, composable, unstyled command menu for React.
The <Command /> component is built on top of cmdk .
<Command />
Run the following command:
npx ever-ui-clx@0.2.1 add demo-command
"use client"; import { useEffect, useState } from "react"; import FileQuestion from "@/components/icons/file-question"; import { CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, } from "@/components/ui/command";
export function DemoCommand() { const [open, setOpen] = useState(false); useEffect(() => { const down = (e: KeyboardEvent) => { if (e.key === "j" && (e.metaKey || e.ctrlKey)) { e.preventDefault(); setOpen((open) => !open); } }; document.addEventListener("keydown", down); return () => document.removeEventListener("keydown", down); }, []); return ( <> <p className="text-sm text-muted-foreground"> Press{" "} <kbd className="pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100"> <span className="text-xs">⌘</span>J </kbd> </p> <CommandDialog open={open} onOpenChange={setOpen}> <CommandInput placeholder="Type a command or search..." /> <CommandList> <CommandEmpty>No results found.</CommandEmpty> <CommandGroup heading="Suggestions"> <CommandItem> <FileQuestion className="mr-2 size-4" /> <span>Calendar</span> </CommandItem> <CommandItem> <FileQuestion className="mr-2 size-4" /> <span>Search Emoji</span> </CommandItem> </CommandGroup> <CommandSeparator /> <CommandGroup heading="Settings"> <CommandItem> <FileQuestion className="mr-2 size-4" /> <span>Profile</span> <CommandShortcut>⌘P</CommandShortcut> </CommandItem> <CommandItem> <FileQuestion className="mr-2 size-4" /> <span>Billing</span> <CommandShortcut>⌘B</CommandShortcut> </CommandItem> <CommandItem> <FileQuestion className="mr-2 size-4" /> <span>Settings</span> <CommandShortcut>⌘S</CommandShortcut> </CommandItem> </CommandGroup> </CommandList> </CommandDialog> </> ); }
Press ⌘J