Breadcrumb

Breadcrumb - Phlex implementation

Examples

Default

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

<%= render "ui/breadcrumb" do %>
  <%= render "ui/breadcrumb/list" do %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/" do %>Home<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/components" do %>Components<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/page" do %>Breadcrumb<% end %>
    <% end %>
  <% end %>
<% end %>

Custom Separator

Use a custom separator character.

<%= render "ui/breadcrumb" do %>
  <%= render "ui/breadcrumb/list" do %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/" do %>Home<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" do %><span class="text-muted-foreground">/</span><% end %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/docs" do %>Docs<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" do %><span class="text-muted-foreground">/</span><% end %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/page" do %>Components<% end %>
    <% end %>
  <% end %>
<% end %>

Responsive with Dropdown

Collapse intermediate items into a dropdown menu for long breadcrumb paths.

<%= render "ui/breadcrumb" do %>
  <%= render "ui/breadcrumb/list" do %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/" do %>Home<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/dropdown_menu" do %>
        <%= render "ui/dropdown_menu/trigger", classes: "flex items-center gap-1" do %>
          <%= render "ui/breadcrumb/ellipsis" %>
          <span class="sr-only">Toggle menu</span>
        <% end %>
        <%= render "ui/dropdown_menu/content", align: "start" do %>
          <%= render "ui/dropdown_menu/item" do %><a href="/docs">Documentation</a><% end %>
          <%= render "ui/dropdown_menu/item" do %><a href="/docs/themes">Themes</a><% end %>
          <%= render "ui/dropdown_menu/item" do %><a href="/docs/github">GitHub</a><% end %>
        <% end %>
      <% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/components" do %>Components<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/page" do %>Breadcrumb<% end %>
    <% end %>
  <% end %>
<% end %>

Collapsed

Show an ellipsis when the breadcrumb path is too long.

<%= render "ui/breadcrumb" do %>
  <%= render "ui/breadcrumb/list" do %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/" do %>Home<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/ellipsis" %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/link", href: "/docs/components" do %>Components<% end %>
    <% end %>
    <%= render "ui/breadcrumb/separator" %>
    <%= render "ui/breadcrumb/item" do %>
      <%= render "ui/breadcrumb/page" do %>Breadcrumb<% end %>
    <% end %>
  <% end %>
<% end %>

Features

  • ARIA attributes for accessibility

API Reference

Breadcrumb

A navigation breadcrumb component for displaying hierarchical navigation.

Ellipsis

Indicator for collapsed/hidden breadcrumb items.

Item

Individual breadcrumb entry within the breadcrumb list.

Link

Clickable breadcrumb link for navigation.

Parameters

NameTypeDefaultDescription
hrefString#The href

List

Container for breadcrumb items, rendered as an ordered list.

Page

Current page indicator (non-clickable) for breadcrumbs.

Separator

Visual divider between breadcrumb items with default chevron icon.

Accessibility

Implements the WAI-ARIA Breadcrumb pattern with proper roles, states, and keyboard navigation.

ARIA Attributes

  • aria-label