React + MotionEingabefelder

Toggle-Schalter

Ein An-/Aus-Schalter, dessen Knopf federnd hinüberspringt, mit Farbe und Größe passend zu deinem Design.

Einstellungen

36px

Code

import { useState } from "react";
import { motion } from "framer-motion";

interface ToggleSwitchProps {
  color?: string;
  size?: number;
  checked?: boolean;
  defaultChecked?: boolean;
  onCheckedChange?: (checked: boolean) => void;
  label?: string;
}

export default function ToggleSwitch({
  color = "#0071e3",
  size = 36,
  checked,
  defaultChecked = true,
  onCheckedChange,
  label = "Aktivieren",
}: ToggleSwitchProps) {
  const [internal, setInternal] = useState(defaultChecked);
  const on = checked ?? internal;

  const toggle = () => {
    if (checked === undefined) setInternal(!on);
    onCheckedChange?.(!on);
  };

  return (
    <button
      type="button"
      role="switch"
      aria-checked={on}
      aria-label={label}
      onClick={toggle}
      className="flex shrink-0 items-center rounded-full p-1 transition-colors"
      style={{
        width: size * 1.85,
        height: size,
        backgroundColor: on ? color : "oklch(0.3 0.012 260)",
      }}
    >
      <motion.span
        className="rounded-full bg-white shadow"
        style={{ width: size - 8, height: size - 8 }}
        animate={{ x: on ? size * 0.85 : 0 }}
        transition={{ type: "spring", stiffness: 500, damping: 30 }}
      />
    </button>
  );
}

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.

Markdown-Version mit dem ganzen Code, für KI-Assistenten

Mehr aus Eingabefelder

Alle ansehen: Eingabefelder

Wofür du ihn nutzen kannst

Nimm einen Toggle für Einstellungen, die sofort greifen: Dark Mode, E-Mail-Benachrichtigungen, „Preise inkl. MwSt. anzeigen“ in einem B2B-Shop oder die Verfügbarkeit in einem Buchungs-Dashboard. Der federnde Knopf rastet angenehm ein. Wer einen animierten Toggle Switch in React sucht, hat hier eine saubere Grundlage.

Nach einem Toggle sollte nie noch ein „Speichern“-Button nötig sein. Greift die Änderung erst später, ist eine Checkbox ehrlicher. Schreib daneben, was „an“ bedeutet, und prüf, ob die Aus-Farbe auf deinem Hintergrund genug Kontrast hat.