# V command 13

> Go-to-page palette with shortcut hints and arrow icon for unbound items

A shadcn/ui block from the [@cnippet](https://ui.cnippet.dev/) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/cnippet/v-command-13).

- Page, with a live preview: https://shadcn.exchange/r/cnippet/v-command-13
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/cnippet/v-command-13-light-2878b905b714931c.png
- Registry item: https://ui.cnippet.dev/r/v-command-13.json
- Categories: command
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://ui.cnippet.dev/r/v-command-13.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `@cnippet/command`

## Files

### `registry/default/variants/v-command-13.tsx`

```tsx
"use client";

import {
  ArrowRightIcon,
  GlobeIcon,
  LayoutDashboardIcon,
  MessageSquareIcon,
  PackageIcon,
  SettingsIcon,
  UsersIcon,
} from "lucide-react";
import { Fragment, useState } from "react";
import { Button } from "@/registry/default/ui/button";
import {
  Command,
  CommandCollection,
  CommandDialog,
  CommandDialogPopup,
  CommandDialogTrigger,
  CommandEmpty,
  CommandGroup,
  CommandGroupLabel,
  CommandInput,
  CommandItem,
  CommandList,
  CommandPanel,
  CommandSeparator,
  CommandShortcut,
} from "@/registry/default/ui/command";
import { Kbd } from "@/registry/default/ui/kbd";

type NavItem = {
  icon: React.ReactNode;
  label: string;
  shortcut?: string;
  value: string;
};
type NavGroup = { items: NavItem[]; label: string; value: string };

const nav: NavGroup[] = [
  {
    items: [
      {
        icon: <LayoutDashboardIcon className="size-4" />,
        label: "Dashboard",
        shortcut: "G D",
        value: "dashboard",
      },
      {
        icon: <UsersIcon className="size-4" />,
        label: "Users",
        shortcut: "G U",
        value: "users",
      },
      {
        icon: <PackageIcon className="size-4" />,
        label: "Products",
        shortcut: "G P",
        value: "products",
      },
      {
        icon: <MessageSquareIcon className="size-4" />,
        label: "Messages",
        value: "messages",
      },
    ],
    label: "Navigation",
    value: "nav",
  },
  {
    items: [
      {
        icon: <SettingsIcon className="size-4" />,
        label: "Settings",
        shortcut: "G S",
        value: "settings",
      },
      {
        icon: <GlobeIcon className="size-4" />,
        label: "Domains",
        value: "domains",
      },
    ],
    label: "Admin",
    value: "admin",
  },
];

export default function Particle() {
  const [open, setOpen] = useState(false);

  return (
    <CommandDialog onOpenChange={setOpen} open={open}>
      <CommandDialogTrigger render={<Button variant="outline" />}>
        Go to page...
        <Kbd>G</Kbd>
      </CommandDialogTrigger>
      <CommandDialogPopup>
        <Command items={nav}>
          <CommandInput placeholder="Go to..." />
          <CommandPanel>
            <CommandEmpty>Page not found.</CommandEmpty>
            <CommandList>
              {(group: NavGroup, i: number) => (
                <Fragment key={group.value}>
                  {i > 0 && <CommandSeparator />}
                  <CommandGroup items={group.items}>
                    <CommandGroupLabel>{group.label}</CommandGroupLabel>
                    <CommandCollection>
                      {(item: NavItem) => (
                        <CommandItem
                          className="gap-2"
                          key={item.value}
                          onSelect={() => setOpen(false)}
                          value={item.value}
                        >
                          {item.icon}
                          <span className="flex-1">{item.label}</span>
                          {item.shortcut ? (
                            <CommandShortcut>{item.shortcut}</CommandShortcut>
                          ) : (
                            <ArrowRightIcon className="size-3.5 text-muted-foreground" />
                          )}
                        </CommandItem>
                      )}
                    </CommandCollection>
                  </CommandGroup>
                </Fragment>
              )}
            </CommandList>
          </CommandPanel>
        </Command>
      </CommandDialogPopup>
    </CommandDialog>
  );
}
```
