Skip to content
Components

Animations

Add enter, exit, hover, and loop animations to your components.

Animations

Animations bring your in-app experiences to life. Setgreet supports a full animation system with enter, exit, hover, tap, and loop animations — all rendered natively on iOS and Android. You can apply preset animations to any component or use Lottie JSON for complex custom motion graphics.

Enter Animations

Enter animations play when a component first appears on screen. They control how elements transition from invisible to visible.

Presets

PresetDescription
fadeFades in from transparent to opaque.
fadeInAlias for fade.
slideUpSlides in from below the component's final position.
slideDownSlides in from above.
slideLeftSlides in from the right.
slideRightSlides in from the left.
scaleScales up from a smaller size.
scaleInAlias for scale.
bounceEnters with a bouncing effect.
pulseFades in with a pulsing size change.
shakeEnters with a horizontal shake.
flipFlips in along the Y axis.
rotateRotates in from a turned angle.
noneNo animation — the component appears instantly.

Triggers

Enter animations can be triggered by different events:

TriggerDescription
onMountPlays immediately when the screen loads. This is the default.
onVisiblePlays when the component scrolls into the viewport. Useful in scrollable screens.

Configuration

PropertyTypeDefaultDescription
PresetselectnoneThe animation preset to apply.
Durationnumber300msHow long the animation takes to complete.
Delaynumber0msTime to wait before the animation starts. Use this to stagger multiple components.
EasingselecteaseThe timing curve (see Easing section below).

Stagger multiple enter animations by setting increasing delay values on each component. For example, a title with 0ms delay, a subtitle with 100ms, and a button with 200ms creates a cascading entrance effect.


Exit Animations

Exit animations play when a component is removed from the screen — typically during a screen transition. They control how elements leave the viewport.

Presets

Exit animations use the same preset library as enter animations. Common pairings:

EnterExitEffect
fadeInfadeOutGentle fade transition.
slideUpslideDownContent slides up to enter, down to leave.
scaleInscaleOutZooms in to appear, shrinks to disappear.
slideLeftslideRightHorizontal slide transitions.

Configuration

Exit animations share the same duration, delay, and easing properties as enter animations.


Hover Animations

Hover animations provide visual feedback when a user hovers over a component (on devices that support hover, such as iPads with a pointer or desktop web previews).

Properties

PropertyTypeDefaultDescription
PresetselectnoneThe animation preset.
Scalenumber1.05Scale factor applied on hover.
Opacitynumber1Opacity applied on hover.
Durationnumber300msTransition duration.
EasingselecteaseTiming curve.

Tap Animations

Tap animations play when a user taps on a component, providing tactile feedback. They are most commonly used on buttons and interactive elements.

Properties

PropertyTypeDefaultDescription
PresetselectnoneThe animation preset.
Scalenumber0.95Scale factor on tap (values below 1 create a "press in" effect).
Opacitynumber1Opacity on tap.
Durationnumber300msAnimation duration.
EasingselecteaseTiming curve.

Loop Animations

Loop animations run continuously, repeating for a set number of iterations or indefinitely. They are ideal for drawing attention to important elements.

Properties

PropertyTypeDefaultDescription
PresetselectnoneThe animation preset. pulse and bounce are the most common loop animations.
Durationnumber300msDuration of one animation cycle.
Iterationsnumber-1Number of repetitions. -1 means infinite.
DirectionselectnormalPlayback direction: normal, reverse, alternate (forward then backward).
EasingselecteaseTiming curve.

Common patterns

  • Pulsing badge — apply a pulse loop to a "NEW" badge to draw the eye
  • Bouncing arrow — a bounce loop on a down-arrow icon to indicate scrollable content
  • Attention button — a subtle pulse on a CTA button to encourage taps

Easing

Easing controls the acceleration curve of an animation — whether it starts slow, ends slow, or maintains constant speed.

EasingDescription
linearConstant speed from start to finish. Mechanical feel.
easeStarts slow, accelerates, then decelerates. The most natural-feeling default.
easeInStarts slow, accelerates toward the end. Good for exit animations.
easeOutStarts fast, decelerates toward the end. Good for enter animations.
easeInOutStarts and ends slow with acceleration in the middle. Smooth and polished.
springPhysics-based spring dynamics with natural overshoot and settle. Creates the most organic feel.

Duration and Delay

Duration

Duration controls how long an animation takes to complete, in milliseconds. The default is 300ms.

RangeFeel
100-200msSnappy, immediate. Good for tap feedback and micro-interactions.
200-400msBalanced. The sweet spot for most enter/exit animations.
400-800msDeliberate, attention-drawing. Good for hero elements and celebrations.
800ms+Dramatic. Use sparingly for special moments.

Delay

Delay sets how long to wait before an animation begins, in milliseconds. The default is 0 (immediate).

Delay is most useful for staggering — creating a cascading sequence where components animate in one after another. Set incrementing delay values on sibling components to achieve this effect.


Lottie Animations

For animations that go beyond what presets offer, the Lottie component renders JSON-based animations created in After Effects and exported via Bodymovin.

Lottie animations offer:

  • Frame-by-frame control with start and end frame properties
  • Adjustable playback speed
  • Loop and autoplay configuration
  • Resolution-independent rendering at any size

Use Lottie when you need branded illustrations, complex multi-element animations, or animations that match a specific design specification.

On this page