Components
Breadcrumb
Displays the path to the current resource using a hierarchy of links.
Preview
Installation
npx blackboard-ui@latest add breadcrumbUsage
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";
export default function Example() {
return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}Examples
Basic
A basic breadcrumb with a home link and a current page.
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Components</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>Custom Separator
Use a custom component as children for <BreadcrumbSeparator /> to create a custom separator.
import { Slash } from "lucide-react";
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator>
<Slash />
</BreadcrumbSeparator>
<BreadcrumbItem>
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator>
<Slash />
</BreadcrumbSeparator>
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>Dropdown
You can compose <BreadcrumbItem /> with a <DropdownMenu /> to create a dropdown in the breadcrumb.
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<DropdownMenuPrimitive.Root>
<DropdownMenuPrimitive.Trigger className="flex items-center gap-1">
<BreadcrumbEllipsis />
<span className="sr-only">Toggle menu</span>
</DropdownMenuPrimitive.Trigger>
<DropdownMenuPrimitive.Portal>
<DropdownMenuPrimitive.Content align="start" className="...">
<DropdownMenuPrimitive.Item>
Documentation
</DropdownMenuPrimitive.Item>
<DropdownMenuPrimitive.Item>
Themes
</DropdownMenuPrimitive.Item>
<DropdownMenuPrimitive.Item>
GitHub
</DropdownMenuPrimitive.Item>
</DropdownMenuPrimitive.Content>
</DropdownMenuPrimitive.Portal>
</DropdownMenuPrimitive.Root>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>Collapsed
Use <BreadcrumbEllipsis /> to show a collapsed state when the breadcrumb is too long.
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbEllipsis />
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>Link Component
To use a custom link component from your routing library, use the asChild prop on <BreadcrumbLink />.
import Link from "next/link";
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink asChild>
<Link href="/">Home</Link>
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink asChild>
<Link href="/components">Components</Link>
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>API Reference
Breadcrumb
The root navigation element that wraps all breadcrumb components.
| Prop | Type | Default |
|---|---|---|
| className | string | — |
BreadcrumbList
Displays the ordered list of breadcrumb items.
| Prop | Type | Default |
|---|---|---|
| className | string | — |
BreadcrumbItem
Wraps individual breadcrumb items.
| Prop | Type | Default |
|---|---|---|
| className | string | — |
BreadcrumbLink
Displays a clickable link in the breadcrumb.
| Prop | Type | Default |
|---|---|---|
| asChild | boolean | false |
| className | string | — |
BreadcrumbPage
Displays the current page in the breadcrumb (non-clickable).
| Prop | Type | Default |
|---|---|---|
| className | string | — |
BreadcrumbSeparator
Displays a separator between breadcrumb items. Pass custom children to override the default chevron icon.
| Prop | Type | Default |
|---|---|---|
| children | React.ReactNode | <ChevronRight /> |
| className | string | — |
BreadcrumbEllipsis
Displays an ellipsis indicator for collapsed breadcrumb items.
| Prop | Type | Default |
|---|---|---|
| className | string | — |