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,153 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import android.view.View;
4
- import com.facebook.react.bridge.Arguments;
5
- import com.facebook.react.bridge.JavaOnlyMap;
6
- import com.facebook.react.bridge.ReadableMap;
7
- import com.facebook.react.bridge.ReadableMapKeySetIterator;
8
- import com.facebook.react.bridge.ReadableType;
9
- import com.facebook.react.bridge.WritableArray;
10
- import com.facebook.react.bridge.WritableMap;
11
- import com.facebook.react.uimanager.ReactStylesDiffMap;
12
- import com.facebook.react.uimanager.UIImplementation;
13
- import com.swmansion.reanimated.NodesManager;
14
- import com.swmansion.reanimated.Utils;
15
- import java.util.Map;
16
-
17
- public class PropsNode extends Node implements FinalNode {
18
-
19
- private final Map<String, Integer> mMapping;
20
- private final UIImplementation mUIImplementation;
21
- private int mConnectedViewTag = View.NO_ID;
22
-
23
- private final JavaOnlyMap mPropMap;
24
- private final ReactStylesDiffMap mDiffMap;
25
-
26
- private static void addProp(WritableMap propMap, String key, Object value) {
27
- if (value == null) {
28
- propMap.putNull(key);
29
- } else if (value instanceof Double) {
30
- propMap.putDouble(key, (Double) value);
31
- } else if (value instanceof Integer) {
32
- propMap.putInt(key, (Integer) value);
33
- } else if (value instanceof Number) {
34
- propMap.putDouble(key, ((Number) value).doubleValue());
35
- } else if (value instanceof Boolean) {
36
- propMap.putBoolean(key, (Boolean) value);
37
- } else if (value instanceof String) {
38
- propMap.putString(key, (String) value);
39
- } else if (value instanceof WritableArray) {
40
- propMap.putArray(key, (WritableArray) value);
41
- } else if (value instanceof WritableMap) {
42
- propMap.putMap(key, (WritableMap) value);
43
- } else {
44
- throw new IllegalStateException("Unknown type of animated value");
45
- }
46
- }
47
-
48
- public PropsNode(
49
- int nodeID,
50
- ReadableMap config,
51
- NodesManager nodesManager,
52
- UIImplementation uiImplementation) {
53
- super(nodeID, config, nodesManager);
54
- mMapping = Utils.processMapping(config.getMap("props"));
55
- mUIImplementation = uiImplementation;
56
- mPropMap = new JavaOnlyMap();
57
- mDiffMap = new ReactStylesDiffMap(mPropMap);
58
- }
59
-
60
- public void connectToView(int viewTag) {
61
- mConnectedViewTag = viewTag;
62
- dangerouslyRescheduleEvaluate();
63
- }
64
-
65
- public void disconnectFromView(int viewTag) {
66
- mConnectedViewTag = View.NO_ID;
67
- }
68
-
69
- @Override
70
- protected Double evaluate() {
71
- boolean hasUIProps = false;
72
- boolean hasNativeProps = false;
73
- boolean hasJSProps = false;
74
- WritableMap jsProps = Arguments.createMap();
75
- final WritableMap nativeProps = Arguments.createMap();
76
-
77
- for (Map.Entry<String, Integer> entry : mMapping.entrySet()) {
78
- Node node = mNodesManager.findNodeById(entry.getValue(), Node.class);
79
- if (node instanceof StyleNode) {
80
- WritableMap style = (WritableMap) node.value();
81
- ReadableMapKeySetIterator iter = style.keySetIterator();
82
- while (iter.hasNextKey()) {
83
- String key = iter.nextKey();
84
- WritableMap dest;
85
- if (mNodesManager.uiProps.contains(key)) {
86
- hasUIProps = true;
87
- dest = mPropMap;
88
- } else if (mNodesManager.nativeProps.contains(key)) {
89
- hasNativeProps = true;
90
- dest = nativeProps;
91
- } else {
92
- hasJSProps = true;
93
- dest = jsProps;
94
- }
95
- ReadableType type = style.getType(key);
96
- switch (type) {
97
- case Number:
98
- dest.putDouble(key, style.getDouble(key));
99
- break;
100
- case String:
101
- dest.putString(key, style.getString(key));
102
- break;
103
- case Array:
104
- dest.putArray(key, (WritableArray) style.getArray(key));
105
- break;
106
- default:
107
- throw new IllegalArgumentException("Unexpected type " + type);
108
- }
109
- }
110
- } else {
111
- String key = entry.getKey();
112
- Object value = node.value();
113
- if (mNodesManager.uiProps.contains(key)) {
114
- hasUIProps = true;
115
- addProp(mPropMap, key, value);
116
- } else {
117
- hasNativeProps = true;
118
- addProp(nativeProps, key, value);
119
- }
120
- }
121
- }
122
-
123
- if (mConnectedViewTag != View.NO_ID) {
124
- if (hasUIProps) {
125
- mUIImplementation.synchronouslyUpdateViewOnUIThread(mConnectedViewTag, mDiffMap);
126
- }
127
- if (hasNativeProps) {
128
- mNodesManager.enqueueUpdateViewOnNativeThread(mConnectedViewTag, nativeProps, false);
129
- }
130
- if (hasJSProps) {
131
- WritableMap evt = Arguments.createMap();
132
- evt.putInt("viewTag", mConnectedViewTag);
133
- evt.putMap("props", jsProps);
134
- mNodesManager.sendEvent("onReanimatedPropsChange", evt);
135
- }
136
- }
137
-
138
- return ZERO;
139
- }
140
-
141
- @Override
142
- public void update() {
143
- // Since we are updating nodes after detaching them from views there is a time where it's
144
- // possible that the view was disconnected and still receive an update, this is normal and
145
- // we can simply skip that update.
146
- if (mConnectedViewTag == View.NO_ID) {
147
- return;
148
- }
149
-
150
- // call value for side effect (diff map update via changes made to prop map)
151
- value();
152
- }
153
- }
@@ -1,32 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.ReadableMap;
4
- import com.swmansion.reanimated.MapUtils;
5
- import com.swmansion.reanimated.NodesManager;
6
-
7
- public class SetNode extends Node {
8
-
9
- private int mWhatNodeID, mValueNodeID;
10
-
11
- public SetNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
12
- super(nodeID, config, nodesManager);
13
- mWhatNodeID =
14
- MapUtils.getInt(
15
- config,
16
- "what",
17
- "Reanimated: First argument passed to set node is either of wrong type or is missing.");
18
- mValueNodeID =
19
- MapUtils.getInt(
20
- config,
21
- "value",
22
- "Reanimated: Second argument passed to set node is either of wrong type or is missing.");
23
- }
24
-
25
- @Override
26
- protected Object evaluate() {
27
- Object newValue = mNodesManager.getNodeValue(mValueNodeID);
28
- ValueNode what = mNodesManager.findNodeById(mWhatNodeID, ValueNode.class);
29
- what.setValue(newValue);
30
- return newValue;
31
- }
32
- }
@@ -1,40 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.JavaOnlyMap;
4
- import com.facebook.react.bridge.ReadableMap;
5
- import com.facebook.react.bridge.WritableArray;
6
- import com.facebook.react.bridge.WritableMap;
7
- import com.swmansion.reanimated.NodesManager;
8
- import com.swmansion.reanimated.Utils;
9
- import java.util.Map;
10
-
11
- public class StyleNode extends Node {
12
-
13
- private final Map<String, Integer> mMapping;
14
-
15
- public StyleNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
16
- super(nodeID, config, nodesManager);
17
- mMapping = Utils.processMapping(config.getMap("style"));
18
- }
19
-
20
- @Override
21
- protected WritableMap evaluate() {
22
- JavaOnlyMap propMap = new JavaOnlyMap();
23
- for (Map.Entry<String, Integer> entry : mMapping.entrySet()) {
24
- Node node = mNodesManager.findNodeById(entry.getValue(), Node.class);
25
- if (node instanceof TransformNode) {
26
- propMap.putArray(entry.getKey(), (WritableArray) node.value());
27
- } else {
28
- Object val = node.value();
29
- if (val instanceof Double) {
30
- propMap.putDouble(entry.getKey(), (Double) val);
31
- } else if (val instanceof String) {
32
- propMap.putString(entry.getKey(), (String) val);
33
- } else {
34
- throw new IllegalStateException("Wrong style form");
35
- }
36
- }
37
- }
38
- return propMap;
39
- }
40
- }
@@ -1,84 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.JavaOnlyArray;
4
- import com.facebook.react.bridge.JavaOnlyMap;
5
- import com.facebook.react.bridge.ReadableArray;
6
- import com.facebook.react.bridge.ReadableMap;
7
- import com.facebook.react.bridge.ReadableType;
8
- import com.facebook.react.bridge.WritableArray;
9
- import com.swmansion.reanimated.NodesManager;
10
- import java.util.ArrayList;
11
- import java.util.List;
12
-
13
- public class TransformNode extends Node {
14
-
15
- private abstract static class TransformConfig {
16
- public String propertyName;
17
-
18
- public abstract Object getValue(NodesManager nodesManager);
19
- }
20
-
21
- private static class AnimatedTransformConfig extends TransformConfig {
22
- public int nodeID;
23
-
24
- @Override
25
- public Object getValue(NodesManager nodesManager) {
26
- return nodesManager.getNodeValue(nodeID);
27
- }
28
- }
29
-
30
- private static class StaticTransformConfig extends TransformConfig {
31
- public Object value;
32
-
33
- @Override
34
- public Object getValue(NodesManager nodesManager) {
35
- return value;
36
- }
37
- }
38
-
39
- private static List<TransformConfig> processTransforms(ReadableArray transforms) {
40
- List<TransformConfig> configs = new ArrayList<>(transforms.size());
41
- for (int i = 0; i < transforms.size(); i++) {
42
- ReadableMap transformConfigMap = transforms.getMap(i);
43
- String property = transformConfigMap.getString("property");
44
- if (transformConfigMap.hasKey("nodeID")) {
45
- AnimatedTransformConfig transformConfig = new AnimatedTransformConfig();
46
- transformConfig.propertyName = property;
47
- transformConfig.nodeID = transformConfigMap.getInt("nodeID");
48
- configs.add(transformConfig);
49
- } else {
50
- StaticTransformConfig transformConfig = new StaticTransformConfig();
51
- transformConfig.propertyName = property;
52
- ReadableType type = transformConfigMap.getType("value");
53
- if (type == ReadableType.String) {
54
- transformConfig.value = transformConfigMap.getString("value");
55
- } else if (type == ReadableType.Array) {
56
- transformConfig.value = transformConfigMap.getArray("value");
57
- } else {
58
- transformConfig.value = transformConfigMap.getDouble("value");
59
- }
60
- configs.add(transformConfig);
61
- }
62
- }
63
- return configs;
64
- }
65
-
66
- private List<TransformConfig> mTransforms;
67
-
68
- public TransformNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
69
- super(nodeID, config, nodesManager);
70
- mTransforms = processTransforms(config.getArray("transform"));
71
- }
72
-
73
- @Override
74
- protected WritableArray evaluate() {
75
- List<JavaOnlyMap> transforms = new ArrayList<>(mTransforms.size());
76
-
77
- for (TransformConfig transformConfig : mTransforms) {
78
- transforms.add(
79
- JavaOnlyMap.of(transformConfig.propertyName, transformConfig.getValue(mNodesManager)));
80
- }
81
-
82
- return JavaOnlyArray.from(transforms);
83
- }
84
- }
@@ -1,40 +0,0 @@
1
- package com.swmansion.reanimated.nodes;
2
-
3
- import com.facebook.react.bridge.ReadableMap;
4
- import com.facebook.react.bridge.ReadableType;
5
- import com.swmansion.reanimated.NodesManager;
6
- import javax.annotation.Nullable;
7
-
8
- public class ValueNode extends Node {
9
-
10
- private Object mValue;
11
-
12
- public ValueNode(int nodeID, @Nullable ReadableMap config, NodesManager nodesManager) {
13
- super(nodeID, config, nodesManager);
14
- if (config == null || !config.hasKey("value")) {
15
- mValue = null;
16
- return;
17
- }
18
- ReadableType type = config.getType("value");
19
- if (type == ReadableType.String) {
20
- mValue = config.getString("value");
21
- } else if (type == ReadableType.Number) {
22
- mValue = config.getDouble("value");
23
- } else if (type == ReadableType.Null) {
24
- mValue = null;
25
- } else {
26
- throw new IllegalStateException(
27
- "Not supported value type. Must be boolean, number or string");
28
- }
29
- }
30
-
31
- public void setValue(Object value) {
32
- mValue = value;
33
- forceUpdateMemoizedValue(mValue);
34
- }
35
-
36
- @Override
37
- protected Object evaluate() {
38
- return mValue;
39
- }
40
- }
@@ -1,84 +0,0 @@
1
- package com.swmansion.reanimated.transitions;
2
-
3
- import android.animation.Animator;
4
- import android.animation.AnimatorSet;
5
- import android.animation.TimeInterpolator;
6
- import android.view.ViewGroup;
7
- import androidx.annotation.Nullable;
8
- import androidx.transition.ChangeBounds;
9
- import androidx.transition.ChangeTransform;
10
- import androidx.transition.Transition;
11
- import androidx.transition.TransitionPropagation;
12
- import androidx.transition.TransitionValues;
13
-
14
- final class ChangeTransition extends Transition {
15
-
16
- private final ChangeTransform mChangeTransform;
17
- private final ChangeBounds mChangeBounds;
18
-
19
- public ChangeTransition() {
20
- mChangeTransform = new ChangeTransform();
21
- mChangeBounds = new ChangeBounds();
22
- }
23
-
24
- @Override
25
- public void captureStartValues(TransitionValues transitionValues) {
26
- mChangeTransform.captureStartValues(transitionValues);
27
- mChangeBounds.captureStartValues(transitionValues);
28
- }
29
-
30
- @Override
31
- public void captureEndValues(TransitionValues transitionValues) {
32
- mChangeTransform.captureEndValues(transitionValues);
33
- mChangeBounds.captureEndValues(transitionValues);
34
- }
35
-
36
- @Override
37
- public Transition setDuration(long duration) {
38
- mChangeTransform.setDuration(duration);
39
- mChangeBounds.setDuration(duration);
40
- return super.setDuration(duration);
41
- }
42
-
43
- @Override
44
- public Transition setStartDelay(long startDelay) {
45
- mChangeTransform.setStartDelay(startDelay);
46
- mChangeBounds.setStartDelay(startDelay);
47
- return super.setStartDelay(startDelay);
48
- }
49
-
50
- @Override
51
- public Transition setInterpolator(@Nullable TimeInterpolator interpolator) {
52
- mChangeTransform.setInterpolator(interpolator);
53
- mChangeBounds.setInterpolator(interpolator);
54
- return super.setInterpolator(interpolator);
55
- }
56
-
57
- @Override
58
- public void setPropagation(@Nullable TransitionPropagation transitionPropagation) {
59
- mChangeTransform.setPropagation(transitionPropagation);
60
- mChangeBounds.setPropagation(transitionPropagation);
61
- super.setPropagation(transitionPropagation);
62
- }
63
-
64
- @Override
65
- public Animator createAnimator(
66
- ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) {
67
- mChangeTransform.setReparent(false);
68
- Animator changeTransformAnimator =
69
- mChangeTransform.createAnimator(sceneRoot, startValues, endValues);
70
- Animator changeBoundsAnimator = mChangeBounds.createAnimator(sceneRoot, startValues, endValues);
71
-
72
- if (changeTransformAnimator == null) {
73
- return changeBoundsAnimator;
74
- }
75
-
76
- if (changeBoundsAnimator == null) {
77
- return changeTransformAnimator;
78
- }
79
-
80
- AnimatorSet animatorSet = new AnimatorSet();
81
- animatorSet.playTogether(changeTransformAnimator, changeBoundsAnimator);
82
- return animatorSet;
83
- }
84
- }
@@ -1,25 +0,0 @@
1
- package com.swmansion.reanimated.transitions;
2
-
3
- import android.view.View;
4
- import android.view.ViewGroup;
5
- import androidx.transition.SidePropagation;
6
- import androidx.transition.Transition;
7
- import androidx.transition.TransitionValues;
8
-
9
- public class SaneSidePropagation extends SidePropagation {
10
-
11
- @Override
12
- public long getStartDelay(
13
- ViewGroup sceneRoot,
14
- Transition transition,
15
- TransitionValues startValues,
16
- TransitionValues endValues) {
17
- long delay = super.getStartDelay(sceneRoot, transition, startValues, endValues);
18
- if (delay != 0) {
19
- if (endValues == null || getViewVisibility(startValues) == View.VISIBLE) {
20
- return -delay;
21
- }
22
- }
23
- return delay;
24
- }
25
- }
@@ -1,86 +0,0 @@
1
- package com.swmansion.reanimated.transitions;
2
-
3
- import android.animation.Animator;
4
- import android.animation.AnimatorSet;
5
- import android.animation.ObjectAnimator;
6
- import android.view.View;
7
- import android.view.ViewGroup;
8
- import androidx.transition.Transition;
9
- import androidx.transition.TransitionListenerAdapter;
10
- import androidx.transition.TransitionValues;
11
- import androidx.transition.Visibility;
12
-
13
- public class Scale extends Visibility {
14
-
15
- static final String PROPNAME_SCALE_X = "scale:scaleX";
16
- static final String PROPNAME_SCALE_Y = "scale:scaleY";
17
-
18
- @Override
19
- public void captureStartValues(TransitionValues transitionValues) {
20
- super.captureStartValues(transitionValues);
21
- transitionValues.values.put(PROPNAME_SCALE_X, transitionValues.view.getScaleX());
22
- transitionValues.values.put(PROPNAME_SCALE_Y, transitionValues.view.getScaleY());
23
- }
24
-
25
- public Scale setDisappearedScale(float disappearedScale) {
26
- if (disappearedScale < 0f) {
27
- throw new IllegalArgumentException("disappearedScale cannot be negative!");
28
- }
29
- return this;
30
- }
31
-
32
- private Animator createAnimation(
33
- final View view, float startScale, float endScale, TransitionValues values) {
34
- final float initialScaleX = view.getScaleX();
35
- final float initialScaleY = view.getScaleY();
36
- float startScaleX = initialScaleX * startScale;
37
- float endScaleX = initialScaleX * endScale;
38
- float startScaleY = initialScaleY * startScale;
39
- float endScaleY = initialScaleY * endScale;
40
-
41
- if (values != null) {
42
- Float savedScaleX = (Float) values.values.get(PROPNAME_SCALE_X);
43
- Float savedScaleY = (Float) values.values.get(PROPNAME_SCALE_Y);
44
- // if saved value is not equal initial value it means that previous
45
- // transition was interrupted and in the onTransitionEnd
46
- // we've applied endScale. we should apply proper value to
47
- // continue animation from the interrupted state
48
- if (savedScaleX != null && savedScaleX != initialScaleX) {
49
- startScaleX = savedScaleX;
50
- }
51
- if (savedScaleY != null && savedScaleY != initialScaleY) {
52
- startScaleY = savedScaleY;
53
- }
54
- }
55
-
56
- view.setScaleX(startScaleX);
57
- view.setScaleY(startScaleY);
58
-
59
- AnimatorSet animator = new AnimatorSet();
60
- animator.playTogether(
61
- ObjectAnimator.ofFloat(view, View.SCALE_X, startScaleX, endScaleX),
62
- ObjectAnimator.ofFloat(view, View.SCALE_Y, startScaleY, endScaleY));
63
- addListener(
64
- new TransitionListenerAdapter() {
65
- @Override
66
- public void onTransitionEnd(Transition transition) {
67
- view.setScaleX(initialScaleX);
68
- view.setScaleY(initialScaleY);
69
- transition.removeListener(this);
70
- }
71
- });
72
- return animator;
73
- }
74
-
75
- @Override
76
- public Animator onAppear(
77
- ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) {
78
- return createAnimation(view, 0f, 1f, startValues);
79
- }
80
-
81
- @Override
82
- public Animator onDisappear(
83
- ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) {
84
- return createAnimation(view, 1f, 0f, startValues);
85
- }
86
- }
@@ -1,41 +0,0 @@
1
- package com.swmansion.reanimated.transitions;
2
-
3
- import android.view.View;
4
- import android.view.ViewGroup;
5
- import androidx.transition.TransitionManager;
6
- import com.facebook.react.bridge.ReadableArray;
7
- import com.facebook.react.bridge.ReadableMap;
8
- import com.facebook.react.uimanager.IllegalViewOperationException;
9
- import com.facebook.react.uimanager.NativeViewHierarchyManager;
10
- import com.facebook.react.uimanager.UIBlock;
11
- import com.facebook.react.uimanager.UIManagerModule;
12
-
13
- public class TransitionModule {
14
-
15
- private final UIManagerModule mUIManager;
16
-
17
- public TransitionModule(UIManagerModule uiManager) {
18
- mUIManager = uiManager;
19
- }
20
-
21
- public void animateNextTransition(final int rootTag, final ReadableMap config) {
22
- mUIManager.prependUIBlock(
23
- new UIBlock() {
24
- @Override
25
- public void execute(NativeViewHierarchyManager nativeViewHierarchyManager) {
26
- try {
27
- View rootView = nativeViewHierarchyManager.resolveView(rootTag);
28
- if (rootView instanceof ViewGroup) {
29
- ReadableArray transitions = config.getArray("transitions");
30
- for (int i = 0, size = transitions.size(); i < size; i++) {
31
- TransitionManager.beginDelayedTransition(
32
- (ViewGroup) rootView, TransitionUtils.inflate(transitions.getMap(i)));
33
- }
34
- }
35
- } catch (IllegalViewOperationException ex) {
36
- // ignore, view might have not been registered yet
37
- }
38
- }
39
- });
40
- }
41
- }