Panoramica
I componenti Twenty UI leggono le proprietà personalizzate CSS pubbliche con prefisso--t-. Quando applichi stili ai tuoi componenti, preferisci token semantici come background.secondary e font.color.primary; questi valori si adattano alla tavolozza attiva.
Usa i token negli stili
themeCssVariables associa i percorsi dei token ai riferimenti alle variabili CSS. Usalo per i valori che CSS risolve:
Leggi i valori risolti
useTheme() legge i token calcolati del provider attivo. Usalo quando un componente prevede un numero JavaScript, ad esempio una dimensione dell’icona. Il provider richiede che il foglio di stile del tema sia caricato nel browser per risolvere le variabili CSS.
themeCssVariables è una stringa di riferimento CSS, inclusi i token numerici. Non eseguire operazioni aritmetiche su queste stringhe. Sul server, i valori risolti dal browser non sono disponibili; consulta il rendering lato server.
Limita una sovrascrittura
PassaapplyToRoot={false} per applicare un tema a un sottoalbero. Sovrascrivi le variabili CSS pubbliche con il loro nome completo:
display: contents; non crea un riquadro di layout. Fornisce inoltre un contenitore per i componenti che supportano i portali tematizzati. I portali creati da altre librerie necessitano della propria configurazione del contenitore.
Le variabili con prefisso --tw- sono dettagli privati dei componenti. Usa le proprietà pubbliche e i token --t- invece di dipendere da quelle variabili.
Consulta il riferimento dei token per i nomi e i valori della tavolozza disponibili.
Valori espliciti e scala
La proptheme fornisce valori del tema JavaScript risolti anziché leggere gli stili calcolati. Viene inoltre propagata ai provider annidati, a meno che non forniscano un altro tema esplicito. Ciò modifica i valori letti dagli hook; carica il foglio di stile appropriato e usa gli override CSS per definire lo stile dei componenti.
scale scrive --t-scale-user nella radice del documento. Influisce solo sulle interfacce il cui CSS utilizza tale variabile ed è ignorata dai provider con ambito. className si applica a un wrapper con ambito; passarlo da solo non crea un wrapper. overrides crea un ambito anche quando applyToRoot rimane true.
Prop di ThemeProvider
boolean
predefinito:"true"
Applies the color-scheme class to the document root. Set false for a scoped wrapper.
ReactNode
obbligatorio
Components that share this theme.
string
Class applied to a scoped wrapper; no wrapper is created for className alone.
"dark" | "light"
obbligatorio
Explicit light or dark palette; load its stylesheet before rendering.
ThemeOverrides
CSS custom-property overrides. Supplying them creates a scoped wrapper.
number
Root interface scale stored in —t-scale-user. Ignored for scoped providers; application CSS must consume the variable.
ThemeType | typeof THEME_LIGHT
Explicit resolved theme values, bypassing computed-style token resolution.