# V breadcrumb 15

> Compact breadcrumb with ellipsis and hidden-items count badge

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

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

## Install

```bash
npx shadcn@latest add https://ui.cnippet.dev/r/v-breadcrumb-15.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/breadcrumb`

## Files

### `registry/default/variants/v-breadcrumb-15.tsx`

```tsx
import { HouseIcon } from "lucide-react";
import Link from "next/link";
import { Badge } from "@/registry/default/ui/badge";
import {
  Breadcrumb,
  BreadcrumbEllipsis,
  BreadcrumbItem,
  BreadcrumbLink,
  BreadcrumbList,
  BreadcrumbPage,
  BreadcrumbSeparator,
} from "@/registry/default/ui/breadcrumb";
import { Button } from "@/registry/default/ui/button";
import {
  Menu,
  MenuItem,
  MenuPopup,
  MenuTrigger,
} from "@/registry/default/ui/menu";

const hidden = [
  { href: "#", label: "Dashboard" },
  { href: "#", label: "Settings" },
  { href: "#", label: "Integrations" },
];

export function Pattern() {
  return (
    <Breadcrumb>
      <BreadcrumbList className="sm:gap-1.5">
        <BreadcrumbItem>
          <BreadcrumbLink className="flex items-center gap-1" href="#">
            <HouseIcon className="size-4" />
            <span className="sr-only sm:not-sr-only">Home</span>
          </BreadcrumbLink>
        </BreadcrumbItem>

        <BreadcrumbSeparator />

        <BreadcrumbItem>
          <Menu>
            <MenuTrigger
              render={
                <Button
                  className="-m-1.5 gap-1 text-muted-foreground"
                  size="icon-sm"
                  variant="ghost"
                />
              }
            >
              <BreadcrumbEllipsis />
              <Badge
                className="hidden sm:inline-flex"
                size="sm"
                variant="secondary"
              >
                {hidden.length}
              </Badge>
            </MenuTrigger>
            <MenuPopup align="start">
              {hidden.map((item) => (
                <MenuItem key={item.label} render={<Link href={item.href} />}>
                  {item.label}
                </MenuItem>
              ))}
            </MenuPopup>
          </Menu>
        </BreadcrumbItem>

        <BreadcrumbSeparator />

        <BreadcrumbItem>
          <BreadcrumbPage className="font-medium">Notifications</BreadcrumbPage>
        </BreadcrumbItem>
      </BreadcrumbList>
    </Breadcrumb>
  );
}
```
