<div class="tree-node">
<a href="#" class="tree-node__toggle link link--chevron-right">
Redazione Centrale
<span class="link__chevron material-symbols-outlined">arrow_drop_down</span>
</a>
<div class="tree-node__content">
<p class="paragraph paragraph--2">Indirizzo, Email, Telefono...</p>
<!-- Redazioni interne -->
<div class="tree-node">
<a href="#" class="tree-node__toggle link link--chevron-right">
Sport
<span class="link__chevron material-symbols-outlined">arrow_drop_down</span>
</a>
<div class="tree-node__content">...</div>
</div>
</div>
</div>
Indirizzo: Via Montenapoleone, 1 - 20121 Milano
Email: milano@email.com
Indirizzo: Via Toledo, 1 - 80134 Napoli
Email: napoli@email.com
<!-- Tree annidato -->
<div class="tree-node">
<a href="#" class="tree-node__toggle link link--chevron-right">
Redazioni Locali
<span class="link__chevron material-symbols-outlined">arrow_drop_down</span>
</a>
<div class="tree-node__content">
<!-- Nodo figlio -->
<div class="tree-node">
<a href="#" class="tree-node__toggle link link--chevron-right">
Milano
<span class="link__chevron material-symbols-outlined">arrow_drop_down</span>
</a>
<div class="tree-node__content">
<p class="paragraph paragraph--2">Contenuto...</p>
</div>
</div>
</div>
</div>
/* CSS */
.tree-node__toggle {
cursor: pointer;
}
.tree-node__content {
display: none;
padding-left: var(--spacing-l); /* 16px */
padding-top: var(--spacing-s); /* 8px */
}
.tree-node--expanded > .tree-node__content {
display: block;
}
/* Rotazione chevron quando espanso */
.tree-node--expanded > .tree-node__toggle .link__chevron {
transform: rotate(180deg);
}
.tree-node__toggle .link__chevron {
transition: transform var(--transition-fast);
}