Concepts
Presets
Named animations for common product UI moments. Use them when the desired motion is already known and you do not need custom state logic.
Where presets fit
Entrance presets work with moveEnter, moveLeave, [move], moveInView and staggered children. The two interaction presets, lift and press, are for moveWhileHover and moveWhileTap. They are the fastest way to add consistent motion to empty states, cards, menus, alerts, SVG icons and list reveals.
- Use for simple moments. Choose a preset when the element only needs an entrance, exit or reveal.
- Keep timing local. Tune
moveDuration,moveDelay,moveEasingormoveSpringwithout changing the preset. - Graduate when state matters. Move to variants, presence, drag, scroll or layout when behaviour gets richer.
Gallery
Every preset below is the real directive, rendered live. Replay any preview to watch it again; reduced motion shows the end state.
Product UI reveals
Use these for cards, panels, empty states, menus and list items.
<article moveEnter="fade-up">Billing summary</article>
<aside moveEnter="slide-up" moveLeave="slide-down">Filters</aside>
<span moveEnter="zoom-in" moveDuration="300ms">Saved</span>
Interaction
lift is a 4px rise for cards, buttons and links — mouse and pen only, because touch has no hover. press is a 3% scale-down while pressed, the touch feedback for anything tappable. They write different style channels, so they compose on one element.
<a moveWhileHover="lift" moveWhileTap="press">Pricing</a>
Feedback and attention
Use these sparingly, for validation, loading and meaningful emphasis.
<div moveEnter="pulse" moveDuration="900ms">Syncing</div>
<input moveEnter="shake" aria-invalid="true" />
<strong moveEnter="tada">Workspace ready</strong>
SVG icons
Use these for checkmarks, route lines, progress strokes and product icons. icon-draw reveals the actual SVG stroke instead of faking it with opacity.
<path moveEnter="icon-draw" d="M14 25.5 21 32l14-17" stroke="currentColor" />
<svg moveEnter="icon-pulse"><path d="..." /></svg>
When to avoid a preset
If the element has named states, use moveVariants. If Angular should keep a removed view alive while it exits, wrap it in movePresence. If the pointer, layout or scroll position drives the behaviour, use moveDrag, moveLayout, moveScroll or moveParallax. The complete preset type is MovePreset.