react-native-reanimated 2.6.0 → 3.0.0-rc.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 (405) hide show
  1. package/Common/cpp/Fabric/FabricUtils.cpp +128 -0
  2. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
  3. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
  5. package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
  6. package/Common/cpp/SharedItems/ShareableValue.cpp +20 -2
  7. package/Common/cpp/Tools/Mapper.cpp +23 -4
  8. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -46
  9. package/Common/cpp/Tools/Scheduler.cpp +4 -0
  10. package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
  11. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
  12. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
  13. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
  14. package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
  15. package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
  16. package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
  17. package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
  18. package/Common/cpp/headers/Tools/Mapper.h +1 -1
  19. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
  20. package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
  21. package/README.md +4 -0
  22. package/RNReanimated.podspec +22 -11
  23. package/android/CMakeLists.txt +139 -27
  24. package/android/build.gradle +86 -209
  25. package/android/local.properties +1 -0
  26. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
  27. package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
  28. package/android/src/main/cpp/NativeProxy.cpp +196 -41
  29. package/android/src/main/cpp/headers/NativeProxy.h +45 -7
  30. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
  31. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
  32. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +13 -6
  33. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
  34. package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +26 -10
  35. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  36. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  37. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  38. package/ios/LayoutReanimation/REAAnimationsManager.h +1 -1
  39. package/ios/LayoutReanimation/REAAnimationsManager.m +2 -2
  40. package/ios/LayoutReanimation/REASnapshot.m +1 -1
  41. package/ios/LayoutReanimation/REAUIManager.h +1 -1
  42. package/ios/LayoutReanimation/REAUIManager.mm +4 -5
  43. package/ios/REAEventDispatcher.m +1 -2
  44. package/ios/REAModule.h +10 -1
  45. package/ios/REAModule.mm +284 -0
  46. package/ios/REANodesManager.h +27 -52
  47. package/ios/{REANodesManager.m → REANodesManager.mm} +92 -226
  48. package/ios/native/NativeMethods.h +1 -3
  49. package/ios/native/NativeMethods.mm +1 -1
  50. package/ios/native/NativeProxy.h +2 -2
  51. package/ios/native/NativeProxy.mm +162 -32
  52. package/ios/native/REAIOSErrorHandler.h +2 -4
  53. package/ios/native/REAIOSErrorHandler.mm +1 -1
  54. package/ios/native/REAIOSLogger.h +1 -3
  55. package/ios/native/REAIOSLogger.mm +1 -1
  56. package/ios/native/REAIOSScheduler.h +1 -3
  57. package/ios/native/REAIOSScheduler.mm +2 -2
  58. package/ios/native/REAInitializer.h +0 -7
  59. package/ios/native/REAInitializer.mm +14 -6
  60. package/ios/native/UIResponder+Reanimated.h +3 -1
  61. package/ios/native/UIResponder+Reanimated.mm +6 -4
  62. package/ios/sensor/ReanimatedSensor.h +1 -1
  63. package/ios/sensor/ReanimatedSensor.m +1 -1
  64. package/ios/sensor/ReanimatedSensorContainer.h +1 -1
  65. package/ios/sensor/ReanimatedSensorContainer.m +2 -2
  66. package/lib/Animated.js +0 -13
  67. package/lib/ConfigHelper.js +0 -1
  68. package/lib/createAnimatedComponent.js +30 -169
  69. package/lib/index.js +0 -13
  70. package/lib/reanimated2/Easing.js +8 -44
  71. package/lib/reanimated2/NativeMethods.js +20 -3
  72. package/lib/reanimated2/UpdateProps.js +25 -10
  73. package/lib/reanimated2/core.js +4 -37
  74. package/lib/reanimated2/fabricUtils.js +18 -0
  75. package/lib/reanimated2/globals.d.ts +18 -3
  76. package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
  77. package/lib/reanimated2/hook/utils.js +0 -5
  78. package/lib/reanimated2/interpolateColor.js +5 -2
  79. package/lib/reanimated2/interpolation.js +0 -15
  80. package/lib/reanimated2/js-reanimated/index.js +3 -0
  81. package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
  82. package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
  83. package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
  84. package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
  85. package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
  86. package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
  87. package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
  88. package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
  89. package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
  90. package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
  91. package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
  92. package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
  93. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
  94. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
  95. package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
  96. package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
  97. package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
  98. package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
  99. package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
  100. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
  101. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
  102. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
  103. package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
  104. package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
  105. package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
  106. package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
  107. package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
  108. package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
  109. package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
  110. package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
  111. package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
  112. package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
  113. package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -2
  114. package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
  115. package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
  116. package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
  117. package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
  118. package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
  119. package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
  120. package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
  121. package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
  122. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
  123. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
  124. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
  125. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
  126. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +1 -3
  127. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
  128. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
  129. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
  130. package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
  131. package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
  132. package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
  133. package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
  134. package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
  135. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
  136. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
  137. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
  138. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
  139. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
  140. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
  141. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
  142. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
  143. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
  144. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
  145. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
  146. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
  147. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
  148. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
  149. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
  150. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
  151. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
  152. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
  153. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
  154. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
  155. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
  156. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
  157. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
  158. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
  159. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
  160. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
  161. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
  162. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
  163. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
  164. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
  165. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
  166. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
  167. package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
  168. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
  169. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
  170. package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
  171. package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
  172. package/package.json +10 -10
  173. package/plugin.js +29 -33
  174. package/react-native-reanimated.d.ts +15 -3
  175. package/src/Animated.js +0 -13
  176. package/src/ConfigHelper.ts +0 -1
  177. package/src/createAnimatedComponent.tsx +37 -197
  178. package/src/reanimated2/Easing.ts +8 -55
  179. package/src/reanimated2/NativeMethods.ts +39 -7
  180. package/src/reanimated2/UpdateProps.ts +38 -19
  181. package/src/reanimated2/commonTypes.ts +4 -2
  182. package/src/reanimated2/component/FlatList.tsx +8 -5
  183. package/src/reanimated2/core.ts +7 -48
  184. package/src/reanimated2/fabricUtils.ts +27 -0
  185. package/src/reanimated2/globals.d.ts +18 -3
  186. package/src/reanimated2/hook/commonTypes.ts +4 -2
  187. package/src/reanimated2/hook/index.ts +1 -1
  188. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  189. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  190. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  191. package/src/reanimated2/hook/useAnimatedSensor.ts +1 -3
  192. package/src/reanimated2/hook/utils.ts +2 -11
  193. package/src/reanimated2/interpolateColor.ts +6 -2
  194. package/src/reanimated2/interpolation.ts +1 -26
  195. package/src/reanimated2/js-reanimated/index.ts +5 -0
  196. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  197. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  198. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  199. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  200. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  201. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  202. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  203. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  204. package/android/.gradle/7.2/gc.properties +0 -0
  205. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  206. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  207. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  208. package/android/.gradle/checksums/checksums.lock +0 -0
  209. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  210. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  211. package/android/.gradle/vcs-1/gc.properties +0 -0
  212. package/android/react-native-reanimated-64-hermes.aar +0 -0
  213. package/android/react-native-reanimated-64-jsc.aar +0 -0
  214. package/android/react-native-reanimated-65-hermes.aar +0 -0
  215. package/android/react-native-reanimated-65-jsc.aar +0 -0
  216. package/android/react-native-reanimated-66-hermes.aar +0 -0
  217. package/android/react-native-reanimated-66-jsc.aar +0 -0
  218. package/android/react-native-reanimated-67-hermes.aar +0 -0
  219. package/android/react-native-reanimated-67-jsc.aar +0 -0
  220. package/android/react-native-reanimated-68-hermes.aar +0 -0
  221. package/android/react-native-reanimated-68-jsc.aar +0 -0
  222. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  223. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  224. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  225. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  226. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  227. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  228. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  229. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  230. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  231. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  232. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  233. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  234. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  235. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  236. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  237. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  238. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  239. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  240. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  241. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  242. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  243. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  244. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  245. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  246. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  247. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  248. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  249. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  250. package/ios/Nodes/REAAlwaysNode.h +0 -4
  251. package/ios/Nodes/REAAlwaysNode.m +0 -35
  252. package/ios/Nodes/REABezierNode.h +0 -5
  253. package/ios/Nodes/REABezierNode.m +0 -104
  254. package/ios/Nodes/REABlockNode.h +0 -5
  255. package/ios/Nodes/REABlockNode.m +0 -25
  256. package/ios/Nodes/REACallFuncNode.h +0 -6
  257. package/ios/Nodes/REACallFuncNode.m +0 -69
  258. package/ios/Nodes/REAClockNodes.h +0 -19
  259. package/ios/Nodes/REAClockNodes.m +0 -118
  260. package/ios/Nodes/REAConcatNode.h +0 -5
  261. package/ios/Nodes/REAConcatNode.m +0 -32
  262. package/ios/Nodes/REACondNode.h +0 -5
  263. package/ios/Nodes/REACondNode.m +0 -36
  264. package/ios/Nodes/READebugNode.h +0 -5
  265. package/ios/Nodes/READebugNode.m +0 -30
  266. package/ios/Nodes/REAEventNode.h +0 -9
  267. package/ios/Nodes/REAEventNode.m +0 -35
  268. package/ios/Nodes/REAFunctionNode.h +0 -6
  269. package/ios/Nodes/REAFunctionNode.m +0 -24
  270. package/ios/Nodes/REAJSCallNode.h +0 -5
  271. package/ios/Nodes/REAJSCallNode.m +0 -30
  272. package/ios/Nodes/REANode.h +0 -40
  273. package/ios/Nodes/REANode.m +0 -155
  274. package/ios/Nodes/REAOperatorNode.h +0 -5
  275. package/ios/Nodes/REAOperatorNode.m +0 -115
  276. package/ios/Nodes/REAParamNode.h +0 -10
  277. package/ios/Nodes/REAParamNode.m +0 -79
  278. package/ios/Nodes/REAPropsNode.h +0 -9
  279. package/ios/Nodes/REAPropsNode.m +0 -98
  280. package/ios/Nodes/REASetNode.h +0 -5
  281. package/ios/Nodes/REASetNode.m +0 -34
  282. package/ios/Nodes/REAStyleNode.h +0 -5
  283. package/ios/Nodes/REAStyleNode.m +0 -28
  284. package/ios/Nodes/REATransformNode.h +0 -5
  285. package/ios/Nodes/REATransformNode.m +0 -36
  286. package/ios/Nodes/REAValueNode.h +0 -11
  287. package/ios/Nodes/REAValueNode.m +0 -26
  288. package/ios/REAModule.m +0 -185
  289. package/ios/Transitioning/RCTConvert+REATransition.h +0 -12
  290. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  291. package/ios/Transitioning/REAAllTransitions.h +0 -26
  292. package/ios/Transitioning/REAAllTransitions.m +0 -297
  293. package/ios/Transitioning/REATransition.h +0 -65
  294. package/ios/Transitioning/REATransition.m +0 -211
  295. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  296. package/ios/Transitioning/REATransitionAnimation.m +0 -80
  297. package/ios/Transitioning/REATransitionManager.h +0 -9
  298. package/ios/Transitioning/REATransitionManager.m +0 -62
  299. package/ios/Transitioning/REATransitionValues.h +0 -15
  300. package/ios/Transitioning/REATransitionValues.m +0 -26
  301. package/lib/reanimated1/Easing.js +0 -231
  302. package/lib/reanimated1/SpringConfig.js +0 -79
  303. package/lib/reanimated1/Transitioning.js +0 -158
  304. package/lib/reanimated1/animations/Animation.js +0 -32
  305. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  306. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  307. package/lib/reanimated1/animations/decay.js +0 -54
  308. package/lib/reanimated1/animations/spring.js +0 -198
  309. package/lib/reanimated1/animations/timing.js +0 -74
  310. package/lib/reanimated1/base.js +0 -13
  311. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  312. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  313. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  314. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  315. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  316. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  317. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  318. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  319. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  320. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  321. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  322. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  323. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  324. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  325. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  326. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  327. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  328. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  329. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  330. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  331. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  332. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  333. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  334. package/lib/reanimated1/core/Core.test.js +0 -30
  335. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  336. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  337. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  338. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  339. package/lib/reanimated1/derived/acc.js +0 -11
  340. package/lib/reanimated1/derived/color.js +0 -47
  341. package/lib/reanimated1/derived/diff.js +0 -16
  342. package/lib/reanimated1/derived/diffClamp.js +0 -11
  343. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  344. package/lib/reanimated1/derived/index.js +0 -8
  345. package/lib/reanimated1/derived/interpolate.js +0 -152
  346. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  347. package/lib/reanimated1/derived/onChange.js +0 -14
  348. package/lib/reanimated1/derived/useCode.js +0 -41
  349. package/lib/reanimated1/index.js +0 -53
  350. package/lib/reanimated1/operators.js +0 -35
  351. package/lib/reanimated1/useValue.js +0 -10
  352. package/lib/reanimated1/val.js +0 -3
  353. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  354. package/src/reanimated1/Easing.js +0 -231
  355. package/src/reanimated1/SpringConfig.js +0 -79
  356. package/src/reanimated1/Transitioning.js +0 -158
  357. package/src/reanimated1/animations/Animation.js +0 -32
  358. package/src/reanimated1/animations/SpringUtils.js +0 -199
  359. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  360. package/src/reanimated1/animations/decay.js +0 -54
  361. package/src/reanimated1/animations/spring.js +0 -198
  362. package/src/reanimated1/animations/timing.js +0 -74
  363. package/src/reanimated1/base.js +0 -13
  364. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  365. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  366. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  367. package/src/reanimated1/core/AnimatedCall.js +0 -55
  368. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  369. package/src/reanimated1/core/AnimatedClock.js +0 -90
  370. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  371. package/src/reanimated1/core/AnimatedCode.js +0 -32
  372. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  373. package/src/reanimated1/core/AnimatedCond.js +0 -57
  374. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  375. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  376. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  377. package/src/reanimated1/core/AnimatedNode.js +0 -223
  378. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  379. package/src/reanimated1/core/AnimatedParam.js +0 -88
  380. package/src/reanimated1/core/AnimatedProps.js +0 -108
  381. package/src/reanimated1/core/AnimatedSet.js +0 -38
  382. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  383. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  384. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  385. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  386. package/src/reanimated1/core/AnimatedValue.js +0 -38
  387. package/src/reanimated1/core/Core.test.js +0 -30
  388. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  389. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  390. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  391. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  392. package/src/reanimated1/derived/acc.js +0 -11
  393. package/src/reanimated1/derived/color.js +0 -47
  394. package/src/reanimated1/derived/diff.js +0 -16
  395. package/src/reanimated1/derived/diffClamp.js +0 -11
  396. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  397. package/src/reanimated1/derived/index.js +0 -8
  398. package/src/reanimated1/derived/interpolate.js +0 -152
  399. package/src/reanimated1/derived/interpolateColors.js +0 -62
  400. package/src/reanimated1/derived/onChange.js +0 -14
  401. package/src/reanimated1/derived/useCode.js +0 -41
  402. package/src/reanimated1/index.js +0 -53
  403. package/src/reanimated1/operators.js +0 -35
  404. package/src/reanimated1/useValue.js +0 -10
  405. package/src/reanimated1/val.js +0 -3
@@ -1,28 +0,0 @@
1
- #import "REAStyleNode.h"
2
-
3
- #import "REANodesManager.h"
4
-
5
- @implementation REAStyleNode {
6
- NSMutableDictionary<NSString *, REANodeID> *_styleConfig;
7
- }
8
-
9
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config;
10
- {
11
- if ((self = [super initWithID:nodeID config:config])) {
12
- _styleConfig = config[@"style"];
13
- }
14
- return self;
15
- }
16
-
17
- - (id)evaluate
18
- {
19
- NSMutableDictionary *styles = [NSMutableDictionary new];
20
- for (NSString *prop in _styleConfig) {
21
- REANode *propNode = [self.nodesManager findNodeByID:_styleConfig[prop]];
22
- styles[prop] = [propNode value];
23
- }
24
-
25
- return styles;
26
- }
27
-
28
- @end
@@ -1,5 +0,0 @@
1
- #import "REANode.h"
2
-
3
- @interface REATransformNode : REANode
4
-
5
- @end
@@ -1,36 +0,0 @@
1
- #import "REATransformNode.h"
2
- #import <React/RCTConvert.h>
3
- #import "REANodesManager.h"
4
-
5
- @implementation REATransformNode {
6
- NSArray<id> *_transformConfigs;
7
- }
8
-
9
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
10
- {
11
- if ((self = [super initWithID:nodeID config:config])) {
12
- _transformConfigs = config[@"transform"];
13
- }
14
- return self;
15
- }
16
-
17
- - (id)evaluate
18
- {
19
- NSMutableArray<NSDictionary *> *transform = [NSMutableArray arrayWithCapacity:_transformConfigs.count];
20
- for (NSDictionary *transformConfig in _transformConfigs) {
21
- NSString *property = transformConfig[@"property"];
22
- REANodeID nodeID = [RCTConvert NSNumber:transformConfig[@"nodeID"]];
23
- NSNumber *value;
24
- if (nodeID) {
25
- REANode *node = [self.nodesManager findNodeByID:nodeID];
26
- value = [node value];
27
- } else {
28
- value = transformConfig[@"value"];
29
- }
30
- [transform addObject:@{property : value}];
31
- }
32
-
33
- return transform;
34
- }
35
-
36
- @end
@@ -1,11 +0,0 @@
1
- #import <UIKit/UIKit.h>
2
-
3
- #import "REANode.h"
4
-
5
- @class REAValueNode;
6
-
7
- @interface REAValueNode : REANode
8
-
9
- - (void)setValue:(NSNumber *)value;
10
-
11
- @end
@@ -1,26 +0,0 @@
1
- #import "REAValueNode.h"
2
-
3
- @implementation REAValueNode {
4
- NSNumber *_value;
5
- }
6
-
7
- - (instancetype)initWithID:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
8
- {
9
- if (self = [super initWithID:nodeID config:config]) {
10
- _value = config[@"value"];
11
- }
12
- return self;
13
- }
14
-
15
- - (void)setValue:(NSNumber *)value
16
- {
17
- _value = value;
18
- [self forceUpdateMemoizedValue:value];
19
- }
20
-
21
- - (id)evaluate
22
- {
23
- return _value;
24
- }
25
-
26
- @end
package/ios/REAModule.m DELETED
@@ -1,185 +0,0 @@
1
- #import "REAModule.h"
2
-
3
- #import "REANodesManager.h"
4
- #import "Transitioning/REATransitionManager.h"
5
- #import "native/NativeProxy.h"
6
-
7
- typedef void (^AnimatedOperation)(REANodesManager *nodesManager);
8
-
9
- @implementation REAModule {
10
- NSMutableArray<AnimatedOperation> *_operations;
11
- REATransitionManager *_transitionManager;
12
- }
13
-
14
- RCT_EXPORT_MODULE(ReanimatedModule);
15
-
16
- - (void)invalidate
17
- {
18
- _transitionManager = nil;
19
- [_nodesManager invalidate];
20
- [self.bridge.uiManager.observerCoordinator removeObserver:self];
21
- }
22
-
23
- - (dispatch_queue_t)methodQueue
24
- {
25
- // This module needs to be on the same queue as the UIManager to avoid
26
- // having to lock `_operations` and `_preOperations` since `uiManagerWillPerformMounting`
27
- // will be called from that queue.
28
- return RCTGetUIManagerQueue();
29
- }
30
-
31
- #pragma mark-- Initialize
32
-
33
- - (void)setBridge:(RCTBridge *)bridge
34
- {
35
- [super setBridge:bridge];
36
-
37
- _nodesManager = [[REANodesManager alloc] initWithModule:self uiManager:self.bridge.uiManager];
38
- _operations = [NSMutableArray new];
39
-
40
- _transitionManager = [[REATransitionManager alloc] initWithUIManager:self.bridge.uiManager];
41
-
42
- [bridge.uiManager.observerCoordinator addObserver:self];
43
- }
44
-
45
- RCT_EXPORT_METHOD(installTurboModule)
46
- {
47
- // TODO: Move initialization from UIResponder+Reanimated to here
48
- }
49
-
50
- #pragma mark-- Transitioning API
51
-
52
- RCT_EXPORT_METHOD(animateNextTransition : (nonnull NSNumber *)rootTag config : (NSDictionary *)config)
53
- {
54
- [_transitionManager animateNextTransitionInRoot:rootTag withConfig:config];
55
- }
56
-
57
- #pragma mark-- API
58
-
59
- RCT_EXPORT_METHOD(createNode : (nonnull NSNumber *)nodeID config : (NSDictionary<NSString *, id> *)config)
60
- {
61
- [self addOperationBlock:^(REANodesManager *nodesManager) {
62
- [nodesManager createNode:nodeID config:config];
63
- }];
64
- }
65
-
66
- RCT_EXPORT_METHOD(dropNode : (nonnull NSNumber *)nodeID)
67
- {
68
- [self addOperationBlock:^(REANodesManager *nodesManager) {
69
- [nodesManager dropNode:nodeID];
70
- }];
71
- }
72
-
73
- RCT_EXPORT_METHOD(getValue : (nonnull NSNumber *)nodeID callback : (RCTResponseSenderBlock)callback)
74
- {
75
- [self addOperationBlock:^(REANodesManager *nodesManager) {
76
- [nodesManager getValue:nodeID callback:(RCTResponseSenderBlock)callback];
77
- }];
78
- }
79
-
80
- RCT_EXPORT_METHOD(connectNodes : (nonnull NSNumber *)parentID childTag : (nonnull NSNumber *)childID)
81
- {
82
- [self addOperationBlock:^(REANodesManager *nodesManager) {
83
- [nodesManager connectNodes:parentID childID:childID];
84
- }];
85
- }
86
-
87
- RCT_EXPORT_METHOD(disconnectNodes : (nonnull NSNumber *)parentID childTag : (nonnull NSNumber *)childID)
88
- {
89
- [self addOperationBlock:^(REANodesManager *nodesManager) {
90
- [nodesManager disconnectNodes:parentID childID:childID];
91
- }];
92
- }
93
-
94
- RCT_EXPORT_METHOD(connectNodeToView : (nonnull NSNumber *)nodeID viewTag : (nonnull NSNumber *)viewTag)
95
- {
96
- NSString *viewName = [self.bridge.uiManager viewNameForReactTag:viewTag];
97
- [self addOperationBlock:^(REANodesManager *nodesManager) {
98
- [nodesManager connectNodeToView:nodeID viewTag:viewTag viewName:viewName];
99
- }];
100
- }
101
-
102
- RCT_EXPORT_METHOD(disconnectNodeFromView : (nonnull NSNumber *)nodeID viewTag : (nonnull NSNumber *)viewTag)
103
- {
104
- [self addOperationBlock:^(REANodesManager *nodesManager) {
105
- [nodesManager disconnectNodeFromView:nodeID viewTag:viewTag];
106
- }];
107
- }
108
-
109
- RCT_EXPORT_METHOD(attachEvent
110
- : (nonnull NSNumber *)viewTag eventName
111
- : (nonnull NSString *)eventName eventNodeID
112
- : (nonnull NSNumber *)eventNodeID)
113
- {
114
- [self addOperationBlock:^(REANodesManager *nodesManager) {
115
- [nodesManager attachEvent:viewTag eventName:eventName eventNodeID:eventNodeID];
116
- }];
117
- }
118
-
119
- RCT_EXPORT_METHOD(detachEvent
120
- : (nonnull NSNumber *)viewTag eventName
121
- : (nonnull NSString *)eventName eventNodeID
122
- : (nonnull NSNumber *)eventNodeID)
123
- {
124
- [self addOperationBlock:^(REANodesManager *nodesManager) {
125
- [nodesManager detachEvent:viewTag eventName:eventName eventNodeID:eventNodeID];
126
- }];
127
- }
128
-
129
- RCT_EXPORT_METHOD(setValue : (nonnull NSNumber *)nodeID newValue : (nonnull NSNumber *)newValue)
130
- {
131
- [self addOperationBlock:^(REANodesManager *nodesManager) {
132
- [nodesManager setValueForNodeID:nodeID value:newValue];
133
- }];
134
- }
135
-
136
- RCT_EXPORT_METHOD(triggerRender)
137
- {
138
- [self addOperationBlock:^(REANodesManager *nodesManager) {
139
- [nodesManager postRunUpdatesAfterAnimation];
140
- }];
141
- }
142
-
143
- #pragma mark-- Batch handling
144
-
145
- - (void)addOperationBlock:(AnimatedOperation)operation
146
- {
147
- [_operations addObject:operation];
148
- }
149
-
150
- #pragma mark - RCTUIManagerObserver
151
-
152
- - (void)uiManagerWillPerformMounting:(RCTUIManager *)uiManager
153
- {
154
- [_nodesManager maybeFlushUpdateBuffer];
155
- if (_operations.count == 0) {
156
- return;
157
- }
158
-
159
- NSArray<AnimatedOperation> *operations = _operations;
160
- _operations = [NSMutableArray new];
161
-
162
- REANodesManager *nodesManager = _nodesManager;
163
-
164
- [uiManager addUIBlock:^(__unused RCTUIManager *manager, __unused NSDictionary<NSNumber *, UIView *> *viewRegistry) {
165
- for (AnimatedOperation operation in operations) {
166
- operation(nodesManager);
167
- }
168
- [nodesManager operationsBatchDidComplete];
169
- }];
170
- }
171
-
172
- #pragma mark-- Events
173
-
174
- - (NSArray<NSString *> *)supportedEvents
175
- {
176
- return @[ @"onReanimatedCall", @"onReanimatedPropsChange" ];
177
- }
178
-
179
- - (void)eventDispatcherWillDispatchEvent:(id<RCTEvent>)event
180
- {
181
- // Events can be dispatched from any queue
182
- [_nodesManager dispatchEvent:event];
183
- }
184
-
185
- @end
@@ -1,12 +0,0 @@
1
- #import <React/RCTConvert.h>
2
-
3
- #import "REATransition.h"
4
-
5
- @interface RCTConvert (REATransition)
6
-
7
- + (REATransitionType)REATransitionType:(id)json;
8
- + (REATransitionAnimationType)REATransitionAnimationType:(id)json;
9
- + (REATransitionInterpolationType)REATransitionInterpolationType:(id)json;
10
- + (REATransitionPropagationType)REATransitionPropagationType:(id)json;
11
-
12
- @end
@@ -1,53 +0,0 @@
1
- #import "RCTConvert+REATransition.h"
2
-
3
- @implementation RCTConvert (REATransition)
4
-
5
- RCT_ENUM_CONVERTER(
6
- REATransitionType,
7
- (@{
8
- @"none" : @(REATransitionTypeNone),
9
- @"group" : @(REATransitionTypeGroup),
10
- @"in" : @(REATransitionTypeIn),
11
- @"out" : @(REATransitionTypeOut),
12
- @"change" : @(REATransitionTypeChange),
13
- }),
14
- REATransitionTypeNone,
15
- integerValue)
16
-
17
- RCT_ENUM_CONVERTER(
18
- REATransitionAnimationType,
19
- (@{
20
- @"none" : @(REATransitionAnimationTypeNone),
21
- @"fade" : @(REATransitionAnimationTypeFade),
22
- @"scale" : @(REATransitionAnimationTypeScale),
23
- @"slide-top" : @(REATransitionAnimationTypeSlideTop),
24
- @"slide-bottom" : @(REATransitionAnimationTypeSlideBottom),
25
- @"slide-right" : @(REATransitionAnimationTypeSlideRight),
26
- @"slide-left" : @(REATransitionAnimationTypeSlideLeft)
27
- }),
28
- REATransitionAnimationTypeNone,
29
- integerValue)
30
-
31
- RCT_ENUM_CONVERTER(
32
- REATransitionInterpolationType,
33
- (@{
34
- @"linear" : @(REATransitionInterpolationLinear),
35
- @"easeIn" : @(REATransitionInterpolationEaseIn),
36
- @"easeOut" : @(REATransitionInterpolationEaseOut),
37
- @"easeInOut" : @(REATransitionInterpolationEaseInOut),
38
- }),
39
- REATransitionInterpolationLinear,
40
- integerValue)
41
-
42
- RCT_ENUM_CONVERTER(
43
- REATransitionPropagationType,
44
- (@{
45
- @"none" : @(REATransitionPropagationNone),
46
- @"top" : @(REATransitionPropagationTop),
47
- @"bottom" : @(REATransitionPropagationBottom),
48
- @"left" : @(REATransitionPropagationLeft),
49
- @"right" : @(REATransitionPropagationRight)
50
- }),
51
- REATransitionPropagationNone,
52
- integerValue)
53
- @end
@@ -1,26 +0,0 @@
1
- #import "REATransition.h"
2
-
3
- @interface REATransitionGroup : REATransition
4
- @property (nonatomic) BOOL sequence;
5
- @property (nonatomic) NSArray *transitions;
6
- - (instancetype)initWithConfig:(NSDictionary *)config;
7
- @end
8
-
9
- @interface REAVisibilityTransition : REATransition
10
- @property (nonatomic) REATransitionAnimationType animationType;
11
- - (REATransitionAnimation *)appearView:(UIView *)view inParent:(UIView *)parent;
12
- - (REATransitionAnimation *)disappearView:(UIView *)view fromParent:(UIView *)parent;
13
- - (instancetype)initWithConfig:(NSDictionary *)config;
14
- @end
15
-
16
- @interface REAInTransition : REAVisibilityTransition
17
- - (instancetype)initWithConfig:(NSDictionary *)config;
18
- @end
19
-
20
- @interface REAOutTransition : REAVisibilityTransition
21
- - (instancetype)initWithConfig:(NSDictionary *)config;
22
- @end
23
-
24
- @interface REAChangeTransition : REATransition
25
- - (instancetype)initWithConfig:(NSDictionary *)config;
26
- @end
@@ -1,297 +0,0 @@
1
- #import <React/RCTViewManager.h>
2
-
3
- #import "RCTConvert+REATransition.h"
4
- #import "REAAllTransitions.h"
5
-
6
- @interface REASnapshotRemover : NSObject <CAAnimationDelegate>
7
- @end
8
-
9
- @implementation REASnapshotRemover {
10
- UIView *_view;
11
- }
12
-
13
- - (instancetype)initWithView:(UIView *)view;
14
- {
15
- self = [super init];
16
- if (self) {
17
- _view = view;
18
- }
19
- return self;
20
- }
21
-
22
- - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
23
- {
24
- [_view removeFromSuperview];
25
- }
26
-
27
- @end
28
-
29
- @implementation REATransitionGroup
30
-
31
- - (instancetype)initWithConfig:(NSDictionary *)config
32
- {
33
- if (self = [super initWithConfig:config]) {
34
- _sequence = [RCTConvert BOOL:config[@"sequence"]];
35
- NSArray *transitions = [RCTConvert NSArray:config[@"transitions"]];
36
- NSMutableArray<REATransition *> *inflated = [NSMutableArray new];
37
- for (NSDictionary *transitionConfig in transitions) {
38
- [inflated addObject:[REATransition inflate:transitionConfig]];
39
- inflated.lastObject.parent = self;
40
- }
41
- _transitions = inflated;
42
- }
43
- return self;
44
- }
45
-
46
- - (instancetype)init
47
- {
48
- if (self = [super init]) {
49
- _transitions = [NSMutableArray new];
50
- }
51
- return self;
52
- }
53
-
54
- - (NSArray<REATransitionAnimation *> *)
55
- animationsForTransitioning:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)startValues
56
- endValues:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)endValues
57
- forRoot:(UIView *)root
58
- {
59
- CFTimeInterval delay = self.delay;
60
- NSMutableArray *animations = [NSMutableArray new];
61
- for (REATransition *transition in _transitions) {
62
- NSArray *subanims = [transition animationsForTransitioning:startValues endValues:endValues forRoot:root];
63
- CFTimeInterval finishTime = CACurrentMediaTime();
64
- for (REATransitionAnimation *anim in subanims) {
65
- [anim delayBy:delay];
66
- finishTime = MAX(finishTime, anim.finishTime);
67
- }
68
- [animations addObjectsFromArray:subanims];
69
- if (_sequence) {
70
- delay = finishTime - CACurrentMediaTime();
71
- }
72
- }
73
- return animations;
74
- }
75
-
76
- @end
77
-
78
- @implementation REAVisibilityTransition
79
-
80
- - (instancetype)initWithConfig:(NSDictionary *)config
81
- {
82
- if (self = [super initWithConfig:config]) {
83
- _animationType = [RCTConvert REATransitionAnimationType:config[@"animation"]];
84
- }
85
- return self;
86
- }
87
-
88
- - (REATransitionAnimation *)appearView:(UIView *)view inParent:(UIView *)parent forRoot:(UIView *)root
89
- {
90
- return nil;
91
- }
92
-
93
- - (REATransitionAnimation *)disappearView:(UIView *)view fromParent:(UIView *)parent forRoot:(UIView *)root
94
- {
95
- return nil;
96
- }
97
-
98
- - (REATransitionAnimation *)animationForTransitioning:(REATransitionValues *)startValues
99
- endValues:(REATransitionValues *)endValues
100
- forRoot:(UIView *)root
101
- {
102
- BOOL isViewAppearing = (startValues == nil);
103
- if (isViewAppearing && !IS_LAYOUT_ONLY(endValues.view)) {
104
- NSNumber *parentKey = endValues.reactParent.reactTag;
105
- REATransitionValues *parentStartValues = [self findStartValuesForKey:parentKey];
106
- REATransitionValues *parentEndValues = [self findEndValuesForKey:parentKey];
107
- BOOL isParentAppearing = (parentStartValues == nil && parentEndValues != nil);
108
- if (!isParentAppearing) {
109
- return [self appearView:endValues.view inParent:endValues.parent forRoot:root];
110
- }
111
- }
112
-
113
- if (endValues == nil && !IS_LAYOUT_ONLY(startValues.view) && startValues.reactParent.window != nil) {
114
- startValues.view.center = startValues.centerInReactParent;
115
- return [self disappearView:startValues.view fromParent:startValues.reactParent forRoot:root];
116
- }
117
- return nil;
118
- }
119
-
120
- @end
121
-
122
- @implementation REAInTransition
123
- - (instancetype)initWithConfig:(NSDictionary *)config
124
- {
125
- if (self = [super initWithConfig:config]) {
126
- }
127
- return self;
128
- }
129
-
130
- - (REATransitionAnimation *)appearView:(UIView *)view inParent:(UIView *)parent forRoot:(UIView *)root
131
- {
132
- CABasicAnimation *animation;
133
- switch (self.animationType) {
134
- case REATransitionAnimationTypeNone:
135
- return nil;
136
- case REATransitionAnimationTypeFade: {
137
- CGFloat finalOpacity = view.layer.opacity;
138
- animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
139
- animation.fromValue = @(0.0f);
140
- animation.toValue = @(finalOpacity);
141
- break;
142
- }
143
- case REATransitionAnimationTypeScale: {
144
- CATransform3D finalTransform = view.layer.transform;
145
- animation = [CABasicAnimation animationWithKeyPath:@"transform"];
146
- animation.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.0, 0.0, 0)];
147
- animation.toValue = [NSValue valueWithCATransform3D:finalTransform];
148
- break;
149
- }
150
- case REATransitionAnimationTypeSlideTop:
151
- case REATransitionAnimationTypeSlideBottom:
152
- case REATransitionAnimationTypeSlideLeft:
153
- case REATransitionAnimationTypeSlideRight: {
154
- CGPoint finalPosition = view.layer.position;
155
- CGPoint startPosition = finalPosition;
156
- switch (self.animationType) {
157
- case REATransitionAnimationTypeSlideTop:
158
- startPosition.y -= root.frame.size.height;
159
- break;
160
- case REATransitionAnimationTypeSlideBottom:
161
- startPosition.y += root.frame.size.height;
162
- break;
163
- case REATransitionAnimationTypeSlideLeft:
164
- startPosition.x -= root.frame.size.width;
165
- break;
166
- case REATransitionAnimationTypeSlideRight:
167
- startPosition.x += root.frame.size.width;
168
- break;
169
- }
170
- animation = [CABasicAnimation animationWithKeyPath:@"position"];
171
- animation.fromValue = @(startPosition);
172
- animation.toValue = @(finalPosition);
173
- break;
174
- }
175
- }
176
- animation.fillMode = kCAFillModeBackwards;
177
-
178
- return [REATransitionAnimation transitionWithAnimation:animation layer:view.layer andKeyPath:animation.keyPath];
179
- }
180
- @end
181
-
182
- @implementation REAOutTransition
183
- - (instancetype)initWithConfig:(NSDictionary *)config
184
- {
185
- if (self = [super initWithConfig:config]) {
186
- }
187
- return self;
188
- }
189
-
190
- - (REATransitionAnimation *)disappearView:(UIView *)view fromParent:(UIView *)parent forRoot:(UIView *)root
191
- {
192
- if (self.animationType == REATransitionAnimationTypeNone) {
193
- return nil;
194
- }
195
- // Add view back to parent temporarily in order to take snapshot
196
- [parent addSubview:view];
197
- UIView *snapshotView = [view snapshotViewAfterScreenUpdates:NO];
198
- [view removeFromSuperview];
199
- snapshotView.frame = view.frame;
200
- [parent addSubview:snapshotView];
201
- CALayer *snapshot = snapshotView.layer;
202
-
203
- CABasicAnimation *animation;
204
- switch (self.animationType) {
205
- case REATransitionAnimationTypeFade: {
206
- CGFloat fromValue = snapshot.opacity;
207
- snapshot.opacity = 0.0f;
208
- animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
209
- animation.fromValue = @(fromValue);
210
- animation.toValue = @(0.0f);
211
- break;
212
- }
213
- case REATransitionAnimationTypeScale: {
214
- CATransform3D fromValue = snapshot.transform;
215
- snapshot.transform = CATransform3DMakeScale(0.001, 0.001, 0.001);
216
- animation = [CABasicAnimation animationWithKeyPath:@"transform"];
217
- animation.fromValue = [NSValue valueWithCATransform3D:fromValue];
218
- animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.001, 0.001, 0.001)];
219
- break;
220
- }
221
- case REATransitionAnimationTypeSlideTop:
222
- case REATransitionAnimationTypeSlideBottom:
223
- case REATransitionAnimationTypeSlideLeft:
224
- case REATransitionAnimationTypeSlideRight: {
225
- CGPoint startPosition = snapshot.position;
226
- CGPoint finalPosition = startPosition;
227
- switch (self.animationType) {
228
- case REATransitionAnimationTypeSlideTop:
229
- finalPosition.y -= root.frame.size.height;
230
- break;
231
- case REATransitionAnimationTypeSlideBottom:
232
- finalPosition.y += root.frame.size.height;
233
- break;
234
- case REATransitionAnimationTypeSlideLeft:
235
- finalPosition.x -= root.frame.size.width;
236
- break;
237
- case REATransitionAnimationTypeSlideRight:
238
- finalPosition.x += root.frame.size.width;
239
- break;
240
- }
241
- snapshot.position = finalPosition;
242
- animation = [CABasicAnimation animationWithKeyPath:@"position"];
243
- animation.fromValue = @(startPosition);
244
- animation.toValue = @(finalPosition);
245
- break;
246
- }
247
- }
248
- animation.fillMode = kCAFillModeBackwards;
249
- animation.delegate = [[REASnapshotRemover alloc] initWithView:snapshotView];
250
-
251
- return [REATransitionAnimation transitionWithAnimation:animation layer:snapshot andKeyPath:animation.keyPath];
252
- }
253
- @end
254
-
255
- @implementation REAChangeTransition
256
-
257
- - (REATransitionAnimation *)animationForTransitioning:(REATransitionValues *)startValues
258
- endValues:(REATransitionValues *)endValues
259
- forRoot:(UIView *)root
260
- {
261
- if (startValues == nil || endValues == nil || endValues.view.window == nil) {
262
- return nil;
263
- }
264
- BOOL animatePosition = !CGPointEqualToPoint(startValues.center, endValues.center);
265
- BOOL animateBounds = !CGRectEqualToRect(startValues.bounds, endValues.bounds);
266
-
267
- if (!animatePosition && !animateBounds) {
268
- return nil;
269
- }
270
-
271
- CALayer *layer = endValues.view.layer;
272
-
273
- CAAnimationGroup *group = [CAAnimationGroup animation];
274
- group.fillMode = kCAFillModeBackwards;
275
-
276
- NSMutableArray *animations = [NSMutableArray new];
277
-
278
- if (animatePosition) {
279
- CGPoint fromValue = layer.presentationLayer.position;
280
- CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
281
- animation.fromValue = [NSValue valueWithCGPoint:fromValue];
282
- animation.toValue = [NSValue valueWithCGPoint:endValues.center];
283
- [animations addObject:animation];
284
- }
285
-
286
- if (animateBounds) {
287
- CGRect fromValue = layer.presentationLayer.bounds;
288
- CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"bounds"];
289
- animation.fromValue = [NSValue valueWithCGRect:fromValue];
290
- animation.toValue = [NSValue valueWithCGRect:endValues.bounds];
291
- [animations addObject:animation];
292
- }
293
-
294
- group.animations = animations;
295
- return [REATransitionAnimation transitionWithAnimation:group layer:layer andKeyPath:nil];
296
- }
297
- @end