Magnetic Container

Cursor-reactive wrapper that gently pulls content and optionally tilts it. Built using framer-motion and class-variance-authority.

Default
Live controls for strength, radius, tilt, perspective, and layout variant; strength/radius default like MagneticPresets.subtle, block variant fills the preview for centering
1<Magnetic
2 strength={20}
3 radius={100}
4 tilt={false}
5 tiltStrength={10}
6 perspective={900}
7 variant="block"
8 disabled={false}
9>
10
11 <div className="flex min-h-[160px] w-full items-center justify-center">
12 <Button variant="outline">Hover me</Button>
13 </div>
14</Magnetic>

Controls

strength
radius
tilt
tiltStrength
perspective
variant
disabled

Props

NameTypeDefaultDescription
strengthnumber40Maximum pull distance toward cursor in pixels
radiusnumber150Activation distance from center in pixels
tilt / tiltStrengthboolean / numberfalse / 10Enable and tune subtle 3D tilt toward pointer movement
perspectivenumber9003D camera depth in pixels when tilt is enabled
variant (CVA)"default" | "block""default"Wrapper layout variant from CVA
springConfig / disabled / asobject / boolean / ElementTypedefault spring / false / divControl animation feel, disable behavior, and element type