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
Ver todos: LoadersDó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.