react-native-reanimated 2.3.0-beta.4 → 2.3.0

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 (62) hide show
  1. package/Common/cpp/Tools/RuntimeDecorator.cpp +17 -0
  2. package/android/build.gradle +2 -0
  3. package/android/expo/linking.gradle +34 -0
  4. package/android/expo/src/main/java/com/swmansion/reanimated/EXReanimatedAdapter.java +12 -0
  5. package/android/expo/src/main/java/expo/modules/adapters/reanimated/EXReanimatedPackage.java +26 -0
  6. package/android/react-native-reanimated-63-hermes.aar +0 -0
  7. package/android/react-native-reanimated-63-jsc.aar +0 -0
  8. package/android/react-native-reanimated-64-hermes.aar +0 -0
  9. package/android/react-native-reanimated-64-jsc.aar +0 -0
  10. package/android/react-native-reanimated-65-hermes.aar +0 -0
  11. package/android/react-native-reanimated-65-jsc.aar +0 -0
  12. package/android/react-native-reanimated-66-hermes.aar +0 -0
  13. package/android/react-native-reanimated-66-jsc.aar +0 -0
  14. package/android/react-native-reanimated-67-hermes.aar +0 -0
  15. package/android/react-native-reanimated-67-jsc.aar +0 -0
  16. package/expo-module.config.json +3 -0
  17. package/ios/LayoutReanimation/REAAnimationsManager.m +64 -19
  18. package/ios/native/REAInitializer.mm +3 -4
  19. package/lib/Animated.js +3 -5
  20. package/lib/createAnimatedComponent.js +4 -2
  21. package/lib/index.js +3 -5
  22. package/lib/reanimated1/core/Core.test.js +1 -1
  23. package/lib/reanimated2/component/FlatList.js +30 -0
  24. package/lib/reanimated2/component/WrappedComponents.js +9 -0
  25. package/lib/reanimated2/component/index.js +4 -0
  26. package/lib/reanimated2/core.js +3 -0
  27. package/lib/reanimated2/globals.d.ts +3 -0
  28. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +14 -14
  29. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +8 -8
  30. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +16 -16
  31. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +15 -15
  32. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +4 -4
  33. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +20 -8
  34. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +2 -2
  35. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +8 -8
  36. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +10 -10
  37. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +8 -8
  38. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +8 -8
  39. package/package.json +3 -2
  40. package/plugin.js +2 -1
  41. package/react-native-reanimated.d.ts +37 -21
  42. package/src/Animated.js +3 -5
  43. package/src/createAnimatedComponent.tsx +13 -5
  44. package/src/reanimated1/core/Core.test.js +1 -1
  45. package/src/reanimated2/component/FlatList.tsx +44 -0
  46. package/src/reanimated2/component/WrappedComponents.ts +11 -0
  47. package/src/reanimated2/component/index.ts +9 -0
  48. package/src/reanimated2/core.ts +3 -0
  49. package/src/reanimated2/globals.d.ts +3 -0
  50. package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +39 -20
  51. package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +5 -1
  52. package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +21 -15
  53. package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +29 -24
  54. package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +61 -34
  55. package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +48 -33
  56. package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +17 -12
  57. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +20 -8
  58. package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +8 -8
  59. package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +8 -8
  60. package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +20 -14
  61. package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +14 -8
  62. package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +24 -12
@@ -23,10 +23,10 @@ export class FadingTransition
23
23
  return {
24
24
  initialValues: {
25
25
  opacity: 1,
26
- originX: values.boriginX,
27
- originY: values.boriginY,
28
- width: values.bwidth,
29
- height: values.bheight,
26
+ originX: values.currentOriginX,
27
+ originY: values.currentOriginY,
28
+ width: values.currentWidth,
29
+ height: values.currentHeight,
30
30
  },
31
31
  animations: {
32
32
  opacity: delayFunction(
@@ -38,19 +38,19 @@ export class FadingTransition
38
38
  ),
39
39
  originX: delayFunction(
40
40
  delay + duration,
41
- withTiming(values.originX, { duration: 50 })
41
+ withTiming(values.targetOriginX, { duration: 50 })
42
42
  ),
43
43
  originY: delayFunction(
44
44
  delay + duration,
45
- withTiming(values.originY, { duration: 50 })
45
+ withTiming(values.targetOriginY, { duration: 50 })
46
46
  ),
47
47
  width: delayFunction(
48
48
  delay + duration,
49
- withTiming(values.width, { duration: 50 })
49
+ withTiming(values.targetWidth, { duration: 50 })
50
50
  ),
51
51
  height: delayFunction(
52
52
  delay + duration,
53
- withTiming(values.height, { duration: 50 })
53
+ withTiming(values.targetHeight, { duration: 50 })
54
54
  ),
55
55
  },
56
56
  callback: callback,
@@ -22,34 +22,40 @@ export class JumpingTransition
22
22
  return (values) => {
23
23
  'worklet';
24
24
  const d = Math.max(
25
- Math.abs(values.originX - values.boriginX),
26
- Math.abs(values.originY - values.boriginY)
25
+ Math.abs(values.targetOriginX - values.currentOriginX),
26
+ Math.abs(values.targetOriginY - values.currentOriginY)
27
27
  );
28
28
  return {
29
29
  initialValues: {
30
- originX: values.boriginX,
31
- originY: values.boriginY,
32
- width: values.bwidth,
33
- height: values.bheight,
30
+ originX: values.currentOriginX,
31
+ originY: values.currentOriginY,
32
+ width: values.currentWidth,
33
+ height: values.currentHeight,
34
34
  },
35
35
  animations: {
36
- originX: delayFunction(delay, withTiming(values.originX, config)),
36
+ originX: delayFunction(
37
+ delay,
38
+ withTiming(values.targetOriginX, config)
39
+ ),
37
40
  originY: delayFunction(
38
41
  delay,
39
42
  withSequence(
40
- withTiming(Math.min(values.originY, values.boriginY) - d, {
41
- duration,
42
- easing: Easing.out(Easing.exp),
43
- }),
44
- withTiming(values.originY, {
43
+ withTiming(
44
+ Math.min(values.targetOriginY, values.currentOriginY) - d,
45
+ {
46
+ duration,
47
+ easing: Easing.out(Easing.exp),
48
+ }
49
+ ),
50
+ withTiming(values.targetOriginY, {
45
51
  ...config,
46
52
  duration,
47
53
  easing: Easing.bounce,
48
54
  })
49
55
  )
50
56
  ),
51
- width: delayFunction(delay, withTiming(values.width, config)),
52
- height: delayFunction(delay, withTiming(values.height, config)),
57
+ width: delayFunction(delay, withTiming(values.targetWidth, config)),
58
+ height: delayFunction(delay, withTiming(values.targetHeight, config)),
53
59
  },
54
60
  callback: callback,
55
61
  };
@@ -21,16 +21,22 @@ export class LinearTransition
21
21
  'worklet';
22
22
  return {
23
23
  initialValues: {
24
- originX: values.boriginX,
25
- originY: values.boriginY,
26
- width: values.bwidth,
27
- height: values.bheight,
24
+ originX: values.currentOriginX,
25
+ originY: values.currentOriginY,
26
+ width: values.currentWidth,
27
+ height: values.currentHeight,
28
28
  },
29
29
  animations: {
30
- originX: delayFunction(delay, animation(values.originX, config)),
31
- originY: delayFunction(delay, animation(values.originY, config)),
32
- width: delayFunction(delay, animation(values.width, config)),
33
- height: delayFunction(delay, animation(values.height, config)),
30
+ originX: delayFunction(
31
+ delay,
32
+ animation(values.targetOriginX, config)
33
+ ),
34
+ originY: delayFunction(
35
+ delay,
36
+ animation(values.targetOriginY, config)
37
+ ),
38
+ width: delayFunction(delay, animation(values.targetWidth, config)),
39
+ height: delayFunction(delay, animation(values.targetHeight, config)),
34
40
  },
35
41
  callback: callback,
36
42
  };
@@ -36,38 +36,50 @@ export class SequencedTransition
36
36
  'worklet';
37
37
  return {
38
38
  initialValues: {
39
- originX: values.boriginX,
40
- originY: values.boriginY,
41
- width: values.bwidth,
42
- height: values.bheight,
39
+ originX: values.currentOriginX,
40
+ originY: values.currentOriginY,
41
+ width: values.currentWidth,
42
+ height: values.currentHeight,
43
43
  },
44
44
  animations: {
45
45
  originX: delayFunction(
46
46
  delay,
47
47
  withSequence(
48
- withTiming(reverse ? values.boriginX : values.originX, config),
49
- withTiming(values.originX, config)
48
+ withTiming(
49
+ reverse ? values.currentOriginX : values.targetOriginX,
50
+ config
51
+ ),
52
+ withTiming(values.targetOriginX, config)
50
53
  )
51
54
  ),
52
55
  originY: delayFunction(
53
56
  delay,
54
57
  withSequence(
55
- withTiming(reverse ? values.originY : values.boriginY, config),
56
- withTiming(values.originY, config)
58
+ withTiming(
59
+ reverse ? values.targetOriginY : values.currentOriginY,
60
+ config
61
+ ),
62
+ withTiming(values.targetOriginY, config)
57
63
  )
58
64
  ),
59
65
  width: delayFunction(
60
66
  delay,
61
67
  withSequence(
62
- withTiming(reverse ? values.bwidth : values.width, config),
63
- withTiming(values.width, config)
68
+ withTiming(
69
+ reverse ? values.currentWidth : values.targetWidth,
70
+ config
71
+ ),
72
+ withTiming(values.targetWidth, config)
64
73
  )
65
74
  ),
66
75
  height: delayFunction(
67
76
  delay,
68
77
  withSequence(
69
- withTiming(reverse ? values.height : values.bheight, config),
70
- withTiming(values.height, config)
78
+ withTiming(
79
+ reverse ? values.targetHeight : values.currentHeight,
80
+ config
81
+ ),
82
+ withTiming(values.targetHeight, config)
71
83
  )
72
84
  ),
73
85
  },