Skip to content

Pixel loader

Candidate

Pixel loader signale un chargement court ou une synchronisation en cours. Il reprend la logique de matrice des identites produits, avec un reveal progressif des pixels, une rotation de 90 degres, puis une disparition en boucle.

Chargement
Chargement global Chargement ServerSide Chargement Audience Chargement ABConsent
Chargement des signaux
Chargement des signaux
LayoutUsage
stackedEtat de chargement centre dans une carte, une section ou une vue vide
inlineChargement compact dans une ligne, un bouton adjacent ou un panneau dense
Audience
ABConsent
ServerSide
Neutral
SizeUsage
smChargement inline, dans une ligne ou une action compacte
mdChargement standard dans une carte ou une zone de contenu
lgEtat de chargement principal dans une section
xlEtat de chargement immersif, hero ou plein ecran
---
import PixelLoader from '@sirdata/pixel/astro/PixelLoader';
---
<PixelLoader product="serverside" size="md" layout="stacked" label="Chargement des signaux" />

layout vaut stacked par defaut. Utiliser inline lorsque le loader accompagne un texte dans un espace horizontal contraint.

Pixel loader utilise les tokens produits lorsque disponibles :

ProductToken
audience--color-product-audience-primary
abconsent--color-product-abconsent-primary
serverside--color-product-serverside-primary
neutral--color-text-primary
inverse--color-text-inverse

Les dimensions s’appuient sur --size-24, --size-40 et --size-64. La taille xl correspond a 1.5 × --size-64. Le label utilise les tokens label-md.

L’animation est realisee en SVG inline et CSS keyframes, sans JavaScript. Elle suit trois temps : reveal stagger des pixels, rotation horaire de la matrice complete, puis disparition progressive.

prefers-reduced-motion desactive l’animation et affiche la matrice complete.

DoDon’t
Utiliser le produit correspondant au contexte charge.Melanger plusieurs loaders produits dans la meme zone.
Ajouter un label explicite pour l’accessibilite.Utiliser le loader sans texte accessible.
Garder le loader pour des attentes courtes.Remplacer des etats vides ou erreurs par un loader infini.
Utiliser neutral dans les contextes non produits.Appliquer une couleur arbitraire hors tokens.

Le composant utilise role="status" et expose label via aria-label. Le SVG est masque aux technologies d’assistance. Pour un chargement long, ajouter un message de progression ou un etat descriptif dans la page.

Candidate. La V1 couvre les tailles, les variantes produits et la reduction de mouvement. La personnalisation avancee des timings reste hors scope.