Interaktive Referenz aller Animations-Klassen, Effekte und Micro-Interactions
7
Wow-Effekte
16
Animations-Klassen
6
Effekt-Klassen
12
Stagger-Stufen
60 CSS-Partikel in 8 Markenfarben, gerendert via createPortal auf document.body (z-index: 99999). Feuert bei erfolgreicher Modal-Aktion.
Klick den Button — die Partikel explodieren über die gesamte Seite!
Verwendung
const confetti = useConfetti()
<button onClick={confetti.fire}>Feuern</button>
<ConfettiEffect
active={confetti.active}
onComplete={confetti.handleComplete}
/>useCountUp Hook in StatsCard — parsed deutsches Zahlenformat (€1.234.567, 3,2 %), animiert mit easeOutCubic über 1,2s. Nur beim Loading→Data-Übergang aktiv.
€2.847.500
Umsatz
1.234
Aufträge
94,7 %
Auslastung
3,2 Tage
Ø Lieferzeit
Wie es funktioniert
1. Parsing
Erkennt Prefix (€), Zahl (1.234,56), Suffix (%, Tage) und Dezimalstellen
2. Animation
requestAnimationFrame + easeOutCubic (1 - (1-t)³) über 1.200ms
3. Trigger
Nur wenn vorheriger Wert nicht numerisch war (z.B. '…' → '€2.847')
useTypewriter Hook mit State-Machine: Tippen → Pause → Löschen → Nächster Text. Konfigurierbares Tempo, blinkender Cursor via CSS.
Dashboard-Begrüßung (55ms / 30ms / 3s Pause)
Schnelleres Tempo (40ms / 25ms / 2s Pause)
TypewriterText<TypewriterText
texts={['Text 1', 'Text 2']}
typeSpeed={55}
deleteSpeed={30}
pauseTime={3000}
/>.typewriter-cursorBlinkender Cursor via CSS @keyframes typewriter-blink (0.8s steps(2)). Farbe: var(--color-primary).
Performanter Scroll-Handler mit passive Listener + requestAnimationFrame + direkter DOM-Manipulation. Verschiedene Geschwindigkeiten erzeugen Tiefeneffekt.
Scrolle die Seite, um den Parallax-Effekt auf diesen Karten zu sehen ↕
0.05
Langsam
Subtile Bewegung für Hintergrundelemente
0.10
Mittel
Standardgeschwindigkeit für Content
0.15 ↓
Schnell (down)
Gegenrichtung für Kontrast-Tiefe
ParallaxSection<ParallaxSection speed={0.1} direction="up">
{children}
</ParallaxSection>Props: speed (0–1, Standard 0.1), direction ('up' | 'down'). GPU-beschleunigt via will-change: transform.
CSS .icon-morph Klasse mit cubic-bezier(0.34, 1.56, 0.64, 1) Bounce-Effekt. Scale 1.2 + Rotate 8° auf Hover, Scale 0.95 + Rotate -4° beim Klick.
Bewege die Maus über die Karten, um den Morph-Effekt zu sehen 👆
.icon-morph.icon-morph {
transition: transform 0.35s
cubic-bezier(0.34, 1.56, 0.64, 1);
}
.group:hover .icon-morph {
transform: scale(1.2) rotate(8deg);
}Voraussetzung
Das Elternelement braucht die Tailwind-Klasse group, damit der .group:hover .icon-morph Selektor greift.
Active-State: scale(0.95) rotate(-4deg) für taktiles Feedback beim Klick.
IntersectionObserver-basierte Einblendung beim Scrollen. 4 Richtungen, konfigurierbare Delay/Duration/Distance. GPU-Compositing via translate3d.
Scrolle nach unten — die Boxen blenden sich ein. Scrolle zurück — sie verschwinden wieder (once=false für diese Demo).
direction="up"Standard — von unten nach oben einblenden. Delay: 0ms, Distance: 32px.
direction="down" delay=100Von oben nach unten einblenden. Mit 100ms Verzögerung.
direction="left" delay=200Von rechts nach links einblenden. Ideal für Sidebar-Elemente.
direction="right" delay=300Von links nach rechts einblenden. Mit 300ms Verzögerung.
ScrollReveal<ScrollReveal
direction="up" // 'up' | 'down' | 'left' | 'right'
delay={0} // ms Verzögerung
duration={600} // ms Animationsdauer
distance={32} // px Verschiebung
threshold={0.15} // IntersectionObserver threshold
once={true} // Nur einmal animieren?
>
{children}
</ScrollReveal>Above-the-fold Elemente werden sofort sichtbar (getBoundingClientRect-Check bei Mount). Respektiert prefers-reduced-motion.
Rotierende conic-gradient Umrandung via @property --gradient-angle + CSS animation. Drei Varianten: Standard, Glow (äußerer Blur-Schatten) und Subtle (nur bei Hover sichtbar).
Standard
2px Border, 3s Rotation
Perfekt für Feature-Cards und hervorgehobene Bereiche
+ Glow
Äußerer Blur-Schatten
Für Premium-CTAs und besondere Highlights
Subtle
Nur bei Hover sichtbar 👆
Dezent — border erscheint erst bei Maus-Hover
Schnellere Rotation (2s)
width=3, speed=2 — dickerer Border, schnellere Drehung
Langsam + Glow (6s)
width=1, speed=6, glow — elegante, ruhige Variante
GradientBorder<GradientBorder
glow // Äußerer Blur-Glow
subtle // Nur auf Hover
width={2} // Border-Dicke (px)
speed={3} // Rotationsdauer (s)
radius="var(--radius-xl)"
>
{children}
</GradientBorder>Technik
conic-gradient mit @property --gradient-angle für animierbaren Winkel.
mask-composite: exclude maskiert den Innenbereich — nur der Border bleibt sichtbar.
Farben: Primary → Info → Purple
Alle 7 interaktiven Effekte auf einen Blick — implementiert als wiederverwendbare React-Komponenten + Hooks.
Konfetti
Confetti.tsxuseConfetti()Zahlen-Counter
StatsCard.tsxuseCountUp()Typewriter
Typewriter.tsxuseTypewriter()Parallax
ParallaxSection.tsx—Icon-Morph
globals.css—Scroll-Reveal
ScrollReveal.tsx—Gradient Border
GradientBorder.tsx—Alle 7 Effekte respektieren prefers-reduced-motion: reduce — Animationen werden automatisch deaktiviert.
Alle 16 @keyframes aus globals.css — sortiert nach Verwendungshäufigkeit.
fade-upFade + Slide von unten nach oben
scale-inScale von 0.95 → 1 mit Fade
slide-in-rightSlide von rechts mit Fade
number-inZahlen-Einblendung für Stats
backdrop-fade-inBackdrop Overlay ein
backdrop-fade-outBackdrop Overlay aus
dialog-scale-inDialog-Modal einblenden
dialog-scale-outDialog-Modal ausblenden
dropdown-scale-inDropdown-Menü einblenden
dropdown-scale-outDropdown-Menü ausblenden
glow-pulse-coloredDrop-Shadow-Pulse (infinite)
shimmerHorizontaler Gradient-Sweep
page-enterSeitenwechsel Einblendung
page-exitSeitenwechsel Ausblendung
nprogress-growLadebalken wachsend
nprogress-completeLadebalken abschließend
Alle Animationen sind in src/app/globals.css unter @layer utilities definiert.
Reduced Motion
Bei prefers-reduced-motion: reduce werden alle Animationen deaktiviert — animation: none; opacity: 1; transform: none;
Print Styles
Im Druckmodus werden alle Animationen und Transitions mit animation: none !important deaktiviert.
Performance
Alle Animationen nutzen transform und opacity — GPU-beschleunigte Properties ohne Layout-Reflows.