Breadcrumb
Shows the user's location in a hierarchy, and lets them navigate to ancestor pages. Aligned with J&J DS v1.2 — linked items in brand blue, current item in near-black medium-weight. The default separator is a forward slash; override via separator.
Default — slash separator
Figma DS pattern (node 11381:82227). Brand blue links, black current, forward slash separator.
Show sourceHide source
<Breadcrumb
items={[
{ label: "Breadcrumb", href: "#" },
{ label: "Breadcrumb", href: "#" },
{ label: "Breadcrumb", href: "#" },
{ label: "Breadcrumb", current: true },
]}
/>With home icon
Pass `icon` on the first item to render an inline icon; any ReactNode works.
Show sourceHide source
<Breadcrumb
items={[
{ label: "Home", icon: <Icon icon={Home} size="xs" />, href: "/" },
{ label: "Design system", href: "#" },
{ label: "Components", current: true },
]}
/>Custom separator (chevron)
Override the separator slot with any ReactNode — a chevron matches some long-scroll content surfaces.
Show sourceHide source
<Breadcrumb
separator={<Icon icon={ChevronRight} size="xs" />}
items={[
{ label: "Studies", href: "#" },
{ label: "Enrollment", href: "#" },
{ label: "Daily", current: true },
]}
/>Overflow
Mark a middle item with `overflow: true` to render an ellipsis in its place. Pair with your own overflow menu for long trails.
Show sourceHide source
<Breadcrumb
items={[
{ label: "Root", href: "#" },
{ overflow: true, label: "" },
{ label: "Leaf", current: true },
]}
/>Truncation
Individual labels truncate after 240px via an inner span. Wrap the whole breadcrumb in a narrower container to see truncation in action.
Show sourceHide source
<div style={{ maxWidth: 320 }}>
<Breadcrumb items={[
{ label: "Studies", href: "#" },
{ label: "Very long sub-page name that should truncate", href: "#" },
{ label: "Leaf", current: true },
]} />
</div>