Skip to main content
Elastic UI
Elastic UI
ComponentsPatternsContentData visualization
EUI ChangelogGitHubFigma
  • Guidelines
    • Getting started
    • Accessibility
    • Writing
    • Testing
  • Theming
    • Theme provider
    • Color mode
    • High contrast mode
    • Borders
    • Breakpoints
    • Colors
    • Sizing
    • Typography
  • Templates
    • Page template
    • Sitewide search
  • Layout
    • Accordion
    • Bottom bar
    • Flex
    • Flyout
    • Header
    • Horizontal rule
    • Modal
    • Page components
    • Page header
    • Panel
    • Popover
    • Resizable container
    • Spacer
  • Navigation
    • Breadcrumbs
    • Buttons
    • Collapsible nav
    • Context menu
    • Facet
    • Key pad menu
    • Link
    • Pagination
    • Side nav
    • Steps
    • Tabs
    • Tree view
  • Display
    • Aspect ratio
    • Avatar
    • Badge
    • Callout
    • Card
    • Comment list
    • Description list
    • Drag and drop
    • Empty prompt
    • Health
    • Icons
    • Image
    • List group
    • Loading
    • Progress
    • Skeleton
    • Stat
    • Text
    • Timeline
    • Title
    • Toast
    • Tooltip
    • Tour
  • Forms
    • Form controls
    • Form layouts
    • Form validation
    • Text controls
    • Numeric controls
    • Selection controls
    • Search and filter controls
    • Date and time controls
    • Other controls
  • Tabular content
    • Tables
    • Data grid
  • Editors & Syntax
    • Code
    • Markdown
  • Utilities
    • Accessibility
    • Auto sizer
    • Beacon
    • Color palettes
    • Copy
    • CSS utility classes
    • Delay
    • Error boundary
    • Focus trap
    • Highlight and mark
    • HTML ID generator
    • I18n
    • Inner text
    • Mutation observer
    • Outside click detector
    • Overlay mask
    • Portal
    • Pretty duration
    • Provider
    • Resize observer
    • Scroll
    • Text diff
    • Text truncation
    • Window events
  • EUI
  • Navigation
  • Breadcrumbs

Breadcrumbs

EuiBreadcrumbs let the user track their progress within and back out of a UX flow and work well when used in combination with

EuiPageHeader. They are meant to be used at lower page level flows, while EuiHeaderBreadcrumbs should be used for application-wide navigation.

See EuiTabs guidelines if your application requires breadcrumbs and tabs on the same view.

EuiBreadcrumbs requires an array of EuiBreadcrumb objects as

breadcrumbs and handles truncation, including middle-truncation in the case of many items, and mobile responsiveness. Each item accepts an href prop, though we recommend the last item represent the current page and therefore the link is unnecessary.

Accessibility recommendation

Provide a descriptive aria-label for each set of breadcrumbs.

Loading...

Limit the number of breadcrumbs

Use the max prop to collapse breadcrumbs beyond a certain number. The center breadcrumbs will collapse into a single item allowing the user to navigate these items from within a popover.

Loading...

Truncate each breadcrumb

EuiBreadcrumbs will truncate the full set by default, forcing it to a single line and setting a max width on all items except for the last. You can turn this off by setting truncate={false}.

Loading...

Alternatively, you can force truncation on single breadcrumb item by adding truncate: true to the object.

Loading...

Responsive

EuiBreadcrumbs are responsive by default and will collapse breadcrumbs on narrower screens. Setting responsive={false} will keep all breadcrumbs visible at all screens sizes.

Loading...

Alternatively, you can change number of breadcrumbs that show per breakpoint by passing a custom responsive object.

Loading...

Popover content

If you want a breadcrumb that toggles a popover, e.g. for an account switcher, you can use the popoverContent prop for this purpose. EuiBreadcrumbs will automatically handle rendering a popover indicator and popover accessibility best practices for you. We recommend using components such as EuiContextMenu or EuiListGroup for displaying popover options, or potentially EuiSelectable if you have many items that require filtering.

You may also pass popoverProps with almost any prop that EuiPopover accepts, such as customizing panelPaddingSize or anchorPosition. However, props that affect popover state such as closePopover, isOpen, and button are not accepted as they are controlled automatically by EuiBreadcrumbs.

If you need the ability to close the breadcrumb popover from within your popover content, popoverContent accepts a render function that will be passed a closePopover callback, which you can invoke to close the popover. See the Deployment breadcrumb below for example usage.

Creating a breadcrumb with a popover will nullify any passed href or onClick behavior, as the only interaction the breadcrumb should have at that point is the popover toggle.

Loading...

Props

EuiBreadcrumbs

𐘂𐘂
✄𐘗✄𐘗
Prop
↦
Description and type
↦
Default value
↵
Prop
breadcrumbs#
↦
Description and type

The array of individual #EuiBreadcrumb items

Type: EuiBreadcrumbProps[]
↦
Default value
Required
↵
Prop
className#
↦
Description and type
Type: string
↦
Default value
↵
Prop
aria-label#
↦
Description and type
Type: string
↦
Default value
↵
Prop
data-test-subj#
↦
Description and type
Type: string
↦
Default value
↵
Prop
css#
↦
Description and type
Type: Interpolation<Theme>
↦
Default value
↵
Prop
responsive#
↦
Description and type

Hides extra (above the max) breadcrumbs under a collapsed item as the window gets smaller.
Pass a custom #EuiBreadcrumbResponsiveMaxCount object to change the number of breadcrumbs to show at the particular breakpoints.

Pass false to turn this behavior off.

Default: { xs: 1, s: 2, m: 4 }

Type: boolean | EuiBreadcrumbResponsiveMaxCount
↦
Default value
{ xs: 1, s: 2, m: 4, }
↵
Prop
truncate#
↦
Description and type

Forces all breadcrumbs to single line and
truncates each breadcrumb to a particular width,
except for the last item

Type: boolean
↦
Default value
true
↵
Prop
max#
↦
Description and type

Collapses the inner items past the maximum set here
into a single ellipses item.
Omitting or passing a 0 value will show all breadcrumbs.

Type: number
↦
Default value
5
↵
Prop
type#
↦
Description and type

Determines breadcrumbs appearance, with page being the default styling.
Application breadcrumbs should only be once per page, in (e.g.) EuiHeader

Type: "page" | "application"
↦
Default value
page
↵
Prop
lastBreadcrumbIsCurrentPage#
↦
Description and type

Whether the last breadcrumb should be semantically highlighted as the
current page. (improves accessibility for screen readers users)
Defaults to true.

Type: boolean
↦
Default value
true
↵
𐘂𐘂
Edit this page

Previous
Spacer
Next
Buttons
  • Limit the number of breadcrumbs
  • Truncate each breadcrumb
  • Responsive
  • Popover content
  • Props
EUI is dual-licensed under Elastic License 2.0 and Server Side Public License, v 1 | Crafted with ❤ by Elastic