React + MotionLoader

Spinner im macOS-Stil

Zwölf abgerundete Striche, die reihum im Kreis verblassen, wie der Spinner, den du vom Mac kennst.

Einstellungen

56px
1s

Code

import { motion } from "framer-motion";

interface MacOSSpinnerProps {
  size?: number;
  /** Segundos por vuelta. */
  speed?: number;
}

export default function MacOSSpinner({
  size = 56,
  speed = 1,
}: MacOSSpinnerProps) {
  return (
    <div
      role="status"
      aria-label="Wird geladen"
      className="relative"
      style={{ width: size, height: size }}
    >
      {Array.from({ length: 12 }, (_, i) => (
        <motion.span
          key={i}
          className="absolute left-1/2 top-0 block rounded-full bg-[#1d1d1f] dark:bg-[#f5f5f7]"
          style={{
            width: size / 11,
            height: size / 3.4,
            marginLeft: -size / 22,
            transformOrigin: `${size / 22}px ${size / 2}px`,
            rotate: i * 30,
          }}
          animate={{ opacity: [0.16, 1, 0.16] }}
          transition={{ duration: speed, repeat: Infinity, delay: (i * speed) / 12 }}
        />
      ))}
    </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

Dieser Spinner im macOS-Stil fühlt sich in Oberflächen wohl, die an Desktop-Software erinnern: ein Bildeditor im Browser, eine Electron-App oder die Sync-Anzeige in der Werkzeugleiste eines Notiz-Tools. Er übernimmt die Textfarbe der Seite und wechselt deshalb von selbst zwischen hellem und dunklem Modus, ohne je fehl am Platz zu wirken.

Am besten wirkt er klein bis mittelgroß, neben einem Hinweis wie „Wird synchronisiert…“ oder in einer Toolbar. Sehr groß wirken die einzelnen Striche schwer, dann passt ein leichterer Ring vielleicht besser.