Skip to main content

Breadcrumb

A breadcrumb displays the user’s current location within a sequence of pages and enables them to navigate backwards through it.

Overview

GitHub Workflow Status GitHub Workflow Status

pie-breadcrumb is a Web Component built using Lit. It offers a simple and accessible breadcrumb navigation component for web applications. The component exports a sub-component called pie-breadcrumb-item which is used to create individual items within the breadcrumb.

This component can be easily integrated into various frontend frameworks and customised through a set of properties.

Installation

To install pie-breadcrumb in your application, run the following on your command line:

npm i @justeattakeaway/pie-webc
yarn add @justeattakeaway/pie-webc

Props

pie-breadcrumb Props

PropOptionsDescriptionDefault
variant"default"
"scrim"
Sets the variant of the breadcrumb."default"
isCompacttrue
false
If true, renders a compact variation of the breadcrumb.false
hideCurrentPagetrue
false
If true, hides the current page of the breadcrumb (last item).false

pie-breadcrumb-item Props

PropOptionsDescriptionDefault
hrefstring
The URL that the breadcrumb item links to.undefined
targetstring
Where to display the linked URL such as "_self", "_blank", "_parent", or "_top".undefined

Slots

ComponentSlotDescription
pie-breadcrumbdefault
The default slot is used to pass pie-breadcrumb-item elements into the breadcrumb component.
pie-breadcrumb-itemdefault
The default slot is used to pass text into the breadcrumb item.

Events

This component does not emit any custom events. In order to add event listening to this component, you can treat it like a native HTML element in your application.

Examples

For HTML:

// import as module into a js file e.g. main.js
import '@justeattakeaway/pie-webc/components/breadcrumb.js'
import '@justeattakeaway/pie-webc/components/breadcrumb-item.js'
<!-- pass js file into <script> tag -->
<pie-breadcrumb>
  <pie-breadcrumb-item href="/">Home</pie-breadcrumb-item>
  <pie-breadcrumb-item href="/category">Category</pie-breadcrumb-item>
  <pie-breadcrumb-item>Current Page</pie-breadcrumb-item>
</pie-breadcrumb>
<script type="module" src="/main.js"></script>

For Native JS Applications, Vue, Angular, Svelte etc.:

// Vue templates (using Nuxt 3)
import '@justeattakeaway/pie-webc/components/breadcrumb.js';
import '@justeattakeaway/pie-webc/components/breadcrumb-item.js';

<pie-breadcrumb>
  <pie-breadcrumb-item href="/">Home</pie-breadcrumb-item>
  <pie-breadcrumb-item href="/category">Category</pie-breadcrumb-item>
  <pie-breadcrumb-item>Current Page</pie-breadcrumb-item>
</pie-breadcrumb>

For React Applications:

import { PieBreadcrumb } from '@justeattakeaway/pie-webc/react/breadcrumb.js';
import { PieBreadcrumbItem } from '@justeattakeaway/pie-webc/react/breadcrumb-item.js';

<PieBreadcrumb>
  <PieBreadcrumbItem href="/">Home</PieBreadcrumbItem>
  <PieBreadcrumbItem href="/category">Category</PieBreadcrumbItem>
  <PieBreadcrumbItem>Current Page</PieBreadcrumbItem>
</PieBreadcrumb>

Changelog