react-native-reanimated 2.3.0-alpha.1 → 2.3.0-beta.2

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 (328) hide show
  1. package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +15 -8
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +170 -166
  3. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +36 -34
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +13 -6
  5. package/Common/cpp/Registries/MapperRegistry.cpp +19 -15
  6. package/Common/cpp/Registries/WorkletsCache.cpp +19 -9
  7. package/Common/cpp/SharedItems/FrozenObject.cpp +19 -8
  8. package/Common/cpp/SharedItems/MutableValue.cpp +38 -25
  9. package/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +11 -7
  10. package/Common/cpp/SharedItems/RemoteObject.cpp +9 -5
  11. package/Common/cpp/SharedItems/ShareableValue.cpp +216 -143
  12. package/Common/cpp/Tools/JSIStoreValueUser.cpp +36 -24
  13. package/Common/cpp/Tools/Mapper.cpp +41 -29
  14. package/Common/cpp/Tools/RuntimeDecorator.cpp +103 -84
  15. package/Common/cpp/Tools/Scheduler.cpp +14 -6
  16. package/Common/cpp/Tools/WorkletEventHandler.cpp +1 -1
  17. package/Common/cpp/headers/LayoutAnimations/LayoutAnimationsProxy.h +12 -11
  18. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +45 -34
  19. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +28 -16
  20. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +14 -8
  21. package/Common/cpp/headers/Registries/MapperRegistry.h +4 -4
  22. package/Common/cpp/headers/Registries/WorkletsCache.h +9 -7
  23. package/Common/cpp/headers/SharedItems/FrozenObject.h +15 -11
  24. package/Common/cpp/headers/SharedItems/HostFunctionHandler.h +6 -4
  25. package/Common/cpp/headers/SharedItems/MutableValue.h +21 -12
  26. package/Common/cpp/headers/SharedItems/MutableValueSetterProxy.h +10 -7
  27. package/Common/cpp/headers/SharedItems/RemoteObject.h +16 -8
  28. package/Common/cpp/headers/SharedItems/RuntimeManager.h +39 -21
  29. package/Common/cpp/headers/SharedItems/ShareableValue.h +31 -27
  30. package/Common/cpp/headers/SharedItems/SharedParent.h +7 -4
  31. package/Common/cpp/headers/SharedItems/ValueWrapper.h +80 -61
  32. package/Common/cpp/headers/SpecTools/ErrorHandler.h +17 -19
  33. package/Common/cpp/headers/Tools/JSIStoreValueUser.h +18 -13
  34. package/Common/cpp/headers/Tools/Mapper.h +24 -18
  35. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +12 -7
  36. package/Common/cpp/headers/Tools/ReanimatedHiddenHeaders.h +7 -7
  37. package/Common/cpp/headers/Tools/RuntimeDecorator.h +29 -23
  38. package/Common/cpp/headers/Tools/Scheduler.h +28 -33
  39. package/Common/cpp/headers/Tools/WorkletEventHandler.h +9 -7
  40. package/Common/cpp/hidden_headers/Logger.h +14 -14
  41. package/Common/cpp/hidden_headers/LoggerInterface.h +8 -9
  42. package/Common/cpp/hidden_headers/SpeedChecker.h +7 -8
  43. package/README.md +1 -1
  44. package/RNReanimated.podspec +4 -4
  45. package/android/build.gradle +80 -3
  46. package/android/react-native-reanimated-63-hermes.aar +0 -0
  47. package/android/react-native-reanimated-63-jsc.aar +0 -0
  48. package/android/react-native-reanimated-64-hermes.aar +0 -0
  49. package/android/react-native-reanimated-64-jsc.aar +0 -0
  50. package/android/react-native-reanimated-65-hermes.aar +0 -0
  51. package/android/react-native-reanimated-65-jsc.aar +0 -0
  52. package/android/react-native-reanimated-66-hermes.aar +0 -0
  53. package/android/react-native-reanimated-66-jsc.aar +0 -0
  54. package/ios/LayoutReanimation/REAAnimationsManager.h +19 -10
  55. package/ios/LayoutReanimation/REAAnimationsManager.m +195 -200
  56. package/ios/LayoutReanimation/REASnapshot.h +13 -0
  57. package/ios/LayoutReanimation/REASnapshot.m +29 -0
  58. package/ios/LayoutReanimation/REAUIManager.h +16 -0
  59. package/ios/LayoutReanimation/REAUIManager.mm +348 -0
  60. package/ios/Nodes/REAAlwaysNode.m +14 -15
  61. package/ios/Nodes/REABezierNode.m +8 -7
  62. package/ios/Nodes/REABlockNode.m +1 -1
  63. package/ios/Nodes/REACallFuncNode.h +0 -1
  64. package/ios/Nodes/REACallFuncNode.m +10 -8
  65. package/ios/Nodes/REAClockNodes.m +22 -20
  66. package/ios/Nodes/REAConcatNode.h +0 -1
  67. package/ios/Nodes/REAConcatNode.m +2 -2
  68. package/ios/Nodes/REACondNode.m +7 -5
  69. package/ios/Nodes/READebugNode.m +5 -4
  70. package/ios/Nodes/REAEventNode.m +1 -1
  71. package/ios/Nodes/REAFunctionNode.h +0 -1
  72. package/ios/Nodes/REAFunctionNode.m +2 -2
  73. package/ios/Nodes/REAJSCallNode.m +4 -5
  74. package/ios/Nodes/REANode.h +3 -4
  75. package/ios/Nodes/REANode.m +9 -11
  76. package/ios/Nodes/REAOperatorNode.m +68 -67
  77. package/ios/Nodes/REAParamNode.h +1 -3
  78. package/ios/Nodes/REAParamNode.m +15 -17
  79. package/ios/Nodes/REAPropsNode.h +1 -3
  80. package/ios/Nodes/REAPropsNode.m +19 -22
  81. package/ios/Nodes/REASetNode.h +0 -1
  82. package/ios/Nodes/REASetNode.m +7 -5
  83. package/ios/Nodes/REAStyleNode.h +0 -1
  84. package/ios/Nodes/REAStyleNode.m +2 -4
  85. package/ios/Nodes/REATransformNode.h +0 -1
  86. package/ios/Nodes/REATransformNode.m +3 -5
  87. package/ios/Nodes/REAValueNode.m +5 -7
  88. package/ios/REAEventDispatcher.m +3 -3
  89. package/ios/REAModule.h +0 -2
  90. package/ios/REAModule.m +29 -40
  91. package/ios/REANodesManager.h +11 -19
  92. package/ios/REANodesManager.m +105 -130
  93. package/ios/REAUtils.h +5 -3
  94. package/ios/Transitioning/RCTConvert+REATransition.m +45 -29
  95. package/ios/Transitioning/REAAllTransitions.h +2 -2
  96. package/ios/Transitioning/REAAllTransitions.m +14 -25
  97. package/ios/Transitioning/REATransition.h +8 -7
  98. package/ios/Transitioning/REATransition.m +19 -16
  99. package/ios/Transitioning/REATransitionAnimation.h +1 -1
  100. package/ios/Transitioning/REATransitionAnimation.m +2 -3
  101. package/ios/Transitioning/REATransitionManager.m +3 -3
  102. package/ios/native/NativeMethods.h +15 -5
  103. package/ios/native/NativeProxy.h +4 -3
  104. package/ios/native/NativeProxy.mm +19 -5
  105. package/ios/native/REAIOSErrorHandler.h +13 -10
  106. package/ios/native/REAIOSLogger.h +8 -8
  107. package/ios/native/REAIOSScheduler.h +5 -5
  108. package/ios/native/REAIOSScheduler.mm +7 -5
  109. package/ios/native/REAInitializer.h +37 -0
  110. package/ios/native/REAInitializer.mm +63 -0
  111. package/ios/native/UIResponder+Reanimated.mm +9 -48
  112. package/lib/ConfigHelper.js +1 -0
  113. package/lib/ReanimatedModule.native.js +10 -2
  114. package/lib/createAnimatedComponent.js +64 -30
  115. package/lib/reanimated1/core/AnimatedAlways.js +1 -1
  116. package/lib/reanimated1/core/AnimatedBezier.js +1 -1
  117. package/lib/reanimated1/core/AnimatedBlock.js +1 -1
  118. package/lib/reanimated1/core/AnimatedCall.js +1 -1
  119. package/lib/reanimated1/core/AnimatedCallFunc.js +1 -1
  120. package/lib/reanimated1/core/AnimatedConcat.js +1 -1
  121. package/lib/reanimated1/core/AnimatedCond.js +1 -1
  122. package/lib/reanimated1/core/AnimatedDebug.js +1 -1
  123. package/lib/reanimated1/core/AnimatedEvent.js +1 -1
  124. package/lib/reanimated1/core/AnimatedFunction.js +1 -1
  125. package/lib/reanimated1/core/AnimatedOperator.js +1 -1
  126. package/lib/reanimated1/core/AnimatedParam.js +1 -1
  127. package/lib/reanimated1/core/AnimatedProps.js +2 -2
  128. package/lib/reanimated1/core/AnimatedSet.js +1 -1
  129. package/lib/reanimated1/core/AnimatedStartClock.js +1 -1
  130. package/lib/reanimated1/core/AnimatedStopClock.js +1 -1
  131. package/lib/reanimated1/core/AnimatedStyle.js +1 -1
  132. package/lib/reanimated1/core/AnimatedTransform.js +1 -1
  133. package/lib/reanimated1/core/Core.test.js +30 -0
  134. package/lib/reanimated1/core/InternalAnimatedValue.js +1 -1
  135. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
  136. package/lib/reanimated1/derived/interpolate.js +1 -1
  137. package/lib/reanimated2/Colors.js +16 -12
  138. package/lib/reanimated2/NativeMethods.js +3 -14
  139. package/lib/reanimated2/{NativeReanimated.native.js → NativeReanimated/NativeReanimated.js} +19 -24
  140. package/lib/reanimated2/NativeReanimated/index.js +15 -0
  141. package/lib/reanimated2/PlatformChecker.js +16 -0
  142. package/lib/reanimated2/PropAdapters.js +14 -4
  143. package/lib/reanimated2/UpdateProps.js +14 -11
  144. package/lib/reanimated2/ViewDescriptorsSet.js +73 -0
  145. package/lib/reanimated2/WorkletEventHandler.js +15 -13
  146. package/lib/reanimated2/animation/commonTypes.js +1 -0
  147. package/lib/reanimated2/animation/decay.js +71 -0
  148. package/lib/reanimated2/animation/delay.js +64 -0
  149. package/lib/reanimated2/animation/index.js +8 -0
  150. package/lib/reanimated2/animation/repeat.js +69 -0
  151. package/lib/reanimated2/animation/sequence.js +72 -0
  152. package/lib/reanimated2/animation/spring.js +101 -0
  153. package/lib/reanimated2/animation/styleAnimation.js +166 -0
  154. package/lib/reanimated2/animation/timing.js +64 -0
  155. package/lib/reanimated2/animation/util.js +157 -0
  156. package/lib/reanimated2/commonTypes.js +1 -0
  157. package/lib/reanimated2/core.js +35 -39
  158. package/lib/reanimated2/globals.d.ts +47 -1
  159. package/lib/reanimated2/hook/Hooks.js +9 -0
  160. package/lib/reanimated2/hook/commonTypes.js +1 -0
  161. package/lib/reanimated2/hook/index.js +8 -0
  162. package/lib/reanimated2/hook/useAnimatedGestureHandler.js +50 -0
  163. package/lib/reanimated2/hook/useAnimatedReaction.js +37 -0
  164. package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
  165. package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
  166. package/lib/reanimated2/hook/useAnimatedStyle.js +376 -0
  167. package/lib/reanimated2/hook/useDerivedValue.js +36 -0
  168. package/lib/reanimated2/hook/useSharedValue.js +17 -0
  169. package/lib/reanimated2/hook/utils.js +175 -0
  170. package/lib/reanimated2/index.js +3 -2
  171. package/lib/reanimated2/interpolation.js +95 -86
  172. package/lib/reanimated2/jestUtils.js +0 -12
  173. package/lib/reanimated2/js-reanimated/JSReanimated.js +9 -10
  174. package/lib/reanimated2/js-reanimated/index.js +57 -1
  175. package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +58 -0
  176. package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
  177. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +125 -0
  178. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +193 -0
  179. package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
  180. package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +3 -0
  181. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +325 -207
  182. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
  183. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +235 -187
  184. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +327 -269
  185. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +146 -0
  186. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +85 -0
  187. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +119 -0
  188. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +289 -0
  189. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +159 -121
  190. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +83 -65
  191. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +371 -277
  192. package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +4 -0
  193. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +78 -0
  194. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +128 -0
  195. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
  196. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
  197. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
  198. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
  199. package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
  200. package/lib/reanimated2/layoutReanimation/index.js +3 -2
  201. package/lib/reanimated2/platform-specific/RNRenderer.web.js +2 -0
  202. package/lib/reanimated2/utils.js +9 -0
  203. package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
  204. package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
  205. package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
  206. package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
  207. package/package.json +21 -10
  208. package/plugin.js +244 -85
  209. package/react-native-reanimated.d.ts +531 -453
  210. package/src/ConfigHelper.js +1 -0
  211. package/src/ReanimatedModule.native.js +10 -2
  212. package/src/createAnimatedComponent.js +64 -30
  213. package/src/reanimated1/core/AnimatedAlways.js +1 -1
  214. package/src/reanimated1/core/AnimatedBezier.js +1 -1
  215. package/src/reanimated1/core/AnimatedBlock.js +1 -1
  216. package/src/reanimated1/core/AnimatedCall.js +1 -1
  217. package/src/reanimated1/core/AnimatedCallFunc.js +1 -1
  218. package/src/reanimated1/core/AnimatedConcat.js +1 -1
  219. package/src/reanimated1/core/AnimatedCond.js +1 -1
  220. package/src/reanimated1/core/AnimatedDebug.js +1 -1
  221. package/src/reanimated1/core/AnimatedEvent.js +1 -1
  222. package/src/reanimated1/core/AnimatedFunction.js +1 -1
  223. package/src/reanimated1/core/AnimatedOperator.js +1 -1
  224. package/src/reanimated1/core/AnimatedParam.js +1 -1
  225. package/src/reanimated1/core/AnimatedProps.js +2 -2
  226. package/src/reanimated1/core/AnimatedSet.js +1 -1
  227. package/src/reanimated1/core/AnimatedStartClock.js +1 -1
  228. package/src/reanimated1/core/AnimatedStopClock.js +1 -1
  229. package/src/reanimated1/core/AnimatedStyle.js +1 -1
  230. package/src/reanimated1/core/AnimatedTransform.js +1 -1
  231. package/src/reanimated1/core/Core.test.js +30 -0
  232. package/src/reanimated1/core/InternalAnimatedValue.js +1 -1
  233. package/src/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
  234. package/src/reanimated1/derived/interpolate.js +1 -1
  235. package/src/reanimated2/Colors.ts +30 -27
  236. package/src/reanimated2/Easing.ts +3 -1
  237. package/src/reanimated2/NativeMethods.ts +26 -16
  238. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +78 -0
  239. package/src/reanimated2/NativeReanimated/index.ts +18 -0
  240. package/src/reanimated2/PlatformChecker.ts +21 -0
  241. package/src/reanimated2/PropAdapters.ts +52 -34
  242. package/src/reanimated2/UpdateProps.ts +40 -20
  243. package/src/reanimated2/ViewDescriptorsSet.ts +108 -0
  244. package/src/reanimated2/WorkletEventHandler.ts +41 -23
  245. package/src/reanimated2/animation/commonTypes.ts +48 -0
  246. package/src/reanimated2/animation/decay.ts +141 -0
  247. package/src/reanimated2/animation/delay.ts +103 -0
  248. package/src/reanimated2/animation/index.ts +16 -0
  249. package/src/reanimated2/animation/repeat.ts +128 -0
  250. package/src/reanimated2/animation/sequence.ts +110 -0
  251. package/src/reanimated2/animation/spring.ts +165 -0
  252. package/src/reanimated2/animation/styleAnimation.ts +253 -0
  253. package/src/reanimated2/animation/timing.ts +109 -0
  254. package/src/reanimated2/animation/util.ts +242 -0
  255. package/src/reanimated2/commonTypes.ts +81 -0
  256. package/src/reanimated2/core.ts +128 -82
  257. package/src/reanimated2/globals.d.ts +47 -1
  258. package/src/reanimated2/hook/Hooks.ts +16 -0
  259. package/src/reanimated2/hook/commonTypes.ts +12 -0
  260. package/src/reanimated2/hook/index.ts +25 -0
  261. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +110 -0
  262. package/src/reanimated2/hook/useAnimatedReaction.ts +49 -0
  263. package/src/reanimated2/hook/useAnimatedRef.ts +34 -0
  264. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +83 -0
  265. package/src/reanimated2/hook/useAnimatedStyle.ts +538 -0
  266. package/src/reanimated2/hook/useDerivedValue.ts +48 -0
  267. package/src/reanimated2/hook/useSharedValue.ts +22 -0
  268. package/src/reanimated2/hook/utils.ts +259 -0
  269. package/src/reanimated2/index.ts +3 -2
  270. package/src/reanimated2/interpolation.ts +170 -101
  271. package/src/reanimated2/jestUtils.ts +0 -12
  272. package/src/reanimated2/js-reanimated/JSReanimated.ts +47 -22
  273. package/src/reanimated2/js-reanimated/Mapper.ts +1 -1
  274. package/src/reanimated2/js-reanimated/index.ts +71 -0
  275. package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.tsx +62 -0
  276. package/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +91 -0
  277. package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +169 -0
  278. package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +263 -0
  279. package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +78 -0
  280. package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +16 -0
  281. package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +243 -121
  282. package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +43 -0
  283. package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +95 -53
  284. package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +114 -64
  285. package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +179 -0
  286. package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +93 -0
  287. package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +132 -0
  288. package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +333 -0
  289. package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +84 -50
  290. package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +41 -23
  291. package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +234 -154
  292. package/src/reanimated2/layoutReanimation/defaultAnimations/index.ts +4 -0
  293. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +104 -0
  294. package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +213 -0
  295. package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +60 -0
  296. package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +58 -0
  297. package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +41 -0
  298. package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +78 -0
  299. package/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +6 -0
  300. package/src/reanimated2/layoutReanimation/index.ts +3 -2
  301. package/src/reanimated2/platform-specific/RNRenderer.web.ts +2 -0
  302. package/src/reanimated2/utils.ts +21 -0
  303. package/android/react-native-reanimated-62-hermes.aar +0 -0
  304. package/android/react-native-reanimated-62-jsc.aar +0 -0
  305. package/ios/LayoutReanimation/REAAnimationRootView.h +0 -12
  306. package/ios/LayoutReanimation/REAAnimationRootView.m +0 -16
  307. package/ios/LayoutReanimation/REAAnimationRootViewManager.h +0 -9
  308. package/ios/LayoutReanimation/REAAnimationRootViewManager.m +0 -49
  309. package/ios/LayoutReanimation/REAReactBatchObserver.h +0 -20
  310. package/ios/LayoutReanimation/REAReactBatchObserver.m +0 -125
  311. package/ios/LayoutReanimation/REASnapshooter.h +0 -19
  312. package/ios/LayoutReanimation/REASnapshooter.m +0 -64
  313. package/ios/LayoutReanimation/REAViewTraverser.h +0 -13
  314. package/ios/LayoutReanimation/REAViewTraverser.m +0 -40
  315. package/lib/reanimated2/Hooks.js +0 -732
  316. package/lib/reanimated2/NativeReanimated.js +0 -4
  317. package/lib/reanimated2/animations.js +0 -713
  318. package/lib/reanimated2/js-reanimated/index.web.js +0 -20
  319. package/lib/reanimated2/layoutReanimation/AnimatedRoot.js +0 -55
  320. package/lib/reanimated2/layoutReanimation/defaultAnimationsBuilder.js +0 -374
  321. package/src/reanimated2/Hooks.ts +0 -918
  322. package/src/reanimated2/NativeReanimated.native.ts +0 -61
  323. package/src/reanimated2/NativeReanimated.ts +0 -5
  324. package/src/reanimated2/animations.ts +0 -868
  325. package/src/reanimated2/js-reanimated/index.js +0 -0
  326. package/src/reanimated2/js-reanimated/index.web.ts +0 -29
  327. package/src/reanimated2/layoutReanimation/AnimatedRoot.tsx +0 -68
  328. package/src/reanimated2/layoutReanimation/defaultAnimationsBuilder.ts +0 -440
@@ -1,14 +1,13 @@
1
1
  #pragma once
2
2
 
3
- #include <queue>
4
- #include <thread>
5
- #include <mutex>
3
+ #include <ReactCommon/CallInvoker.h>
6
4
  #include <condition_variable>
7
5
  #include <functional>
8
- #include <ReactCommon/CallInvoker.h>
6
+ #include <mutex>
7
+ #include <queue>
8
+ #include <thread>
9
9
 
10
- namespace reanimated
11
- {
10
+ namespace reanimated {
12
11
 
13
12
  //
14
13
  // Copyright (c) 2013 Juan Palacios juan.palacios.puyana@gmail.com
@@ -16,15 +15,11 @@ namespace reanimated
16
15
  // - see < http://opensource.org/licenses/BSD-2-Clause>
17
16
  //
18
17
  template <typename T>
19
- class Queue
20
- {
18
+ class Queue {
21
19
  public:
22
-
23
- T pop()
24
- {
20
+ T pop() {
25
21
  std::unique_lock<std::mutex> mlock(mutex_);
26
- while (queue_.empty())
27
- {
22
+ while (queue_.empty()) {
28
23
  cond_.wait(mlock);
29
24
  }
30
25
  auto item = queue_.front();
@@ -32,27 +27,23 @@ class Queue
32
27
  return item;
33
28
  }
34
29
 
35
- void pop(T& item)
36
- {
30
+ void pop(T &item) {
37
31
  std::unique_lock<std::mutex> mlock(mutex_);
38
- while (queue_.empty())
39
- {
32
+ while (queue_.empty()) {
40
33
  cond_.wait(mlock);
41
34
  }
42
35
  item = queue_.front();
43
36
  queue_.pop();
44
37
  }
45
38
 
46
- void push(const T& item)
47
- {
39
+ void push(const T &item) {
48
40
  std::unique_lock<std::mutex> mlock(mutex_);
49
41
  queue_.push(item);
50
42
  mlock.unlock();
51
43
  cond_.notify_one();
52
44
  }
53
45
 
54
- void push(T&& item)
55
- {
46
+ void push(T &&item) {
56
47
  std::unique_lock<std::mutex> mlock(mutex_);
57
48
  queue_.push(std::move(item));
58
49
  mlock.unlock();
@@ -76,17 +67,21 @@ class Queue
76
67
  class RuntimeManager;
77
68
 
78
69
  class Scheduler {
79
- public:
80
- void scheduleOnJS(std::function<void()> job);
81
- void setJSCallInvoker(std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker);
82
- void setRuntimeManager(std::shared_ptr<RuntimeManager> runtimeManager);
83
- virtual void scheduleOnUI(std::function<void()> job);
84
- virtual void triggerUI();
85
- virtual ~Scheduler();
86
- protected:
87
- Queue<std::function<void()>> uiJobs;
88
- std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker_;
89
- std::weak_ptr<RuntimeManager> runtimeManager;
70
+ public:
71
+ Scheduler();
72
+ void scheduleOnJS(std::function<void()> job);
73
+ void setJSCallInvoker(
74
+ std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker);
75
+ void setRuntimeManager(std::shared_ptr<RuntimeManager> runtimeManager);
76
+ virtual void scheduleOnUI(std::function<void()> job);
77
+ virtual void triggerUI();
78
+ virtual ~Scheduler();
79
+
80
+ protected:
81
+ std::atomic<bool> scheduledOnUI{};
82
+ Queue<std::function<void()>> uiJobs;
83
+ std::shared_ptr<facebook::react::CallInvoker> jsCallInvoker_;
84
+ std::weak_ptr<RuntimeManager> runtimeManager;
90
85
  };
91
86
 
92
- }
87
+ } // namespace reanimated
@@ -1,7 +1,7 @@
1
1
  #pragma once
2
2
 
3
- #include <string>
4
3
  #include <jsi/jsi.h>
4
+ #include <string>
5
5
 
6
6
  using namespace facebook;
7
7
 
@@ -12,16 +12,18 @@ class EventHandlerRegistry;
12
12
  class WorkletEventHandler {
13
13
  friend EventHandlerRegistry;
14
14
 
15
- private:
15
+ private:
16
16
  unsigned long id;
17
17
  std::string eventName;
18
18
  jsi::Function handler;
19
19
 
20
- public:
21
- WorkletEventHandler(unsigned long id,
22
- std::string eventName,
23
- jsi::Function &&handler): id(id), eventName(eventName), handler(std::move(handler)) {}
20
+ public:
21
+ WorkletEventHandler(
22
+ unsigned long id,
23
+ std::string eventName,
24
+ jsi::Function &&handler)
25
+ : id(id), eventName(eventName), handler(std::move(handler)) {}
24
26
  void process(jsi::Runtime &rt, jsi::Value &eventValue);
25
27
  };
26
28
 
27
- }
29
+ } // namespace reanimated
@@ -1,22 +1,22 @@
1
1
  #pragma once
2
2
 
3
- #include "./LoggerInterface.h"
4
3
  #include <memory>
4
+ #include "./LoggerInterface.h"
5
5
 
6
- namespace reanimated
7
- {
6
+ namespace reanimated {
8
7
 
9
8
  class Logger {
10
- public:
11
- template<typename T>
12
- static void log(T value) {
13
- if (instance == nullptr) {
14
- throw std::runtime_error("no logger specified");
15
- }
16
- instance->log(value);
17
- };
18
- private:
19
- static std::unique_ptr<LoggerInterface> instance;
9
+ public:
10
+ template <typename T>
11
+ static void log(T value) {
12
+ if (instance == nullptr) {
13
+ throw std::runtime_error("no logger specified");
14
+ }
15
+ instance->log(value);
16
+ };
17
+
18
+ private:
19
+ static std::unique_ptr<LoggerInterface> instance;
20
20
  };
21
21
 
22
- }
22
+ } // namespace reanimated
@@ -1,15 +1,14 @@
1
1
  #pragma once
2
2
 
3
- namespace reanimated
4
- {
3
+ namespace reanimated {
5
4
 
6
5
  class LoggerInterface {
7
- public:
8
- virtual void log(const char* str) = 0;
9
- virtual void log(double d) = 0;
10
- virtual void log(int i) = 0;
11
- virtual void log(bool b) = 0;
12
- virtual ~LoggerInterface() {}
6
+ public:
7
+ virtual void log(const char *str) = 0;
8
+ virtual void log(double d) = 0;
9
+ virtual void log(int i) = 0;
10
+ virtual void log(bool b) = 0;
11
+ virtual ~LoggerInterface() {}
13
12
  };
14
13
 
15
- }
14
+ } // namespace reanimated
@@ -2,17 +2,16 @@
2
2
 
3
3
  #define CHECK_SPEED 1
4
4
 
5
- #include "./Logger.h"
6
- #include <memory>
5
+ #include <chrono>
7
6
  #include <functional>
7
+ #include <memory>
8
8
  #include <string>
9
- #include <chrono>
9
+ #include "./Logger.h"
10
10
 
11
- namespace reanimated
12
- {
11
+ namespace reanimated {
13
12
 
14
13
  class SpeedChecker {
15
- public:
14
+ public:
16
15
  static void checkSpeed(std::string tag, std::function<void()> fun) {
17
16
  #if CHECK_SPEED
18
17
  auto start = std::chrono::system_clock::now();
@@ -20,11 +19,11 @@ public:
20
19
  fun();
21
20
  #if CHECK_SPEED
22
21
  auto end = std::chrono::system_clock::now();
23
- std::chrono::duration<double> elapsed_seconds = end-start;
22
+ std::chrono::duration<double> elapsed_seconds = end - start;
24
23
  tag += " " + std::to_string(elapsed_seconds.count()) + "s";
25
24
  Logger::log(tag.c_str());
26
25
  #endif
27
26
  }
28
27
  };
29
28
 
30
- }
29
+ } // namespace reanimated
package/README.md CHANGED
@@ -11,7 +11,7 @@ comes to gesture based interactions.
11
11
 
12
12
  ## Installation
13
13
 
14
- Check out [installation](https://docs.swmansion.com/react-native-reanimated/docs/installation) section of our docs for the detailed installation instructions.
14
+ Check out [installation](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation) section of our docs for the detailed installation instructions.
15
15
 
16
16
  ## Documentation
17
17
 
@@ -7,7 +7,7 @@ reactVersion = '0.0.0'
7
7
  begin
8
8
  reactVersion = JSON.parse(File.read(File.join(__dir__, "..", "react-native", "package.json")))["version"]
9
9
  rescue
10
- reactVersion = '0.64.0'
10
+ reactVersion = '0.66.0'
11
11
  end
12
12
 
13
13
  rnVersion = reactVersion.split('.')[1]
@@ -20,7 +20,7 @@ end
20
20
 
21
21
  folly_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DRNVERSION=' + rnVersion
22
22
  folly_compiler_flags = folly_flags + ' ' + '-Wno-comma -Wno-shorten-64-to-32'
23
- folly_version = '2020.01.13.00'
23
+ folly_version = '2021.04.26.00'
24
24
  boost_compiler_flags = '-Wno-documentation'
25
25
 
26
26
  Pod::Spec.new do |s|
@@ -49,12 +49,12 @@ Pod::Spec.new do |s|
49
49
 
50
50
  s.pod_target_xcconfig = {
51
51
  "USE_HEADERMAP" => "YES",
52
- "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" "
52
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_TARGET_SRCROOT)\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Headers/Private/React-Core\" "
53
53
  }
54
54
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
55
55
  s.xcconfig = {
56
56
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
57
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/#{folly_prefix}Folly\"",
57
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/#{folly_prefix}Folly\" \"${PODS_ROOT}/Headers/Public/React-hermes\" \"${PODS_ROOT}/Headers/Public/hermes-engine\"",
58
58
  "OTHER_CFLAGS" => "$(inherited)" + " " + folly_flags }
59
59
 
60
60
  s.requires_arc = true
@@ -1,4 +1,6 @@
1
- import groovy.json.JsonSlurper;
1
+ import groovy.json.JsonSlurper
2
+ import java.util.regex.Matcher
3
+ import java.util.regex.Pattern
2
4
  configurations.maybeCreate("default")
3
5
 
4
6
  def inputFile = new File(projectDir, '../../react-native/package.json')
@@ -7,8 +9,83 @@ def reactNativeVersion = json.version as String
7
9
  def (major, minor, patch) = reactNativeVersion.tokenize('.')
8
10
 
9
11
  def engine = "jsc"
10
- if (project(':app').ext.react.enableHermes) {
11
- engine = "hermes"
12
+
13
+ abstract class replaceSoTask extends DefaultTask {
14
+ public static String appName = ":app"
15
+ public static String buildDir = "../../../android/app/build"
16
+
17
+ @TaskAction
18
+ def run() {
19
+ for(def abiVersion in ["x86", "x86_64", "armeabi-v7a", "arm64-v8a"]) {
20
+ ant.sequential {
21
+ copy(
22
+ tofile: "${buildDir}/intermediates/merged_native_libs/debug/out/lib/${abiVersion}/libfbjni.so",
23
+ file: "../libSo/fbjni/jni/${abiVersion}/libfbjni.so",
24
+ overwrite: true
25
+ )
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ def getCurrentFlavor() {
32
+ Gradle gradle = getGradle()
33
+ String taskRequestName = gradle.getStartParameter().getTaskRequests().toString()
34
+ Pattern pattern
35
+
36
+ if(taskRequestName.contains("assemble")) {
37
+ pattern = Pattern.compile("assemble(\\w+)(Release|Debug)")
38
+ }
39
+ else {
40
+ pattern = Pattern.compile("generate(\\w+)(Release|Debug)")
41
+ }
42
+ Matcher matcher = pattern.matcher(taskRequestName)
43
+
44
+ if(matcher.find()) {
45
+ return matcher.group(1).toLowerCase()
46
+ }
47
+ return ""
12
48
  }
13
49
 
50
+ def replaceSoTaskDebug
51
+ def replaceSoTaskRelease
52
+ if(Integer.parseInt(minor) < 65) {
53
+ tasks.register("replaceSoTaskDebug", replaceSoTask)
54
+ tasks.register("replaceSoTaskRelease", replaceSoTask)
55
+ replaceSoTaskDebug = project.getTasks().getByPath(":react-native-reanimated:replaceSoTaskDebug")
56
+ replaceSoTaskRelease = project.getTasks().getByPath(":react-native-reanimated:replaceSoTaskRelease")
57
+ }
58
+
59
+ rootProject.getSubprojects().forEach({project ->
60
+ if (project.plugins.hasPlugin("com.android.application")) {
61
+ if(project.ext.react.enableHermes) {
62
+ engine = "hermes"
63
+ }
64
+
65
+ if(project.getProperties().get("android") && Integer.parseInt(minor) < 65) {
66
+ def projectProperties = project.getProperties()
67
+ if(!projectProperties.get("reanimated")
68
+ || (projectProperties.get("reanimated") && projectProperties.get("reanimated").get("enablePackagingOptions"))
69
+ ) {
70
+ def flavorString = getCurrentFlavor()
71
+ replaceSoTask.appName = project.getProperties().path
72
+ replaceSoTask.buildDir = project.getProperties().buildDir
73
+ def appName = project.getProperties().path
74
+
75
+ replaceSoTaskDebug.dependsOn(
76
+ project.getTasks().getByPath("${appName}:merge${flavorString}DebugNativeLibs"),
77
+ project.getTasks().getByPath("${appName}:strip${flavorString}DebugDebugSymbols")
78
+ )
79
+ project.getTasks().getByPath("${appName}:package${flavorString}Debug").dependsOn(replaceSoTaskDebug)
80
+
81
+ replaceSoTaskRelease.dependsOn(
82
+ project.getTasks().getByPath("${appName}:merge${flavorString}ReleaseNativeLibs"),
83
+ project.getTasks().getByPath("${appName}:strip${flavorString}ReleaseDebugSymbols")
84
+ )
85
+ project.getTasks().getByPath("${appName}:package${flavorString}Release").dependsOn(replaceSoTaskRelease)
86
+ }
87
+ }
88
+ }
89
+ })
90
+
14
91
  artifacts.add("default", file("react-native-reanimated-${minor}-${engine}.aar"))
@@ -1,22 +1,31 @@
1
1
  #import <Foundation/Foundation.h>
2
- #import "REASnapshooter.h"
3
2
  #import <React/RCTUIManager.h>
3
+ #import "REASnapshot.h"
4
4
 
5
5
  NS_ASSUME_NONNULL_BEGIN
6
6
 
7
- @interface REAAnimationsManager : NSObject
8
-
9
- - (instancetype)initWithUIManager:(RCTUIManager*)uiManager;
7
+ typedef NS_ENUM(NSInteger, ViewState) {
8
+ Appearing,
9
+ Disappearing,
10
+ Layout,
11
+ Inactive,
12
+ ToRemove,
13
+ };
10
14
 
11
- - (void)notifyAboutChangeWithBeforeSnapshots:(REASnapshooter*)beforeSnapshooter afterSnapshooter:(REASnapshooter*)afterSnapshooter;
15
+ @interface REAAnimationsManager : NSObject
12
16
 
17
+ - (instancetype)initWithUIManager:(RCTUIManager *)uiManager;
13
18
  - (void)setRemovingConfigBlock:(void (^)(NSNumber *tag))block;
14
- - (void)setAnimationStartingBlock:(void (^)(NSNumber *tag, NSString *type, NSDictionary* target, NSNumber* depth))startAnimation;
15
- - (void)notifyAboutProgress:(NSDictionary *)newStyle tag:(NSNumber*)tag;
16
- - (void)notifyAboutEnd:(NSNumber*)tag cancelled:(BOOL)cancelled;
17
- - (void)addBlockOnAnimationEnd:(NSNumber*)tag block:(void (^)(void))block;
18
-
19
+ - (void)setAnimationStartingBlock:
20
+ (void (^)(NSNumber *tag, NSString *type, NSDictionary *target, NSNumber *depth))startAnimation;
21
+ - (void)notifyAboutProgress:(NSDictionary *)newStyle tag:(NSNumber *)tag;
22
+ - (void)notifyAboutEnd:(NSNumber *)tag cancelled:(BOOL)cancelled;
19
23
  - (void)invalidate;
24
+ - (void)onViewRemoval:(UIView *)view before:(REASnapshot *)before;
25
+ - (void)onViewCreate:(UIView *)view after:(REASnapshot *)after;
26
+ - (void)onViewUpdate:(UIView *)view before:(REASnapshot *)before after:(REASnapshot *)after;
27
+ - (void)setToBeRemovedRegistry:(NSMutableDictionary<NSNumber *, NSMutableSet<id<RCTComponent>> *> *)toBeRemovedRegister;
28
+ - (void)removeLeftovers;
20
29
 
21
30
  @end
22
31