Toggle-Schalter
Ein An-/Aus-Schalter, dessen Knopf federnd hinüberspringt, mit Farbe und Größe passend zu deinem Design.
Einstellungen
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.
Mehr aus Eingabefelder
Alle ansehen: EingabefelderWofü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.