This PR contains the following updates:
Release Notes
motiondivision/motion (motion)
Compare Source
Added
animate.addEffect() for registering effects that lets animate drive non-DOM subjects alongside DOM elements.
threeEffect (motion/three) supporting Three.js objects, materials, shader uniforms, TSL uniform nodes and more.
vgpuEffect (motion/vgpu) supporting shared uniforms, Effect/Draw/Compute bindings ("params.time"), scene nodes, cameras, lights, materials, orbit controls, CSS colors and vector components.
createEffect now accepts test, read and step options and exposes bound motion values via effect.get().
Changed
- Reduced filesize and improved performance of
spring.
Compare Source
Fixed
- Guard animation
window access in non-browser runtimes.
AnimatePresence: Improved compat with React 19 strict mode.
Compare Source
Added
Reorder: Multidimensional reorder.
Reorder: Automatic axis detection.
Reorder: RTL support.
Compare Source
Changed
- Removed optional
@emotion/is-prop-valid dependency in favour of explicit <MotionConfig isValidProp={isPropValid}>.
Fixed
- Hardware-accelerated SVG elements correctly apply final style on animation complete.
AnimatePresence: Ensure nodes are marked as safe to remove when rendering propagate with no motion children.
Compare Source
Added
- Hardware acceleration for
backgroundColor in supported browsers.
- Hardware acceleration for SVG elements.
Fixed
AnimatePresence: Exiting children no longer interleave with entering children, which could reorder and remount children present in both renders.
motion: Throw error when passing a custom motion component an incorrect ref type.
Compare Source
Fixed
animateView: Cropped group layers now animate border-radius from the old to new radius.
Compare Source
Fixed
animateView: Old layer fade out now cancelled when defining .new().
Compare Source
Changed
animateView: Layers are automatically grouped to match their DOM-hierarchy. New .group(false) method opts-out.
Fixed
animateView: Auto-crop is now aspect-ratio aware, disabling crops for matching aspect-ratios.
animateView: Disabled automatic border-radius animation.
Compare Source
Added
animateView: Moves from Motion+ Early Access and alpha to main library.
animateView: .add() resolves a CSS selector or Element to automatically generate, apply and remove view-transition-name.
animateView: .new() and .old() configures values to animate on new and old layers.
animateView: .layout() can set a custom transition on the size/position animation of the currently selected elements.
animateView: Group layers now automatically crop with children set to cover, with border-radius animating from old radius to new. .crop(false) disables this behaviour.
animateView: .class(name) tags currently selected elements with a view-transition-class as a custom CSS hook.
Fixed
AnimatePresence: Prevent stuck exit animations when children interrupt.
drag: Child e.stopPropagation() no longer break drag end.
- Fixing Next.js OOM on Windows when importing via
motion package.
animateLayout: Improve handling of parallel/interleaved calls.
Changed
animateView: .enter() and .exit() now refer specifically to new and old layers where there are no matching old or new layers.
animateView: Interrupted transition setups now return resolved animation rather than throwing.
Compare Source
Added
path option to transition.
arc() for motion along an arc.
Compare Source
Added
- Support for
repeatType and repeatDelay in animation sequences.
Fixed
- Variants: Re-run keyframe animations when switching between variant labels even when they share identical keyframe arrays.
- Drag: Preserve in-flight motion value animations across React 19 reorder unmount/remount so
dragSnapToOrigin no longer leaves the drag transform stranded after a layout swap.
LazyMotion: Share React contexts between the framer-motion and framer-motion/m (and therefore motion/react and motion/react-m) CJS bundles so that <m.div> from the /m subpath picks up features loaded by <LazyMotion> from the main entry point.
useScroll: Support hydrating target and container refs from anywhere in the tree.
- Drag: Gesture no longer starts from incorrect start point when rendered inside
<AnimatePresence initial={false} />.
- Drag:
dragConstraints, when set as viewport-relative ref, no longer break on scroll.§
- Updated
visualElement hydration order.
useAnimate: Now respects skipAnimations.
AnimatePresence: Fix object-form initial values not applied on re-entry after exit completes.
scroll: Fixed callback progress when tracking an element.
useScroll: Fix hardware acceleration when tracking an element.
Configuration
📅 Schedule: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (
* 0-3 * * 1)
- Automerge
- At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
^12.38.0→^13.2.0Release Notes
motiondivision/motion (motion)
v13.2.0Compare Source
Added
animate.addEffect()for registering effects that letsanimatedrive non-DOM subjects alongside DOM elements.threeEffect(motion/three) supporting Three.js objects, materials, shader uniforms, TSL uniform nodes and more.vgpuEffect(motion/vgpu) supporting shared uniforms,Effect/Draw/Computebindings ("params.time"), scene nodes, cameras, lights, materials, orbit controls, CSS colors and vector components.createEffectnow acceptstest,readandstepoptions and exposes bound motion values viaeffect.get().Changed
spring.v13.1.1Compare Source
Fixed
windowaccess in non-browser runtimes.AnimatePresence: Improved compat with React 19 strict mode.v13.1.0Compare Source
Added
Reorder: Multidimensional reorder.Reorder: Automatic axis detection.Reorder: RTL support.v13.0.0Compare Source
Changed
@emotion/is-prop-validdependency in favour of explicit<MotionConfig isValidProp={isPropValid}>.Fixed
AnimatePresence: Ensure nodes are marked as safe to remove when renderingpropagatewith nomotionchildren.v12.43.0Compare Source
Added
backgroundColorin supported browsers.Fixed
AnimatePresence: Exiting children no longer interleave with entering children, which could reorder and remount children present in both renders.motion: Throw error when passing a custommotioncomponent an incorrectreftype.v12.42.2Compare Source
Fixed
animateView: Cropped group layers now animateborder-radiusfrom the old to new radius.v12.42.1Compare Source
Fixed
animateView: Old layer fade out now cancelled when defining.new().v12.42.0Compare Source
Changed
animateView: Layers are automatically grouped to match their DOM-hierarchy. New.group(false)method opts-out.Fixed
animateView: Auto-crop is now aspect-ratio aware, disabling crops for matching aspect-ratios.animateView: Disabled automaticborder-radiusanimation.v12.41.0Compare Source
Added
animateView: Moves from Motion+ Early Access and alpha to main library.animateView:.add()resolves a CSS selector orElementto automatically generate, apply and removeview-transition-name.animateView:.new()and.old()configures values to animate on new and old layers.animateView:.layout()can set a custom transition on the size/position animation of the currently selected elements.animateView: Group layers now automatically crop with children set tocover, withborder-radiusanimating from old radius to new..crop(false)disables this behaviour.animateView:.class(name)tags currently selected elements with aview-transition-classas a custom CSS hook.Fixed
AnimatePresence: Prevent stuck exit animations when children interrupt.drag: Childe.stopPropagation()no longer break drag end.motionpackage.animateLayout: Improve handling of parallel/interleaved calls.Changed
animateView:.enter()and.exit()now refer specifically tonewandoldlayers where there are no matchingoldornewlayers.animateView: Interrupted transition setups now return resolved animation rather than throwing.v12.40.0Compare Source
Added
pathoption totransition.arc()for motion along an arc.v12.39.0Compare Source
Added
repeatTypeandrepeatDelayin animation sequences.Fixed
dragSnapToOriginno longer leaves the drag transform stranded after a layout swap.LazyMotion: Share React contexts between theframer-motionandframer-motion/m(and thereforemotion/reactandmotion/react-m) CJS bundles so that<m.div>from the/msubpath picks up features loaded by<LazyMotion>from the main entry point.useScroll: Support hydratingtargetandcontainerrefs from anywhere in the tree.<AnimatePresence initial={false} />.dragConstraints, when set as viewport-relative ref, no longer break on scroll.§visualElementhydration order.useAnimate: Now respectsskipAnimations.AnimatePresence: Fix object-forminitialvalues not applied on re-entry after exit completes.scroll: Fixed callback progress when tracking an element.useScroll: Fix hardware acceleration when tracking an element.Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.