Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
framer-motion
Advanced tools
The framer-motion npm package is a popular library for creating animations and transitions in React applications. It provides a powerful and easy-to-use set of tools for animating components, handling gestures, and creating complex motion effects with simple declarative syntax.
Basic Animations
Animate the horizontal position of a component to 100 pixels.
{"<motion.div animate={{ x: 100 }} />"}
Variants
Use variants to define animation states and transition between them.
{"<motion.div variants={variants} initial='hidden' animate='visible' />"}
Gestures
Scale a button up on hover and down on tap.
{"<motion.button whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }} />"}
Drag
Make a component draggable.
{"<motion.div drag />"}
Shared Layout Animations
Animate layout changes between components that share a layoutId.
{"<motion.ul layout><motion.li layoutId='id' /></motion.ul>"}
Exit Animations
Animate the component out when it's removed from the React tree.
{"<motion.div exit={{ opacity: 0 }} />"}
React-spring is a spring-physics based animation library that allows for a wide range of animations in React applications. It is similar to framer-motion in that it provides a way to create animations, but it uses spring physics for a more natural motion. React-spring is more focused on physics-based animations, whereas framer-motion offers a wider range of animation utilities, including gesture handling and drag.
React-motion is another animation library for React that provides a powerful way to create animations using spring configurations. It is less declarative and more configuration-based compared to framer-motion, which might be preferred by developers who want more control over the animation physics.
GSAP (GreenSock Animation Platform) is a robust JavaScript animation library that works well with React and other frameworks. It is not specifically designed for React like framer-motion, but it offers a wide range of animation capabilities and fine-grained control over animations. GSAP is known for its performance and flexibility, but it has a steeper learning curve compared to framer-motion.
Anime.js is a lightweight JavaScript animation library that can be used with any web framework, including React. It is similar to framer-motion in terms of providing a simple API for animations, but it does not offer React-specific features like framer-motion does. Anime.js is a good choice for developers looking for a general-purpose animation library that is easy to use and extend.
Motion for React is an open source, production-ready library thatβs designed for all creative developers.
It's the only animation library with a hybrid engine, combining the power of JavaScript animations with the performance of native browser APIs.
It looks like this:
<motion.div animate={{ x: 0 }} />
It does all this:
...and a whole lot more.
Install motion
via your package manager:
npm install motion
Then import the motion
component:
import { motion } from "motion/react"
export function Component({ isVisible }) {
return <motion.div animate={{ opacity: isVisible ? 1 : 0 }} />
}
Motion is sustainable thanks to the kind support of its sponsors.
Motion powers Framer animations, the web builder for creative pros. Design and ship your dream site. Zero code, maximum speed.
[11.15.0] 2024-12-13
repeat
in animation sequences.FAQs
A simple and powerful JavaScript animation library
The npm package framer-motion receives a total of 4,016,449 weekly downloads. As such, framer-motion popularity was classified as popular.
We found that framer-motion demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 53 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.