Elemento contenitore di link, pulsanti o dropdown.
L’elemento Toolbar è un contenitore di link, pulsanti o dropdown. Consiste in un elenco <ul> con tanti elementi <li> quante sono le voci richieste.
Dimensioni
La Toolbar si adatta automaticamente allo spazio disponibile. È consigliabile utilizzare contenitori di dimensione orizzontale (o verticale, nel caso del Toolbar verticale) ridotta, per evitare che gli elementi si disperdano in uno spazio troppo ampio.
Per ottimizzare lo spazio, è possibile utilizzare le tre dimensioni disponibili: grande, media e piccola. La dimensione predefinita è la grande. Le altre dimensioni dipendono dalla dimensione delle icone e del testo.
Toolbar grande
La versione predefinita dell’elemento è quella con icone grandi e label.
Applicando la classe .toolbar-medium si ottiene la dimensione media, con testo di dimensione leggermente inferiore.
In questo caso le label, nascoste visivamente, devono essere contenute in uno <span> con classe .visually-hidden, per rendere disponibile la descrizione agli screen reader.
Applicando la classe .toolbar-small si ottiene la dimensione piccola, con testo e icone di dimensione inferiore. Cambia anche il padding interno del componente.
Anche in questo caso le label, nascoste visivamente, devono essere contenute in uno <span> con classe .visually-hidden, per rendere disponibile la descrizione agli screen reader.
Al tag <a> dell’elemento attivo va applicata la classe .active.
Gli elementi disabilitati avranno invece una classe .disabled con ulteriori accorgimenti relativi all’accessibilità a seconda della tipologia:
link, tag <a>: aggiungere la proprietà HTML disabled al tag.
dropdown button, tag <button>: aggiungere l’attributo aria-disabled="true".
Divisori
Per aggiungere degli elementi divisori fra gli elementi utilizzare dei tag <li> con classe .toolbar-divider, aggiungendo il ruolo separatore role="separator" per indicarne la presenza agli screen reader e aria-orientation="vertical" per indicarne l’orientamento.
I Badge possono essere utilizzati per indicare contenuti non letti o alert di vario tipo.
Grande con Badge
Nella dimensione grande i Badge possono contenere dei numeri. Il numero dei contenuti non letti o nuovi va indicato anche all’interno della label in uno <span> con classe .visually-hidden riservato agli screen reader.
<navclass="toolbar"><ul><li><ahref="#"class="active"><divclass="badge-wrapper"><spanclass="toolbar-badge">2</span></div><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-comment"></use></svg><spanclass="toolbar-label">Messaggi<spanclass="visually-hidden">Ci sono 2 nuovi messaggi da leggere</span></span></a></li><li><ahref="#"><divclass="badge-wrapper"><spanclass="toolbar-badge">42</span></div><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-camera"></use></svg><spanclass="toolbar-label">Immagini<spanclass="visually-hidden">Ci sono 42 nuove immagini da visualizzare</span></span></a></li><li><ahref="#"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-file"></use></svg><spanclass="toolbar-label">Documenti</span></a></li><li><ahref="#"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-locked"></use></svg><spanclass="toolbar-label">Privacy</span></a></li><li><ahref="#"class="disabled"disabledaria-disabled="true"><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-star-outline"></use></svg><spanclass="toolbar-label">Preferiti</span></a></li></ul></nav>
Media con Badge
Nella versione media i Badge non contengono numeri ma possono essere usati come alert generici. Il numero dei contenuti non letti o nuovi va indicato all’interno della label con classe .visually-hidden riservata agli screen reader.
<navclass="toolbar toolbar-medium"><ul><li><ahref="#"class="active"><spanclass="visually-hidden">Messaggi</span><divclass="badge-wrapper"><spanclass="toolbar-badge"></span><spanclass="visually-hidden">Ci sono 2 nuovi messaggi da leggere</span></div><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-comment"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Immagini</span><divclass="badge-wrapper"><spanclass="toolbar-badge"></span><spanclass="visually-hidden">Ci sono 42 nuove immagini da visualizzare</span></div><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-file"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Documenti</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-file"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Privacy</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-locked"></use></svg></a></li><li><ahref="#"class="disabled"disabledaria-disabled="true"><spanclass="visually-hidden">Preferiti</span><svgclass="icon"><usehref="/dist/svg/sprites.svg#it-star-outline"></use></svg></a></li></ul></nav>
Piccola con Badge
Nella dimensione piccola i Badge non contengono numeri ma possono essere usati come alert generici. Il numero dei contenuti non letti o nuovi va indicato all’interno della label con classe .visually-hidden riservata agli screen reader.
<navclass="toolbar toolbar-small"><ul><li><ahref="#"class="active"><spanclass="visually-hidden">Messaggi</span><divclass="badge-wrapper"><spanclass="toolbar-badge"></span><spanclass="visually-hidden">Ci sono 2 nuovi messaggi da leggere</span></div><svgclass="icon icon-sm"><usehref="/dist/svg/sprites.svg#it-comment"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Immagini</span><divclass="badge-wrapper"><spanclass="toolbar-badge"></span><spanclass="visually-hidden">Ci sono 42 nuove immagini da visualizzare</span></div><svgclass="icon icon-sm"><usehref="/dist/svg/sprites.svg#it-camera"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Documenti</span><svgclass="icon icon-sm"><usehref="/dist/svg/sprites.svg#it-file"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Privacy</span><svgclass="icon icon-sm"><usehref="/dist/svg/sprites.svg#it-locked"></use></svg></a></li><li><ahref="#"><spanclass="visually-hidden">Preferiti</span><svgclass="icon icon-sm"><usehref="/dist/svg/sprites.svg#it-star-outline"></use></svg></a></li></ul></nav>
Toolbar con Dropdown
All’interno della Toolbar è possibile implementare dei pulsanti dropdown con relativo sottomenù. Per gestire correttamente la larghezza e l’allineamento dei contenuti del pulsante, è necessario aggiungere un contenitore <div> con classe .d-flex align-items-center, come mostrato negli esempi che seguono.
Il selettore da utilizzare per le sovrascrittura delle property è .toolbar.
La descrizione delle custom properties è in inglese perché risiede nei files .scss dei componenti.
Properties statiche
Variabile CSS
Descrizione (Inglese)
Predefinito
--bsi-toolbar-bg
Controls the toolbar list background color, using color tokens.
var(--bsi-color-background-inverse)
--bsi-toolbar-divider-color
Controls the toolbar divider color, using color tokens.
var(--bsi-color-border-subtle)
--bsi-toolbar-link-color
Controls the toolbar link color, using color tokens.
var(--bsi-color-text-secondary)
--bsi-toolbar-icon-color
Controls the toolbar icon color, using color tokens.
var(--bsi-icon-secondary)
--bsi-toolbar-dropdown-padding-x
Controls the toolbar dropdown padding x, using spacing tokens.
var(--bsi-spacing-xxs)
--bsi-toolbar-dropdown-caret-color
Controls the toolbar dropdown caret color, using color tokens.
var(--bsi-icon-secondary)
--bsi-toolbar-dropdown-caret-size
Controls the toolbar dropdown caret size, using spacing tokens.
var(--bsi-spacing-3xs)
--bsi-toolbar-dropdown-shadow
Controls the toolbar dropdown shadow, using elevation tokens.
var(--bsi-elevation-low)
--bsi-toolbar-icon-font-size
Controls the toolbar icon font size, using color tokens.
var(--bsi-icon-size-l)
--bsi-toolbar-item-gap
Controls the toolbar item gap, using spacing tokens.
var(--bsi-spacing-xs)
--bsi-toolbar-more-icon-font-size
Controls the toolbar more icon font size, using typography tokens.
var(--bsi-label-font-size-xs)
--bsi-toolbar-badge-border-color
Controls the toolbar badge border color, using color tokens.
var(--bsi-color-background-inverse)
--bsi-toolbar-badge-background-color
Controls the toolbar badge background color, using color tokens.
var(--bsi-color-background-primary)
--bsi-toolbar-badge-border-radius
Controls the toolbar badge border radius, using radius tokens.
var(--bsi-radius-circle)
--bsi-toolbar-badge-text-color
Controls the toolbar badge text color, using color tokens.
var(--bsi-color-text-inverse)
--bsi-toolbar-badge-padding-x
Controls the toolbar badge padding x, using spacing tokens.
var(--bsi-spacing-3xs)
--bsi-toolbar-badge-font-size
Controls the toolbar badge font size, using typography tokens.
var(--bsi-label-font-size-xs)
--bsi-toolbar-label-margin-top
Controls the toolbar label margin top, using spacing tokens.
var(--bsi-spacing-3xs)
--bsi-toolbar-label-font-size
Controls the toolbar label font size, using typography tokens.
var(--bsi-label-font-size-xs)
--bsi-toolbar-padding-x
Controls the toolbar inner padding, using spacing tokens.
var(--bsi-spacing-xs)
--bsi-toolbar-padding-y
Controls the toolbar inner padding, using spacing tokens.
var(--bsi-spacing-xs)
--bsi-toolbar-shadow
Controls the toolbar shadow, using elevation tokens.
var(--bsi-elevation-medium)
Breaking change
L’icona del dropdown è ora gestita con il tag <svg>
Il contenuto di ogni voce è racchiuso in un contenitore dedicato nel caso di versione con dropdown.
Modificata la gestione dell’ombreggiatura, altezza e posizione della toolbar.