Breadcrumbs
The Breadcrumb
component is a wayfinding element that helps make users aware of their current location within an application or website.
Examples
Breadcrumbs
Usage
React
View source
import "agnostic-react/dist/common.min.css";
import "agnostic-react/dist/esm/index.css";
import { Breadcrumb } from "agnostic-react";
const trailOfTennisRoutes = [
{
label: "Tennis",
url: "#tennis",
},
{
label: "Superstars",
url: "#tennis-superstars",
},
{
label: "Serena Williams",
url: "#tennis-superstars-serena",
},
];
export const YourComponent = () => (
<>
<h2 className="mbs40 mbe24">Breadcrumbs</h2>
<div class="mbs24 mbe16">
<Breadcrumb routes={ trailOfTennisRoutes } />
<Breadcrumb
type="slash"
routes={ trailOfTennisRoutes }
/>
<Breadcrumb
type="bullet"
routes={ trailOfTennisRoutes }
/>
<Breadcrumb
type="arrow"
routes={ trailOfTennisRoutes }
/>
<Breadcrumb routes={[{ label: 'A single route looks "link-less"' }]} />
<Breadcrumb routes={[{label: 'First', url: '#foo'}, { label: 'Second', url: '#bar' }]} />
</div>
</>
)
React: component source, storybook tests
Vue 3
View source
<script setup>
// Import AgnosticUI global common & component CSS
import "agnostic-vue/dist/common.min.css";
import "agnostic-vue/dist/index.css";
import { Breadcrumb } from "agnostic-vue";
const trailOfTennisRoutes = [
{
label: "Tennis",
url: "#tennis",
},
{
label: "Superstars",
url: "#tennis-superstars",
},
{
label: "Serena Williams",
url: "#tennis-superstars-serena",
},
];
</script>
<template>
<h2>Breadcrumbs</h2>
<div class="mbs24 mbe16">
<Breadcrumb :routes="trailOfTennisRoutes" />
<Breadcrumb
type="slash"
:routes="trailOfTennisRoutes"
/>
<Breadcrumb
type="bullet"
:routes="trailOfTennisRoutes"
/>
<Breadcrumb
type="arrow"
:routes="trailOfTennisRoutes"
/>
<Breadcrumb :routes="[{ label: 'A single route will look *linkless*' }]" />
<Breadcrumb :routes="[{label: 'First', url: '#foo'}, { label: 'Second', url: '#bar' }]" />
</div>
</template>
Vue 3: component source, storybook tests
Svelte
View source
<script>
import 'agnostic-svelte/css/common.min.css';
import { Breadcrumb } from "agnostic-svelte";
const trailOfTennisRoutes = [
{
label: "Tennis",
url: "#tennis",
},
{
label: "Superstars",
url: "#tennis-superstars",
},
{
label: "Serena Williams",
url: "#tennis-superstars-serena",
},
];
</script>
<section>
<h2 class="mbs40 mbe24">Breadcrumbs</h2>
<div class="mbs24 mbe16">
<Breadcrumb routes={ trailOfTennisRoutes } />
<Breadcrumb
type="slash"
routes={ trailOfTennisRoutes }
/>
<Breadcrumb
type="bullet"
routes={ trailOfTennisRoutes }
/>
<Breadcrumb
type="arrow"
routes={ trailOfTennisRoutes }
/>
<Breadcrumb routes={[{ label: 'A single route will look *linkless*' }]} />
<Breadcrumb routes={[{label: 'First', url: '#foo'}, { label: 'Second', url: '#bar' }]} />
</div>
</section>
Svelte: component source, storybook tests
Angular (Experimental)
View source
In your Angular configuration (likely angular.json
) ensure you're including the common AgnosticUI styles:
"styles": ["agnostic-angular/common.min.css"],
Add AgnosticUI's AgModule
module:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AgModule } from 'agnostic-angular';
import { AppComponent } from './app.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, AgModule],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
Now you can use in your components:
import { Component } from '@angular/core';
@Component({
selector: 'your-component',
template: `<section>
<h2>Breadcrumbs</h2>
<ag-breadcrumb
[routes]="[{ label: 'Tennis', url: '#tennis'}, { label: 'Superstars', url: '#tennis-superstars' }, { label: 'Serena Williams', url: '#tennis-superstars-serena' }]">
</ag-breadcrumb>
<ag-breadcrumb type="bullet"
[routes]="[{ label: 'Tennis', url: '#tennis'}, { label: 'Superstars', url: '#tennis-superstars' }, { label: 'Serena Williams', url: '#tennis-superstars-serena' }]">
</ag-breadcrumb>
<ag-breadcrumb type="arrow"
[routes]="[{ label: 'Tennis', url: '#tennis'}, { label: 'Superstars', url: '#tennis-superstars' }, { label: 'Serena Williams', url: '#tennis-superstars-serena' }]">
</ag-breadcrumb>
<ag-breadcrumb [routes]="[{ label: 'A single route will look *linkless*' }]"></ag-breadcrumb>
<ag-breadcrumb [routes]="[{label: 'First', url: '#foo'}, { label: 'Second', url: '#bar' }]"></ag-breadcrumb>
</section>`
})
export class YourComponent {}
Angular: component source, storybook tests
Storybook
You can run the framework Storybooks and see live examples for React, Vue 3, Svelte, Astro, and Angular (experimental). The following will set up Storybook and run locally:
How to run Storybook
git clone git@github.com:AgnosticUI/agnosticui.git
cd agnosticui/<PACKAGE_NAME> && npm i # e.g. cd agnosticui/agnostic-react && npm i
npm run storybook
See Running Storybook.