Menu latéral - Sidemenu
Le menu latéral est un système de navigation secondaire présentant une liste verticale de liens placée à côté du contenu.
Vue d’ensemble
Le rendu de base du SideMenuComponent
Code
= dsfr_side_menu(title: "Test") do |component|
= component.with_item(title: "Accueil", path: "#", current_page: true)
= component.with_item(title: "Qui sommes-nous ?", path: "#")
Résultat
<nav class="fr-sidemenu" role="navigation" aria-labelledby="sidemenu-title-33700">
<div class="fr-sidemenu__inner">
<button type="button" class="fr-sidemenu__btn" aria-expanded="false" aria-controls="sidemenu-collapse-33700">
Test
</button>
<div class="fr-collapse" id="sidemenu-collapse-33700">
<p class="fr-sidemenu__title" id="sidemenu-title-33700">
Test
</p>
<ul class="fr-sidemenu__list">
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link" aria-current="page">
Accueil
</a>
</li>
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link">
Qui sommes-nous ?
</a>
</li>
</ul>
</div>
</div>
</nav>
Avec des sous items
Le rendu avec des items de niveau 2 et 3
Code
= dsfr_side_menu(title: "Test") do |component|
= component.with_item(title: "Accueil", path: "#")
= component.with_item(title: "Les composants", path: "#") do |item|
= item.with_sub_item(title: "En-tête", path: "#")
= item.with_sub_item(title: "Pied de page", path: "#")
= component.with_item(title: "Documentation", path: "#", expanded: true) do |item|
= item.with_sub_item(title: "Guide d'utilisation", path: "#", expanded: true) do |sub_item|
= sub_item.with_sub_item(title: "Installation", path: "#")
= sub_item.with_sub_item(title: "Configuration", path: "#", current_page: true)
= item.with_sub_item(title: "API", path: "#")
Résultat
<nav class="fr-sidemenu" role="navigation" aria-labelledby="sidemenu-title-33800">
<div class="fr-sidemenu__inner">
<button type="button" class="fr-sidemenu__btn" aria-expanded="false" aria-controls="sidemenu-collapse-33800">
Test
</button>
<div class="fr-collapse" id="sidemenu-collapse-33800">
<p class="fr-sidemenu__title" id="sidemenu-title-33800">
Test
</p>
<ul class="fr-sidemenu__list">
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link">
Accueil
</a>
</li>
<li class="fr-sidemenu__item">
<button type="button" class="fr-sidemenu__btn" aria-expanded="false" aria-controls="sidemenu-33820">
Les composants
</button>
<div class="fr-collapse" id="sidemenu-33820">
<ul class="fr-sidemenu__list">
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link">
En-tête
</a>
</li>
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link">
Pied de page
</a>
</li>
</ul>
</div>
</li>
<li class="fr-sidemenu__item">
<button type="button" class="fr-sidemenu__btn" aria-expanded="true" aria-controls="sidemenu-33860">
Documentation
</button>
<div class="fr-collapse fr-collapse--expanded" id="sidemenu-33860">
<ul class="fr-sidemenu__list">
<li class="fr-sidemenu__item">
<button type="button" class="fr-sidemenu__btn" aria-expanded="true" aria-controls="sidemenu-33840">
Guide d'utilisation
</button>
<div class="fr-collapse fr-collapse--expanded" id="sidemenu-33840">
<ul class="fr-sidemenu__list">
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link">
Installation
</a>
</li>
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link" aria-current="page">
Configuration
</a>
</li>
</ul>
</div>
</li>
<li class="fr-sidemenu__item">
<a href="#" class="fr-sidemenu__link">
API
</a>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</nav>