react-native-reanimated 3.13.0-rc.1 → 3.13.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 (163) hide show
  1. package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp +26 -1
  2. package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.h +8 -0
  3. package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +742 -0
  4. package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.h +138 -0
  5. package/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.cpp +85 -0
  6. package/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.h +172 -0
  7. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +63 -3
  8. package/Common/cpp/NativeModules/NativeReanimatedModule.h +6 -2
  9. package/Common/cpp/ReanimatedRuntime/WorkletRuntime.cpp +1 -1
  10. package/Common/cpp/ReanimatedRuntime/WorkletRuntime.h +1 -1
  11. package/Common/cpp/ReanimatedRuntime/WorkletRuntimeDecorator.cpp +6 -6
  12. package/Common/cpp/SharedItems/Shareables.cpp +25 -8
  13. package/Common/cpp/SharedItems/Shareables.h +12 -7
  14. package/android/CMakeLists.txt +4 -1
  15. package/android/src/main/cpp/LayoutAnimations.cpp +14 -0
  16. package/android/src/main/cpp/LayoutAnimations.h +5 -0
  17. package/android/src/main/cpp/NativeProxy.cpp +10 -0
  18. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +20 -2
  19. package/android/src/main/java/com/swmansion/reanimated/keyboard/Keyboard.java +1 -1
  20. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +10 -2
  21. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -0
  22. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/NativeMethodsHolder.java +2 -0
  23. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +10 -0
  24. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ScreensHelper.java +83 -0
  25. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java +130 -31
  26. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/Snapshot.java +36 -0
  27. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/TabNavigatorObserver.java +128 -0
  28. package/android/src/main/java/com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java +2 -1
  29. package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +8 -0
  30. package/android/src/reactNativeVersionPatch/RuntimeExecutor/73/com/swmansion/reanimated/NativeProxy.java +6 -0
  31. package/android/src/reactNativeVersionPatch/RuntimeExecutor/latest/com/swmansion/reanimated/NativeProxy.java +6 -0
  32. package/apple/LayoutReanimation/REAAnimationsManager.h +2 -0
  33. package/apple/LayoutReanimation/REAAnimationsManager.m +5 -0
  34. package/apple/LayoutReanimation/REAScreensHelper.h +6 -0
  35. package/apple/LayoutReanimation/REAScreensHelper.m +92 -4
  36. package/apple/LayoutReanimation/REASharedTransitionManager.h +1 -0
  37. package/apple/LayoutReanimation/REASharedTransitionManager.m +262 -56
  38. package/apple/native/NativeProxy.mm +12 -0
  39. package/lib/module/Colors.js +11 -4
  40. package/lib/module/Colors.js.map +1 -1
  41. package/lib/module/UpdateLayoutAnimations.js +2 -2
  42. package/lib/module/UpdateLayoutAnimations.js.map +1 -1
  43. package/lib/module/UpdateProps.js +8 -8
  44. package/lib/module/UpdateProps.js.map +1 -1
  45. package/lib/module/ViewDescriptorsSet.js +0 -27
  46. package/lib/module/ViewDescriptorsSet.js.map +1 -1
  47. package/lib/module/createAnimatedComponent/InlinePropManager.js +1 -7
  48. package/lib/module/createAnimatedComponent/InlinePropManager.js.map +1 -1
  49. package/lib/module/createAnimatedComponent/NativeEventsManager.js +91 -0
  50. package/lib/module/createAnimatedComponent/NativeEventsManager.js.map +1 -0
  51. package/lib/module/createAnimatedComponent/PropsFilter.js +1 -6
  52. package/lib/module/createAnimatedComponent/PropsFilter.js.map +1 -1
  53. package/lib/module/createAnimatedComponent/commonTypes.js.map +1 -1
  54. package/lib/module/createAnimatedComponent/createAnimatedComponent.js +47 -73
  55. package/lib/module/createAnimatedComponent/createAnimatedComponent.js.map +1 -1
  56. package/lib/module/hook/commonTypes.js.map +1 -1
  57. package/lib/module/hook/useAnimatedStyle.js +12 -15
  58. package/lib/module/hook/useAnimatedStyle.js.map +1 -1
  59. package/lib/module/hook/useFrameCallback.js +2 -2
  60. package/lib/module/hook/useFrameCallback.js.map +1 -1
  61. package/lib/module/hook/useWorkletCallback.js +1 -1
  62. package/lib/module/hook/useWorkletCallback.js.map +1 -1
  63. package/lib/module/js-reanimated/index.js +3 -28
  64. package/lib/module/js-reanimated/index.js.map +1 -1
  65. package/lib/module/js-reanimated/webUtils.js +9 -0
  66. package/lib/module/js-reanimated/webUtils.js.map +1 -0
  67. package/lib/module/js-reanimated/webUtils.web.js +25 -0
  68. package/lib/module/js-reanimated/webUtils.web.js.map +1 -0
  69. package/lib/module/layoutReanimation/defaultTransitions/CurvedTransition.js +1 -0
  70. package/lib/module/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  71. package/lib/module/layoutReanimation/defaultTransitions/EntryExitTransition.js +1 -0
  72. package/lib/module/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  73. package/lib/module/layoutReanimation/defaultTransitions/FadingTransition.js +11 -10
  74. package/lib/module/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  75. package/lib/module/layoutReanimation/defaultTransitions/JumpingTransition.js +1 -0
  76. package/lib/module/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  77. package/lib/module/layoutReanimation/defaultTransitions/LinearTransition.js +1 -0
  78. package/lib/module/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  79. package/lib/module/layoutReanimation/defaultTransitions/SequencedTransition.js +1 -0
  80. package/lib/module/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  81. package/lib/module/layoutReanimation/web/Easing.web.js +14 -0
  82. package/lib/module/layoutReanimation/web/Easing.web.js.map +1 -0
  83. package/lib/module/layoutReanimation/web/animationParser.js +16 -1
  84. package/lib/module/layoutReanimation/web/animationParser.js.map +1 -1
  85. package/lib/module/layoutReanimation/web/animationsManager.js +40 -8
  86. package/lib/module/layoutReanimation/web/animationsManager.js.map +1 -1
  87. package/lib/module/layoutReanimation/web/componentStyle.js +12 -16
  88. package/lib/module/layoutReanimation/web/componentStyle.js.map +1 -1
  89. package/lib/module/layoutReanimation/web/componentUtils.js +53 -18
  90. package/lib/module/layoutReanimation/web/componentUtils.js.map +1 -1
  91. package/lib/module/layoutReanimation/web/config.js +1 -12
  92. package/lib/module/layoutReanimation/web/config.js.map +1 -1
  93. package/lib/module/layoutReanimation/web/createAnimation.js +21 -2
  94. package/lib/module/layoutReanimation/web/createAnimation.js.map +1 -1
  95. package/lib/module/layoutReanimation/web/domUtils.js +6 -5
  96. package/lib/module/layoutReanimation/web/domUtils.js.map +1 -1
  97. package/lib/module/layoutReanimation/web/transition/Jumping.web.js +43 -0
  98. package/lib/module/layoutReanimation/web/transition/Jumping.web.js.map +1 -0
  99. package/lib/module/platform-specific/RNRenderer.web.js +1 -1
  100. package/lib/module/platform-specific/RNRenderer.web.js.map +1 -1
  101. package/lib/module/platform-specific/jsVersion.js +1 -1
  102. package/lib/module/platform-specific/jsVersion.js.map +1 -1
  103. package/lib/module/platformFunctions/setNativeProps.web.js +1 -3
  104. package/lib/module/platformFunctions/setNativeProps.web.js.map +1 -1
  105. package/lib/typescript/UpdateProps.d.ts +2 -3
  106. package/lib/typescript/ViewDescriptorsSet.d.ts +0 -9
  107. package/lib/typescript/createAnimatedComponent/NativeEventsManager.d.ts +15 -0
  108. package/lib/typescript/createAnimatedComponent/commonTypes.d.ts +13 -3
  109. package/lib/typescript/hook/commonTypes.d.ts +3 -6
  110. package/lib/typescript/hook/useWorkletCallback.d.ts +1 -1
  111. package/lib/typescript/js-reanimated/index.d.ts +2 -2
  112. package/lib/typescript/js-reanimated/webUtils.d.ts +3 -0
  113. package/lib/typescript/js-reanimated/webUtils.web.d.ts +3 -0
  114. package/lib/typescript/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +1 -0
  115. package/lib/typescript/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +1 -0
  116. package/lib/typescript/layoutReanimation/defaultTransitions/FadingTransition.d.ts +1 -0
  117. package/lib/typescript/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +1 -0
  118. package/lib/typescript/layoutReanimation/defaultTransitions/LinearTransition.d.ts +1 -0
  119. package/lib/typescript/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +1 -0
  120. package/lib/typescript/layoutReanimation/web/Easing.web.d.ts +10 -0
  121. package/lib/typescript/layoutReanimation/web/animationParser.d.ts +1 -2
  122. package/lib/typescript/layoutReanimation/web/componentStyle.d.ts +1 -1
  123. package/lib/typescript/layoutReanimation/web/componentUtils.d.ts +4 -3
  124. package/lib/typescript/layoutReanimation/web/config.d.ts +5 -12
  125. package/lib/typescript/layoutReanimation/web/createAnimation.d.ts +2 -0
  126. package/lib/typescript/layoutReanimation/web/domUtils.d.ts +1 -1
  127. package/lib/typescript/layoutReanimation/web/transition/Jumping.web.d.ts +29 -0
  128. package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
  129. package/package.json +4 -3
  130. package/src/Colors.ts +10 -4
  131. package/src/UpdateLayoutAnimations.ts +2 -2
  132. package/src/UpdateProps.ts +8 -11
  133. package/src/ViewDescriptorsSet.ts +0 -42
  134. package/src/createAnimatedComponent/InlinePropManager.ts +2 -8
  135. package/src/createAnimatedComponent/NativeEventsManager.ts +138 -0
  136. package/src/createAnimatedComponent/PropsFilter.tsx +0 -4
  137. package/src/createAnimatedComponent/commonTypes.ts +14 -3
  138. package/src/createAnimatedComponent/createAnimatedComponent.tsx +59 -99
  139. package/src/hook/commonTypes.ts +3 -6
  140. package/src/hook/useAnimatedStyle.ts +9 -26
  141. package/src/hook/useFrameCallback.ts +2 -2
  142. package/src/hook/useWorkletCallback.ts +1 -1
  143. package/src/js-reanimated/index.ts +12 -32
  144. package/src/js-reanimated/webUtils.ts +8 -0
  145. package/src/js-reanimated/webUtils.web.ts +27 -0
  146. package/src/layoutReanimation/defaultTransitions/CurvedTransition.ts +2 -0
  147. package/src/layoutReanimation/defaultTransitions/EntryExitTransition.ts +2 -0
  148. package/src/layoutReanimation/defaultTransitions/FadingTransition.ts +12 -10
  149. package/src/layoutReanimation/defaultTransitions/JumpingTransition.ts +2 -0
  150. package/src/layoutReanimation/defaultTransitions/LinearTransition.ts +2 -0
  151. package/src/layoutReanimation/defaultTransitions/SequencedTransition.ts +2 -0
  152. package/src/layoutReanimation/web/Easing.web.ts +15 -0
  153. package/src/layoutReanimation/web/animationParser.ts +30 -2
  154. package/src/layoutReanimation/web/animationsManager.ts +80 -12
  155. package/src/layoutReanimation/web/componentStyle.ts +13 -16
  156. package/src/layoutReanimation/web/componentUtils.ts +68 -25
  157. package/src/layoutReanimation/web/config.ts +5 -14
  158. package/src/layoutReanimation/web/createAnimation.ts +38 -4
  159. package/src/layoutReanimation/web/domUtils.ts +15 -5
  160. package/src/layoutReanimation/web/transition/Jumping.web.ts +44 -0
  161. package/src/platform-specific/RNRenderer.web.ts +1 -1
  162. package/src/platform-specific/jsVersion.ts +1 -1
  163. package/src/platformFunctions/setNativeProps.web.ts +1 -1
@@ -20,6 +20,12 @@ void LayoutAnimationsManager::configureAnimationBatch(
20
20
  clearSharedTransitionConfig(tag);
21
21
  sharedTransitionConfigs.push_back(std::move(layoutAnimationConfig));
22
22
  } else {
23
+ #ifdef RCT_NEW_ARCH_ENABLED
24
+ if (type == ENTERING) {
25
+ enteringAnimationsForNativeID_[tag] = config;
26
+ continue;
27
+ }
28
+ #endif
23
29
  if (config == nullptr) {
24
30
  getConfigsForType(type).erase(tag);
25
31
  } else {
@@ -126,7 +132,7 @@ void LayoutAnimationsManager::startLayoutAnimation(
126
132
  jsi::Value(tag),
127
133
  jsi::Value(static_cast<int>(type)),
128
134
  values,
129
- config->getJSValue(rt));
135
+ config->toJSValue(rt));
130
136
  }
131
137
 
132
138
  void LayoutAnimationsManager::cancelLayoutAnimation(
@@ -159,6 +165,25 @@ int LayoutAnimationsManager::findPrecedingViewTagForTransition(const int tag) {
159
165
  return -1;
160
166
  }
161
167
 
168
+ const std::vector<int> &LayoutAnimationsManager::getSharedGroup(
169
+ const int viewTag) {
170
+ const auto &groupSharedTag = viewTagToSharedTag_[viewTag];
171
+ return sharedTransitionGroups_[groupSharedTag];
172
+ }
173
+
174
+ #ifdef RCT_NEW_ARCH_ENABLED
175
+ void LayoutAnimationsManager::transferConfigFromNativeID(
176
+ const int nativeId,
177
+ const int tag) {
178
+ auto lock = std::unique_lock<std::recursive_mutex>(animationsMutex_);
179
+ auto config = enteringAnimationsForNativeID_[nativeId];
180
+ if (config) {
181
+ enteringAnimations_.insert_or_assign(tag, config);
182
+ }
183
+ enteringAnimationsForNativeID_.erase(nativeId);
184
+ }
185
+ #endif
186
+
162
187
  #ifndef NDEBUG
163
188
  std::string LayoutAnimationsManager::getScreenSharedTagPairString(
164
189
  const int screenTag,
@@ -42,7 +42,11 @@ class LayoutAnimationsManager {
42
42
  void clearLayoutAnimationConfig(const int tag);
43
43
  void clearSharedTransitionConfig(const int tag);
44
44
  void cancelLayoutAnimation(jsi::Runtime &rt, const int tag) const;
45
+ #ifdef RCT_NEW_ARCH_ENABLED
46
+ void transferConfigFromNativeID(const int nativeId, const int tag);
47
+ #endif
45
48
  int findPrecedingViewTagForTransition(const int tag);
49
+ const std::vector<int> &getSharedGroup(const int viewTag);
46
50
  #ifndef NDEBUG
47
51
  std::string getScreenSharedTagPairString(
48
52
  const int screenTag,
@@ -63,6 +67,10 @@ class LayoutAnimationsManager {
63
67
  std::unordered_map<int, std::string> viewsScreenSharedTagMap_;
64
68
  #endif
65
69
 
70
+ #ifdef RCT_NEW_ARCH_ENABLED
71
+ std::unordered_map<int, std::shared_ptr<Shareable>>
72
+ enteringAnimationsForNativeID_;
73
+ #endif
66
74
  std::unordered_map<int, std::shared_ptr<Shareable>> enteringAnimations_;
67
75
  std::unordered_map<int, std::shared_ptr<Shareable>> exitingAnimations_;
68
76
  std::unordered_map<int, std::shared_ptr<Shareable>> layoutAnimations_;