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
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.