react-native-reanimated 3.17.2 → 3.17.4

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.
Files changed (54) hide show
  1. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  2. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  3. package/lib/module/Colors.js +5 -1
  4. package/lib/module/Colors.js.map +1 -1
  5. package/lib/module/animation/util.js +1 -1
  6. package/lib/module/animation/util.js.map +1 -1
  7. package/lib/module/createAnimatedComponent/InlinePropManager.js +1 -1
  8. package/lib/module/createAnimatedComponent/InlinePropManager.js.map +1 -1
  9. package/lib/module/createAnimatedComponent/PropsFilter.js +7 -8
  10. package/lib/module/createAnimatedComponent/PropsFilter.js.map +1 -1
  11. package/lib/module/hook/useAnimatedStyle.js +2 -2
  12. package/lib/module/hook/useAnimatedStyle.js.map +1 -1
  13. package/lib/module/layoutReanimation/defaultAnimations/Pinwheel.js +4 -4
  14. package/lib/module/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  15. package/lib/module/layoutReanimation/defaultAnimations/Zoom.js +2 -2
  16. package/lib/module/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  17. package/lib/module/platform-specific/jsVersion.js +1 -1
  18. package/lib/module/processBoxShadow.js +57 -44
  19. package/lib/module/processBoxShadow.js.map +1 -1
  20. package/lib/module/screenTransition/styleUpdater.js +1 -1
  21. package/lib/module/screenTransition/styleUpdater.js.map +1 -1
  22. package/lib/module/updateProps/index.js +5 -0
  23. package/lib/module/updateProps/index.js.map +1 -0
  24. package/lib/module/updateProps/processTransformOrigin.js +115 -0
  25. package/lib/module/updateProps/processTransformOrigin.js.map +1 -0
  26. package/lib/module/{UpdateProps.js → updateProps/updateProps.js} +10 -11
  27. package/lib/module/updateProps/updateProps.js.map +1 -0
  28. package/lib/typescript/Colors.d.ts.map +1 -1
  29. package/lib/typescript/createAnimatedComponent/PropsFilter.d.ts +1 -1
  30. package/lib/typescript/createAnimatedComponent/PropsFilter.d.ts.map +1 -1
  31. package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
  32. package/lib/typescript/processBoxShadow.d.ts.map +1 -1
  33. package/lib/typescript/updateProps/index.d.ts +3 -0
  34. package/lib/typescript/updateProps/index.d.ts.map +1 -0
  35. package/lib/typescript/updateProps/processTransformOrigin.d.ts +2 -0
  36. package/lib/typescript/updateProps/processTransformOrigin.d.ts.map +1 -0
  37. package/lib/typescript/{UpdateProps.d.ts → updateProps/updateProps.d.ts} +3 -7
  38. package/lib/typescript/updateProps/updateProps.d.ts.map +1 -0
  39. package/package.json +8 -8
  40. package/src/Colors.ts +5 -1
  41. package/src/animation/util.ts +1 -1
  42. package/src/createAnimatedComponent/InlinePropManager.ts +1 -1
  43. package/src/createAnimatedComponent/PropsFilter.tsx +12 -8
  44. package/src/hook/useAnimatedStyle.ts +2 -2
  45. package/src/layoutReanimation/defaultAnimations/Pinwheel.ts +4 -4
  46. package/src/layoutReanimation/defaultAnimations/Zoom.ts +2 -2
  47. package/src/platform-specific/jsVersion.ts +1 -1
  48. package/src/processBoxShadow.ts +60 -48
  49. package/src/screenTransition/styleUpdater.ts +1 -1
  50. package/src/updateProps/index.ts +4 -0
  51. package/src/updateProps/processTransformOrigin.ts +145 -0
  52. package/src/{UpdateProps.ts → updateProps/updateProps.ts} +23 -28
  53. package/lib/module/UpdateProps.js.map +0 -1
  54. package/lib/typescript/UpdateProps.d.ts.map +0 -1
@@ -44,7 +44,7 @@ export class PinwheelIn
44
44
  scale: delayFunction(delay, animation(1, config)),
45
45
  },
46
46
  {
47
- rotate: delayFunction(delay, animation('0', config)),
47
+ rotate: delayFunction(delay, animation('0rad', config)),
48
48
  },
49
49
  ],
50
50
  },
@@ -55,7 +55,7 @@ export class PinwheelIn
55
55
  scale: 0,
56
56
  },
57
57
  {
58
- rotate: '5',
58
+ rotate: '5rad',
59
59
  },
60
60
  ],
61
61
  ...initialValues,
@@ -104,7 +104,7 @@ export class PinwheelOut
104
104
  scale: delayFunction(delay, animation(0, config)),
105
105
  },
106
106
  {
107
- rotate: delayFunction(delay, animation('5', config)),
107
+ rotate: delayFunction(delay, animation('5rad', config)),
108
108
  },
109
109
  ],
110
110
  },
@@ -115,7 +115,7 @@ export class PinwheelOut
115
115
  scale: 1,
116
116
  },
117
117
  {
118
- rotate: '0',
118
+ rotate: '0rad',
119
119
  },
120
120
  ],
121
121
  ...initialValues,
@@ -95,7 +95,7 @@ export class ZoomInRotate
95
95
  ],
96
96
  },
97
97
  initialValues: {
98
- transform: [{ scale: 0 }, { rotate }],
98
+ transform: [{ scale: 0 }, { rotate: `${rotate}rad` }],
99
99
  ...initialValues,
100
100
  },
101
101
  callback,
@@ -469,7 +469,7 @@ export class ZoomOutRotate
469
469
  ],
470
470
  },
471
471
  initialValues: {
472
- transform: [{ scale: 1 }, { rotate: '0' }],
472
+ transform: [{ scale: 1 }, { rotate: '0rad' }],
473
473
  ...initialValues,
474
474
  },
475
475
  callback,
@@ -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 = '3.17.2';
7
+ export const jsVersion = '3.17.4';
@@ -7,6 +7,12 @@
7
7
  import type { BoxShadowValue, OpaqueColorValue } from 'react-native';
8
8
 
9
9
  import type { StyleProps } from '.';
10
+ import { ReanimatedError } from './errors';
11
+
12
+ const isLength = (value: string) => {
13
+ 'worklet';
14
+ return value.endsWith('px') || !isNaN(Number(value));
15
+ };
10
16
 
11
17
  function parseBoxShadowString(rawBoxShadows: string): Array<BoxShadowValue> {
12
18
  'worklet';
@@ -29,52 +35,54 @@ function parseBoxShadowString(rawBoxShadows: string): Array<BoxShadowValue> {
29
35
  // split rawBoxShadow string by all whitespaces that are not in parenthesis
30
36
  const args = rawBoxShadow.split(/\s+(?![^(]*\))/);
31
37
  for (const arg of args) {
32
- if (arg === 'inset') {
33
- if (boxShadow.inset != null) {
38
+ if (isLength(arg)) {
39
+ switch (lengthCount) {
40
+ case 0:
41
+ offsetX = arg;
42
+ lengthCount++;
43
+ break;
44
+ case 1:
45
+ if (keywordDetectedAfterLength) {
46
+ return [];
47
+ }
48
+ offsetY = arg;
49
+ lengthCount++;
50
+ break;
51
+ case 2:
52
+ if (keywordDetectedAfterLength) {
53
+ return [];
54
+ }
55
+ boxShadow.blurRadius = arg;
56
+ lengthCount++;
57
+ break;
58
+ case 3:
59
+ if (keywordDetectedAfterLength) {
60
+ return [];
61
+ }
62
+ boxShadow.spreadDistance = arg;
63
+ lengthCount++;
64
+ break;
65
+ default:
66
+ return [];
67
+ }
68
+ } else if (arg === 'inset') {
69
+ if (boxShadow.inset) {
34
70
  return [];
35
71
  }
36
- if (offsetX != null) {
72
+ if (offsetX !== null) {
37
73
  keywordDetectedAfterLength = true;
38
74
  }
39
75
  boxShadow.inset = true;
40
76
  continue;
41
- }
42
-
43
- switch (lengthCount) {
44
- case 0:
45
- offsetX = arg;
46
- lengthCount++;
47
- break;
48
- case 1:
49
- if (keywordDetectedAfterLength) {
50
- return [];
51
- }
52
- offsetY = arg;
53
- lengthCount++;
54
- break;
55
- case 2:
56
- if (keywordDetectedAfterLength) {
57
- return [];
58
- }
59
- boxShadow.blurRadius = arg;
60
- lengthCount++;
61
- break;
62
- case 3:
63
- if (keywordDetectedAfterLength) {
64
- return [];
65
- }
66
- boxShadow.spreadDistance = arg;
67
- lengthCount++;
68
- break;
69
- case 4:
70
- if (keywordDetectedAfterLength) {
71
- return [];
72
- }
73
- boxShadow.color = arg;
74
- lengthCount++;
75
- break;
76
- default:
77
+ } else {
78
+ if (boxShadow.color) {
77
79
  return [];
80
+ }
81
+ if (offsetX != null) {
82
+ keywordDetectedAfterLength = true;
83
+ }
84
+ boxShadow.color = arg;
85
+ continue;
78
86
  }
79
87
  }
80
88
 
@@ -96,11 +104,7 @@ function parseLength(length: string): number | null {
96
104
  const argsWithUnitsRegex = /([+-]?\d*(\.\d+)?)([\w\W]+)?/g;
97
105
  const match = argsWithUnitsRegex.exec(length);
98
106
 
99
- if (!match || Number.isNaN(match[1])) {
100
- return null;
101
- }
102
-
103
- if (match[3] != null && match[3] !== 'px') {
107
+ if (!match || !isLength(length)) {
104
108
  return null;
105
109
  }
106
110
 
@@ -122,13 +126,21 @@ export function processBoxShadow(props: StyleProps) {
122
126
 
123
127
  const rawBoxShadows = props.boxShadow;
124
128
 
125
- if (rawBoxShadows === '') {
129
+ if (rawBoxShadows === null) {
126
130
  return result;
127
131
  }
128
132
 
129
- const boxShadowList = parseBoxShadowString(
130
- (rawBoxShadows as string).replace(/\n/g, ' ')
131
- );
133
+ let boxShadowList: Array<BoxShadowValue>;
134
+
135
+ if (typeof rawBoxShadows === 'string') {
136
+ boxShadowList = parseBoxShadowString(rawBoxShadows.replace(/\n/g, ' '));
137
+ } else if (Array.isArray(rawBoxShadows)) {
138
+ boxShadowList = rawBoxShadows;
139
+ } else {
140
+ throw new ReanimatedError(
141
+ `Box shadow value must be an array of shadow objects or a string. Received: ${JSON.stringify(rawBoxShadows)}`
142
+ );
143
+ }
132
144
 
133
145
  for (const rawBoxShadow of boxShadowList) {
134
146
  const parsedBoxShadow: ParsedBoxShadow = {
@@ -2,7 +2,7 @@
2
2
  import type { ShadowNodeWrapper } from '../commonTypes';
3
3
  import type { Descriptor } from '../hook/commonTypes';
4
4
  import { isFabric } from '../PlatformChecker';
5
- import updateProps from '../UpdateProps';
5
+ import { updateProps } from '../updateProps';
6
6
  import type {
7
7
  PanGestureHandlerEventPayload,
8
8
  ScreenTransitionConfig,
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ export { default as updateProps } from './updateProps';
4
+ export { updatePropsJestWrapper } from './updateProps';
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+ import { ReanimatedError } from '../errors';
3
+
4
+ const INDEX_X = 0;
5
+ const INDEX_Y = 1;
6
+ const INDEX_Z = 2;
7
+
8
+ // Implementation based on https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/StyleSheet/processTransformOrigin.js
9
+ function validateTransformOrigin(transformOrigin: Array<string | number>) {
10
+ 'worklet';
11
+ if (transformOrigin.length !== 3) {
12
+ throw new ReanimatedError('Transform origin must have exactly 3 values.');
13
+ }
14
+ const [x, y, z] = transformOrigin;
15
+ if (!(typeof x === 'number' || (typeof x === 'string' && x.endsWith('%')))) {
16
+ throw new ReanimatedError(
17
+ `Transform origin x-position must be a number or a percentage string. Passed value: ${x}.`
18
+ );
19
+ }
20
+ if (!(typeof y === 'number' || (typeof y === 'string' && y.endsWith('%')))) {
21
+ throw new ReanimatedError(
22
+ `Transform origin y-position must be a number or a percentage string. Passed value: ${y}.`
23
+ );
24
+ }
25
+ if (typeof z !== 'number') {
26
+ throw new ReanimatedError(
27
+ `Transform origin z-position must be a number. Passed value: ${z}.`
28
+ );
29
+ }
30
+ }
31
+
32
+ export function processTransformOrigin(
33
+ transformOriginIn: Array<string | number> | string | undefined
34
+ ): Array<string | number> {
35
+ 'worklet';
36
+ let transformOrigin: Array<string | number> = Array.isArray(transformOriginIn)
37
+ ? transformOriginIn
38
+ : ['50%', '50%', 0];
39
+
40
+ if (typeof transformOriginIn === 'string') {
41
+ const transformOriginString = transformOriginIn;
42
+ const regex = /(top|bottom|left|right|center|\d+(?:%|px)|0)/gi;
43
+ const transformOriginArray: Array<string | number> = ['50%', '50%', 0];
44
+
45
+ let index = INDEX_X;
46
+ let matches;
47
+ while ((matches = regex.exec(transformOriginString))) {
48
+ let nextIndex = index + 1;
49
+
50
+ const value = matches[0];
51
+ const valueLower = value.toLowerCase();
52
+
53
+ switch (valueLower) {
54
+ case 'left':
55
+ case 'right': {
56
+ if (index !== INDEX_X) {
57
+ throw new ReanimatedError(
58
+ `Transform-origin ${value} can only be used for x-position`
59
+ );
60
+ }
61
+ transformOriginArray[INDEX_X] = valueLower === 'left' ? 0 : '100%';
62
+ break;
63
+ }
64
+ case 'top':
65
+ case 'bottom': {
66
+ if (index === INDEX_Z) {
67
+ throw new ReanimatedError(
68
+ `Transform-origin ${value} can only be used for y-position`
69
+ );
70
+ }
71
+ transformOriginArray[INDEX_Y] = valueLower === 'top' ? 0 : '100%';
72
+
73
+ // Handle [[ center | left | right ] && [ center | top | bottom ]] <length>?
74
+ if (index === INDEX_X) {
75
+ const horizontal = regex.exec(transformOriginString);
76
+ if (horizontal == null) {
77
+ break;
78
+ }
79
+
80
+ switch (horizontal?.[0].toLowerCase()) {
81
+ case 'left':
82
+ transformOriginArray[INDEX_X] = 0;
83
+ break;
84
+ case 'right':
85
+ transformOriginArray[INDEX_X] = '100%';
86
+ break;
87
+ case 'center':
88
+ transformOriginArray[INDEX_X] = '50%';
89
+ break;
90
+ default:
91
+ throw new ReanimatedError(
92
+ `Could not parse transform-origin: ${transformOriginString}`
93
+ );
94
+ }
95
+ nextIndex = INDEX_Z;
96
+ }
97
+
98
+ break;
99
+ }
100
+ case 'center': {
101
+ if (index === INDEX_Z) {
102
+ throw new ReanimatedError(
103
+ `Transform-origin value ${value} cannot be used for z-position`
104
+ );
105
+ }
106
+ transformOriginArray[index] = '50%';
107
+ break;
108
+ }
109
+ default: {
110
+ if (value.endsWith('%')) {
111
+ transformOriginArray[index] = value;
112
+ } else {
113
+ const numericValue = parseFloat(value);
114
+ if (isNaN(numericValue)) {
115
+ throw new ReanimatedError(
116
+ `Invalid numeric value in transform-origin: ${value}`
117
+ );
118
+ }
119
+ transformOriginArray[index] = numericValue;
120
+ }
121
+ break;
122
+ }
123
+ }
124
+
125
+ index = nextIndex;
126
+ }
127
+
128
+ transformOrigin = transformOriginArray;
129
+ }
130
+
131
+ if (
132
+ typeof transformOriginIn !== 'string' &&
133
+ !Array.isArray(transformOriginIn)
134
+ ) {
135
+ throw new ReanimatedError(
136
+ `Invalid transformOrigin type: ${typeof transformOriginIn}`
137
+ );
138
+ }
139
+
140
+ if (__DEV__) {
141
+ validateTransformOrigin(transformOrigin);
142
+ }
143
+
144
+ return transformOrigin;
145
+ }
@@ -1,19 +1,21 @@
1
- /* eslint-disable @typescript-eslint/no-redundant-type-constituents */
1
+ /* eslint-disable @typescript-eslint/no-redundant-type-constituents, @typescript-eslint/no-explicit-any */
2
2
  'use strict';
3
+
3
4
  import type { MutableRefObject } from 'react';
4
5
 
5
- import { processColorsInProps } from './Colors';
6
+ import { processColorsInProps } from '../Colors';
6
7
  import type {
7
8
  AnimatedStyle,
8
9
  ShadowNodeWrapper,
9
10
  StyleProps,
10
- } from './commonTypes';
11
- import { ReanimatedError } from './errors';
12
- import type { Descriptor } from './hook/commonTypes';
13
- import { isFabric, isJest, shouldBeUseWeb } from './PlatformChecker';
14
- import type { ReanimatedHTMLElement } from './ReanimatedModule/js-reanimated';
15
- import { _updatePropsJS } from './ReanimatedModule/js-reanimated';
16
- import { runOnUIImmediately } from './threads';
11
+ } from '../commonTypes';
12
+ import { ReanimatedError } from '../errors';
13
+ import type { Descriptor } from '../hook/commonTypes';
14
+ import { isFabric, isJest, shouldBeUseWeb } from '../PlatformChecker';
15
+ import type { ReanimatedHTMLElement } from '../ReanimatedModule/js-reanimated';
16
+ import { _updatePropsJS } from '../ReanimatedModule/js-reanimated';
17
+ import { runOnUIImmediately } from '../threads';
18
+ import { processTransformOrigin } from './processTransformOrigin';
17
19
 
18
20
  let updateProps: (
19
21
  viewDescriptors: ViewDescriptorsWrapper,
@@ -33,10 +35,8 @@ if (shouldBeUseWeb()) {
33
35
  updateProps = (viewDescriptors, updates) => {
34
36
  'worklet';
35
37
  processColorsInProps(updates);
36
- if (updates.transformOrigin) {
37
- if (!Array.isArray(updates.transformOrigin)) {
38
- throw new ReanimatedError('Please use transformOrigin in array form');
39
- }
38
+ if ('transformOrigin' in updates) {
39
+ updates.transformOrigin = processTransformOrigin(updates.transformOrigin);
40
40
  }
41
41
  global.UpdatePropsManager.update(viewDescriptors, updates);
42
42
  };
@@ -131,13 +131,16 @@ if (shouldBeUseWeb()) {
131
131
  );
132
132
  }
133
133
  };
134
- global.UpdatePropsManager = new Proxy({} as UpdatePropsManager, {
135
- get: maybeThrowError,
136
- set: () => {
137
- maybeThrowError();
138
- return false;
139
- },
140
- });
134
+ global.UpdatePropsManager = new Proxy(
135
+ {},
136
+ {
137
+ get: maybeThrowError,
138
+ set: () => {
139
+ maybeThrowError();
140
+ return false;
141
+ },
142
+ }
143
+ );
141
144
  } else {
142
145
  runOnUIImmediately(() => {
143
146
  'worklet';
@@ -145,14 +148,6 @@ if (shouldBeUseWeb()) {
145
148
  })();
146
149
  }
147
150
 
148
- export interface UpdatePropsManager {
149
- update(
150
- viewDescriptors: ViewDescriptorsWrapper,
151
- updates: StyleProps | AnimatedStyle<any>
152
- ): void;
153
- flush(): void;
154
- }
155
-
156
151
  /**
157
152
  * This used to be `SharedValue<Descriptors[]>` but objects holding just a
158
153
  * single `value` prop are fine too.
@@ -1 +0,0 @@
1
- {"version":3,"names":["processColorsInProps","ReanimatedError","isFabric","isJest","shouldBeUseWeb","_updatePropsJS","runOnUIImmediately","updateProps","viewDescriptors","updates","isAnimatedProps","value","forEach","viewDescriptor","component","tag","transformOrigin","Array","isArray","global","UpdatePropsManager","update","updatePropsJestWrapper","animatedValues","adapters","adapter","current","createUpdatePropsManager","operations","push","shadowNodeWrapper","length","queueMicrotask","flush","_updatePropsFabric","name","_updatePropsPaper","maybeThrowError","Proxy","get","set"],"sourceRoot":"../../src","sources":["UpdateProps.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpdateProps.d.ts","sourceRoot":"","sources":["../../src/UpdateProps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EACV,aAAa,EAEb,UAAU,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMrD,QAAA,IAAI,WAAW,EAAE,CACf,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EACxC,eAAe,CAAC,EAAE,OAAO,KACtB,IAAI,CAAC;AAuBV,eAAO,MAAM,sBAAsB,oBAChB,sBAAsB,WAC9B,cAAc,GAAG,CAAC,kBACX,iBAAiB,cAAc,GAAG,CAAC,CAAC,uBAC/B,cAAc,GAAG,CAAC,KAAK,IAAI,QAC/C,IAUF,CAAC;AAEF,eAAe,WAAW,CAAC;AAsF3B,MAAM,WAAW,kBAAkB;IACjC,MAAM,CACJ,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,GACvC,IAAI,CAAC;IACR,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,UAAU,sBAAsB;IAC9B,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;CAC/B"}