Puntos que respiran
Tres puntos que crecen y se apagan en una respiración lenta y coordinada, más tranquilos que el típico rebote.
Ajustes
Código
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="Cargando" 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 para IA
Pégalo en ChatGPT, Claude o Cursor y adaptará el bloque a tu proyecto con estos ajustes, aunque no uses React.
Más en Loaders
Dónde usarlo
Si los puntos que rebotan parecen charlatanes, estos puntos que respiran transmiten calma. Van bien en momentos que deben sentirse tranquilos: un asistente de IA pensando la respuesta, una app de meditación preparando la sesión o una app bancaria confirmando una transferencia. Crecen y se iluminan uno tras otro, como una inspiración lenta.
Ponles una velocidad más lenta que la de un loader normal, entre un segundo y medio y dos por ciclo, y resultan casi relajantes. En tamaños muy pequeños se pierden, así que déjales algo de aire alrededor.