Realizzare un tema
All’interno della directory src/themes è presente un CSS di esempio in cui viene mostrato come
sovrascrivere le variabili utilizzate all’interno del toolkit:
/* src/themes/pac/index.css */
:root {
--Color-primary: #a8336c;
--Pac-font-family-sans: Titillium Web, HelveticaNeue-Light, Helvetica Neue Light,
Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}
.t-Pac {
font-family: var(--Pac-font-family-sans);
}Similmente è possibile sovrascrivere qualsiasi variabile contenuta nei moduli CSS, modificando ad esempio i colori che caratterizzano l’aspetto grafico dei vari elementi.
Variabili CSS
Alcune variabili che è possibile sovrascrivere:
--Color-focus
--Color-primary
--Button-default-bg
--Button-default-color
--Button-default-border
--Button-danger-bg
--Button-danger-color
--Button-danger-border
--Button-info-bg
--Button-info-color
--Button-info-border
--Table-border-color
--Table-stripe-color
--Prose-color-link
--Prose-color-link-hover
--Prose-color-link-visited
--Form-input-border-color
--Form-state-invalid-border-color
--Form-state-invalid-label-color
--Form-state-invalid-message-color
--Form-state-warning-border-color
--Form-state-warning-label-color
--Form-state-warning-message-color
--Alert-error-bg
--Alert-error-color
--Alert-error-border
--Alert-error-background-image
--Alert-warning-bg
--Alert-warning-color
--Alert-warning-border
--Alert-warning-background-image
--Alert-success-bg
--Alert-success-color
--Alert-success-border
--Alert-success-background-image
--Alert-info-bg
--Alert-info-color
--Alert-info-border
--Alert-info-background-image
--Offcanvas-width
--Offcanvas-max-width
--Linklist-border-color
--Linklist-link-padding
--Linklist-link-arrow-width
--Treeview-link-padding
--Treeview-link-arrow-width
--Treeview-link-arrow-up
--Treeview-link-arrow-down
--Hero-height
--Hero-background-img
...Personalizzazione dei colori
La palette di colori è generata automaticamente a partire da un colore di base (--Color-primary) (src/utils/colors/index.css)
applicando tinte e tonalità secondo quanto descritto nel relativo paragrafo delle Linee Guida;
in questo modo è sufficiente sovrascrivere la variabile --Color-primary per ottenere l’intera palette.
Per applicare font e colori personalizzati è necessario:
- modificare il file del tema
src/themes/pac/index.csssovrascrivendo le variabili CSS - effettuare una nuova build del toolkit tramite
npm run build, secondo quanto descritto nella sezione “Utilizzare l’ambiente di sviluppo“ - incorporare i CSS generati (contenuti nella directory
build) nei template HTML
Nomenclatura delle regole CSS personalizzate
Tutte le modifiche che riguardano uno specifico tema vanno applicate assegnando al tag body la classe utilizzata in src/themes/*/index.css (nel caso specifico t-Pac, ma può esser scelta arbitrariamente).
<!-- nel template HTML -->
<body class="t-Pac"> ...Ciò significa che tale classe deve comparire necessariamente come prefisso nei selettori di ogni nuova regola CSS introdotta dal tema (e/o qualsiasi modifica ai moduli effettuata sovrascrivendo le regole originali).
Ad esempio, all’interno di src/themes/index.css, per applicare un padding alla classe .Alert dovrai utilizzare:
.t-Pac .Alert {
padding-right: 1em;
}e non quindi:
/* Mai senza prefisso! */
.Alert {
padding-right: 1em;
}