Shimmer
Une bande de lumière qui balaie le texte pour les états en cours, teintée à partir de la couleur du texte et immobile avec la réduction des animations.
Thinking about your question…
Shimmer est un utilitaire Tailwind issu du tailwind.css de shadcn. Le thème HextaUI l'importe déjà : si vous avez ajouté le thème ou un composant, vous l'avez.
pnpm dlx shadcn@latest add https://hextaui.com/r/theme.jsonSans le thème, installez shadcn et importez son CSS après Tailwind.
pnpm add shadcnUtilisez-le sur un texte court qui décrit un travail en cours, comme un assistant qui réfléchit, un fichier en cours de traitement ou une étape qui s'exécute. La surbrillance mobile dit « toujours en cours » sans qu'un spinner occupe de la place à côté des mots.
Le texte est peint avec un dégradé via background-clip: text, et une bande plus claire glisse dessus. La bande est dérivée de la couleur propre du texte : elle convient donc au texte atténué, au premier plan ou coloré sans configuration, et elle s'éclaircit en mode sombre, où une bande plus claire se lit mieux.
- Avec la réduction des animations, le dégradé est entièrement retiré et le texte s'affiche dans sa couleur normale.
- Dans les mises en page de droite à gauche, le balayage s'inverse et suit donc toujours le sens de lecture.
- Le texte reste du vrai texte : sélectionnable, recherchable et lu normalement par les lecteurs d'écran.
Options
La vitesse, la largeur de la bande, la couleur et l'angle tiennent chacun en une classe.
Mises à jour de statut
Faites scintiller pendant qu'une tâche s'exécute, puis balayez une fois avec shimmer-once à la fin. Changer la key relance le balayage à chaque nouvelle étape.
- Limitez-le à une ou deux lignes. Un paragraphe scintillant fatigue à lire.
- Placez le texte dans une région
role="status"quand il change, pour que la nouvelle étape soit annoncée. Le scintillement lui-même est décoratif. - Pour des blocs de remplissage plutôt que du texte, utilisez Skeleton, qui fait scintiller les surfaces avec le
animate-shimmerdu thème.
| Classe | Description |
|---|---|
shimmer | Balaie le texte d'une surbrillance, toutes les 2s. |
shimmer-once | Balaie une seule fois au lieu de se répéter. |
shimmer-reverse | Balaie dans le sens opposé. |
shimmer-none | Le désactive, par exemple à un point de rupture. |
shimmer-color-<color> | Couleur de la surbrillance, issue du thème ou arbitraire. Accepte un modificateur d'opacité. |
shimmer-duration-<ms> | Durée d'un balayage en millisecondes. |
shimmer-spread-<number> | Largeur de la bande sur l'échelle d'espacement, ou n'importe quelle longueur. 3ch + 40px par défaut. |
shimmer-angle-<deg> | Inclinaison de la bande. 20° par défaut. |