Valeurs par défaut des composants
SiaProvider permet de choisir les variantes par défaut une seule fois pour toute une application ou une section de l'interface.
tsx
<SiaProvider
defaults={{
spinner: {
variant: "dots",
tone: "current"
},
button: {
variant: "outline",
radius: "full"
},
badge: {
variant: "outline"
}
}}
>
<App />
</SiaProvider>Le spinner dots sera alors utilisé par défaut dans:
Spinner;- le chargement de
Button; - le chargement de
Badge; - le chargement de
Input; - tout futur composant qui compose
Spinnersans imposer sa variante.
Priorités
L'ordre réel de priorité est:
- prop locale du composant;
- valeur du
SiaProviderle plus proche (imbriqué ou racine); - valeur interne de SIA UI.
tsx
<SiaProvider defaults={{ spinner: { variant: "dots" } }}>
<Button loading>Utilise dots</Button>
<Button loading spinnerProps={{ variant: "double-ring" }}>
Utilise double-ring
</Button>
</SiaProvider>Defaults disponibles
| Composant | Valeurs configurables |
|---|---|
Spinner | label, size, variant, tone |
Button | variant, size, radius, loadingLabel |
IconButton | variant, size, radius |
Badge | tone, variant, loadingLabel |
Input | loadingLabel |
Les providers peuvent être imbriqués. Un provider enfant fusionne ses defaults avec ceux du parent, ce qui permet une configuration globale puis des variantes spécifiques par module.
tsx
<SiaProvider defaults={{ spinner: { variant: "ring" } }}>
<PublicApp />
<SiaProvider defaults={{ spinner: { variant: "dots" } }}>
<AdminApp />
</SiaProvider>
</SiaProvider>