UI.MD

Animation & motion

Fast and purposeful. Every transition stays under 300ms, spring physics handle interactive elements, and every animation respects reduced motion preferences.

Press feedback

Every button scales down on press for tactile feedback via a fast CSS transform transition.

Spring indicators

Interactive indicators use spring physics for natural momentum. Click between tabs to feel the spring settle.

Easing direction

Match the easing curve to the motion: entering decelerates, exiting accelerates.

ease-outEntering: Decelerates into place

ease-inLeaving: Accelerates off-screen

ease-in-outMovement: Travels across the screen

linearConstant: Progress bars, spinners

Motion roles

Two roles, each a duration plus an ease-out curve. Components pick a role by class name, never a number.

RoleClasses and useValue
Smallduration-small ease-smallControl feedback (hover, press, focus, check, switch), tooltips, and every surface on its way out.150ms
Largeduration-large ease-largeA surface coming in (popover, menu, select, dialog, sheet, drawer) and disclosure (a chevron turning, a panel opening).200ms

Component motion audit

The kit's animated components and the motion config behind each.

ComponentInteractionType
ButtonPress feedback: active:scale-[0.98]CSS
TabsPill slide: bounce: 0.1Spring
ShimmerShimmer loop: linear, repeatFramer
TooltipEnter and exit: duration-small ease-smallBase UI
PopoverEnter and exit: large in, small outBase UI
DropdownEnter and exit: large in, small outBase UI
DialogEnter and exit: large in, small outBase UI
Alert DialogEnter and exit: large in, small outBase UI
SwitchThumb slide: duration-small ease-smallCSS
CollapsibleExpand and collapse: height 200ms open, 150ms closeHeight
CardContent grow: animateHeight 200msHeight

Next steps