<span class="rtds-category "><svg class="rtds-icon rtds-fill-current rtds-w-2 rtds-h-2" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#solid--circle" />
</svg>
<span>Category label</span>
</span>
{% extends '@category' %}
{%- block before -%}
{% render '@icon--small', { id: icon, size: 'rtds-w-2 rtds-h-2' }, true %}
{%- endblock before -%}
{% block content %}<span{% if contentClasses %} class="{{ contentClasses }}"{% endif %}>{{ text }}</span>{% endblock %}
{
"text": "Category label",
"icon": "solid--circle"
}
/**
* CATEGORY
*
*/
.rtds-category {
border-right-width: 1px;
border-style: solid;
padding-right: var(--spacing-2);
font-size: var(--fontsize-text-sm);
text-transform: uppercase;
color: var(--color-content-category);
border-color: var(--color-border-gray-02);
display: inline-flex;
align-items: center;
gap: var(--spacing-2);
font-weight: 700;
}
.rtds-category:last-of-type {
border-right-width: 0px;
padding-right: var(--spacing-0);
}
a:where(.rtds-category):hover {
color: var(--color-primary-800);
text-decoration-line: underline;
}
a:where(.rtds-category):focus {
color: var(--color-primary-800);
}
.rtds-category--sm {
font-size: var(--fontsize-text-xs);
}
.rtds-category--lg {
font-size: var(--fontsize-text-base);
}
.rtds-category--outline {
border-radius: 0.25rem;
padding-left: var(--spacing-2);
padding-right: var(--spacing-2);
padding-top: var(--spacing-1);
padding-bottom: var(--spacing-1);
border-width: 1px;
}
.rtds-category--outline:last-of-type {
border-right-width: 1px;
}
.rtds-category--overline {
color: var(--color-content-placeholder);
}
/**
* CATEGORY
*
*/
@layer components {
.rtds-category {
@apply rtds-inline-flex rtds-items-center rtds-gap-2 rtds-pr-2 rtds-uppercase rtds-font-bold rtds-text-sm rtds-border-r rtds-border-solid rtds-border-gray-02 last-of-type:rtds-border-r-0 last-of-type:rtds-pr-0 rtds-content-category;
}
a:where(.rtds-category) {
@apply hover:rtds-underline hover:rtds-text-primary-800 focus:rtds-text-primary-800;
}
.rtds-category--sm {
@apply rtds-text-xs;
}
.rtds-category--lg {
@apply rtds-text-base;
}
.rtds-category--outline {
@apply rtds-px-2 rtds-py-1 rtds-rounded rtds-border last-of-type:rtds-border-r;
}
.rtds-category--overline {
@apply rtds-content-placeholder;
}
}
Componente per etichette di categoria con supporto per diverse varianti e dimensioni.
Il componente può essere renderizzato come:
<span> — elemento di default (senza href); usato per etichette di categoria puramente informative, non navigabili<a> — quando viene specificato href nel contesto Fractal/Nunjucks; etichetta cliccabile che funge da filtro o navigazione verso la categoriadefault: Dimensione standardsm: Dimensione piccolalg: Dimensione grandeoutline: Stile con bordo e paddingoverline: Stile con linea superioreoverline-sm: Stile con linea superiore e dimensione piccolaicon-left: Con icona a sinistraContesto di sviluppo Fractal/Nunjucks — Questa sezione riguarda esclusivamente i parametri del context
.config.ymlusati durante lo sviluppo nella libreria. Non descrive attributi HTML o proprietà da usare nei temi, CMS o ambienti di implementazione: per quello, fare riferimento alla sezione Esempi di utilizzo.
text (stringa, obbligatorio): Testo della categoriahref (stringa, opzionale): URL per renderizzare come linkclasses (stringa, opzionale): Classi CSS aggiuntiveicon (stringa, opzionale): ID dell’icona da utilizzareLivello AA — criteri pertinenti:
<a>, il componente è raggiungibile e attivabile da tastiera<span> — nessun ruolo interattivo; non focusabile; usare per etichette di categoria puramente informative<a> — ruolo implicito link; raggiungibile con Tab, attivabile con Enter; usare per categorie navigabili o per applicare un filtro| Tasto | Azione |
|---|---|
Tab / Shift+Tab |
Sposta il focus sul/dal link (solo variante <a>) |
Enter |
Attiva il link di categoria |
:focus-visible è sempre visibile e non viene rimosso via CSS<a> — annunciato come link; il testo della categoria costituisce il nome accessibile; lo screen reader comunica il ruolo “link” e la destinazione<span> — annunciato come testo semplice; lo screen reader non comunica alcun ruolo interattivo né azione associata.rtds-category: Stile base della categoria.rtds-category--sm: text-xs.rtds-category--lg: text-base.rtds-category--outline: padding px-2 py-1, bordi rounded e border.rtds-category--overline: stile con linea superiore<!-- Categoria standard -->
<span class="rtds-category">Categoria</span>
<!-- Categoria come link -->
<a href="#" class="rtds-category">Categoria Link</a>
<!-- Categoria con bordo -->
<a href="#" class="rtds-category rtds-category--outline">Categoria con Bordo</a>
<!-- Categoria con linea superiore -->
<span class="rtds-category rtds-category--overline">Categoria con Linea Superiore</span>
<!-- Categoria con icona -->
<span class="rtds-category">
<svg class="rtds-icon">...</svg>
Categoria con Icona
</span>