<a href="#" class="rtds-tab is-tab rtds-tab--borderless
rtds-content-02 rtds-min-w-4
">
<span class="rtds-tab__label">tab label</span>
</a>
{% extends '@tab' %}
{% block classes %} rtds-tab--borderless
{%- if classes %}
{{ classes }}
{% endif -%}
{% endblock %}
{
"label": "tab label",
"href": "#",
"bgColor": "rtds-background-03",
"bgActiveColor": "rtds-bg-white",
"classes": "rtds-content-02 rtds-min-w-4"
}
/**
* TAB
*
*
*/
/* BASE */
@layer components {
.rtds-tab {
@apply rtds-flex rtds-justify-center rtds-font-bold hover:rtds-background-02 rtds-transition-all;
}
.rtds-tab--default {
@apply rtds-content-02 rtds-p-2 md:rtds-p-3 rtds-border-b-2 rtds-border-transparent rtds-text-sm md:rtds-text-base hover:rtds-background-02;
}
.rtds-tab--default.is-active,
.rtds-tab--default[aria-selected="true"] {
@apply rtds-content-primary rtds-border-current;
}
/* BORDERLESS */
.rtds-tab--borderless {
@apply rtds-p-4 lg:rtds-py-6 lg:rtds-px-12 xl:rtds-py-6 xl:rtds-px-16 rtds-background-03;
}
.rtds-tab--borderless.is-active,
.rtds-tab--borderless[aria-selected="true"] {
@apply rtds-bg-white rtds-content-primary;
}
.rtds-tab--icon-label {
@apply rtds-gap-2;
}
}
Il componente Tab è un elemento molecolare che gestisce la visualizzazione di tab singoli, utilizzabile sia come link che come pulsante. È progettato per essere accessibile e responsive, supportando diverse configurazioni di layout e stile.
Il componente utilizza una struttura semantica con:
<a> o <button> come elemento principaleLa struttura base del markup è:
<a class="rtds-tab is-tab rtds-tab--default" role="tab" aria-selected="true">
<!-- Icona sinistra opzionale -->
<span>Etichetta tab</span>
<!-- Icona destra opzionale -->
</a>Il componente è stato progettato seguendo le linee guida WCAG 2.1 e implementa diverse caratteristiche per garantire l’accessibilità:
<a> o <button>)role="tab" per identificare l’elemento come tabaria-selected per indicare lo stato di selezionearia-controls per associare il tab al suo pannelloaria-current per indicare la posizione correnteI seguenti parametri possono essere utilizzati per configurare il componente:
label: stringa - etichetta del tabhref: stringa - URL o hash se l’elemento è un link, altrimenti sarà un pulsanteroleTab: booleano - se l’elemento è incluso in una tablist (richiede role tab)ariaSelected: booleano - se l’elemento è incluso in una tablistariaControls: stringa - ID del pannello tab correlatoariaCurrent: stringa - valore per l’attributo aria-current (page, step, location, date, time, true)id: stringa - ID del tabtabIndex: booleano - se deve avere l’attributo tabindexiconLeft: booleano - se ha un’icona a sinistraiconRight: booleano - se ha un’icona a destraborderColor: stringa - colore del bordo per lo stato attivobgColor: stringa - colore di sfondobgActiveColor: stringa - colore di sfondo per lo stato attivoisActive: booleano - se ha la classe is-active (stato attivo)Il file di configurazione supporta le seguenti impostazioni:
title: stringa - titolo del componentecontext: oggetto - configurazione di defaultlabel: stringa - etichetta del tab (default: “tab label”)href: stringa - URL di default (default: “#”)borderColor: stringa - colore del bordo (default: “rtds-border-gray-04”)default: variante base del tabactive: variante con stato attivoisActive: booleano - impostato a trueborderless: variante senza bordobgColor: stringa - colore di sfondo (default: “rtds-background-03”)bgActiveColor: stringa - colore di sfondo attivo (default: “rtds-bg-white”)classes: stringa - classi aggiuntive (default: “rtds-content-02 rtds-min-w-4”)