Fil d'Ariane
Le chemin de retour depuis la page consultée. Il est piloté par les données : une seule liste de segments, et le segment courant se déduit de l'adresse plutôt que d'être marqué à la main.
Utilisation
Exemples
Séparateur personnalisé
separatorIcon remplace le chevron dessiné entre deux segments, et accepte toute valeur d'icône.
Avec des icônes
Chaque segment accepte une icon, décorative à côté du libellé que lit un lecteur d'écran.
Troncature
Au-delà de maxItems, le fil garde son premier segment et ses deux derniers, et replie le reste derrière des points de suspension qui ouvrent un menu des segments masqués.
API
Props
| Prop | Type | Défaut |
|---|---|---|
items | BreadcrumbItem[] | aucune |
| Les segments du fil, ordonnés du plus général au plus profond. | ||
label | string | aucune |
| Le nom que les lecteurs d'écran annoncent pour cette navigation. Il retombe sur le dictionnaire du design system, dans la langue courante. | ||
currentPath | string | aucune |
L'adresse de la page affichée. Le segment dont le href lui correspond est le segment courant, même replié dans le menu. Une barre oblique finale, une requête ou une ancre d'un côté ou de l'autre ne changent rien : le chemin complet d'un routeur peut être passé tel quel. | ||
separatorIcon | IconSource | chevron_right |
| L'icône dessinée entre deux segments. Elle est retournée dans une page de droite à gauche. | ||
maxItems | number | aucune |
| La longueur au-delà de laquelle le fil se replie : il ne reste que le premier segment, un bouton de points de suspension et les deux derniers, le bouton ouvrant un menu qui liste les seuls segments masqués. En dessous de 3 il n'y aurait plus rien à replier : 3 est donc le minimum effectif. | ||
ellipsisLabel | string | aucune |
| Le nom que les lecteurs d'écran annoncent pour le bouton de points de suspension. Il retombe sur le dictionnaire du design system. | ||
Types
Les types que les tables ci-dessus nomment, écrits comme la librairie les déclare. Ceux qui portent export s'importent depuis vectis-ui pour typer votre propre code ; les autres décrivent la forme de ce qu'un slot fournit.
export interface BuiltinIcon {
name: string
paths: readonly [string] | readonly [string, string]
}export type IconRender =
| { path: string; viewBox?: string }
| { component: Component; props?: Record<string, unknown> }
| { src: string }
| { text: string; class?: string }
| { class: string }export type IconSource = string | BuiltinIcon | IconRender