Components
Displays the path to the current resource using a hierarchy of links.
Playground
aria-current="page" that represents where the user is now.import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@workspace/ui/components/breadcrumb"
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb><Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator>/</BreadcrumbSeparator>
<BreadcrumbItem>
<BreadcrumbLink href="/components">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator>/</BreadcrumbSeparator>
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@workspace/ui/components/dropdown-menu"
import { CaretDownIcon } from "@phosphor-icons/react"
<BreadcrumbItem>
<DropdownMenu>
<DropdownMenuTrigger className="flex items-center gap-1">
Components
<CaretDownIcon />
</DropdownMenuTrigger>
<DropdownMenuContent align="start">
<DropdownMenuItem>Documentation</DropdownMenuItem>
<DropdownMenuItem>Themes</DropdownMenuItem>
<DropdownMenuItem>GitHub</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</BreadcrumbItem>import { BreadcrumbEllipsis } from "@workspace/ui/components/breadcrumb"
<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>asChild to delegate rendering to your routing library's link — the breadcrumb styles land on the child element, so client-side navigation keeps working.import Link from "next/link"
<BreadcrumbItem>
<BreadcrumbLink asChild>
<Link href="/components">Components</Link>
</BreadcrumbLink>
</BreadcrumbItem>dir prop; a dir="rtl" ancestor is enough. The default caret separator flips to point along the reading direction via rtl:rotate-180.<div dir="rtl">
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/">الرئيسية</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/components">المكونات</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>شريط التنقل</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
</div><nav aria-label="breadcrumb"> landmark around an ordered list, so screen readers announce both the region and the number of levels. BreadcrumbPage carries aria-current="page" to mark the current location, separators are decorative (aria-hidden + role="presentation") and the ellipsis includes a visually hidden "More" label.<nav aria-label="breadcrumb">
<ol>
<li><a href="/">Home</a></li>
<li role="presentation" aria-hidden="true">›</li>
<li>
<span role="link" aria-disabled="true" aria-current="page">
Breadcrumb
</span>
</li>
</ol>
</nav>| Component | Prop | Default |
|---|---|---|
| Breadcrumb | ...props: ComponentProps<"nav"> | — |
| BreadcrumbList | ...props: ComponentProps<"ol"> | — |
| BreadcrumbItem | ...props: ComponentProps<"li"> | — |
| BreadcrumbLink | asChild?: boolean | false |
| BreadcrumbLink | href?: string | — |
| BreadcrumbPage | ...props: ComponentProps<"span"> | — |
| BreadcrumbSeparator | children?: ReactNode | caret icon |
| BreadcrumbEllipsis | ...props: ComponentProps<"span"> | — |
<Breadcrumb data-slot="breadcrumb" /> // <nav aria-label="breadcrumb"> <BreadcrumbList data-slot="breadcrumb-list" /> // <ol> <BreadcrumbItem data-slot="breadcrumb-item" /> // <li> <BreadcrumbLink data-slot="breadcrumb-link" /> // <a> <BreadcrumbPage data-slot="breadcrumb-page" /> // <span aria-current="page"> <BreadcrumbSeparator data-slot="breadcrumb-separator" /> // <li aria-hidden> <BreadcrumbEllipsis data-slot="breadcrumb-ellipsis" /> // <span aria-hidden>
Tokens used
4 design tokens consumed by the Breadcrumb component.
--muted-foreground
Muted Foreground
--foreground
Foreground
--text-sm
Text Small (14px)
--spacing
Spacing unit (4px)