react-native-reanimated 4.3.0-nightly-20251215-ac491ac0a → 4.3.0-nightly-20251216-76b4795ca
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/layoutReanimation/web/componentUtils.js +18 -2
- package/lib/module/layoutReanimation/web/componentUtils.js.map +1 -1
- package/lib/module/layoutReanimation/web/createAnimation.js +30 -30
- package/lib/module/layoutReanimation/web/createAnimation.js.map +1 -1
- package/lib/module/platform-specific/jsVersion.js +1 -1
- package/lib/typescript/layoutReanimation/web/componentUtils.d.ts.map +1 -1
- 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/layoutReanimation/web/componentUtils.ts +25 -2
- package/src/layoutReanimation/web/createAnimation.ts +37 -32
- package/src/platform-specific/jsVersion.ts +1 -1
|
@@ -12,6 +12,22 @@ import { TransitionGenerator } from './createAnimation';
|
|
|
12
12
|
import { scheduleAnimationCleanup } from './domUtils';
|
|
13
13
|
import { getEasingByName, maybeGetBezierEasing, WebEasings } from './Easing.web';
|
|
14
14
|
import { prepareCurvedTransition } from './transition/Curved.web';
|
|
15
|
+
function getSnapshotForElement(element) {
|
|
16
|
+
const existingSnapshot = snapshots.get(element);
|
|
17
|
+
if (existingSnapshot) {
|
|
18
|
+
return existingSnapshot;
|
|
19
|
+
}
|
|
20
|
+
const rect = element.getBoundingClientRect();
|
|
21
|
+
const fallbackSnapshot = {
|
|
22
|
+
top: rect.top,
|
|
23
|
+
left: rect.left,
|
|
24
|
+
width: rect.width,
|
|
25
|
+
height: rect.height,
|
|
26
|
+
scrollOffsets: getElementScrollValue(element)
|
|
27
|
+
};
|
|
28
|
+
snapshots.set(element, fallbackSnapshot);
|
|
29
|
+
return fallbackSnapshot;
|
|
30
|
+
}
|
|
15
31
|
function getEasingFromConfig(config) {
|
|
16
32
|
if (!config.easingV) {
|
|
17
33
|
return getEasingByName('linear');
|
|
@@ -161,7 +177,7 @@ export function setElementAnimation(element, animationConfig, shouldSavePosition
|
|
|
161
177
|
if (!(animationName in Animations)) {
|
|
162
178
|
scheduleAnimationCleanup(animationName, duration + delay, () => {
|
|
163
179
|
if (shouldSavePosition) {
|
|
164
|
-
setElementPosition(element,
|
|
180
|
+
setElementPosition(element, getSnapshotForElement(element));
|
|
165
181
|
}
|
|
166
182
|
maybeRemoveElement();
|
|
167
183
|
maybeCallCallback(false);
|
|
@@ -270,7 +286,7 @@ export function handleExitingAnimation(element, animationConfig) {
|
|
|
270
286
|
}
|
|
271
287
|
};
|
|
272
288
|
restoreScrollPosition(dummy);
|
|
273
|
-
const snapshot =
|
|
289
|
+
const snapshot = getSnapshotForElement(element);
|
|
274
290
|
const scrollOffsets = getElementScrollValue(element);
|
|
275
291
|
|
|
276
292
|
// 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","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","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,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
import { maybeAddSuffix } from '../../common';
|
|
3
4
|
import { convertAnimationObjectToKeyframes } from './animationParser';
|
|
4
5
|
import { AnimationsData, TransitionType } from './config';
|
|
5
6
|
import { insertWebAnimation } from './domUtils';
|
|
@@ -9,11 +10,21 @@ import { FadingTransition } from './transition/Fading.web';
|
|
|
9
10
|
import { JumpingTransition } from './transition/Jumping.web';
|
|
10
11
|
import { LinearTransition } from './transition/Linear.web';
|
|
11
12
|
import { SequencedTransition } from './transition/Sequenced.web';
|
|
13
|
+
function assignTransformRules(map, transform) {
|
|
14
|
+
if (!transform) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
transform.forEach(rule => {
|
|
18
|
+
for (const [property, propertyValue] of Object.entries(rule)) {
|
|
19
|
+
map.set(property, propertyValue);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
12
24
|
// Translate values are passed as numbers. However, if `translate` property receives number, it will not automatically
|
|
13
25
|
// convert it to `px`. Therefore if we want to keep transform we have to add 'px' suffix to each of translate values
|
|
14
26
|
// that are present inside transform.
|
|
15
27
|
//
|
|
16
|
-
|
|
17
28
|
function addPxToTransform(transform) {
|
|
18
29
|
// @ts-ignore `existingTransform` cannot be string because in that case
|
|
19
30
|
// we throw error in `extractTransformFromStyle`
|
|
@@ -66,38 +77,27 @@ export function createAnimationWithInitialValues(animationName, initialValues) {
|
|
|
66
77
|
const firstAnimationStep = animationStyle['0'];
|
|
67
78
|
const {
|
|
68
79
|
transform,
|
|
80
|
+
originX,
|
|
81
|
+
originY,
|
|
69
82
|
...rest
|
|
70
83
|
} = initialValues;
|
|
71
|
-
const
|
|
84
|
+
const transformStyle = new Map();
|
|
85
|
+
assignTransformRules(transformStyle, firstAnimationStep.transform);
|
|
72
86
|
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
|
-
}
|
|
87
|
+
const transformWithPx = addPxToTransform(transform);
|
|
88
|
+
assignTransformRules(transformStyle, transformWithPx);
|
|
89
|
+
}
|
|
90
|
+
if (originX !== undefined) {
|
|
91
|
+
transformStyle.set('translateX', maybeAddSuffix(originX, 'px'));
|
|
92
|
+
}
|
|
93
|
+
if (originY !== undefined) {
|
|
94
|
+
transformStyle.set('translateY', maybeAddSuffix(originY, 'px'));
|
|
95
|
+
}
|
|
96
|
+
const mergedTransform = Array.from(transformStyle, ([property, value]) => ({
|
|
97
|
+
[property]: value
|
|
98
|
+
}));
|
|
99
|
+
if (transformStyle.size) {
|
|
100
|
+
firstAnimationStep.transform = mergedTransform;
|
|
101
101
|
}
|
|
102
102
|
animationStyle['0'] = {
|
|
103
103
|
...animationStyle['0'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["convertAnimationObjectToKeyframes","AnimationsData","TransitionType","insertWebAnimation","CurvedTransition","EntryExitTransition","FadingTransition","JumpingTransition","LinearTransition","SequencedTransition","
|
|
1
|
+
{"version":3,"names":["maybeAddSuffix","convertAnimationObjectToKeyframes","AnimationsData","TransitionType","insertWebAnimation","CurvedTransition","EntryExitTransition","FadingTransition","JumpingTransition","LinearTransition","SequencedTransition","assignTransformRules","map","transform","forEach","rule","property","propertyValue","Object","entries","set","addPxToTransform","newTransform","transformProp","newTransformProp","key","value","includes","createCustomKeyFrameAnimation","keyframeDefinitions","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","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-20251216-76b4795ca';
|
|
9
9
|
//# sourceMappingURL=jsVersion.js.map
|
|
@@ -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":"AAGA,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,QAwE9B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,QA8C/B;AAyBD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,eAAe,QA4EjC"}
|
|
@@ -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,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,UAoCzC;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,uBAAuB,UAkDvC;AAQD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc;;;EAkE/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-20251216-76b4795ca";
|
|
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-20251216-76b4795ca",
|
|
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-20251216-76b4795ca"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
104
|
"@babel/core": "7.28.4",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
|
|
2
3
|
import { logger } from '../../common';
|
|
3
4
|
import { LayoutAnimationType, ReduceMotion } from '../../commonTypes';
|
|
4
5
|
import type { EasingFunctionFactory } from '../../Easing';
|
|
@@ -29,6 +30,28 @@ import {
|
|
|
29
30
|
} from './Easing.web';
|
|
30
31
|
import { prepareCurvedTransition } from './transition/Curved.web';
|
|
31
32
|
|
|
33
|
+
function getSnapshotForElement(element: HTMLElement): ReanimatedSnapshot {
|
|
34
|
+
const existingSnapshot = snapshots.get(element);
|
|
35
|
+
|
|
36
|
+
if (existingSnapshot) {
|
|
37
|
+
return existingSnapshot;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const rect = element.getBoundingClientRect();
|
|
41
|
+
|
|
42
|
+
const fallbackSnapshot: ReanimatedSnapshot = {
|
|
43
|
+
top: rect.top,
|
|
44
|
+
left: rect.left,
|
|
45
|
+
width: rect.width,
|
|
46
|
+
height: rect.height,
|
|
47
|
+
scrollOffsets: getElementScrollValue(element),
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
snapshots.set(element, fallbackSnapshot);
|
|
51
|
+
|
|
52
|
+
return fallbackSnapshot;
|
|
53
|
+
}
|
|
54
|
+
|
|
32
55
|
function getEasingFromConfig(config: CustomConfig): string {
|
|
33
56
|
if (!config.easingV) {
|
|
34
57
|
return getEasingByName('linear');
|
|
@@ -234,7 +257,7 @@ export function setElementAnimation(
|
|
|
234
257
|
if (!(animationName in Animations)) {
|
|
235
258
|
scheduleAnimationCleanup(animationName, duration + delay, () => {
|
|
236
259
|
if (shouldSavePosition) {
|
|
237
|
-
setElementPosition(element,
|
|
260
|
+
setElementPosition(element, getSnapshotForElement(element));
|
|
238
261
|
}
|
|
239
262
|
|
|
240
263
|
maybeRemoveElement();
|
|
@@ -367,7 +390,7 @@ export function handleExitingAnimation(
|
|
|
367
390
|
};
|
|
368
391
|
restoreScrollPosition(dummy);
|
|
369
392
|
|
|
370
|
-
const snapshot =
|
|
393
|
+
const snapshot = getSnapshotForElement(element);
|
|
371
394
|
|
|
372
395
|
const scrollOffsets = getElementScrollValue(element);
|
|
373
396
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import type { TransformsStyle } from 'react-native';
|
|
4
4
|
|
|
5
|
+
import { maybeAddSuffix } from '../../common';
|
|
5
6
|
import type {
|
|
6
7
|
AnimationData,
|
|
7
8
|
ReanimatedWebTransformProperties,
|
|
@@ -19,12 +20,27 @@ import { LinearTransition } from './transition/Linear.web';
|
|
|
19
20
|
import { SequencedTransition } from './transition/Sequenced.web';
|
|
20
21
|
|
|
21
22
|
type TransformType = NonNullable<TransformsStyle['transform']>;
|
|
23
|
+
type TransformValue = string | number;
|
|
24
|
+
|
|
25
|
+
function assignTransformRules(
|
|
26
|
+
map: Map<string, TransformValue>,
|
|
27
|
+
transform?: ReanimatedWebTransformProperties[]
|
|
28
|
+
) {
|
|
29
|
+
if (!transform) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
transform.forEach((rule) => {
|
|
34
|
+
for (const [property, propertyValue] of Object.entries(rule)) {
|
|
35
|
+
map.set(property, propertyValue as TransformValue);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
22
39
|
|
|
23
40
|
// Translate values are passed as numbers. However, if `translate` property receives number, it will not automatically
|
|
24
41
|
// convert it to `px`. Therefore if we want to keep transform we have to add 'px' suffix to each of translate values
|
|
25
42
|
// that are present inside transform.
|
|
26
43
|
//
|
|
27
|
-
|
|
28
44
|
function addPxToTransform(transform: TransformType) {
|
|
29
45
|
type RNTransformProp = NonNullable<(typeof transform)[number]>;
|
|
30
46
|
|
|
@@ -97,41 +113,30 @@ export function createAnimationWithInitialValues(
|
|
|
97
113
|
const animationStyle = structuredClone(AnimationsData[animationName].style);
|
|
98
114
|
const firstAnimationStep = animationStyle['0'];
|
|
99
115
|
|
|
100
|
-
const { transform, ...rest } = initialValues;
|
|
101
|
-
|
|
116
|
+
const { transform, originX, originY, ...rest } = initialValues;
|
|
117
|
+
|
|
118
|
+
const transformStyle = new Map<string, TransformValue>();
|
|
119
|
+
assignTransformRules(transformStyle, firstAnimationStep.transform);
|
|
102
120
|
|
|
103
121
|
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
|
-
}
|
|
122
|
+
const transformWithPx = addPxToTransform(transform as TransformType);
|
|
123
|
+
assignTransformRules(transformStyle, transformWithPx);
|
|
124
|
+
}
|
|
119
125
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
transformStyle.set(property, value);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
+
if (originX !== undefined) {
|
|
127
|
+
transformStyle.set('translateX', maybeAddSuffix(originX, 'px'));
|
|
128
|
+
}
|
|
126
129
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
if (originY !== undefined) {
|
|
131
|
+
transformStyle.set('translateY', maybeAddSuffix(originY, 'px'));
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const mergedTransform = Array.from(transformStyle, ([property, value]) => ({
|
|
135
|
+
[property]: value,
|
|
136
|
+
}));
|
|
137
|
+
|
|
138
|
+
if (transformStyle.size) {
|
|
139
|
+
firstAnimationStep.transform = mergedTransform;
|
|
135
140
|
}
|
|
136
141
|
|
|
137
142
|
animationStyle['0'] = {
|
|
@@ -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-20251216-76b4795ca';
|