Skip to content
TrademarkTrademark
Docs
Components

Animation

Updated: October 8, 2025
View on GitHub

The Animation component provides a simple way to add animations to any element with value-based animation props, configurable triggers, and fine-grained control over timing and easing. Each animation prop accepts a value representing the initial state.

Types

All animations are value-based - the value represents the initial state, and it animates to the natural end state (opacity: 1, scale: 1, blur: 0, translate: 0).

Manual trigger

Use the trigger prop with interactive elements like NavIcon or Button. For controlled state (like toggling NavIcon's active state), use triggerType="manual" with the active prop.

Easing

Customize animation feel with different easing curves: linear, ease, ease-in, ease-out, ease-in-out, spring, bounce.

Self trigger

When used without a trigger, animations apply directly to the element.

Portal mode

Enable portal rendering to display animated content in a positioned overlay using Floating UI. Perfect for tooltips, popovers, and hover cards.

Combining animations

Stack multiple animations by providing multiple props. Each value represents the initial state.

API reference

Type
Default
trigger
ReactNode—
children
React.ReactNode—
fade
number—
scale
number—
blur
number—
slideUp
number—
slideDown
number—
slideLeft
number—
slideRight
number—
zoomIn
number—
zoomOut
number—
triggerType
manualhoverclick
manual
active
boolean—
delay
number0
duration
number300
easing
bouncelineareaseease-inease-outease-in-outspring
ease-out
transformOrigin
stringcenter
childrenPosition
How the animated children are positioned inside the wrapper.
CSSProperties["position"]absolute
reverse
booleanfalse
touch
Behaviour on touch devices, where there is no hover to drive the effect.
disableenabledisplay
enable
portal
booleanfalse
placement
toprightbottomlefttop-starttop-endright-startright-endbottom-startbottom-endleft-startleft-end
top
offsetDistance
SpacingToken8
…and every FlexProps propinherited—
Edit this page on GitHub