Navigation and disclosure · stable · MIT

Breadcrumb

Hierarchy navigation with current-page and collapsed-path parts.

Install editable source

Add Breadcrumb

Base UI / canonicalnpx shadcn@latest add https://gummyui.dev/r/gummy-breadcrumb.json

No package dependency beyond React. Shared Gummy material is resolved automatically.

Behavior contract

Semantics before surface

Semantics

A labelled nav containing an ordered list and aria-current page.

Keyboard

Native link behavior.

System support

Light and dark themes, logical RTL layout, reduced motion, responsive content, and forwarded public refs.

Source-derived reference

Anatomy and public API

Exported anatomy

These public React parts are read directly from the canonical source during the documentation build.

  • GummyBreadcrumb
  • GummyBreadcrumbEllipsis
  • GummyBreadcrumbItem
  • GummyBreadcrumbLink
  • GummyBreadcrumbPage
  • GummyBreadcrumbSeparator

Prop contracts

GummyBreadcrumbProps

Composes React.HTMLAttributes<HTMLElement> & { label?: string; }

Troubleshooting

Check behavior before surface.

Implementation decisions

When to use Breadcrumb

Use breadcrumbs for a real hierarchy, not as a duplicate of browser history or the primary navigation. Each ancestor should link to its canonical level, while the current page remains clearly identified without a misleading link. Shorten presentation only when the full hierarchy is still available to assistive technology. Test deep paths, long translated labels, narrow screens, keyboard focus, and structured metadata against the visible trail.

Live product source

Inspect the canonical states

The Component Lab exercises real source across default, focus, disabled, responsive, dark, reduced-motion, and RTL contexts.

Open the live Component Lab

Interactive inspection

Try Breadcrumb in context

Load the real component preview when you are ready to interact with its responsive, theme, and direction controls.

Editable source

Read before you install

Canonical Base UI or native source

The registry payload stays off the initial page request.