react-native-reanimated 4.3.0-nightly-20251215-ac491ac0a → 4.3.0-nightly-20251218-f17ee52ac
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/common/web/index.js +1 -0
- package/lib/module/common/web/index.js.map +1 -1
- package/lib/module/common/web/utils/dom.js +16 -0
- package/lib/module/common/web/utils/dom.js.map +1 -0
- package/lib/module/common/web/utils/index.js +1 -0
- package/lib/module/common/web/utils/index.js.map +1 -1
- package/lib/module/css/native/managers/CSSAnimationsManager.js +3 -3
- package/lib/module/css/native/managers/CSSAnimationsManager.js.map +1 -1
- package/lib/module/css/web/managers/CSSAnimationsManager.js +2 -6
- package/lib/module/css/web/managers/CSSAnimationsManager.js.map +1 -1
- package/lib/module/layoutReanimation/web/animationsManager.js +2 -2
- package/lib/module/layoutReanimation/web/animationsManager.js.map +1 -1
- package/lib/module/layoutReanimation/web/componentUtils.js +39 -3
- package/lib/module/layoutReanimation/web/componentUtils.js.map +1 -1
- package/lib/module/layoutReanimation/web/createAnimation.js +44 -38
- package/lib/module/layoutReanimation/web/createAnimation.js.map +1 -1
- package/lib/module/platform-specific/jsVersion.js +1 -1
- package/lib/typescript/common/web/index.d.ts +1 -0
- package/lib/typescript/common/web/index.d.ts.map +1 -1
- package/lib/typescript/common/web/utils/dom.d.ts +2 -0
- package/lib/typescript/common/web/utils/dom.d.ts.map +1 -0
- package/lib/typescript/common/web/utils/index.d.ts +1 -0
- package/lib/typescript/common/web/utils/index.d.ts.map +1 -1
- package/lib/typescript/css/native/types/animation.d.ts +2 -2
- package/lib/typescript/css/web/managers/CSSAnimationsManager.d.ts.map +1 -1
- package/lib/typescript/layoutReanimation/web/animationsManager.d.ts.map +1 -1
- package/lib/typescript/layoutReanimation/web/componentUtils.d.ts.map +1 -1
- package/lib/typescript/layoutReanimation/web/createAnimation.d.ts +3 -2
- package/lib/typescript/layoutReanimation/web/createAnimation.d.ts.map +1 -1
- package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
- package/package.json +2 -2
- package/src/common/web/index.ts +1 -0
- package/src/common/web/utils/dom.ts +16 -0
- package/src/common/web/utils/index.ts +1 -0
- package/src/css/native/managers/CSSAnimationsManager.ts +4 -4
- package/src/css/native/types/animation.ts +2 -2
- package/src/css/web/managers/CSSAnimationsManager.ts +2 -6
- package/src/layoutReanimation/web/animationsManager.ts +4 -2
- package/src/layoutReanimation/web/componentUtils.ts +52 -3
- package/src/layoutReanimation/web/createAnimation.ts +58 -40
- package/src/platform-specific/jsVersion.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["common/web/index.ts"],"mappings":"AAAA,YAAY;;AACZ,cAAc,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["common/web/index.ts"],"mappings":"AAAA,YAAY;;AACZ,cAAc,SAAS;AACvB,cAAc,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
export function removeElementAnimation(element) {
|
|
4
|
+
if (!element.style) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
element.style.animationName = '';
|
|
8
|
+
element.style.animationDuration = '';
|
|
9
|
+
element.style.animationDelay = '';
|
|
10
|
+
element.style.animationFillMode = '';
|
|
11
|
+
element.style.animationPlayState = '';
|
|
12
|
+
element.style.animationDirection = '';
|
|
13
|
+
element.style.animationTimingFunction = '';
|
|
14
|
+
element.style.animationIterationCount = '';
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["removeElementAnimation","element","style","animationName","animationDuration","animationDelay","animationFillMode","animationPlayState","animationDirection","animationTimingFunction","animationIterationCount"],"sourceRoot":"../../../../../src","sources":["common/web/utils/dom.ts"],"mappings":"AAAA,YAAY;;AAEZ,OAAO,SAASA,sBAAsBA,CAACC,OAAoB,EAAE;EAC3D,IAAI,CAACA,OAAO,CAACC,KAAK,EAAE;IAClB;EACF;EAEAD,OAAO,CAACC,KAAK,CAACC,aAAa,GAAG,EAAE;EAChCF,OAAO,CAACC,KAAK,CAACE,iBAAiB,GAAG,EAAE;EACpCH,OAAO,CAACC,KAAK,CAACG,cAAc,GAAG,EAAE;EACjCJ,OAAO,CAACC,KAAK,CAACI,iBAAiB,GAAG,EAAE;EACpCL,OAAO,CAACC,KAAK,CAACK,kBAAkB,GAAG,EAAE;EACrCN,OAAO,CAACC,KAAK,CAACM,kBAAkB,GAAG,EAAE;EACrCP,OAAO,CAACC,KAAK,CAACO,uBAAuB,GAAG,EAAE;EAC1CR,OAAO,CAACC,KAAK,CAACQ,uBAAuB,GAAG,EAAE;AAC5C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["common/web/utils/index.ts"],"mappings":"AAAA,YAAY;;AACZ,cAAc,UAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["common/web/utils/index.ts"],"mappings":"AAAA,YAAY;;AACZ,cAAc,UAAU;AACxB,cAAc,OAAO","ignoreList":[]}
|
|
@@ -130,14 +130,14 @@ export default class CSSAnimationsManager {
|
|
|
130
130
|
newAnimationSettings[i] = normalizedSettings;
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
133
|
+
|
|
134
|
+
// Check if the order of animations has changed
|
|
135
|
+
animationsArrayChanged ||= this.attachedAnimations[i].keyframesRule.name !== keyframesRule.name;
|
|
133
136
|
const updates = getAnimationSettingsUpdates(oldAnimation.normalizedSettings, normalizedSettings);
|
|
134
137
|
if (Object.keys(updates).length > 0) {
|
|
135
138
|
hasSettingsUpdates = true;
|
|
136
139
|
settingsUpdates[i] = updates;
|
|
137
140
|
}
|
|
138
|
-
if (oldAnimation.keyframesRule.name !== keyframesRule.name) {
|
|
139
|
-
animationsArrayChanged = true;
|
|
140
|
-
}
|
|
141
141
|
});
|
|
142
142
|
const result = {};
|
|
143
143
|
if (animationsArrayChanged) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cssKeyframesRegistry","CSSKeyframesRuleImpl","createSingleCSSAnimationProperties","getAnimationSettingsUpdates","normalizeSingleCSSAnimationSettings","applyCSSAnimations","unregisterCSSAnimations","CSSAnimationsManager","attachedAnimations","constructor","shadowNodeWrapper","viewName","viewTag","update","animationProperties","detach","processedAnimations","processAnimations","registerKeyframesUsage","animationUpdates","getAnimationUpdates","animationNames","length","unmountCleanup","unregisterKeyframesUsage","newAnimationNames","Set","forEach","keyframesRule","add","name","has","remove","singleAnimationPropertiesArray","map","properties","keyframes","animationName","cssText","JSON","stringify","get","normalizedSettings","buildAnimationsMap","animations","reduceRight","acc","animation","push","newAnimationSettings","settingsUpdates","animationsArrayChanged","hasNewAnimations","hasSettingsUpdates","oldAnimations","i","oldAnimation","pop","updates","Object","keys","result"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSAnimationsManager.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["cssKeyframesRegistry","CSSKeyframesRuleImpl","createSingleCSSAnimationProperties","getAnimationSettingsUpdates","normalizeSingleCSSAnimationSettings","applyCSSAnimations","unregisterCSSAnimations","CSSAnimationsManager","attachedAnimations","constructor","shadowNodeWrapper","viewName","viewTag","update","animationProperties","detach","processedAnimations","processAnimations","registerKeyframesUsage","animationUpdates","getAnimationUpdates","animationNames","length","unmountCleanup","unregisterKeyframesUsage","newAnimationNames","Set","forEach","keyframesRule","add","name","has","remove","singleAnimationPropertiesArray","map","properties","keyframes","animationName","cssText","JSON","stringify","get","normalizedSettings","buildAnimationsMap","animations","reduceRight","acc","animation","push","newAnimationSettings","settingsUpdates","animationsArrayChanged","hasNewAnimations","hasSettingsUpdates","oldAnimations","i","oldAnimation","pop","updates","Object","keys","result"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSAnimationsManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import { convertPropertiesToArrays, kebabizeCamelCase, maybeAddSuffix } from '../../../common';
|
|
4
|
+
import { removeElementAnimation } from '../../../common/web';
|
|
4
5
|
import { normalizeTimeUnit } from '../../utils';
|
|
5
6
|
import { processKeyframeDefinitions } from '../animationParser';
|
|
6
7
|
import { configureWebCSSAnimations, insertCSSAnimation, removeCSSAnimation } from '../domUtils';
|
|
@@ -83,12 +84,7 @@ export default class CSSAnimationsManager {
|
|
|
83
84
|
if (attachedAnimations.length === 0) {
|
|
84
85
|
return;
|
|
85
86
|
}
|
|
86
|
-
this.element
|
|
87
|
-
this.element.style.animationDelay = '';
|
|
88
|
-
this.element.style.animationDirection = '';
|
|
89
|
-
this.element.style.animationFillMode = '';
|
|
90
|
-
this.element.style.animationPlayState = '';
|
|
91
|
-
this.element.style.animationTimingFunction = '';
|
|
87
|
+
removeElementAnimation(this.element);
|
|
92
88
|
this.removeAnimationsFromStyleSheet(attachedAnimations);
|
|
93
89
|
this.unmountCleanupCalled = false;
|
|
94
90
|
this.attachedAnimations = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["convertPropertiesToArrays","kebabizeCamelCase","maybeAddSuffix","normalizeTimeUnit","processKeyframeDefinitions","configureWebCSSAnimations","insertCSSAnimation","removeCSSAnimation","CSSKeyframesRuleImpl","maybeAddSuffixes","parseTimingFunction","isCSSKeyframesRuleImpl","keyframes","CSSAnimationsManager","attachedAnimations","unmountCleanupCalled","constructor","element","update","animationProperties","detach","animationName","definitions","animationSettings","length","timestamp","Date","now","processedAnimations","map","definition","processedAnimation","processedKeyframes","keyframesRule","removable","creationTimestamp","elapsedTime","updateAttachedAnimations","setElementAnimations","unmountCleanup","setTimeout","removeAnimationsFromStyleSheet","Object","values","
|
|
1
|
+
{"version":3,"names":["convertPropertiesToArrays","kebabizeCamelCase","maybeAddSuffix","removeElementAnimation","normalizeTimeUnit","processKeyframeDefinitions","configureWebCSSAnimations","insertCSSAnimation","removeCSSAnimation","CSSKeyframesRuleImpl","maybeAddSuffixes","parseTimingFunction","isCSSKeyframesRuleImpl","keyframes","CSSAnimationsManager","attachedAnimations","unmountCleanupCalled","constructor","element","update","animationProperties","detach","animationName","definitions","animationSettings","length","timestamp","Date","now","processedAnimations","map","definition","processedAnimation","processedKeyframes","keyframesRule","removable","creationTimestamp","elapsedTime","updateAttachedAnimations","setElementAnimations","unmountCleanup","setTimeout","removeAnimationsFromStyleSheet","Object","values","newAttachedAnimations","forEach","rule","name","style","join","animationDuration","animationDelays","animationDelay","i","providedDelay","animationIterationCount","animationDirection","animationFillMode","animationPlayState","animationTimingFunction","animations"],"sourceRoot":"../../../../../src","sources":["css/web/managers/CSSAnimationsManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,14 +58,14 @@ function tryGetAnimationConfig(props, animationType) {
|
|
|
58
58
|
const hasInitialValues = config.initialValues !== undefined;
|
|
59
59
|
let animationName;
|
|
60
60
|
if (isCustomKeyframe) {
|
|
61
|
-
animationName = createCustomKeyFrameAnimation(config.definitions);
|
|
61
|
+
animationName = createCustomKeyFrameAnimation(config.definitions, animationType);
|
|
62
62
|
} else if (typeof config === 'function') {
|
|
63
63
|
animationName = config.presetName;
|
|
64
64
|
} else {
|
|
65
65
|
animationName = config.constructor.presetName;
|
|
66
66
|
}
|
|
67
67
|
if (hasInitialValues) {
|
|
68
|
-
animationName = createAnimationWithInitialValues(animationName, config.initialValues);
|
|
68
|
+
animationName = createAnimationWithInitialValues(animationName, config.initialValues, animationType);
|
|
69
69
|
}
|
|
70
70
|
const shouldFail = checkUndefinedAnimationFail(animationName, isLayoutTransition || isCustomKeyframe || hasInitialValues);
|
|
71
71
|
if (shouldFail) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","LayoutAnimationType","EasingNameSymbol","Keyframe","makeElementVisible","getProcessedConfig","handleExitingAnimation","handleLayoutTransition","maybeModifyStyleForKeyframe","setElementAnimation","Animations","createAnimationWithInitialValues","createCustomKeyFrameAnimation","areDOMRectsEqual","chooseConfig","animationType","props","config","ENTERING","entering","EXITING","exiting","LAYOUT","layout","checkUndefinedAnimationFail","initialAnimationName","needsCustomization","warn","maybeReportOverwrittenProperties","keyframe","styles","propertyRegex","animationProperties","Set","match","matchAll","add","commonProperties","Array","from","filter","style","has","length","join","chooseAction","animationConfig","element","transitionData","reversed","tryGetAnimationConfig","isLayoutTransition","isCustomKeyframe","hasInitialValues","initialValues","undefined","animationName","definitions","presetName","constructor","shouldFail","keyframeTimestamps","Object","keys","includes","startWebLayoutAnimation","tryActivateLayoutTransition","snapshot","rect","getBoundingClientRect","enteringAnimation","enteringV","exitingAnimation","exitingV","deltaX","width","deltaY","height","translateX","x","translateY","y","scaleX","scaleY","easingX","easingXV","easingY","easingYV"],"sourceRoot":"../../../../src","sources":["layoutReanimation/web/animationsManager.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["logger","LayoutAnimationType","EasingNameSymbol","Keyframe","makeElementVisible","getProcessedConfig","handleExitingAnimation","handleLayoutTransition","maybeModifyStyleForKeyframe","setElementAnimation","Animations","createAnimationWithInitialValues","createCustomKeyFrameAnimation","areDOMRectsEqual","chooseConfig","animationType","props","config","ENTERING","entering","EXITING","exiting","LAYOUT","layout","checkUndefinedAnimationFail","initialAnimationName","needsCustomization","warn","maybeReportOverwrittenProperties","keyframe","styles","propertyRegex","animationProperties","Set","match","matchAll","add","commonProperties","Array","from","filter","style","has","length","join","chooseAction","animationConfig","element","transitionData","reversed","tryGetAnimationConfig","isLayoutTransition","isCustomKeyframe","hasInitialValues","initialValues","undefined","animationName","definitions","presetName","constructor","shouldFail","keyframeTimestamps","Object","keys","includes","startWebLayoutAnimation","tryActivateLayoutTransition","snapshot","rect","getBoundingClientRect","enteringAnimation","enteringV","exitingAnimation","exitingV","deltaX","width","deltaY","height","translateX","x","translateY","y","scaleX","scaleY","easingX","easingXV","easingY","easingYV"],"sourceRoot":"../../../../src","sources":["layoutReanimation/web/animationsManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import { logger } from '../../common';
|
|
4
|
+
import { removeElementAnimation } from '../../common/web';
|
|
4
5
|
import { LayoutAnimationType, ReduceMotion } from '../../commonTypes';
|
|
5
6
|
import { EasingNameSymbol } from '../../Easing';
|
|
6
7
|
import { _updatePropsJS } from '../../ReanimatedModule/js-reanimated';
|
|
@@ -12,6 +13,22 @@ import { TransitionGenerator } from './createAnimation';
|
|
|
12
13
|
import { scheduleAnimationCleanup } from './domUtils';
|
|
13
14
|
import { getEasingByName, maybeGetBezierEasing, WebEasings } from './Easing.web';
|
|
14
15
|
import { prepareCurvedTransition } from './transition/Curved.web';
|
|
16
|
+
function getSnapshotForElement(element) {
|
|
17
|
+
const existingSnapshot = snapshots.get(element);
|
|
18
|
+
if (existingSnapshot) {
|
|
19
|
+
return existingSnapshot;
|
|
20
|
+
}
|
|
21
|
+
const rect = element.getBoundingClientRect();
|
|
22
|
+
const fallbackSnapshot = {
|
|
23
|
+
top: rect.top,
|
|
24
|
+
left: rect.left,
|
|
25
|
+
width: rect.width,
|
|
26
|
+
height: rect.height,
|
|
27
|
+
scrollOffsets: getElementScrollValue(element)
|
|
28
|
+
};
|
|
29
|
+
snapshots.set(element, fallbackSnapshot);
|
|
30
|
+
return fallbackSnapshot;
|
|
31
|
+
}
|
|
15
32
|
function getEasingFromConfig(config) {
|
|
16
33
|
if (!config.easingV) {
|
|
17
34
|
return getEasingByName('linear');
|
|
@@ -110,10 +127,12 @@ export function setElementAnimation(element, animationConfig, shouldSavePosition
|
|
|
110
127
|
} = animationConfig;
|
|
111
128
|
const configureAnimation = () => {
|
|
112
129
|
element.style.animationName = animationName;
|
|
113
|
-
element.style.animationFillMode = 'backwards';
|
|
114
130
|
element.style.animationDuration = `${duration}s`;
|
|
115
131
|
element.style.animationDelay = `${delay}s`;
|
|
116
132
|
element.style.animationTimingFunction = easing;
|
|
133
|
+
if (animationConfig.animationType === LayoutAnimationType.ENTERING && delay > 0) {
|
|
134
|
+
element.style.animationFillMode = 'backwards';
|
|
135
|
+
}
|
|
117
136
|
};
|
|
118
137
|
if (animationConfig.animationType === LayoutAnimationType.ENTERING) {
|
|
119
138
|
// On chrome sometimes entering animations flicker. This is most likely caused by animation being interrupted
|
|
@@ -161,7 +180,7 @@ export function setElementAnimation(element, animationConfig, shouldSavePosition
|
|
|
161
180
|
if (!(animationName in Animations)) {
|
|
162
181
|
scheduleAnimationCleanup(animationName, duration + delay, () => {
|
|
163
182
|
if (shouldSavePosition) {
|
|
164
|
-
setElementPosition(element,
|
|
183
|
+
setElementPosition(element, getSnapshotForElement(element));
|
|
165
184
|
}
|
|
166
185
|
maybeRemoveElement();
|
|
167
186
|
maybeCallCallback(false);
|
|
@@ -228,6 +247,19 @@ function getElementScrollValue(element) {
|
|
|
228
247
|
}
|
|
229
248
|
return scrollOffsets;
|
|
230
249
|
}
|
|
250
|
+
function cleanupEnteringAnimations(element) {
|
|
251
|
+
const animationName = element.style.animationName;
|
|
252
|
+
|
|
253
|
+
// Check if the animation name indicates it's an entering animation
|
|
254
|
+
if (animationName && animationName.startsWith('REA-ENTERING-')) {
|
|
255
|
+
removeElementAnimation(element);
|
|
256
|
+
}
|
|
257
|
+
for (const child of Array.from(element.children)) {
|
|
258
|
+
if (child instanceof HTMLElement) {
|
|
259
|
+
cleanupEnteringAnimations(child);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
231
263
|
export function handleExitingAnimation(element, animationConfig) {
|
|
232
264
|
const parent = element.offsetParent;
|
|
233
265
|
const dummy = element.cloneNode();
|
|
@@ -250,6 +282,10 @@ export function handleExitingAnimation(element, animationConfig) {
|
|
|
250
282
|
};
|
|
251
283
|
saveScrollPosition(element);
|
|
252
284
|
|
|
285
|
+
// Clean up entering animations on all descendants before moving them to the dummy.
|
|
286
|
+
// This prevents entering animations from restarting when elements are moved to a new parent.
|
|
287
|
+
cleanupEnteringAnimations(element);
|
|
288
|
+
|
|
253
289
|
// After cloning the element, we want to move all children from original element to its clone. This is because original element
|
|
254
290
|
// will be unmounted, therefore when this code executes in child component, parent will be either empty or removed soon.
|
|
255
291
|
// Using element.cloneNode(true) doesn't solve the problem, because it creates copy of children and we won't be able to set their animations
|
|
@@ -270,7 +306,7 @@ export function handleExitingAnimation(element, animationConfig) {
|
|
|
270
306
|
}
|
|
271
307
|
};
|
|
272
308
|
restoreScrollPosition(dummy);
|
|
273
|
-
const snapshot =
|
|
309
|
+
const snapshot = getSnapshotForElement(element);
|
|
274
310
|
const scrollOffsets = getElementScrollValue(element);
|
|
275
311
|
|
|
276
312
|
// Scroll does not trigger snapshotting, therefore if we start exiting animation after
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","LayoutAnimationType","ReduceMotion","EasingNameSymbol","_updatePropsJS","ReducedMotionManager","Keyframe","setElementPosition","snapshots","Animations","TransitionType","TransitionGenerator","scheduleAnimationCleanup","getEasingByName","maybeGetBezierEasing","WebEasings","prepareCurvedTransition","getEasingFromConfig","config","easingV","easingName","bezierEasing","warn","getRandomDelay","maxDelay","Math","floor","random","getDelayFromConfig","shouldRandomizeDelay","randomizeDelay","delay","delayV","getReducedMotionFromConfig","reduceMotionV","jsValue","Never","Always","getDurationFromConfig","animationName","defaultDuration","duration","durationV","undefined","getCallbackFromConfig","callbackV","getReversedFromConfig","reversed","getProcessedConfig","animationType","easing","callback","maybeModifyStyleForKeyframe","element","style","animationFillMode","timestampRules","Object","values","definitions","position","saveSnapshot","rect","getBoundingClientRect","snapshot","top","left","width","height","scrollOffsets","getElementScrollValue","set","setElementAnimation","animationConfig","shouldSavePosition","parent","configureAnimation","animationDuration","animationDelay","animationTimingFunction","ENTERING","requestAnimationFrame","maybeRemoveElement","isDummy","contains","removedAfterAnimation","removeChild","wasCallbackCalled","maybeCallCallback","finished","onanimationend","removeEventListener","animationCancelHandler","onanimationstart","visibility","addEventListener","get","handleLayoutTransition","transitionData","LINEAR","SEQUENCED","FADING","JUMPING","CURVED","ENTRY_EXIT","transitionKeyframeName","dummyTransitionKeyframeName","dummy","dummyAnimationConfig","current","scrollTopOffset","scrollLeftOffset","scrollTop","scrollLeft","parentElement","handleExitingAnimation","offsetParent","cloneNode","dummyClone","scrollPositions","Map","saveScrollPosition","node","child","Array","from","children","firstChild","appendChild","restoreScrollPosition","scrollPosition","currentScrollTopOffset","lastScrollTopOffset","currentScrollLeftOffset","lastScrollLeftOffset"],"sourceRoot":"../../../../src","sources":["layoutReanimation/web/componentUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["logger","removeElementAnimation","LayoutAnimationType","ReduceMotion","EasingNameSymbol","_updatePropsJS","ReducedMotionManager","Keyframe","setElementPosition","snapshots","Animations","TransitionType","TransitionGenerator","scheduleAnimationCleanup","getEasingByName","maybeGetBezierEasing","WebEasings","prepareCurvedTransition","getSnapshotForElement","element","existingSnapshot","get","rect","getBoundingClientRect","fallbackSnapshot","top","left","width","height","scrollOffsets","getElementScrollValue","set","getEasingFromConfig","config","easingV","easingName","bezierEasing","warn","getRandomDelay","maxDelay","Math","floor","random","getDelayFromConfig","shouldRandomizeDelay","randomizeDelay","delay","delayV","getReducedMotionFromConfig","reduceMotionV","jsValue","Never","Always","getDurationFromConfig","animationName","defaultDuration","duration","durationV","undefined","getCallbackFromConfig","callbackV","getReversedFromConfig","reversed","getProcessedConfig","animationType","easing","callback","maybeModifyStyleForKeyframe","style","animationFillMode","timestampRules","Object","values","definitions","position","saveSnapshot","snapshot","setElementAnimation","animationConfig","shouldSavePosition","parent","configureAnimation","animationDuration","animationDelay","animationTimingFunction","ENTERING","requestAnimationFrame","maybeRemoveElement","isDummy","contains","removedAfterAnimation","removeChild","wasCallbackCalled","maybeCallCallback","finished","onanimationend","removeEventListener","animationCancelHandler","onanimationstart","visibility","addEventListener","handleLayoutTransition","transitionData","LINEAR","SEQUENCED","FADING","JUMPING","CURVED","ENTRY_EXIT","transitionKeyframeName","dummyTransitionKeyframeName","dummy","dummyAnimationConfig","current","scrollTopOffset","scrollLeftOffset","scrollTop","scrollLeft","parentElement","cleanupEnteringAnimations","startsWith","child","Array","from","children","HTMLElement","handleExitingAnimation","offsetParent","cloneNode","dummyClone","scrollPositions","Map","saveScrollPosition","node","firstChild","appendChild","restoreScrollPosition","scrollPosition","currentScrollTopOffset","lastScrollTopOffset","currentScrollLeftOffset","lastScrollLeftOffset"],"sourceRoot":"../../../../src","sources":["layoutReanimation/web/componentUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
import { maybeAddSuffix } from '../../common';
|
|
4
|
+
import { LayoutAnimationType } from '../../commonTypes';
|
|
3
5
|
import { convertAnimationObjectToKeyframes } from './animationParser';
|
|
4
6
|
import { AnimationsData, TransitionType } from './config';
|
|
5
7
|
import { insertWebAnimation } from './domUtils';
|
|
@@ -9,11 +11,21 @@ import { FadingTransition } from './transition/Fading.web';
|
|
|
9
11
|
import { JumpingTransition } from './transition/Jumping.web';
|
|
10
12
|
import { LinearTransition } from './transition/Linear.web';
|
|
11
13
|
import { SequencedTransition } from './transition/Sequenced.web';
|
|
14
|
+
function assignTransformRules(map, transform) {
|
|
15
|
+
if (!transform) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
for (const rule of transform) {
|
|
19
|
+
for (const [property, value] of Object.entries(rule)) {
|
|
20
|
+
map.set(property, value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
12
25
|
// Translate values are passed as numbers. However, if `translate` property receives number, it will not automatically
|
|
13
26
|
// convert it to `px`. Therefore if we want to keep transform we have to add 'px' suffix to each of translate values
|
|
14
27
|
// that are present inside transform.
|
|
15
28
|
//
|
|
16
|
-
|
|
17
29
|
function addPxToTransform(transform) {
|
|
18
30
|
// @ts-ignore `existingTransform` cannot be string because in that case
|
|
19
31
|
// we throw error in `extractTransformFromStyle`
|
|
@@ -33,7 +45,7 @@ function addPxToTransform(transform) {
|
|
|
33
45
|
});
|
|
34
46
|
return newTransform;
|
|
35
47
|
}
|
|
36
|
-
export function createCustomKeyFrameAnimation(keyframeDefinitions) {
|
|
48
|
+
export function createCustomKeyFrameAnimation(keyframeDefinitions, animationType) {
|
|
37
49
|
for (const value of Object.values(keyframeDefinitions)) {
|
|
38
50
|
if (value.transform) {
|
|
39
51
|
value.transform = addPxToTransform(value.transform);
|
|
@@ -44,7 +56,7 @@ export function createCustomKeyFrameAnimation(keyframeDefinitions) {
|
|
|
44
56
|
style: keyframeDefinitions,
|
|
45
57
|
duration: -1
|
|
46
58
|
};
|
|
47
|
-
animationData.name = generateNextCustomKeyframeName();
|
|
59
|
+
animationData.name = generateNextCustomKeyframeName(animationType);
|
|
48
60
|
|
|
49
61
|
// Move keyframe easings one keyframe up (our LA Keyframe definition is different
|
|
50
62
|
// from the CSS keyframes and expects easing to be present in the keyframe to which
|
|
@@ -61,43 +73,32 @@ export function createCustomKeyFrameAnimation(keyframeDefinitions) {
|
|
|
61
73
|
insertWebAnimation(animationData.name, parsedKeyframe);
|
|
62
74
|
return animationData.name;
|
|
63
75
|
}
|
|
64
|
-
export function createAnimationWithInitialValues(animationName, initialValues) {
|
|
76
|
+
export function createAnimationWithInitialValues(animationName, initialValues, animationType) {
|
|
65
77
|
const animationStyle = structuredClone(AnimationsData[animationName].style);
|
|
66
78
|
const firstAnimationStep = animationStyle['0'];
|
|
67
79
|
const {
|
|
68
80
|
transform,
|
|
81
|
+
originX,
|
|
82
|
+
originY,
|
|
69
83
|
...rest
|
|
70
84
|
} = initialValues;
|
|
71
|
-
const
|
|
85
|
+
const transformStyle = new Map();
|
|
86
|
+
assignTransformRules(transformStyle, firstAnimationStep.transform);
|
|
72
87
|
if (transform) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Then we either add new rule, or override one that already exists.
|
|
90
|
-
for (const rule of transformWithPx) {
|
|
91
|
-
for (const [property, value] of Object.entries(rule)) {
|
|
92
|
-
transformStyle.set(property, value);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Finally, we convert `Map` with final transform back into array of objects.
|
|
97
|
-
firstAnimationStep.transform = Array.from(transformStyle, ([property, value]) => ({
|
|
98
|
-
[property]: value
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
88
|
+
const transformWithPx = addPxToTransform(transform);
|
|
89
|
+
assignTransformRules(transformStyle, transformWithPx);
|
|
90
|
+
}
|
|
91
|
+
if (originX !== undefined) {
|
|
92
|
+
transformStyle.set('translateX', maybeAddSuffix(originX, 'px'));
|
|
93
|
+
}
|
|
94
|
+
if (originY !== undefined) {
|
|
95
|
+
transformStyle.set('translateY', maybeAddSuffix(originY, 'px'));
|
|
96
|
+
}
|
|
97
|
+
const mergedTransform = Array.from(transformStyle, ([property, value]) => ({
|
|
98
|
+
[property]: value
|
|
99
|
+
}));
|
|
100
|
+
if (transformStyle.size) {
|
|
101
|
+
firstAnimationStep.transform = mergedTransform;
|
|
101
102
|
}
|
|
102
103
|
animationStyle['0'] = {
|
|
103
104
|
...animationStyle['0'],
|
|
@@ -105,7 +106,7 @@ export function createAnimationWithInitialValues(animationName, initialValues) {
|
|
|
105
106
|
};
|
|
106
107
|
|
|
107
108
|
// TODO: Maybe we can extract the logic below into separate function
|
|
108
|
-
const keyframeName = generateNextCustomKeyframeName();
|
|
109
|
+
const keyframeName = generateNextCustomKeyframeName(animationType);
|
|
109
110
|
const animationObject = {
|
|
110
111
|
name: keyframeName,
|
|
111
112
|
style: animationStyle,
|
|
@@ -116,8 +117,13 @@ export function createAnimationWithInitialValues(animationName, initialValues) {
|
|
|
116
117
|
return keyframeName;
|
|
117
118
|
}
|
|
118
119
|
let customKeyframeCounter = 0;
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
const ANIMATION_TYPE_STRINGS = {
|
|
121
|
+
[LayoutAnimationType.ENTERING]: 'ENTERING',
|
|
122
|
+
[LayoutAnimationType.EXITING]: 'EXITING',
|
|
123
|
+
[LayoutAnimationType.LAYOUT]: 'LAYOUT'
|
|
124
|
+
};
|
|
125
|
+
function generateNextCustomKeyframeName(animationType) {
|
|
126
|
+
return `REA-${ANIMATION_TYPE_STRINGS[animationType] ?? ''}-${customKeyframeCounter++}`;
|
|
121
127
|
}
|
|
122
128
|
|
|
123
129
|
/**
|
|
@@ -130,7 +136,7 @@ function generateNextCustomKeyframeName() {
|
|
|
130
136
|
* @returns Keyframe name that represents transition.
|
|
131
137
|
*/
|
|
132
138
|
export function TransitionGenerator(transitionType, transitionData) {
|
|
133
|
-
const transitionKeyframeName = generateNextCustomKeyframeName();
|
|
139
|
+
const transitionKeyframeName = generateNextCustomKeyframeName(LayoutAnimationType.LAYOUT);
|
|
134
140
|
let dummyTransitionKeyframeName;
|
|
135
141
|
let transitionObject;
|
|
136
142
|
switch (transitionType) {
|
|
@@ -150,7 +156,7 @@ export function TransitionGenerator(transitionType, transitionData) {
|
|
|
150
156
|
// Here code block with {} is necessary because of eslint
|
|
151
157
|
case TransitionType.CURVED:
|
|
152
158
|
{
|
|
153
|
-
dummyTransitionKeyframeName = generateNextCustomKeyframeName();
|
|
159
|
+
dummyTransitionKeyframeName = generateNextCustomKeyframeName(LayoutAnimationType.LAYOUT);
|
|
154
160
|
const {
|
|
155
161
|
firstKeyframeObj,
|
|
156
162
|
secondKeyframeObj
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["convertAnimationObjectToKeyframes","AnimationsData","TransitionType","insertWebAnimation","CurvedTransition","EntryExitTransition","FadingTransition","JumpingTransition","LinearTransition","SequencedTransition","
|
|
1
|
+
{"version":3,"names":["maybeAddSuffix","LayoutAnimationType","convertAnimationObjectToKeyframes","AnimationsData","TransitionType","insertWebAnimation","CurvedTransition","EntryExitTransition","FadingTransition","JumpingTransition","LinearTransition","SequencedTransition","assignTransformRules","map","transform","rule","property","value","Object","entries","set","addPxToTransform","newTransform","transformProp","newTransformProp","key","includes","createCustomKeyFrameAnimation","keyframeDefinitions","animationType","values","animationData","name","style","duration","generateNextCustomKeyframeName","offsets","keys","i","length","easing","parsedKeyframe","createAnimationWithInitialValues","animationName","initialValues","animationStyle","structuredClone","firstAnimationStep","originX","originY","rest","transformStyle","Map","transformWithPx","undefined","mergedTransform","Array","from","size","keyframeName","animationObject","keyframe","customKeyframeCounter","ANIMATION_TYPE_STRINGS","ENTERING","EXITING","LAYOUT","TransitionGenerator","transitionType","transitionData","transitionKeyframeName","dummyTransitionKeyframeName","transitionObject","LINEAR","SEQUENCED","FADING","JUMPING","CURVED","firstKeyframeObj","secondKeyframeObj","dummyKeyframe","ENTRY_EXIT","transitionKeyframe"],"sourceRoot":"../../../../src","sources":["layoutReanimation/web/createAnimation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* version used to build the native part of the library in runtime. Remember to
|
|
6
6
|
* keep this in sync with the version declared in `package.json`
|
|
7
7
|
*/
|
|
8
|
-
export const jsVersion = '4.3.0-nightly-
|
|
8
|
+
export const jsVersion = '4.3.0-nightly-20251218-f17ee52ac';
|
|
9
9
|
//# sourceMappingURL=jsVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/web/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/web/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../../../src/common/web/utils/dom.ts"],"names":[],"mappings":"AAEA,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,QAa1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/common/web/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/common/web/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
@@ -26,8 +26,8 @@ export type NormalizedSingleCSSAnimationSettings = {
|
|
|
26
26
|
};
|
|
27
27
|
export type CSSAnimationUpdates = {
|
|
28
28
|
animationNames?: string[];
|
|
29
|
-
newAnimationSettings?: Record<
|
|
30
|
-
settingsUpdates?: Record<
|
|
29
|
+
newAnimationSettings?: Record<number, NormalizedSingleCSSAnimationSettings>;
|
|
30
|
+
settingsUpdates?: Record<number, Partial<NormalizedSingleCSSAnimationSettings>>;
|
|
31
31
|
};
|
|
32
32
|
export {};
|
|
33
33
|
//# sourceMappingURL=animation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSSAnimationsManager.d.ts","sourceRoot":"","sources":["../../../../../src/css/web/managers/CSSAnimationsManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CSSAnimationsManager.d.ts","sourceRoot":"","sources":["../../../../../src/css/web/managers/CSSAnimationsManager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,EAGV,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAyBrB,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,qBAAqB;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAGhD,OAAO,CAAC,kBAAkB,CAA0C;IACpE,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,EAAE,qBAAqB;IAM1C,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,GAAG,IAAI;IA8DjE,cAAc,IAAI,IAAI;IAetB,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,oBAAoB;IAsD5B,OAAO,CAAC,8BAA8B;CASvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animationsManager.d.ts","sourceRoot":"","sources":["../../../../src/layoutReanimation/web/animationsManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"animationsManager.d.ts","sourceRoot":"","sources":["../../../../src/layoutReanimation/web/animationsManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8KxD,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE9C,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC,EACvD,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,mBAAmB,EAClC,cAAc,CAAC,EAAE,cAAc,QAuBhC;AAED,wBAAgB,2BAA2B,CACzC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE9C,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC,EACvD,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,OAAO,QAsClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentUtils.d.ts","sourceRoot":"","sources":["../../../../src/layoutReanimation/web/componentUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"componentUtils.d.ts","sourceRoot":"","sources":["../../../../src/layoutReanimation/web/componentUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAIlF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAEV,eAAe,EAEf,YAAY,EAGb,MAAM,UAAU,CAAC;AA8ElB,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,WAa9D;AA2BD,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,mBAAmB,EAClC,MAAM,EAAE,YAAY,GACnB,eAAe,CAUjB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,YAAY,QAkBrB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,QAYhD;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,eAAe,EAChC,kBAAkB,UAAQ,EAC1B,MAAM,GAAE,OAAO,GAAG,IAAW,QA8E9B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,QA8C/B;AAwCD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,eAAe,QAgFjC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { LayoutAnimationType } from '../../commonTypes';
|
|
1
2
|
import type { TransitionData } from './animationParser';
|
|
2
3
|
import type { InitialValuesStyleProps, KeyframeDefinitions } from './config';
|
|
3
4
|
import { TransitionType } from './config';
|
|
4
|
-
export declare function createCustomKeyFrameAnimation(keyframeDefinitions: KeyframeDefinitions): string;
|
|
5
|
-
export declare function createAnimationWithInitialValues(animationName: string, initialValues: InitialValuesStyleProps): string;
|
|
5
|
+
export declare function createCustomKeyFrameAnimation(keyframeDefinitions: KeyframeDefinitions, animationType: LayoutAnimationType): string;
|
|
6
|
+
export declare function createAnimationWithInitialValues(animationName: string, initialValues: InitialValuesStyleProps, animationType: LayoutAnimationType): string;
|
|
6
7
|
/**
|
|
7
8
|
* Creates transition of given type, appends it to stylesheet and returns
|
|
8
9
|
* keyframe name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAnimation.d.ts","sourceRoot":"","sources":["../../../../src/layoutReanimation/web/createAnimation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createAnimation.d.ts","sourceRoot":"","sources":["../../../../src/layoutReanimation/web/createAnimation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAkB,cAAc,EAAE,MAAM,UAAU,CAAC;AAyD1D,wBAAgB,6BAA6B,CAC3C,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,mBAAmB,UAoCnC;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,uBAAuB,EACtC,aAAa,EAAE,mBAAmB,UAkDnC;AAcD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc;;;EAsE/B"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* version used to build the native part of the library in runtime. Remember to
|
|
4
4
|
* keep this in sync with the version declared in `package.json`
|
|
5
5
|
*/
|
|
6
|
-
export declare const jsVersion = "4.3.0-nightly-
|
|
6
|
+
export declare const jsVersion = "4.3.0-nightly-20251218-f17ee52ac";
|
|
7
7
|
//# sourceMappingURL=jsVersion.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-reanimated",
|
|
3
|
-
"version": "4.3.0-nightly-
|
|
3
|
+
"version": "4.3.0-nightly-20251218-f17ee52ac",
|
|
4
4
|
"description": "More powerful alternative to Animated library for React Native.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"peerDependencies": {
|
|
99
99
|
"react": "*",
|
|
100
100
|
"react-native": "*",
|
|
101
|
-
"react-native-worklets": "0.8.0-nightly-
|
|
101
|
+
"react-native-worklets": "0.8.0-nightly-20251218-f17ee52ac"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
104
|
"@babel/core": "7.28.4",
|
package/src/common/web/index.ts
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
export function removeElementAnimation(element: HTMLElement) {
|
|
4
|
+
if (!element.style) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
element.style.animationName = '';
|
|
9
|
+
element.style.animationDuration = '';
|
|
10
|
+
element.style.animationDelay = '';
|
|
11
|
+
element.style.animationFillMode = '';
|
|
12
|
+
element.style.animationPlayState = '';
|
|
13
|
+
element.style.animationDirection = '';
|
|
14
|
+
element.style.animationTimingFunction = '';
|
|
15
|
+
element.style.animationIterationCount = '';
|
|
16
|
+
}
|
|
@@ -191,6 +191,10 @@ export default class CSSAnimationsManager implements ICSSAnimationsManager {
|
|
|
191
191
|
return;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
+
// Check if the order of animations has changed
|
|
195
|
+
animationsArrayChanged ||=
|
|
196
|
+
this.attachedAnimations[i].keyframesRule.name !== keyframesRule.name;
|
|
197
|
+
|
|
194
198
|
const updates = getAnimationSettingsUpdates(
|
|
195
199
|
oldAnimation.normalizedSettings,
|
|
196
200
|
normalizedSettings
|
|
@@ -200,10 +204,6 @@ export default class CSSAnimationsManager implements ICSSAnimationsManager {
|
|
|
200
204
|
hasSettingsUpdates = true;
|
|
201
205
|
settingsUpdates[i] = updates;
|
|
202
206
|
}
|
|
203
|
-
|
|
204
|
-
if (oldAnimation.keyframesRule.name !== keyframesRule.name) {
|
|
205
|
-
animationsArrayChanged = true;
|
|
206
|
-
}
|
|
207
207
|
});
|
|
208
208
|
|
|
209
209
|
const result: CSSAnimationUpdates = {};
|
|
@@ -47,9 +47,9 @@ export type NormalizedSingleCSSAnimationSettings = {
|
|
|
47
47
|
|
|
48
48
|
export type CSSAnimationUpdates = {
|
|
49
49
|
animationNames?: string[];
|
|
50
|
-
newAnimationSettings?: Record<
|
|
50
|
+
newAnimationSettings?: Record<number, NormalizedSingleCSSAnimationSettings>;
|
|
51
51
|
settingsUpdates?: Record<
|
|
52
|
-
|
|
52
|
+
number,
|
|
53
53
|
Partial<NormalizedSingleCSSAnimationSettings>
|
|
54
54
|
>;
|
|
55
55
|
};
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
kebabizeCamelCase,
|
|
6
6
|
maybeAddSuffix,
|
|
7
7
|
} from '../../../common';
|
|
8
|
+
import { removeElementAnimation } from '../../../common/web';
|
|
8
9
|
import type { ReanimatedHTMLElement } from '../../../ReanimatedModule/js-reanimated';
|
|
9
10
|
import type {
|
|
10
11
|
CSSAnimationKeyframes,
|
|
@@ -133,12 +134,7 @@ export default class CSSAnimationsManager implements ICSSAnimationsManager {
|
|
|
133
134
|
return;
|
|
134
135
|
}
|
|
135
136
|
|
|
136
|
-
this.element
|
|
137
|
-
this.element.style.animationDelay = '';
|
|
138
|
-
this.element.style.animationDirection = '';
|
|
139
|
-
this.element.style.animationFillMode = '';
|
|
140
|
-
this.element.style.animationPlayState = '';
|
|
141
|
-
this.element.style.animationTimingFunction = '';
|
|
137
|
+
removeElementAnimation(this.element);
|
|
142
138
|
|
|
143
139
|
this.removeAnimationsFromStyleSheet(attachedAnimations);
|
|
144
140
|
this.unmountCleanupCalled = false;
|
|
@@ -132,7 +132,8 @@ function tryGetAnimationConfig<ComponentProps extends Record<string, unknown>>(
|
|
|
132
132
|
|
|
133
133
|
if (isCustomKeyframe) {
|
|
134
134
|
animationName = createCustomKeyFrameAnimation(
|
|
135
|
-
(config as CustomConfig).definitions as KeyframeDefinitions
|
|
135
|
+
(config as CustomConfig).definitions as KeyframeDefinitions,
|
|
136
|
+
animationType
|
|
136
137
|
);
|
|
137
138
|
} else if (typeof config === 'function') {
|
|
138
139
|
animationName = config.presetName;
|
|
@@ -144,7 +145,8 @@ function tryGetAnimationConfig<ComponentProps extends Record<string, unknown>>(
|
|
|
144
145
|
if (hasInitialValues) {
|
|
145
146
|
animationName = createAnimationWithInitialValues(
|
|
146
147
|
animationName,
|
|
147
|
-
(config as CustomConfig).initialValues as InitialValuesStyleProps
|
|
148
|
+
(config as CustomConfig).initialValues as InitialValuesStyleProps,
|
|
149
|
+
animationType
|
|
148
150
|
);
|
|
149
151
|
}
|
|
150
152
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
|
|
2
3
|
import { logger } from '../../common';
|
|
4
|
+
import { removeElementAnimation } from '../../common/web';
|
|
3
5
|
import { LayoutAnimationType, ReduceMotion } from '../../commonTypes';
|
|
4
6
|
import type { EasingFunctionFactory } from '../../Easing';
|
|
5
7
|
import { EasingNameSymbol } from '../../Easing';
|
|
@@ -29,6 +31,28 @@ import {
|
|
|
29
31
|
} from './Easing.web';
|
|
30
32
|
import { prepareCurvedTransition } from './transition/Curved.web';
|
|
31
33
|
|
|
34
|
+
function getSnapshotForElement(element: HTMLElement): ReanimatedSnapshot {
|
|
35
|
+
const existingSnapshot = snapshots.get(element);
|
|
36
|
+
|
|
37
|
+
if (existingSnapshot) {
|
|
38
|
+
return existingSnapshot;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const rect = element.getBoundingClientRect();
|
|
42
|
+
|
|
43
|
+
const fallbackSnapshot: ReanimatedSnapshot = {
|
|
44
|
+
top: rect.top,
|
|
45
|
+
left: rect.left,
|
|
46
|
+
width: rect.width,
|
|
47
|
+
height: rect.height,
|
|
48
|
+
scrollOffsets: getElementScrollValue(element),
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
snapshots.set(element, fallbackSnapshot);
|
|
52
|
+
|
|
53
|
+
return fallbackSnapshot;
|
|
54
|
+
}
|
|
55
|
+
|
|
32
56
|
function getEasingFromConfig(config: CustomConfig): string {
|
|
33
57
|
if (!config.easingV) {
|
|
34
58
|
return getEasingByName('linear');
|
|
@@ -175,10 +199,16 @@ export function setElementAnimation(
|
|
|
175
199
|
|
|
176
200
|
const configureAnimation = () => {
|
|
177
201
|
element.style.animationName = animationName;
|
|
178
|
-
element.style.animationFillMode = 'backwards';
|
|
179
202
|
element.style.animationDuration = `${duration}s`;
|
|
180
203
|
element.style.animationDelay = `${delay}s`;
|
|
181
204
|
element.style.animationTimingFunction = easing;
|
|
205
|
+
|
|
206
|
+
if (
|
|
207
|
+
animationConfig.animationType === LayoutAnimationType.ENTERING &&
|
|
208
|
+
delay > 0
|
|
209
|
+
) {
|
|
210
|
+
element.style.animationFillMode = 'backwards';
|
|
211
|
+
}
|
|
182
212
|
};
|
|
183
213
|
|
|
184
214
|
if (animationConfig.animationType === LayoutAnimationType.ENTERING) {
|
|
@@ -234,7 +264,7 @@ export function setElementAnimation(
|
|
|
234
264
|
if (!(animationName in Animations)) {
|
|
235
265
|
scheduleAnimationCleanup(animationName, duration + delay, () => {
|
|
236
266
|
if (shouldSavePosition) {
|
|
237
|
-
setElementPosition(element,
|
|
267
|
+
setElementPosition(element, getSnapshotForElement(element));
|
|
238
268
|
}
|
|
239
269
|
|
|
240
270
|
maybeRemoveElement();
|
|
@@ -317,6 +347,21 @@ function getElementScrollValue(element: HTMLElement): ScrollOffsets {
|
|
|
317
347
|
return scrollOffsets;
|
|
318
348
|
}
|
|
319
349
|
|
|
350
|
+
function cleanupEnteringAnimations(element: HTMLElement) {
|
|
351
|
+
const animationName = element.style.animationName;
|
|
352
|
+
|
|
353
|
+
// Check if the animation name indicates it's an entering animation
|
|
354
|
+
if (animationName && animationName.startsWith('REA-ENTERING-')) {
|
|
355
|
+
removeElementAnimation(element);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
for (const child of Array.from(element.children)) {
|
|
359
|
+
if (child instanceof HTMLElement) {
|
|
360
|
+
cleanupEnteringAnimations(child);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
320
365
|
export function handleExitingAnimation(
|
|
321
366
|
element: ReanimatedHTMLElement,
|
|
322
367
|
animationConfig: AnimationConfig
|
|
@@ -344,6 +389,10 @@ export function handleExitingAnimation(
|
|
|
344
389
|
};
|
|
345
390
|
saveScrollPosition(element);
|
|
346
391
|
|
|
392
|
+
// Clean up entering animations on all descendants before moving them to the dummy.
|
|
393
|
+
// This prevents entering animations from restarting when elements are moved to a new parent.
|
|
394
|
+
cleanupEnteringAnimations(element);
|
|
395
|
+
|
|
347
396
|
// After cloning the element, we want to move all children from original element to its clone. This is because original element
|
|
348
397
|
// will be unmounted, therefore when this code executes in child component, parent will be either empty or removed soon.
|
|
349
398
|
// Using element.cloneNode(true) doesn't solve the problem, because it creates copy of children and we won't be able to set their animations
|
|
@@ -367,7 +416,7 @@ export function handleExitingAnimation(
|
|
|
367
416
|
};
|
|
368
417
|
restoreScrollPosition(dummy);
|
|
369
418
|
|
|
370
|
-
const snapshot =
|
|
419
|
+
const snapshot = getSnapshotForElement(element);
|
|
371
420
|
|
|
372
421
|
const scrollOffsets = getElementScrollValue(element);
|
|
373
422
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import type { TransformsStyle } from 'react-native';
|
|
4
4
|
|
|
5
|
+
import { maybeAddSuffix } from '../../common';
|
|
6
|
+
import { LayoutAnimationType } from '../../commonTypes';
|
|
5
7
|
import type {
|
|
6
8
|
AnimationData,
|
|
7
9
|
ReanimatedWebTransformProperties,
|
|
@@ -19,12 +21,27 @@ import { LinearTransition } from './transition/Linear.web';
|
|
|
19
21
|
import { SequencedTransition } from './transition/Sequenced.web';
|
|
20
22
|
|
|
21
23
|
type TransformType = NonNullable<TransformsStyle['transform']>;
|
|
24
|
+
type TransformValue = string | number;
|
|
25
|
+
|
|
26
|
+
function assignTransformRules(
|
|
27
|
+
map: Map<string, TransformValue>,
|
|
28
|
+
transform?: ReanimatedWebTransformProperties[]
|
|
29
|
+
) {
|
|
30
|
+
if (!transform) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
for (const rule of transform) {
|
|
35
|
+
for (const [property, value] of Object.entries(rule)) {
|
|
36
|
+
map.set(property, value as TransformValue);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
22
40
|
|
|
23
41
|
// Translate values are passed as numbers. However, if `translate` property receives number, it will not automatically
|
|
24
42
|
// convert it to `px`. Therefore if we want to keep transform we have to add 'px' suffix to each of translate values
|
|
25
43
|
// that are present inside transform.
|
|
26
44
|
//
|
|
27
|
-
|
|
28
45
|
function addPxToTransform(transform: TransformType) {
|
|
29
46
|
type RNTransformProp = NonNullable<(typeof transform)[number]>;
|
|
30
47
|
|
|
@@ -52,7 +69,8 @@ function addPxToTransform(transform: TransformType) {
|
|
|
52
69
|
}
|
|
53
70
|
|
|
54
71
|
export function createCustomKeyFrameAnimation(
|
|
55
|
-
keyframeDefinitions: KeyframeDefinitions
|
|
72
|
+
keyframeDefinitions: KeyframeDefinitions,
|
|
73
|
+
animationType: LayoutAnimationType
|
|
56
74
|
) {
|
|
57
75
|
for (const value of Object.values(keyframeDefinitions)) {
|
|
58
76
|
if (value.transform) {
|
|
@@ -66,7 +84,7 @@ export function createCustomKeyFrameAnimation(
|
|
|
66
84
|
duration: -1,
|
|
67
85
|
};
|
|
68
86
|
|
|
69
|
-
animationData.name = generateNextCustomKeyframeName();
|
|
87
|
+
animationData.name = generateNextCustomKeyframeName(animationType);
|
|
70
88
|
|
|
71
89
|
// Move keyframe easings one keyframe up (our LA Keyframe definition is different
|
|
72
90
|
// from the CSS keyframes and expects easing to be present in the keyframe to which
|
|
@@ -92,46 +110,36 @@ export function createCustomKeyFrameAnimation(
|
|
|
92
110
|
|
|
93
111
|
export function createAnimationWithInitialValues(
|
|
94
112
|
animationName: string,
|
|
95
|
-
initialValues: InitialValuesStyleProps
|
|
113
|
+
initialValues: InitialValuesStyleProps,
|
|
114
|
+
animationType: LayoutAnimationType
|
|
96
115
|
) {
|
|
97
116
|
const animationStyle = structuredClone(AnimationsData[animationName].style);
|
|
98
117
|
const firstAnimationStep = animationStyle['0'];
|
|
99
118
|
|
|
100
|
-
const { transform, ...rest } = initialValues;
|
|
101
|
-
|
|
119
|
+
const { transform, originX, originY, ...rest } = initialValues;
|
|
120
|
+
|
|
121
|
+
const transformStyle = new Map<string, TransformValue>();
|
|
122
|
+
assignTransformRules(transformStyle, firstAnimationStep.transform);
|
|
102
123
|
|
|
103
124
|
if (transform) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
} else {
|
|
108
|
-
// Othwerwise we have to merge predefined transform with the one provided in `initialValues`.
|
|
109
|
-
// To do that, we create `Map` that will contain final transform.
|
|
110
|
-
const transformStyle = new Map<string, any>();
|
|
111
|
-
|
|
112
|
-
// First we assign all of the predefined rules
|
|
113
|
-
for (const rule of firstAnimationStep.transform) {
|
|
114
|
-
// In most cases there will be just one iteration
|
|
115
|
-
for (const [property, value] of Object.entries(rule)) {
|
|
116
|
-
transformStyle.set(property, value);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
125
|
+
const transformWithPx = addPxToTransform(transform as TransformType);
|
|
126
|
+
assignTransformRules(transformStyle, transformWithPx);
|
|
127
|
+
}
|
|
119
128
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
transformStyle.set(property, value);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
129
|
+
if (originX !== undefined) {
|
|
130
|
+
transformStyle.set('translateX', maybeAddSuffix(originX, 'px'));
|
|
131
|
+
}
|
|
126
132
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
if (originY !== undefined) {
|
|
134
|
+
transformStyle.set('translateY', maybeAddSuffix(originY, 'px'));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
const mergedTransform = Array.from(transformStyle, ([property, value]) => ({
|
|
138
|
+
[property]: value,
|
|
139
|
+
}));
|
|
140
|
+
|
|
141
|
+
if (transformStyle.size) {
|
|
142
|
+
firstAnimationStep.transform = mergedTransform;
|
|
135
143
|
}
|
|
136
144
|
|
|
137
145
|
animationStyle['0'] = {
|
|
@@ -140,7 +148,7 @@ export function createAnimationWithInitialValues(
|
|
|
140
148
|
};
|
|
141
149
|
|
|
142
150
|
// TODO: Maybe we can extract the logic below into separate function
|
|
143
|
-
const keyframeName = generateNextCustomKeyframeName();
|
|
151
|
+
const keyframeName = generateNextCustomKeyframeName(animationType);
|
|
144
152
|
|
|
145
153
|
const animationObject: AnimationData = {
|
|
146
154
|
name: keyframeName,
|
|
@@ -157,8 +165,14 @@ export function createAnimationWithInitialValues(
|
|
|
157
165
|
|
|
158
166
|
let customKeyframeCounter = 0;
|
|
159
167
|
|
|
160
|
-
|
|
161
|
-
|
|
168
|
+
const ANIMATION_TYPE_STRINGS: Partial<Record<LayoutAnimationType, string>> = {
|
|
169
|
+
[LayoutAnimationType.ENTERING]: 'ENTERING',
|
|
170
|
+
[LayoutAnimationType.EXITING]: 'EXITING',
|
|
171
|
+
[LayoutAnimationType.LAYOUT]: 'LAYOUT',
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
function generateNextCustomKeyframeName(animationType: LayoutAnimationType) {
|
|
175
|
+
return `REA-${ANIMATION_TYPE_STRINGS[animationType] ?? ''}-${customKeyframeCounter++}`;
|
|
162
176
|
}
|
|
163
177
|
|
|
164
178
|
/**
|
|
@@ -174,7 +188,9 @@ export function TransitionGenerator(
|
|
|
174
188
|
transitionType: TransitionType,
|
|
175
189
|
transitionData: TransitionData
|
|
176
190
|
) {
|
|
177
|
-
const transitionKeyframeName = generateNextCustomKeyframeName(
|
|
191
|
+
const transitionKeyframeName = generateNextCustomKeyframeName(
|
|
192
|
+
LayoutAnimationType.LAYOUT
|
|
193
|
+
);
|
|
178
194
|
let dummyTransitionKeyframeName;
|
|
179
195
|
|
|
180
196
|
let transitionObject;
|
|
@@ -207,7 +223,9 @@ export function TransitionGenerator(
|
|
|
207
223
|
|
|
208
224
|
// Here code block with {} is necessary because of eslint
|
|
209
225
|
case TransitionType.CURVED: {
|
|
210
|
-
dummyTransitionKeyframeName = generateNextCustomKeyframeName(
|
|
226
|
+
dummyTransitionKeyframeName = generateNextCustomKeyframeName(
|
|
227
|
+
LayoutAnimationType.LAYOUT
|
|
228
|
+
);
|
|
211
229
|
|
|
212
230
|
const { firstKeyframeObj, secondKeyframeObj } = CurvedTransition(
|
|
213
231
|
transitionKeyframeName,
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* version used to build the native part of the library in runtime. Remember to
|
|
5
5
|
* keep this in sync with the version declared in `package.json`
|
|
6
6
|
*/
|
|
7
|
-
export const jsVersion = '4.3.0-nightly-
|
|
7
|
+
export const jsVersion = '4.3.0-nightly-20251218-f17ee52ac';
|