A breadcrumb is a small text path, often located at the top of a page indicating where the user is on the site. It allows users to keep track of and maintain awareness of their location. This breadcrumb trail immediately shows you where you are.
Breadcrumbs are visible on each page excluding the homepage, checkout, or page, which is the first one if the homepage link is not present in the breadcrumb trail. In some designs, breadcrumbs could be possibly removed from some pages, mobile view, etc.
The breadcrumbs should be displayed in the following state:
<aside> ℹ️ Usually, styling this element takes from-to: 2-4h
</aside>
An example display of the breadcrumbs element
<aside> 💡 Note, if you are a developer, you should implement the designs and point out if something is unclear. Below Issues with the design are issues done by the designers. Here is a link if you want to see issues done by developers during implementation
</aside>
The breadcrumbs styles are defined in the Breadcrumb
and Breadcrumbs
components.
scandipwa override component Breadcrumb
scandipwa override component Breadcrumbs
Possibly you will need to replace ChevronIcon
which is used as an arrow between breadcrumbs with another SVG, do not change ChevronIcon
because it is a global icon that is used also in dropdowns and arrows in sliders but create a new component for that icon to make it reusable across the project, however, if that arrow is the same in the designs as for dropdowns and sliders, ChevronIcon can be rewritten and used in Breadcrumbs
.
<aside>
➡️ Do not use hardcoded fill
, stroke
, strokeWidth
, etc, creating a new SVG icon component, instead add none
to make it editable through styles.
</aside>
Breadcrumbs
are rendered in the Router
component for each page that has breadcrumbs, sometimes designs require Breadcrumbs
placement under the main tag, therefore custom adjustments are needed:
Breadcrumbs
from the Router
and render component for each route separately;Breadcrumbs
for a specific route and passing custom prop, checking by id or className ended inside main.