MediasfuAnimations class

A comprehensive animation system for the modern MediaSFU UI.

Provides:

  • Duration constants for consistent timing
  • Curve presets for various motion types
  • Spring physics configurations
  • Stagger utilities for list animations
  • Tween helpers for common transitions

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

bouncySpring → SpringDescription
Bouncy spring - for playful, elastic effects
no setter
buttonPress → AnimationConfig
Button press feedback configuration
no setter
defaultSpring → SpringDescription
Default spring - balanced responsiveness
no setter
gentleSpring → SpringDescription
Gentle spring - slow and smooth
no setter
hoverScale → AnimationConfig
Hover scale configuration
no setter
modalEnter → AnimationConfig
Modal enter transition configuration
no setter
modalExit → AnimationConfig
Modal exit transition configuration
no setter
pageEnter → AnimationConfig
Page enter transition configuration
no setter
snappySpring → SpringDescription
Snappy spring - fast with slight overshoot
no setter
stiffSpring → SpringDescription
Stiff spring - quick and controlled
no setter
toastEnter → AnimationConfig
Toast notification enter configuration
no setter

Static Methods

cascadeIntervals(int itemCount, {double staggerAmount = 0.1, Curve curve = Curves.easeOutCubic}) → List<Interval>
Creates a cascading stagger effect configuration.
createSpringSimulation({SpringDescription? spring, double start = 0.0, double end = 1.0, double velocity = 0.0}) → SpringSimulation
Creates a spring simulation for physics-based animations.
fadeIn(AnimationController controller) → Animation<double>
Fade in animation
fadeOut(AnimationController controller) → Animation<double>
Fade out animation
heartbeat(AnimationController controller) → Animation<double>
Creates a heartbeat animation (two quick pulses).
pulse(AnimationController controller, {double minScale = 1.0, double maxScale = 1.05}) → Animation<double>
Creates a pulsing animation for attention-grabbing effects.
rotate(AnimationController controller, {double turns = 1.0}) → Animation<double>
Rotation animation
scaleDown(AnimationController controller, {double from = 1.0, double to = 0.95}) → Animation<double>
Scale down animation
scaleUp(AnimationController controller, {double from = 0.8, double to = 1.0}) → Animation<double>
Scale up animation (0.0 to 1.0)
shimmerAlignment(AnimationController controller) → Animation<Alignment>
Creates a shimmer gradient animation alignment.
slideFromBottom(AnimationController controller) → Animation<Offset>
Slide from bottom animation
slideFromLeft(AnimationController controller) → Animation<Offset>
Slide from left animation
slideFromRight(AnimationController controller) → Animation<Offset>
Slide from right animation
slideFromTop(AnimationController controller) → Animation<Offset>
Slide from top animation
staggerDelay(int index, {Duration baseDelay = const Duration(milliseconds: 50), Duration maxDelay = const Duration(milliseconds: 500)}) → Duration
Calculates stagger delay for list item animations.
staggerInterval(int index, int totalItems, {double overlapRatio = 0.5}) → Interval
Calculates stagger interval for use with AnimationController.

Constants

accelerate → const Curve
Accelerate for outgoing elements
anticipate → const Curve
Anticipate - slight pullback before forward motion
bounce → const Curve
Bounce effect for playful elements
cinematic → const Duration
Cinematic - For hero animations and page transitions
decelerate → const Curve
Decelerate for incoming elements
emphasizedEnter → const Curve
Material Design emphasized curve for enter
emphasizedExit → const Curve
Material Design emphasized curve for exit
fast → const Duration
Fast - For micro-interactions (ripples, toggles)
instant → const Duration
Instant - For immediate feedback (hover states)
linear → const Curve
Linear for constant-speed animations (loading spinners)
normal → const Duration
Normal - Standard transitions (page changes, modal opens)
overshoot → const Curve
Overshoot for attention-grabbing animations
slow → const Duration
Slow - For emphasis or complex animations
slower → const Duration
Slower - For dramatic reveals
smooth → const Curve
Smooth ease for general purpose animations
snappy → const Curve
Snappy ease for responsive interactions