NOCTA

Breadcrumb

Displays the path to the current resource using a hierarchy of links.

Installation

Terminal
npx nocta-ui add breadcrumb

Introduction

A breadcrumb trail on a page indicates the page's position in the site hierarchy. A user can navigate all the way up in the site hierarchy, one level at a time, by following the breadcrumb trail.

Anatomy

Import the breadcrumb primitives from @/components/ui/breadcrumb.

import {
  Breadcrumb,
  BreadcrumbList,
  BreadcrumbItem,
  BreadcrumbLink,
  BreadcrumbPage,
  BreadcrumbSeparator,
  BreadcrumbEllipsis,
} from "@/components/ui/breadcrumb"
<Breadcrumb>
  <BreadcrumbList>
    <BreadcrumbItem>
      <BreadcrumbLink href="/">Home</BreadcrumbLink>
    </BreadcrumbItem>
    <BreadcrumbSeparator />
    <BreadcrumbItem>
      <BreadcrumbLink href="/docs">Documentation</BreadcrumbLink>
    </BreadcrumbItem>
    <BreadcrumbSeparator />
    <BreadcrumbItem>
      <BreadcrumbPage>Components</BreadcrumbPage>
    </BreadcrumbItem>
  </BreadcrumbList>
</Breadcrumb>

Usage

Basic

Custom Separator

You can customize the separator between breadcrumb items.

With Icons

You can include icons in your breadcrumb links.

With Ellipsis

For long paths, you can use ellipsis to truncate the breadcrumb.

Sizes

The breadcrumb component supports three sizes: sm, md (default), and lg.

Small

Medium (Default)

Large

Ghost Variant

Use the ghost variant for a more subtle appearance.

API Reference

The root container for breadcrumb navigation.

PropTypeDefaultDescription
size"sm" | "md" | "lg""md"The size of the breadcrumb
separatorReact.ReactNode"/"Default separator between items
classNamestringundefinedAdditional CSS classes

Contains the list of breadcrumb items.

PropTypeDefaultDescription
size"sm" | "md" | "lg"InheritedOverride the size from context
classNamestringundefinedAdditional CSS classes

A wrapper for individual breadcrumb items.

PropTypeDefaultDescription
size"sm" | "md" | "lg"InheritedOverride the size from context
classNamestringundefinedAdditional CSS classes

A navigable link in the breadcrumb trail.

PropTypeDefaultDescription
variant"default" | "ghost""default"The visual style of the link
size"sm" | "md" | "lg"InheritedOverride the size from context
asChildbooleanfalseRender as child component
classNamestringundefinedAdditional CSS classes

Represents the current page in the breadcrumb trail.

PropTypeDefaultDescription
size"sm" | "md" | "lg"InheritedOverride the size from context
classNamestringundefinedAdditional CSS classes

A separator between breadcrumb items.

PropTypeDefaultDescription
size"sm" | "md" | "lg"InheritedOverride the size from context
childrenReact.ReactNodeInheritedCustom separator content
classNamestringundefinedAdditional CSS classes

An ellipsis indicator for truncated breadcrumb paths.

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes

Accessibility

The breadcrumb component is built with accessibility in mind:

  • Uses semantic HTML with nav and ol elements
  • Includes proper ARIA labels and roles
  • Supports keyboard navigation
  • Screen reader friendly with appropriate labels
  • Current page is marked with aria-current="page"

Usage Notes

  1. Current Page: Always use BreadcrumbPage for the current page, never BreadcrumbLink
  2. Separators: Place BreadcrumbSeparator between each breadcrumb item
  3. Icons: Icons work best with the ghost variant for better visual balance
  4. Truncation: Use BreadcrumbEllipsis for paths longer than 4-5 items
  5. Navigation: Links should use actual navigation (href) for better accessibility