|
| 1 | +# Fil d’ariane - DsfrBreadcrumb |
| 2 | + |
| 3 | +## 🌟 Introduction |
| 4 | + |
| 5 | +Bienvenue à la documentation du composant DsfrBreadcrumb ! Ce composant est un véritable GPS pour vos interfaces utilisateur, guidant les utilisateurs à travers les différents niveaux de votre application avec aisance et élégance. Utilisons TypeScript et Vue pour explorer ses fonctionnalités. |
| 6 | + |
| 7 | +Le fil d’Ariane est un système de navigation secondaire qui permet à l’utilisateur de se situer sur le site qu’il consulte. |
| 8 | + |
| 9 | +🏅 La documentation sur le fil d’Ariane sur le [DSFR](https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/fil-d-ariane) |
| 10 | + |
| 11 | +<VIcon name="vi-file-type-storybook" /> La story sur le fil d’Ariane sur le storybook de [VueDsfr](https://vue-dsfr.netlify.app/?path=/docs/composants-dsfrbreadcrumb--docs) |
| 12 | + |
| 13 | +## 📐 Structure |
| 14 | + |
| 15 | +Dans l’ordre, il se compose des éléments suivants : |
| 16 | + |
| 17 | +- un lien menant à la racine du site (page d’accueil) - obligatoire ; |
| 18 | +- des liens vers les pages séparant la racine du site de la page courante - obligatoire si la hiérarchie du site comporte plus d’un niveau ; |
| 19 | +- la page courante, seul élément non cliquable - obligatoire. |
| 20 | + |
| 21 | +## 🛠️ Props |
| 22 | + |
| 23 | +| Nom | Type | Défaut | Description | |
| 24 | +|--------------|--------|-----------------|-------------| |
| 25 | +| breadcrumbId | String | () => getRandomId('breadcrumb') | Identifiant unique pour le composant breadcrumb, généré automatiquement pour assurer l'accessibilité. | |
| 26 | +| links | Array | () => [{ text: '' }] | Un tableau d'objets représentant les liens dans le fil d'Ariane. Chaque objet peut avoir une propriété 'text' et, optionnellement, 'to' pour les routes. | |
| 27 | + |
| 28 | +## 📡 Événements |
| 29 | + |
| 30 | +Ce composant n'émet pas directement d'événements, mais vous pouvez écouter les événements de clic sur les liens individuels si nécessaire. |
| 31 | + |
| 32 | +## 🧩 Slots |
| 33 | + |
| 34 | +Pas de slots définis pour `DsfrBreadcrumb`. Le contenu est entièrement géré via les props. |
| 35 | + |
| 36 | +## 📝 Exemples |
| 37 | + |
| 38 | +Voici un exemple d'utilisation de DsfrBreadcrumb : |
| 39 | + |
| 40 | +```vue |
| 41 | +<DsfrBreadcrumb |
| 42 | + breadcrumbId="mon-fil-dariane" |
| 43 | + :links="[ |
| 44 | + { text: 'Accueil', to: '/' }, |
| 45 | + { text: 'Bibliothèque', to: '/bibliotheque' }, |
| 46 | + { text: 'Livre', to: '/livre' } |
| 47 | + { text: 'Le Seigneur des anneaux' } |
| 48 | + ]" |
| 49 | +/> |
| 50 | +``` |
| 51 | + |
| 52 | +::: code-group |
| 53 | + |
| 54 | +<Story data-title="Démo"> |
| 55 | + <DsfrBreadcrumbDemo /> |
| 56 | +</Story> |
| 57 | + |
| 58 | +<<< docs-demo/DsfrBreadcrumbDemo.vue [Code de la démo] |
| 59 | + |
| 60 | +<<< DsfrBreadcrumb.vue |
| 61 | +::: |
| 62 | + |
| 63 | +::: info Note : |
| 64 | + |
| 65 | +Sur un écran plus large, le fil d’Ariane apparaîtrait directement en entier, sans le lien "Voir le fil d’Ariane" |
| 66 | + |
| 67 | +::: |
| 68 | + |
| 69 | +<script setup lang="ts"> |
| 70 | +import DsfrBreadcrumbDemo from './docs-demo/DsfrBreadcrumbDemo.vue' |
| 71 | +</script> |
0 commit comments