ComponentsNavigation

Breadcrumb

Shows where a page sits in a hierarchy and offers a way up. Data-driven or compound, collapses long trails into a menu, jumps to sibling records, and outputs JSON-LD on websites.

Radix Dropdown Menu (hidden items, siblings) components/breadcrumb.tsxtheme · material · accent · density · font

Installation

$ pnpm add @vamos-ui/react

The whole kit as one package — get updates by bumping the version. Add the styles to globals.css: @import "@vamos-ui/react/styles.css";

Usage

import { Breadcrumb } from "@vamos-ui/react";

<Breadcrumb items={[
  { label: "Companies", href: "/companies" },
  { label: "Northpoint", href: "/companies/northpoint" },
  { label: "Contacts" },
]} />

Examples

Collapsed

maxItems keeps the first crumb and the last maxItems − 2; the middle goes into a "Show hidden pages" menu.

Sibling menu (CRM)

menu on an item adds a ⇅ button that jumps to sibling records without going up a level.

Sizes and separator

size sm for dense headers; separator replaces the chevron (which flips in RTL).

Compound API

Compose the parts for custom content. Long labels truncate at 16rem and keep the full text in title.

Website with JSON-LD

jsonLd outputs a schema.org BreadcrumbList; baseUrl makes the URLs absolute.

API

Breadcrumb

PropTypeDefault
items
Data-driven trail; the last item is the current page. Omit for the compound API.
{ label; href?; icon?; menu?: { label; href; current? }[] }[]—
maxItems
Collapse the middle when there are more items (first + last maxItems − 2 stay).
number—
separator
Separator between crumbs (hidden from assistive tech).
ReactNodeChevronRight
size
Text and icon size.
"sm" | "md""md"
jsonLd
Websites: output BreadcrumbList JSON-LD (items with href and a string label).
booleanfalse
baseUrl
Origin prepended to relative hrefs in the JSON-LD.
string—
labels
Overrides: nav name ("Breadcrumb"), "Show hidden pages", "Pages next to {label}".
{ label?; showHidden?; siblings? }—

BreadcrumbLink

PropTypeDefault
href
Rendered with the app's router Link; external URLs open in a new tab.
string—
icon
Leading icon.
ReactNode—
asChild
Render your own element with the crumb styles.
booleanfalse

BreadcrumbPage

PropTypeDefault
icon
Leading icon.
ReactNode—
aria-current
Pass undefined for a non-link crumb in the middle.
"page" | undefined"page"

BreadcrumbEllipsis

PropTypeDefault
items
Hidden crumbs offered in a menu. Without items it is a static "…".
{ label; href }[]—

BreadcrumbList · BreadcrumbItem · BreadcrumbSeparator

PropTypeDefault
…props
ol, li and the aria-hidden separator li.
HTML attributes—