Kinetic

A flexible wrapper component for framer-motion animations.

Playground

Customize the Kinetic properties to see different variations.

Content to animate

Customize

Installation

pnpm dlx shadcn@latest add https://shadcn-ui-variants.vercel.app/r/kinetic.json

Overview

This component provides a declarative way to add animations to any content. It supports viewport-based animations, scroll-triggered animations, and various predefined animation variants.

Examples

Basic fade in animation

Content to animate

Animate when entering viewport

Card title
Card description

Scroll-based animation

Scroll to see me animate

Custom animation with loop

Kinetic Props

PropTypeDefault
animation
enum
duration
number0.5
delay
number0
startOnView
booleanfalse
once
booleantrue
loop
booleanfalse
onScroll
booleanfalse
offset
number
className
string
children*
React.ReactNode
viewportOptions
enum
transition
MotionProps["transition"]
style
React.CSSProperties
externalScrollProgress
MotionValue<number>
isParentScrollRangeCustom
boolean
staggerIndex
number
scrollStaggerAmount
number
segmentScrollSpan
number