Skip to content

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 Spinner sans imposer sa variante.

Priorités ​

L'ordre réel de priorité est:

  1. prop locale du composant;
  2. valeur du SiaProvider le plus proche (imbriqué ou racine);
  3. 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 ​

ComposantValeurs configurables
Spinnerlabel, size, variant, tone
Buttonvariant, size, radius, loadingLabel
IconButtonvariant, size, radius
Badgetone, variant, loadingLabel
InputloadingLabel

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>

Publié sous licence MIT.