This month's @LevelUpTuts is the most jam packed course we've ever done. Every video is a different practical animation technique using Framer Motion. We're also using @codesandbox to provide easy starter repos so that we can focus 100% on the animations and skills.
🚀 Framer Motion 2.5 introduces repeat options for spring!
Using Popmotion 9's new repeat syntax, you can loop, reverse and mirror spring animations.
Demo: codesandbox.io/s/framer-moti…
The keyframes/spring/decay animators driving this new library are all refactored to be strictly for-t resolvers that would be just as comfortable in a worklet...
There's also a bunch of super-useful utility functions like interpolate, toDecimal and wrap for advanced animators. These are all individually importable and fully unit-tested!
Popmotion 9 also brings back all of the easing functions and factories. There's classics like easeInOut and anticipate but also new functions like steps and createAnticipate that create library-agnostic easing functions that will work with Popmotion, Framer Motion, Greensock etc.
The main API is the new animate function. It's capable of animating a single number or string using a keyframes, spring or decay animation. Which animation it uses is automatically detected based on the provided options.
The primary design goals:
🐁 Small - Currently 6.4kb if you use *everything*
🕹 Simple - Every export is a simple function
😶 Unopinionated - No renderer, run anywhere, use custom drivers like XR devices or synchronous loops
⚖️ Stable - TypeScript, 95% test coverage
🚀 Check out the new Popmotion 9 release candidate!
github.com/Popmotion/popmoti…
Popmotion 9 is the animator's toolbox, the lodash of animation libraries.
Let's take a look at what's changed 👇
🚀 Framer Motion 2.4 introduces multi-MotionValue support for useTransform. It allows you to declaratively compose and compute multiple MotionValues into new ones.
Demo: codesandbox.io/s/framer-moti…
Managed to get a proof of concept for the MotionCanvas component. You can fork it from this sandbox and make your own 3D layout animations!
Demo: codesandbox.io/s/framer-moti…
Implemented using @framer Motion's layout animations and React Three Fiber.
@0xca0a made this stunning recreation of @marcinignac's original, and we're working towards an API that can mix DOM layout animations with the 3D world.
No clipping, just transforms between CSS layouts.
Implemented using @framer Motion's layout animations and React Three Fiber.
@0xca0a made this stunning recreation of @marcinignac's original, and we're working towards an API that can mix DOM layout animations with the 3D world.
No clipping, just transforms between CSS layouts.
Some hacking with React Three Fiber and Framer Motion's layout animations.
Here, we're applying Motion's layout projection calculations into the WebGL camera. This is animated entirely using inverse transforms.
w/ @bouchenoiremarc and @huntercaron
New in Framer Motion 2.3: useMotionTemplate. This allows you to combine multiple MotionValues into a single string, which is useful for animating properties like shadow. See an example below!
codesandbox.io/s/motion-230-…
🏋️♀️ Framer Motion 2.2 introduces new APIs to reduce bundle size and progressively enhance your motion components!
Learn all about them with our new bundle size guide: framer.com/api/motion/guide-…
This is thanks to a new update in Popmotion's style-value-types. If you use this in your own library, upgrade to style-value-types@3.1.9 to add CSS Color 4 support.
🎨 Framer Motion 2.1.3 adds support for the new whitespace syntax in CSS Color Level 4!
So you can be all "rgba(255 17 0 / 0.5)" and Motion will be like "I understand that".
Demo: codesandbox.io/s/framer-moti…