2.0 alpha
These docs describe 2.0. Install it with @once-ui-system/core@alpha.
On 1.8.x? Read the 1.x docs
TrademarkTrademarkDocs
Ctrl k
Search 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. 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). 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. Customize animation feel with different easing curves: linear, ease, ease-in, ease-out, ease-in-out, spring, bounce. When used without a trigger, animations apply directly to the element. Enable portal rendering to display animated content in a positioned overlay using Floating UI. Perfect for tooltips, popovers, and hover cards. Stack multiple animations by providing multiple props. Each value represents the initial state.
Prop
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
manualclickhover
manual
active
boolean
delay
number0
duration
number300
easing
lineareaseease-inease-outease-in-outspringbounce
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
TrademarkTrademark
Built with curiosity by Lorant One and the Design Engineers Club