This PR contains the following updates:
Release Notes
motiondivision/motion (framer-motion)
Compare Source
Fixed
- Ensure that when a component remounts, it continues to fire animations even when
initial={false}.
Compare Source
Added
- Exporting
PresenceChild andPopChild type for internal use.
Compare Source
Added
- Exporting
HTMLElements anduseComposedRefs type for internal use.
Compare Source
Fixed
- Fixing main-thread
scroll with animations that containdelay.
Compare Source
Fixed
- Suppress non-animatable value warning for instant animations.
Compare Source
Fixed
- Remove support for changing
ref prop.
Compare Source
Fixed
<motion /> components now support changingref prop.
Compare Source
Fixed
- Fixing
ref when passed to a child ofAnimatePresence in"popLayout" mode.
Compare Source
Fixed
- Fixing
export * error in RSC.
Compare Source
Fixed
- Fixing types of
Reorder.Item andReorder.Group so incorrect HTML props are correctly flagged. - Reverting rehydration of
externalRef when it switches.
Compare Source
Fixed
- Fixed issue where motion components don't update refs when externalRef changes. The
useMotionRef function now properly includesexternalRef in the dependency array to ensure ref callbacks update when the external ref changes.
Changed
- Stopped tracking yarn cache in the repo.
Compare Source
Added
- Exporting internal APIs for use in view animations.
Compare Source
Added
- Children of variants with
delayChildren: stagger() will now be staggered correctly alongside their newly-entering siblings.
Compare Source
Fixed
- Fixed shared layout animation in situations where no
motion components have re-rendered between shared element switching.
Compare Source
Changed
- Removing redundant
renderRequestMotionValue lifecycle.
Compare Source
Fixed
springValue cleanup.- Removed additional
removeNode fromAnimatePresence when usingpopLayout.
Compare Source
Changed
- Added explainer for reduced motion warning.
- Refactored
motion component creation to remove indirection.
Compare Source
Fixed
- Fix animation timings within dynamically-generated popups.
Compare Source
Changed
useScroll: Re-attempt to initialise scroll animation within auseEffect if refs weren't hydrated during theuseLayoutEffect. Throw if refs are still not hydrated during theuseEffect.
Compare Source
Fixed
- Ensure that when a component remounts, it continues to fire animations even when
initial={false}.
Compare Source
Fixed
- Remove support for changing
ref prop.
Compare Source
Added
- Add
.stop() and.cancel() methods touseDragControls().
Compare Source
Added
- Allow
delayChildren to acceptstagger(). This enablesfrom andease options when staggering variant children.
Deprecated
staggerChildren andstaggerDirection options.
Compare Source
Fixed
- Improve performance of projection styles by writing directly to
element.style. - Only block layout animations when window has changed width.
Compare Source
Fixed
- Improve performance of render loop.
- Improve performance of types.
Compare Source
Fixed
- Always skip layout animation check on tree mount.
Compare Source
Fixed
- Updated
Transition type to be more permissive.
Compare Source
Fixed
- Updated
Target type to match previous definition.
Compare Source
Added
- Pass a shadow DOM root element via
AnimatePresenceroot prop to attach"popLayout" styles to a different root element.
Compare Source
Fixed
- Ensure animations are removed from scope when finished.
Compare Source
Fixed
- Restore some deprecated types.
- Add
transformPerspective toTargetAndTransition. - Filter number-indexed and function props from
CSSStyleDeclaration.
Compare Source
Fixed
- React: Prevent duplicate layout animation commits within Suspense boundaries.
Compare Source
Fixed
- React: Fix
export * error message in Next.js.
Compare Source
Added
- React:
usePageInView for tracking document visibility.
Compare Source
Fixed
- Fixed es bundle dependency imports for
"motion". - Restored
translateX,originX etc values in animation targets.
Compare Source
Fixed
- Removed
"react" import from"motion-dom".
Compare Source
Added
- Support for defining a timeline position relative to the start of the most recently added animation (e.g.
<+0.5,<-1)
Compare Source
Changed
- Refactored
MotionProps into vanillaMotionNodeOptions type within"motion-dom" package.
Compare Source
Changed
- Handle colors when creating animatable
"none" keyframes for complex strings.
Compare Source
Fixed
- Fixes
isValidProp check with Rolldown.
Compare Source
Added
Fixed
- Improved rounding for
linear() easing curves.
Compare Source
Added
Compare Source
Added
- Support for
pathLength/pathSpacing/pathOffset forsvgEffect. - Auto kebab-casing of
data andaria attributes inattrEffect. attrEffect applies attributes via JS property where possible.- Auto
transform-box: fill-box for SVGs withtransform instyleEffect.
Compare Source
Added
- Support for
originX/Y/Z instyleEffect.
Fixed
- Added markers for pure function calls with effects.
Compare Source
Added
svgEffect,propEffect andattrEffect.
Fixed
- Fixed a jump in layout animations in select circumstances.
Compare Source
Fixed
- Ensure scroll updates are only triggered after a scroll read.
Compare Source
Fixed
- Checks for
instanceof HTMLElement made compatible with dynamically generatediframes.
Compare Source
Added
Fixed
- Fixed various typos in the type definitions along with a stale documentation link.
Compare Source
Fixed
- Only read
transform from the DOM for initial independent transforms when there's no active projection.
Compare Source
Changed
useWillChange now only addstransform towill-change to prevent issues with prematurely flattenedpreserve-3d.
Compare Source
Fixed
- Removed
__VERSION__ placeholder from motion value. - Fixed types for
Reorder component.
Compare Source
Fixed
- Default
scroll tracking todocument.scrollingElement.
Compare Source
Added
- Added
value.isEffectActive for internal use.
Compare Source
Fixed
- Stop firing
.then() after.stop() and.cancel().
Compare Source
Fixed
- Fixed attaching multiple
press handlers on the same element.
Compare Source
Fixed
- Fixed layout animations jumping when interrupted.
- Lower memory and runtime overhead of layout animations.
Compare Source
Fixed
- Attempting to fix layout animations jumping when interrupted.
Compare Source
Fixed
- Fixed
.cancel() after.stop().
Compare Source
Changed
- Main thread
scroll animations are now lazy, resolving after"scroll" events instead of every animation frame.
Compare Source
Added
styleEffect now supports:- Default value types
- Independent transforms
- CSS variables
Compare Source
Fixed
- Fix mixing
PopChild with Astro view transitions.
Compare Source
Fixed
- Fix setting
transformBox viastyle.
Compare Source
Fixed
- Fixed drag
undefined error in React 19 Strict Mode. - Skip keyframe measurements for values without support for unit conversion.
Compare Source
Fixed
- Remove version check for
MotionValue.
Compare Source
Fixed
- Fixed memory leak when unmounting
motion components.
Compare Source
Fixed
- Fixed scroll timeline cache when defining
offset. - Detect when page scroll is attached to
document.body and use this instead ofdocument.documentElement.
Compare Source
Fixed
- Restarting a finished main thread animation with a negative
.speed now works as expected.
Compare Source
Added
Compare Source
Changed
- Unifying
transform behaviour for SVG and CSS switched from element measurements fortransform-box: fill-box.
Compare Source
Added
Changed
- Removed support for Framer's internal
CustomValueType.
Compare Source
Changed
- Improved scroll timeline caching.
- Replaced WAAPI keyframe generation with
linear() easing. - Ensure final defined keyframe is always applied to animations when animation finishes.
- Moved
instantAnimationState.current toMotionGlobalConfig.instantAnimations. - Changed
delay fromread tosetup frameloop step.
Fixed
- Fixed
.then() andawait early resolution. - Fixed replaying main thread animations after finished.
.speed works correctly across all animation types.- Various imperative animation control fixes.
Compare Source
Fixed
- Removed non-deterministic behaviour from
AnimatePresence.
Compare Source
Fixed
- Fixing
duration foranimateView transitions. - Prevent
.commitStyles() onpseudoElement animations.
Compare Source
Fixed
- Adding
"sideEffects": false tomotion-dom andmotion-utils packages.
Compare Source
Fixed
- Skip
.commitStyles onpsuedoElement animations.
Compare Source
Added
- Private
layoutCrossfade allows disabling crossfade of shared layout elements.
Compare Source
Fixed
- Polyfilled
sync andcancelSync exports.
Compare Source
Added
- Global injection of
WillChangeMotionValue for internal Framer use.
Compare Source
Changed
- Refactored mini
animate andanimateView to share the sameNativeAnimation. Minianimate down to2.3kb.
Fixed
- Fixed keyboard accessibility of press events.
Compare Source
Fixed
- Fixing hardware acceleration for non-
transform values when amotion component has a definedtransformTemplate.
Compare Source
Fixed
- Reverting pointer capture for press gesture.
Compare Source
Changed
- Renamed
view toanimateView.
Added
- New
interrupt: "wait" mode asanimateView default.
Compare Source
Added
- Added
motionValue to vanilla JS entrypoint.
Removed
- Removed
framer-motion-3d package.
Compare Source
Fixed
- Fixed reading initial transform values from elements.
Compare Source
Fixed
- Removed pointer capture from pan and drag gestures.
Compare Source
Fixed
- Preventing flattening of scroll animations when
type orease are explicitly set.
Compare Source
Fixed
- Adding UMD bundles for
motion-dom andmotion-utils.
Compare Source
Fixed
- Fixed
Reorder.Item reordering causinglostpointercapture event to fire.
Compare Source
Fixed
- Fixed
AnimatePresence not triggering exit animations when a child withlayout ordrag is removed.
Compare Source
Fixed
- Fixed drag gesture on child elements.
Compare Source
Fixed
- Fixed
onClick handlers not working insidepress events.
Compare Source
Fixed
- Changed press, drag and pan gestures to use pointer capturing for better usage within
iframe embeds.
Compare Source
Fixed
- Restored warning for when animating more than two keyframes with a spring.
Compare Source
Fixed
- Preventing
press from triggering when an element is disabled.
Compare Source
Fixed
- Fixed reading initial transform values from elements.
Compare Source
Added
- Added
initial option touseInView.
Compare Source
Fixed
- Correctly applying CSS variables at the end of a mini
animate animation.
Compare Source
Added
- Added
usePresenceData to get custom data passed toAnimatePresence in descendant components.
Compare Source
Added
- Added unit support to
useSpring.
Compare Source
Fixed
- Bug with
AnimatePresence in React 19 strict mode.
Deprecated
Compare Source
Fixed
- Moving
updateSVGDimensions to its own file to help with tree-shaking.
Compare Source
Fixed
- Providing
MotionValue tomotion component frommotion/react-client entrypoint.
Compare Source
Fixed
- Removing React from bundle.
Compare Source
Fixed
- Infer type of
children prop formotion.create.
Compare Source
Fixed
- Discard layout projection snapshots if 0x0.
Compare Source
Fixed
- Fix scale correction for CSS variables.
Compare Source
Fixed
- Add scale correction for CSS variables.
Compare Source
Fixed
- Fixed toggling between shared layout animations multiple times.
Added
- Added private
anchorX prop toAnimatePresence.
Changed
- Simplified
useSpring for smaller bundlesize.
Compare Source
Fixed
- Moving
updateSVGDimensions to its own file to help with tree-shaking.
Compare Source
Changed
press,hover andinView now pass the target element as the first argument to the gesture start callback.
Configuration
📅Schedule: Branch creation - At any time (no schedule defined), 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 byMend Renovate. View therepository job log.
Uh oh!
There was an error while loading.Please reload this page.
This PR contains the following updates:
11.18.2->12.23.24Release Notes
motiondivision/motion (framer-motion)
v12.23.24Compare Source
Fixed
initial={false}.v12.23.23Compare Source
Added
PresenceChildandPopChildtype for internal use.v12.23.22Compare Source
Added
HTMLElementsanduseComposedRefstype for internal use.v12.23.21Compare Source
Fixed
scrollwith animations that containdelay.v12.23.20Compare Source
Fixed
v12.23.19Compare Source
Fixed
refprop.v12.23.18Compare Source
Fixed
<motion />components now support changingrefprop.v12.23.16Compare Source
Fixed
refwhen passed to a child ofAnimatePresencein"popLayout"mode.v12.23.15Compare Source
Fixed
export *error in RSC.v12.23.14Compare Source
Fixed
Reorder.ItemandReorder.Groupso incorrect HTML props are correctly flagged.externalRefwhen it switches.v12.23.13Compare Source
Fixed
useMotionReffunction now properly includesexternalRefin the dependency array to ensure ref callbacks update when the external ref changes.Changed
v12.23.12Compare Source
Added
v12.23.11Compare Source
Added
delayChildren: stagger()will now be staggered correctly alongside their newly-entering siblings.v12.23.10Compare Source
Fixed
motioncomponents have re-rendered between shared element switching.v12.23.9Compare Source
Changed
renderRequestMotionValuelifecycle.v12.23.7Compare Source
Fixed
springValuecleanup.removeNodefromAnimatePresencewhen usingpopLayout.v12.23.6Compare Source
Changed
motioncomponent creation to remove indirection.v12.23.5Compare Source
Fixed
v12.23.3Compare Source
Changed
useScroll: Re-attempt to initialise scroll animation within auseEffectif refs weren't hydrated during theuseLayoutEffect. Throw if refs are still not hydrated during theuseEffect.v12.23.2Compare Source
Fixed
initial={false}.v12.23.1Compare Source
Fixed
refprop.v12.23.0Compare Source
Added
.stop()and.cancel()methods touseDragControls().v12.22.0Compare Source
Added
delayChildrento acceptstagger(). This enablesfromandeaseoptions when staggering variant children.Deprecated
staggerChildrenandstaggerDirectionoptions.v12.20.5Compare Source
Fixed
element.style.v12.20.4Compare Source
Fixed
v12.20.3Compare Source
Fixed
v12.20.2Compare Source
Fixed
Transitiontype to be more permissive.v12.20.1Compare Source
Fixed
Targettype to match previous definition.v12.20.0Compare Source
Added
AnimatePresencerootprop to attach"popLayout"styles to a different root element.v12.19.4Compare Source
Fixed
v12.19.3Compare Source
Fixed
transformPerspectivetoTargetAndTransition.CSSStyleDeclaration.v12.19.2Compare Source
Fixed
v12.19.1Compare Source
Fixed
export *error message in Next.js.v12.19.0Compare Source
Added
usePageInViewfor tracking document visibility.v12.18.2Compare Source
Fixed
"motion".translateX,originXetc values in animation targets.v12.18.1Compare Source
Fixed
"react"import from"motion-dom".v12.18.0Compare Source
Added
<+0.5,<-1)v12.17.3Compare Source
Changed
MotionPropsinto vanillaMotionNodeOptionstype within"motion-dom"package.v12.17.2Compare Source
Changed
"none"keyframes for complex strings.v12.17.1Compare Source
Fixed
isValidPropcheck with Rolldown.v12.17.0Compare Source
Added
Fixed
linear()easing curves.v12.16.0Compare Source
Added
resize().v12.15.0Compare Source
Added
pathLength/pathSpacing/pathOffsetforsvgEffect.dataandariaattributes inattrEffect.attrEffectapplies attributes via JS property where possible.transform-box: fill-boxfor SVGs withtransforminstyleEffect.v12.14.0Compare Source
Added
originX/Y/ZinstyleEffect.Fixed
v12.13.0Compare Source
Added
svgEffect,propEffectandattrEffect.Fixed
v12.12.2Compare Source
Fixed
v12.12.1Compare Source
Fixed
instanceof HTMLElementmade compatible with dynamically generatediframes.v12.12.0Compare Source
Added
springValueFixed
v12.11.4Compare Source
Fixed
transformfrom the DOM for initial independent transforms when there's no active projection.v12.11.3Compare Source
Changed
useWillChangenow only addstransformtowill-changeto prevent issues with prematurely flattenedpreserve-3d.v12.11.2Compare Source
Fixed
__VERSION__placeholder from motion value.Reordercomponent.v12.11.1Compare Source
Fixed
scrolltracking todocument.scrollingElement.v12.11.0Compare Source
Added
value.isEffectActivefor internal use.v12.10.6Compare Source
Fixed
.then()after.stop()and.cancel().v12.10.5Compare Source
Fixed
presshandlers on the same element.v12.10.4Compare Source
Fixed
v12.10.3Compare Source
Fixed
v12.10.2Compare Source
Fixed
.cancel()after.stop().v12.10.1Compare Source
Changed
scrollanimations are now lazy, resolving after"scroll"events instead of every animation frame.v12.10.0Compare Source
Added
styleEffectnow supports:v12.9.7Compare Source
Fixed
PopChildwith Astro view transitions.v12.9.6Compare Source
Fixed
transformBoxviastyle.v12.9.5Compare Source
Fixed
undefinederror in React 19 Strict Mode.v12.9.4Compare Source
Fixed
MotionValue.v12.9.3Compare Source
Fixed
motioncomponents.v12.9.2Compare Source
Fixed
offset.document.bodyand use this instead ofdocument.documentElement.v12.9.1Compare Source
Fixed
.speednow works as expected.v12.9.0Compare Source
Added
styleEffectv12.8.2Compare Source
Changed
transformbehaviour for SVG and CSS switched from element measurements fortransform-box: fill-box.v12.8.0Compare Source
Added
mapValuetransformValueChanged
CustomValueType.v12.7.5Compare Source
Changed
linear()easing.instantAnimationState.currenttoMotionGlobalConfig.instantAnimations.delayfromreadtosetupframeloop step.Fixed
.then()andawaitearly resolution..speedworks correctly across all animation types.v12.7.4Compare Source
Fixed
AnimatePresence.v12.7.3Compare Source
Fixed
durationforanimateViewtransitions..commitStyles()onpseudoElementanimations.v12.7.2Compare Source
Fixed
"sideEffects": falsetomotion-domandmotion-utilspackages.v12.7.1Compare Source
Fixed
.commitStylesonpsuedoElementanimations.v12.7.0Compare Source
Added
layoutCrossfadeallows disabling crossfade of shared layout elements.v12.6.5Compare Source
Fixed
syncandcancelSyncexports.v12.6.4Compare Source
Added
WillChangeMotionValuefor internal Framer use.v12.6.3Compare Source
Changed
animateandanimateViewto share the sameNativeAnimation. Minianimatedown to2.3kb.Fixed
v12.6.2Compare Source
Fixed
transformvalues when amotioncomponent has a definedtransformTemplate.v12.6.1Compare Source
Fixed
v12.6.0Compare Source
Changed
viewtoanimateView.Added
interrupt: "wait"mode asanimateViewdefault.v12.5.0Compare Source
Added
motionValueto vanilla JS entrypoint.Removed
framer-motion-3dpackage.v12.4.13Compare Source
Fixed
v12.4.12Compare Source
Fixed
v12.4.11Compare Source
Fixed
typeoreaseare explicitly set.v12.4.10Compare Source
Fixed
motion-domandmotion-utils.v12.4.9Compare Source
Fixed
Reorder.Itemreordering causinglostpointercaptureevent to fire.v12.4.7Compare Source
Fixed
AnimatePresencenot triggering exit animations when a child withlayoutordragis removed.v12.4.6Compare Source
Fixed
v12.4.5Compare Source
Fixed
onClickhandlers not working insidepressevents.v12.4.4Compare Source
Fixed
iframeembeds.v12.4.3Compare Source
Fixed
v12.4.2Compare Source
Fixed
pressfrom triggering when an element is disabled.v12.4.1Compare Source
Fixed
v12.4.0Compare Source
Added
initialoption touseInView.v12.3.1Compare Source
Fixed
animateanimation.v12.3.0Compare Source
Added
usePresenceDatato get custom data passed toAnimatePresencein descendant components.v12.2.0Compare Source
Added
useSpring.v12.1.0Compare Source
Fixed
AnimatePresencein React 19 strict mode.Deprecated
v12.0.11Compare Source
Fixed
updateSVGDimensionsto its own file to help with tree-shaking.v12.0.10Compare Source
Fixed
MotionValuetomotioncomponent frommotion/react-cliententrypoint.v12.0.9Compare Source
Fixed
v12.0.8Compare Source
Fixed
childrenprop formotion.create.v12.0.6Compare Source
Fixed
v12.0.5Compare Source
Fixed
v12.0.4Compare Source
Fixed
v12.0.3Compare Source
Fixed
Added
anchorXprop toAnimatePresence.Changed
useSpringfor smaller bundlesize.v12.0.1Compare Source
Fixed
updateSVGDimensionsto its own file to help with tree-shaking.v12.0.0Compare Source
Changed
press,hoverandinViewnow pass the target element as the first argument to the gesture start callback.Configuration
📅Schedule: Branch creation - At any time (no schedule defined), 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 byMend Renovate. View therepository job log.