Barre de progression indéterminée
Une barre fine traversée en boucle par un segment, pour les attentes dont on ignore la durée.
Réglages
Code
import { motion } from "framer-motion";
interface ProgressBarProps {
color?: string;
/** Grosor de la barra en px. */
size?: number;
/** Duración de un recorrido en segundos. */
speed?: number;
}
export default function ProgressBar({
color = "#0071e3",
size = 10,
speed = 1.6,
}: ProgressBarProps) {
return (
<div
role="progressbar"
aria-label="Chargement"
className="w-56 overflow-hidden rounded-full bg-black/5 dark:bg-white/10"
style={{ height: size }}
>
<motion.div
className="h-full rounded-full"
style={{ backgroundColor: color }}
initial={false}
animate={{ x: ["-100%", "220%"] }}
transition={{ duration: speed, repeat: Infinity, ease: "easeInOut" }}
/>
</div>
);
}
Prompt pour l’IA
Collez-le dans ChatGPT, Claude ou Cursor : le bloc sera adapté à votre projet avec ces réglages, même sans React.
Plus dans Loaders
Où l’utiliser
Une barre de progression indéterminée dit « je m’en occupe » sans promettre de délai. Elle se place en haut d’une application web pendant le chargement de la page suivante, dans l’en-tête d’un tableau de bord qui rafraîchit ses graphiques ou sous le champ de recherche d’un comparateur de vols. Discrète, elle montre pourtant que ça avance.
Plus elle est fine, mieux c’est : trois ou quatre pixels collés en haut de l’écran passent presque inaperçus tout en rassurant. Dès que vous connaissez le vrai pourcentage, passez à une barre déterminée pour qu’on voie la fin approcher.