<footer class="rtds-footer rtds-border-t rtds-border-gray-01">
<div class="rtds-logos-area">
<div class="rtds-container rtds-py-6 md:rtds-py-8 rtds-space-y-6">
<h2 class="rtds-content-02 rtds-text-base md:rtds-text-lg rtds-font-bold">Titolo sezione footer</h2>
<div class="rtds-grid md:rtds-flex rtds-gap-4 md:rtds-items-center">
<div class="rtds-flex rtds-flex-wrap rtds-gap-4 md:rtds-gap-6 rtds-items-center lg:rtds-gap-12">
<a class="rtds-site-logo rtds-h-12 md:rtds-h-16 md:rtds-flex-1" href="#">
<img class="rtds-w-full rtds-h-full rtds-object-contain rtds-object-left-top" src="/images/logo.png" alt="Img alt" width="247" height="80" />
</a>
<a class="rtds-site-logo rtds-h-12 md:rtds-h-16 md:rtds-flex-1" href="#">
<img class="rtds-w-full rtds-h-full rtds-object-contain rtds-object-left-top" src="/images/logo.png" alt="Img alt" width="247" height="80" />
</a>
</div>
</div>
</div>
</div>
<div class="rtds-footer__navigation-row rtds-container rtds-grid rtds-gap-x-10 rtds-gap-y-4 md:rtds-flex">
<!-- Right block -->
<div class="rtds-grid rtds-gap-6 md:rtds-gap-3 md:rtds-flex-1">
<!-- Menu footer -->
<nav class="rtds-pb-4 -rtds-ml-4" aria-label="Contatti e utilità">
<ul class="rtds-grid md:rtds-flex rtds-gap-y-3 md:rtds-gap-y-4 rtds-flex-wrap">
<li class="rtds-group md:rtds-border-r md:rtds-border-gray-01 md:last:rtds-border-r-0">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-02 rtds-font-bold rtds-uppercase">UFFICI</a>
</li>
<li class="rtds-group md:rtds-border-r md:rtds-border-gray-01 md:last:rtds-border-r-0">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-02 rtds-font-bold rtds-uppercase">URP</a>
</li>
<li class="rtds-group md:rtds-border-r md:rtds-border-gray-01 md:last:rtds-border-r-0">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-02 rtds-font-bold rtds-uppercase">PEC</a>
</li>
<li class="rtds-group md:rtds-border-r md:rtds-border-gray-01 md:last:rtds-border-r-0">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-02 rtds-font-bold rtds-uppercase">MAPPA DEL SITO</a>
</li>
<li class="rtds-group md:rtds-border-r md:rtds-border-gray-01 md:last:rtds-border-r-0">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-02 rtds-font-bold rtds-uppercase">INTRANET</a>
</li>
</ul>
</nav>
</div>
</div>
<div class="rtds-border-t rtds-border-gray-01">
<div class="rtds-container">
<!-- Menu footer -->
<nav class="-rtds-ml-4 rtds-py-4 md:rtds-py-6" aria-label="Altre informazioni">
<ul class="rtds-grid md:rtds-flex rtds-gap-y-3 md:rtds-gap-y-4 rtds-flex-wrap">
<li class="rtds-group">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-03 rtds-font-bold">Voce 1</a>
</li>
<li class="rtds-group">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-03 rtds-font-bold">Voce 2</a>
</li>
<li class="rtds-group">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-03 rtds-font-bold">Voce 3</a>
</li>
</ul>
</nav>
</div>
</div>
<!-- Footer bottom bar -->
<div class="rtds-footer__bottom-bar">
<div class="rtds-container rtds-grid rtds-gap-6 md:rtds-flex rtds-items-center rtds-justify-between">
<div class="rtds-footer__bottom-bar-left">
<!-- Utilities and other -->
<nav class="-rtds-ml-4" aria-label="Informazioni legali, privacy e cookie">
<ul class="rtds-flex rtds-gap-y-3 rtds-gap-x-5 md:rtds-gap-y-1 rtds-flex-wrap">
<li>
<a href="" class="rtds-link rtds-py-1 rtds-px-3 md:rtds-py-4 rtds-content-01 rtds-text-sm rtds-font-bold">Voce 1</a>
</li>
<li>
<a href="" class="rtds-link rtds-py-1 rtds-px-3 md:rtds-py-4 rtds-content-01 rtds-text-sm rtds-font-bold">Voce 2</a>
</li>
<li>
<a href="" class="rtds-link rtds-py-1 rtds-px-3 md:rtds-py-4 rtds-content-01 rtds-text-sm rtds-font-bold">Voce 3</a>
</li>
</ul>
</nav>
</div>
<div class="rtds-footer__bottom-bar-right rtds-px-2 md:rtds-px-0">
<!-- Logos -->
<div class="rtds-site-logo rtds-w-40 rtds-h-auto md:rtds-w-44 lg:rtds-w-auto">
<img class="rtds-w-full rtds-h-full rtds-object-contain rtds-object-left-top" src="/images/logo.png" alt="Img alt" width="223" height="76" />
</div>
</div>
</div>
</div>
</footer>
<footer class="rtds-footer{% if bgColor %} {{ bgColor }}{% endif %}{% if borderClasses %} {{ borderClasses }}{% endif %}">
{% block logosArea %}
{% if hasLogoArea %}
{% render '@logos-area', { mainLogo: 'false', heading: 'Titolo sezione footer' }, true %}
{% endif %}
{% endblock logosArea %}
{% block navigationRow %}
<div class="rtds-footer__navigation-row rtds-container rtds-grid rtds-gap-x-10 rtds-gap-y-4 md:rtds-flex">
{% block navigationRowContent %}
<!-- Right block -->
{% if navigationRow == 'extended' %}
{# Three columns - To be implemented dynamic number of columns #}
<div class="rtds-py-5 lg:rtds-py-6 rtds-grid md:rtds-grid-cols-2 lg:rtds-grid-cols-4 rtds-gap-8 lg:rtds-gap-x-14 lg:rtds-gap-y-12 rtds-w-full">
<h2 class="rtds-sr-only">Intranet - Sezioni</h2>
{% for i in range(0, 6) %}
<div class="rtds-basis-full md:rtds-basis-1/2 lg:rtds-basis-full">
<nav aria-labelledby="footerMainNav{{ i }}">
<h3 id="footerMainNav{{ i }}" class="rtds-heading-4 rtds-mb-4">Lorem ipsum</h3>
<ul class="rtds-flex rtds-flex-col rtds-gap-3">
<li>
<a href="" class="rtds-link rtds-font-medium rtds-content-03 rtds-text-sm">Lorem ipsum dolor sit amet consectetur adipiscing elit</a>
</li>
<li>
<a href="" class="rtds-link rtds-font-medium rtds-content-03 rtds-text-sm">link</a>
</li>
<li>
<a href="" class="rtds-link rtds-font-medium rtds-content-03 rtds-text-sm">link</a>
</li>
<li>
<a href="" class="rtds-link rtds-font-medium rtds-content-03 rtds-text-sm">link</a>
</li>
</ul>
<nav>
</div>
{% endfor %}
{# <div class="rtds-basis-full md:rtds-basis-1/2 lg:rtds-basis-full">
<div class="rtds-flex rtds-flex-col rtds-gap-8">
<h2 class="rtds-text-lg">Titolo</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit proin bibendum ut purus vitae pharetra.</p>
{% render '@button', {label:'Link', href: '#' }, true %}
</div>
</div>
#}
</div>
{% endif %}
{% if navigationRow == 'minimal' %}
<div class="rtds-grid rtds-gap-6 md:rtds-gap-3 md:rtds-flex-1">
<!-- Menu footer -->
<nav class="rtds-pb-4 -rtds-ml-4" aria-label="Contatti e utilità">
<ul class="rtds-grid md:rtds-flex rtds-gap-y-3 md:rtds-gap-y-4 rtds-flex-wrap">
{% for navItem in navItems %}
<li class="rtds-group md:rtds-border-r md:rtds-border-gray-01 md:last:rtds-border-r-0">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-02 rtds-font-bold rtds-uppercase">{{ navItem.label }}</a>
</li>
{% endfor %}
</ul>
</nav>
</div>
{% endif %}
{% endblock navigationRowContent %}
</div>
{% endblock navigationRow %}
{% block infoRow %}
{% if hasInfoRow %}
<div class="rtds-border-t rtds-border-gray-01">
<div class="rtds-container">
<!-- Menu footer -->
<nav class="-rtds-ml-4 rtds-py-4 md:rtds-py-6" aria-label="Altre informazioni">
<ul class="rtds-grid md:rtds-flex rtds-gap-y-3 md:rtds-gap-y-4 rtds-flex-wrap">
{% for navInfoItem in navInfoItems %}
<li class="rtds-group">
<a href="" class="rtds-link rtds-px-4 rtds-py-2 rtds-text-sm rtds-content-03 rtds-font-bold">{{ navInfoItem.label }}</a>
</li>
{% endfor %}
</ul>
</nav>
</div>
</div>
{% endif %}
{% endblock infoRow %}
{% block bottomBar %}
{% if hasBottomBar %}
<!-- Footer bottom bar -->
<div class="rtds-footer__bottom-bar">
<div class="{% block bottomBarContentClasses %}rtds-container rtds-grid rtds-gap-6 md:rtds-flex rtds-items-center rtds-justify-between{% endblock bottomBarContentClasses %}">
{% block bottomBarContentLeft %}
<div class="rtds-footer__bottom-bar-left">
<!-- Utilities and other -->
<nav class="-rtds-ml-4" aria-label="Informazioni legali, privacy e cookie">
<ul class="rtds-flex rtds-gap-y-3 rtds-gap-x-5 md:rtds-gap-y-1 rtds-flex-wrap">
{% for bottomNavItem in bottomNavItems %}
<li>
<a href="" class="rtds-link rtds-py-1 rtds-px-3 md:rtds-py-4 rtds-content-01 rtds-text-sm rtds-font-bold">{{ bottomNavItem.label }}</a>
</li>
{% endfor %}
</ul>
</nav>
</div>
{% endblock bottomBarContentLeft %}
{% block bottomBarContentCenter %}
{% endblock bottomBarContentCenter %}
{% block bottomBarContentRight %}
<div class="rtds-footer__bottom-bar-right rtds-px-2 md:rtds-px-0">
{% block bottomBarContentRightLogo %}
<!-- Logos -->
{% render '@logo', { size: 'rtds-w-40 rtds-h-auto md:rtds-w-44 lg:rtds-w-auto', width: '223', height: '76', alt: 'Img alt'}, true %}
{% endblock bottomBarContentRightLogo %}
</div>
{% endblock bottomBarContentRight %}
</div>
</div>
{% endif %}
{% endblock bottomBar %}
</footer>
{
"borderClasses": "rtds-border-t rtds-border-gray-01",
"navigationRow": "minimal",
"hasBottomBar": true,
"navItems": [
{
"label": "UFFICI"
},
{
"label": "URP"
},
{
"label": "PEC"
},
{
"label": "MAPPA DEL SITO"
},
{
"label": "INTRANET"
}
],
"navInfoItems": [
{
"label": "Voce 1"
},
{
"label": "Voce 2"
},
{
"label": "Voce 3"
}
],
"bottomNavItems": [
{
"label": "Voce 1"
},
{
"label": "Voce 2"
},
{
"label": "Voce 3"
}
],
"hasLogoArea": true,
"hasInfoRow": true
}
/**
* PRIMARY NAVIGATION
*
*/
@layer components {
.rtds-footer {
@apply rtds-mt-auto rtds-background-02;
}
/*.rtds-footer__navigation-row {
@apply ;
}*/
.rtds-footer__bottom-bar {
@apply rtds-border-t rtds-border-gray-01 rtds-bg-white rtds-py-6 md:rtds-py-0;
}
/*.rtds-footer__bottom-bar-right {
@apply;
}*/
}
Il componente Footer è un organismo che rappresenta il piè di pagina di un sito web. È composto da diverse sezioni configurabili che possono essere attivate o disattivate in base alle esigenze.
Il footer è un componente flessibile che può essere configurato in diverse varianti. Supporta:
Il componente utilizza classi Tailwind CSS personalizzate con il prefisso rtds-. Gli stili principali includono:
Il componente espone i seguenti blocchi per la personalizzazione:
logosArea: Area per i loghinavigationRow: Riga di navigazione principalenavigationRowContent: Contenuto della riga di navigazioneinfoRow: Riga informativabottomBar: Barra inferiorebottomBarContentClasses: Classi per la barra inferiorebottomBarContentLeft: Contenuto sinistro della barra inferiorebottomBarContentCenter: Contenuto centrale della barra inferiorebottomBarContentRight: Contenuto destro della barra inferiorebottomBarContentRightLogo: Logo nella barra inferiore destrabgColor: Personalizzazione del colore di sfondo del footerborderClasses: Classi per la personalizzazione dei bordinavigationRow: Configurazione della riga di navigazione (‘extended’ o ‘minimal’)hasLogoArea: Booleano per attivare/disattivare l’area loghihasInfoRow: Booleano per attivare/disattivare la riga informativahasBottomBar: Booleano per attivare/disattivare la barra inferiorenavItems: Array di elementi per il menu principale del footerlabel: Etichetta dell’elementonavInfoItems: Array di elementi per il menu informativolabel: Etichetta dell’elementobottomNavItems: Array di elementi per il menu della barra inferiorelabel: Etichetta dell’elementoIl componente supporta due varianti predefinite:
default: Configurazione base con riga di navigazione minimaregione: Variante specifica per la Regione Toscana con configurazione personalizzataNella variante regione, è possibile configurare un array di loghi con:
href: Link associato al logowidth: Larghezza del logoheight: Altezza del logoalt: Testo alternativopath: Percorso dell’immaginesrcset: Set di immagini per display ad alta risoluzione