shadcn.io is an independent project built on shadcn/ui
Command Bar drops from the top with a search field. Create new project, Open file, Search everywhere, and Settings each show a shortcut.
Use it for a few commands at the top of a phone layout. A full command menu belongs in Command. In Svelte, Ark UI does not run the command.
Installation
Anatomy

Usage
<Drawer swipeDirection="up"><DrawerTrigger>{#snippet asChild(props)}<Button {...props()} variant="outline"><CommandIcon aria-hidden="true" data-icon="inline-start" />Command Bar</Button>{/snippet}</DrawerTrigger><DrawerContent showBar={false}><DrawerTitle class="sr-only">Command Bar</DrawerTitle><div class="flex flex-col gap-4 p-4"><InputGroup class="h-12"><InputGroupInput aria-label="Command" class="text-base" placeholder="Type a command or search..." type="search" /><InputGroupAddon><CommandIcon aria-hidden="true" class="size-5" /></InputGroupAddon></InputGroup><div class="flex flex-col gap-1">{#each COMMANDS as command (command.label)}<Button class="justify-between" size="sm" variant="ghost">{command.label}<Kbd>{command.shortcut}</Kbd></Button>{/each}</div></div></DrawerContent></Drawer>FAQ
How is the command field built?
An Input Group, h-12, with an InputGroupInput of type="search" and aria-label="Command", and an InputGroupAddon holding the command icon after the input in the markup.
How are the commands listed?
From a static array of four: Create new project, Open file, Search everywhere and Settings. Each is a ghost Button with its label at the start and its shortcut in a Kbd at the end.
Does typing filter the commands?
Not in this demo: the field is uncontrolled. For a filterable list with arrow-key navigation, use a Command menu inside the drawer.
Do the shortcuts work?
No, the Kbds only show them. Register the key handlers yourself, and open the drawer from ⌘K if that's the shortcut you show.
API Reference
Drawer
Sets swipeDirection="up" and showBar={false}. The rest is on the Drawer page.
Button
Sets props, variant="outline", size="sm" and variant="ghost". The rest is on the Button page.
Input Group
Sets aria-label="Command", placeholder="Type a command or search..." and type="search". The rest is on the Input Group page.
Kbd
No extra props in this demo. The rest is on the Kbd page.





