LiveAnimate Demo

Every animation property in action. Click a preset in the page-transition bar below to see View Transitions.

Entrance / Exit Presets

Scroll away and back to replay.

fade
blur
slide-up
slide-down
slide-left
slide-right
zoom-in
zoom-out
drop
flip-x
flip-y

Gesture Presets

Hover to preview each effect.

scale-up
scale-down
press
lift
tilt-left
tilt-right

Keyframe Presets

Looping continuously.

shake
bounce
pulse
wiggle
spin
ping
rubber-band
float
highlight

Custom Keyframes

No presets — raw keyframes passed inline.

Disco
Glitch
Jelly
Orbit

Exit Animations

Toggle to see exit animations.

flip-x
flip-y

Layout Animation (FLIP)

Elements smoothly animate to their new positions when the layout changes.

Toggle Layout

A
B
C
D

Grid Reflow

Click a block to remove it.

1
2
3
4
5
6
7
8
9
10
11
12

Stream List

Add/remove items to see layout animations, exit animations, and hover effects.

  • Build the interception spike
  • Wrap LiveView patches in View Transitions
  • Delay element removal with exit animations
  • Implement spring physics easing
  • Create the <.motion> component

Drag

Free drag, axis lock, constraints, and elastic overscroll.

Free

Free

X axis only

X only

Constrained

Bounded

Elastic

Elastic

Slider — snap_back: false (stays where you drop it)

Slider handle — drag horizontally

Dropped at 0px

Drag Callbacks

phx-drag-end pushes the release position to the server.

Position Tracker

Drag

x: 0px

y: 0px

Swipe to Dismiss

Drag right past 80px to remove.

Swipe me right to dismiss
Swipe me too
And me

Scroll-Linked

This element triggers its animation while in the scroll "sweet spot".

Scroll-triggered slide-up

Per-Animation Transitions

Each element uses a different transition — spring physics or tween easing. Scroll away and back to replay.

Bouncy s:400 d:10
Stiff s:600 d:30
Gentle s:50 d:8
Tween ease-in-out

Stagger

Each child is automatically delayed by its index. Scroll away and back to replay.

1
2
3
4
5
6

Delay

Staggered entrance with increasing delays. Scroll away and back to replay.

0ms
100ms
200ms
300ms

Duration

Different durations on every element. Scroll away and back to replay.

100ms
500ms
1000ms
3000ms