React + MotionLoader

Fortschrittsbalken mit Glanz

Ein dünner Fortschrittsbalken, über dessen gefüllten Teil ein Lichtstreifen läuft, damit er auch bei Pausen lebendig wirkt.

Einstellungen

68%
1.5s

Code

import { motion } from "framer-motion";

interface ShineProgressProps {
  color?: string;
  /** Progreso de 0 a 100. */
  progress?: number;
  /** Segundos que tarda el reflejo en cruzar. */
  speed?: number;
}

export default function ShineProgress({
  color = "#0071e3",
  progress = 68,
  speed = 1.5,
}: ShineProgressProps) {
  return (
    <div
      role="progressbar"
      aria-valuenow={progress}
      aria-valuemin={0}
      aria-valuemax={100}
      className="h-1.5 w-64 overflow-hidden rounded-full bg-black/5 dark:bg-white/10"
    >
      <motion.div
        className="relative h-full rounded-full"
        style={{ width: `${progress}%`, backgroundColor: color }}
        animate={{ width: `${progress}%` }}
        transition={{ type: "spring", stiffness: 300, damping: 30 }}
      >
        <motion.span
          className="absolute inset-y-0 w-16 bg-gradient-to-r from-transparent via-white/50 to-transparent"
          animate={{ x: [-70, 260] }}
          transition={{ duration: speed, repeat: Infinity, ease: "linear" }}
        />
      </motion.div>
    </div>
  );
}

Prompt für KI

Füg ihn in ChatGPT, Claude oder Cursor ein und der Baustein wird mit diesen Einstellungen an dein Projekt angepasst, auch ohne React.

Mehr aus Loader

Wofür du ihn nutzen kannst

Echter Fortschritt läuft selten gleichmäßig, und dieser Balken geht gut damit um: Der Glanz läuft weiter, während die Füllung wartet. Nutze ihn beim Dateiexport eines Design-Tools, auf der Downloadseite einer Desktop-App oder als Schrittanzeige in einem mehrstufigen Checkout. Ein animierter Fortschrittsbalken, der angenehm zurückhaltend bleibt.

Stell den Glanz langsamer ein, als du denkst; ein schneller Blitz jede Sekunde wirkt hektisch. Auf kräftigen Farben kommt der Streifen mit einem mittleren Ton am besten zur Geltung. Springt dein Fortschritt in großen Schritten, federt die Breite jeden Sprung ab.