Capítulo 37 de 108
Displays the path to the current resource using a hierarchy of links. Use for navigation trails in nested pages (e.g. Home > Components > Breadcrumb).
render prop: BreadcrumbLink uses render={<a href="#" />} (or render={<Link href="/" />} for Next.js) to swap in a custom link component from any routing library, instead of a dedicated as/asChild prop.BreadcrumbPage: marks the current (non-clickable) page, distinct from BreadcrumbLink.BreadcrumbSeparator: renders a default separator icon; accepts custom children (e.g. <DotIcon />) to override it.BreadcrumbEllipsis: collapsed-state indicator for long breadcrumb trails, typically paired with a DropdownMenu to reveal hidden items.dir: Breadcrumb accepts dir for RTL; propagate to nested DropdownMenuContent's align too (align={dir === "rtl" ? "end" : "start"}).<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="#">Home</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="#">Components</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
BreadcrumbPage (não BreadcrumbLink) para a página atual.<BreadcrumbItem>
<DropdownMenu>
<DropdownMenuTrigger render={<button className="flex items-center gap-1" />}>
Components
<ChevronDownIcon data-icon="inline-end" className="size-3.5" />
</DropdownMenuTrigger>
<DropdownMenuContent align="start">
<DropdownMenuGroup>
<DropdownMenuItem>Documentation</DropdownMenuItem>
<DropdownMenuItem>Themes</DropdownMenuItem>
<DropdownMenuItem>GitHub</DropdownMenuItem>
</DropdownMenuGroup>
</DropdownMenuContent>
</DropdownMenu>
</BreadcrumbItem>
BreadcrumbItem para navegação com múltiplas opções no mesmo nível.<BreadcrumbLink render={<Link href="/components" />}>
Components
</BreadcrumbLink>
next/link (ou qualquer router) via render, evitando full page reload.Breadcrumb
└── BreadcrumbList
├── BreadcrumbItem
│ └── BreadcrumbLink
├── BreadcrumbSeparator
├── BreadcrumbItem
│ └── BreadcrumbLink
├── BreadcrumbSeparator
└── BreadcrumbItem
└── BreadcrumbPage
| Componente | Props relevantes |
|---|---|
Breadcrumb | className |
BreadcrumbList | className |
BreadcrumbItem | className |
BreadcrumbLink | className, render (custom link component) |
BreadcrumbPage | className (não clicável, representa página atual) |
BreadcrumbSeparator | children (separador custom), className |
BreadcrumbEllipsis | className (indicador de colapso) |
BreadcrumbLink na página atual: a última entrada deve ser BreadcrumbPage, não BreadcrumbLink, para não sugerir que a página atual é clicável.render e usar href cru com router client-side: em Next.js/routers SPA, usar render={<Link .../>} evita reload completo; href puro (<a>) é só para navegação simples.Link, React Router, etc.) entra via prop render em BreadcrumbLink, não via prop dedicada.BreadcrumbEllipsis + DropdownMenu é o padrão para colapsar trilhas longas.children a BreadcrumbSeparator (ex: <DotIcon /> em vez do ícone padrão).dir para Breadcrumb e ajustar align do DropdownMenuContent manualmente.BreadcrumbItem para expandir opções ou itens colapsados.Breadcrumb no header de layouts com sidebar.