Points qui respirent
Trois points qui grossissent et s’estompent dans une respiration lente et coordonnée, plus calme que le rebond habituel.
Réglages
Code
import { motion } from "framer-motion";
interface BreathingDotsProps {
color?: string;
size?: number;
/** Duración de una respiración en segundos. */
speed?: number;
}
export default function BreathingDots({
color = "#6e6e73",
size = 15,
speed = 1.5,
}: BreathingDotsProps) {
return (
<div role="status" aria-label="Chargement" className="flex gap-3">
{[0, 1, 2].map((i) => (
<motion.span
key={i}
className="rounded-full"
style={{ width: size, height: size, backgroundColor: color }}
animate={{ scale: [0.72, 1, 0.72], opacity: [0.35, 1, 0.35] }}
transition={{ duration: speed, delay: i * 0.18, repeat: Infinity }}
/>
))}
</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
Là où les points qui rebondissent semblent bavards, ces points qui respirent paraissent posés. Ils conviennent aux moments qui doivent rester calmes : un assistant IA qui réfléchit à sa réponse, une appli de méditation qui prépare une séance ou une appli bancaire qui confirme un virement. Ils grandissent l’un après l’autre, comme une inspiration lente.
Donnez-leur une vitesse plus lente qu’un loader classique, entre une seconde et demie et deux par cycle, et ils deviennent presque apaisants. Trop petits, ils se perdent : laissez-leur un peu d’espace autour.