Aller au contenu

Breadcrumb

Fil d’Ariane de navigation affichant l’emplacement hiérarchique.

import { Breadcrumb } from 'asterui'

Breadcrumb basique

Navigation simple par fil d'Ariane.

import { Breadcrumb } from 'asterui'

function App() {
  return (
      <Breadcrumb>
        <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
        <Breadcrumb.Item href="/documents">Documents</Breadcrumb.Item>
        <Breadcrumb.Item>Add Document</Breadcrumb.Item>
      </Breadcrumb>
    )
}

export default App

Avec icônes

Fil d'Ariane avec icônes.

import { Breadcrumb } from 'asterui'
import { FolderIcon, DocumentTextIcon } from '@aster-ui/icons'

function App() {
  return (
      <Breadcrumb>
        <Breadcrumb.Item href="/" icon={<FolderIcon size="sm" />}>
          Home
        </Breadcrumb.Item>
        <Breadcrumb.Item href="/documents" icon={<FolderIcon size="sm" />}>
          Documents
        </Breadcrumb.Item>
        <Breadcrumb.Item icon={<DocumentTextIcon size="sm" />}>
          Add Document
        </Breadcrumb.Item>
      </Breadcrumb>
    )
}

export default App

Séparateur personnalisé

Utiliser une chaîne ou un nœud React comme séparateur.

import { Breadcrumb } from 'asterui'
import { ChevronRightIcon } from '@aster-ui/icons'

function App() {
  return (
      <div className="space-y-4">
        <Breadcrumb separator="/">
          <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
          <Breadcrumb.Item href="/products">Products</Breadcrumb.Item>
          <Breadcrumb.Item>Details</Breadcrumb.Item>
        </Breadcrumb>
        <Breadcrumb separator={<ChevronRightIcon size="sm" />}>
          <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
          <Breadcrumb.Item href="/products">Products</Breadcrumb.Item>
          <Breadcrumb.Item>Details</Breadcrumb.Item>
        </Breadcrumb>
      </div>
    )
}

export default App

Piloté par données

Utiliser la prop items pour des fils d'Ariane pilotés par données.

import { Breadcrumb } from 'asterui'

function App() {
  return (
      <Breadcrumb
        items={[
          { title: 'Home', href: '/' },
          { title: 'Products', href: '/products' },
          { title: 'Category', href: '/products/category' },
          { title: 'Item Details' },
        ]}
      />
    )
}

export default App

Largeur maximale avec défilement

Fil d'Ariane avec défilement en cas de débordement.

import { Breadcrumb } from 'asterui'

function App() {
  return (
      <Breadcrumb className="max-w-xs">
        <Breadcrumb.Item href="/">Home</Breadcrumb.Item>
        <Breadcrumb.Item href="/documents">Documents</Breadcrumb.Item>
        <Breadcrumb.Item href="/projects">Projects</Breadcrumb.Item>
        <Breadcrumb.Item href="/team">Team</Breadcrumb.Item>
        <Breadcrumb.Item>Add New Member</Breadcrumb.Item>
      </Breadcrumb>
    )
}

export default App
PropriétéDescriptionTypeDéfaut
childrenComposants Breadcrumb.Item (modèle composé)React.ReactNode-
itemsDonnées des éléments de fil d’Ariane (modèle piloté par données)BreadcrumbItemType[]-
separatorSéparateur personnalisé entre les élémentsReact.ReactNode"/"
classNameClasses CSS supplémentairesstring-
data-testidID de test pour les testsstring-
PropriétéDescriptionTypeDéfaut
titleTitre/libellé de l’élémentReact.ReactNode-
hrefURL du lienstring-
onClickGestionnaire de clic() => void-
classNameClasse CSS personnaliséestring-
data-testidID de test pour les testsstring-
PropriétéDescriptionTypeDéfaut
childrenContenu de l’élément (texte ou éléments)React.ReactNode-
hrefURL du lien (rend l’élément cliquable)string-
onClickGestionnaire de clic (rend l’élément cliquable)() => void-
iconIcône à afficher avant le libelléReact.ReactNode-
classNameClasses CSS supplémentairesstring-
data-testidID de test pour les testsstring-
  • Omettre href/onClick sur le dernier élément pour afficher l’emplacement actuel
  • Utiliser des classes max-width pour activer le défilement horizontal
  • Ajouter des icônes en utilisant la prop icon sur Breadcrumb.Item