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
@@ -4,3 +4,7 @@ export * from './Fade';
4
4
  export * from './Slide';
5
5
  export * from './Zoom';
6
6
  export * from './Bounce';
7
+ export * from './Lightspeed';
8
+ export * from './Pinwheel';
9
+ export * from './Rotate';
10
+ export * from './Roll';
@@ -0,0 +1,78 @@
1
+ import { BaseAnimationBuilder } from '../animationBuilder';
2
+ import { Easing } from '../../Easing';
3
+ import { withTiming } from '../../animation';
4
+ export class CurvedTransition extends BaseAnimationBuilder {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.easingXV = Easing.in(Easing.ease);
8
+ this.easingYV = Easing.out(Easing.ease);
9
+ this.easingWidthV = Easing.in(Easing.exp);
10
+ this.easingHeightV = Easing.out(Easing.exp);
11
+ this.build = () => {
12
+ var _a;
13
+ const delayFunction = this.getDelayFunction();
14
+ const callback = this.callbackV;
15
+ const delay = this.getDelay();
16
+ const duration = (_a = this.durationV) !== null && _a !== void 0 ? _a : 300;
17
+ const easing = {
18
+ easingX: this.easingXV,
19
+ easingY: this.easingYV,
20
+ easingWidth: this.easingWidthV,
21
+ easingHeight: this.easingHeightV,
22
+ };
23
+ return (values) => {
24
+ 'worklet';
25
+ return {
26
+ initialValues: {
27
+ originX: values.boriginX,
28
+ originY: values.boriginY,
29
+ width: values.bwidth,
30
+ height: values.bheight,
31
+ },
32
+ animations: {
33
+ originX: delayFunction(delay, withTiming(values.originX, { duration, easing: easing.easingX })),
34
+ originY: delayFunction(delay, withTiming(values.originY, { duration, easing: easing.easingY })),
35
+ width: delayFunction(delay, withTiming(values.width, { duration, easing: easing.easingWidth })),
36
+ height: delayFunction(delay, withTiming(values.height, { duration, easing: easing.easingHeight })),
37
+ },
38
+ callback: callback,
39
+ };
40
+ };
41
+ };
42
+ }
43
+ static createInstance() {
44
+ return new CurvedTransition();
45
+ }
46
+ static easingX(easing) {
47
+ const instance = this.createInstance();
48
+ return instance.easingX(easing);
49
+ }
50
+ easingX(easing) {
51
+ this.easingXV = easing;
52
+ return this;
53
+ }
54
+ static easingY(easing) {
55
+ const instance = this.createInstance();
56
+ return instance.easingY(easing);
57
+ }
58
+ easingY(easing) {
59
+ this.easingYV = easing;
60
+ return this;
61
+ }
62
+ static easingWidth(easing) {
63
+ const instance = this.createInstance();
64
+ return instance.easingWidth(easing);
65
+ }
66
+ easingWidth(easing) {
67
+ this.easingWidthV = easing;
68
+ return this;
69
+ }
70
+ static easingHeight(easing) {
71
+ const instance = this.createInstance();
72
+ return instance.easingHeight(easing);
73
+ }
74
+ easingHeight(easing) {
75
+ this.easingHeightV = easing;
76
+ return this;
77
+ }
78
+ }
@@ -0,0 +1,128 @@
1
+ import { BaseAnimationBuilder } from '../animationBuilder';
2
+ import { withSequence, withTiming } from '../../animation';
3
+ import { FadeIn, FadeOut } from '../defaultAnimations/Fade';
4
+ export class EntryExitTransition extends BaseAnimationBuilder {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.enteringV = FadeIn;
8
+ this.exitingV = FadeOut;
9
+ this.build = () => {
10
+ const delayFunction = this.getDelayFunction();
11
+ const callback = this.callbackV;
12
+ const delay = this.getDelay();
13
+ const enteringAnimation = this.enteringV.build();
14
+ const exitingAnimation = this.exitingV.build();
15
+ const exitingDuration = this.exitingV.getDuration();
16
+ return (values) => {
17
+ 'worklet';
18
+ var _a, _b, _c, _d;
19
+ const enteringValues = enteringAnimation(values);
20
+ const exitingValues = exitingAnimation(values);
21
+ const animations = {
22
+ transform: [],
23
+ };
24
+ for (const prop of Object.keys(exitingValues.animations)) {
25
+ if (prop === 'transform') {
26
+ (_a = exitingValues.animations[prop]) === null || _a === void 0 ? void 0 : _a.forEach((value, index) => {
27
+ var _a;
28
+ for (const transformProp of Object.keys(value)) {
29
+ (_a = animations.transform) === null || _a === void 0 ? void 0 : _a.push({
30
+ [transformProp]: delayFunction(delay, withSequence(value[transformProp], withTiming(exitingValues.initialValues.transform
31
+ ? exitingValues.initialValues.transform[index][transformProp]
32
+ : 0, { duration: 0 }))),
33
+ });
34
+ }
35
+ });
36
+ }
37
+ else {
38
+ const sequence = enteringValues.animations[prop] !== undefined
39
+ ? [
40
+ exitingValues.animations[prop],
41
+ withTiming(enteringValues.initialValues[prop], {
42
+ duration: 0,
43
+ }),
44
+ enteringValues.animations[prop],
45
+ ]
46
+ : [
47
+ exitingValues.animations[prop],
48
+ withTiming(Object.keys(values).includes(prop)
49
+ ? values[prop]
50
+ : exitingValues.initialValues[prop], { duration: 0 }),
51
+ ];
52
+ animations[prop] = delayFunction(delay, withSequence(...sequence));
53
+ }
54
+ }
55
+ for (const prop of Object.keys(enteringValues.animations)) {
56
+ if (prop === 'transform') {
57
+ (_b = enteringValues.animations[prop]) === null || _b === void 0 ? void 0 : _b.forEach((value, index) => {
58
+ var _a;
59
+ for (const transformProp of Object.keys(value)) {
60
+ (_a = animations.transform) === null || _a === void 0 ? void 0 : _a.push({
61
+ [transformProp]: delayFunction(delay + exitingDuration, withSequence(withTiming(enteringValues.initialValues.transform
62
+ ? enteringValues.initialValues.transform[index][transformProp]
63
+ : 0, { duration: 0 }), value[transformProp])),
64
+ });
65
+ }
66
+ });
67
+ }
68
+ else if (animations[prop] !== undefined) {
69
+ // it was already added in the previous loop
70
+ continue;
71
+ }
72
+ else {
73
+ animations[prop] = delayFunction(delay, withSequence(withTiming(enteringValues.initialValues[prop], { duration: 0 }), enteringValues.animations[prop]));
74
+ }
75
+ }
76
+ const mergedTransform = ((_c = exitingValues.initialValues.transform) !== null && _c !== void 0 ? _c : []).concat(((_d = enteringValues.animations.transform) !== null && _d !== void 0 ? _d : []).map((value) => {
77
+ for (const transformProp of Object.keys(value)) {
78
+ const current = value[transformProp].current;
79
+ if (typeof current === 'string') {
80
+ if (current.includes('deg'))
81
+ return {
82
+ [transformProp]: '0deg',
83
+ };
84
+ else
85
+ return {
86
+ [transformProp]: '0',
87
+ };
88
+ }
89
+ else if (transformProp.includes('translate')) {
90
+ return { [transformProp]: 0 };
91
+ }
92
+ else {
93
+ return { [transformProp]: 1 };
94
+ }
95
+ }
96
+ return value;
97
+ }));
98
+ return {
99
+ initialValues: Object.assign(Object.assign({}, exitingValues.initialValues), { originX: values.boriginX, originY: values.boriginY, width: values.bwidth, height: values.bheight, transform: mergedTransform }),
100
+ animations: Object.assign({ originX: delayFunction(delay + exitingDuration, withTiming(values.originX, { duration: 0 })), originY: delayFunction(delay + exitingDuration, withTiming(values.originY, { duration: 0 })), width: delayFunction(delay + exitingDuration, withTiming(values.width, { duration: 0 })), height: delayFunction(delay + exitingDuration, withTiming(values.height, { duration: 0 })) }, animations),
101
+ callback: callback,
102
+ };
103
+ };
104
+ };
105
+ }
106
+ static createInstance() {
107
+ return new EntryExitTransition();
108
+ }
109
+ static entering(animation) {
110
+ const instance = this.createInstance();
111
+ return instance.entering(animation);
112
+ }
113
+ entering(animation) {
114
+ this.enteringV = animation;
115
+ return this;
116
+ }
117
+ static exiting(animation) {
118
+ const instance = this.createInstance();
119
+ return instance.exiting(animation);
120
+ }
121
+ exiting(animation) {
122
+ this.exitingV = animation;
123
+ return this;
124
+ }
125
+ }
126
+ export function combineTransition(exiting, entering) {
127
+ return EntryExitTransition.entering(entering).exiting(exiting);
128
+ }
@@ -0,0 +1,37 @@
1
+ import { withSequence, withTiming } from '../../animation';
2
+ import { BaseAnimationBuilder } from '../animationBuilder';
3
+ export class FadingTransition extends BaseAnimationBuilder {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.build = () => {
7
+ var _a;
8
+ const delayFunction = this.getDelayFunction();
9
+ const callback = this.callbackV;
10
+ const delay = this.getDelay();
11
+ const duration = (_a = this.durationV) !== null && _a !== void 0 ? _a : 500;
12
+ return (values) => {
13
+ 'worklet';
14
+ return {
15
+ initialValues: {
16
+ opacity: 1,
17
+ originX: values.boriginX,
18
+ originY: values.boriginY,
19
+ width: values.bwidth,
20
+ height: values.bheight,
21
+ },
22
+ animations: {
23
+ opacity: delayFunction(delay, withSequence(withTiming(0, { duration: duration }), withTiming(1, { duration: duration }))),
24
+ originX: delayFunction(delay + duration, withTiming(values.originX, { duration: 50 })),
25
+ originY: delayFunction(delay + duration, withTiming(values.originY, { duration: 50 })),
26
+ width: delayFunction(delay + duration, withTiming(values.width, { duration: 50 })),
27
+ height: delayFunction(delay + duration, withTiming(values.height, { duration: 50 })),
28
+ },
29
+ callback: callback,
30
+ };
31
+ };
32
+ };
33
+ }
34
+ static createInstance() {
35
+ return new FadingTransition();
36
+ }
37
+ }
@@ -0,0 +1,41 @@
1
+ import { withSequence, withTiming } from '../../animation';
2
+ import { Easing } from '../../Easing';
3
+ import { BaseAnimationBuilder } from '../animationBuilder';
4
+ export class JumpingTransition extends BaseAnimationBuilder {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.build = () => {
8
+ var _a;
9
+ const delayFunction = this.getDelayFunction();
10
+ const callback = this.callbackV;
11
+ const delay = this.getDelay();
12
+ const duration = ((_a = this.durationV) !== null && _a !== void 0 ? _a : 300) / 2;
13
+ const config = { duration: duration * 2 };
14
+ return (values) => {
15
+ 'worklet';
16
+ const d = Math.max(Math.abs(values.originX - values.boriginX), Math.abs(values.originY - values.boriginY));
17
+ return {
18
+ initialValues: {
19
+ originX: values.boriginX,
20
+ originY: values.boriginY,
21
+ width: values.bwidth,
22
+ height: values.bheight,
23
+ },
24
+ animations: {
25
+ originX: delayFunction(delay, withTiming(values.originX, config)),
26
+ originY: delayFunction(delay, withSequence(withTiming(Math.min(values.originY, values.boriginY) - d, {
27
+ duration,
28
+ easing: Easing.out(Easing.exp),
29
+ }), withTiming(values.originY, Object.assign(Object.assign({}, config), { duration, easing: Easing.bounce })))),
30
+ width: delayFunction(delay, withTiming(values.width, config)),
31
+ height: delayFunction(delay, withTiming(values.height, config)),
32
+ },
33
+ callback: callback,
34
+ };
35
+ };
36
+ };
37
+ }
38
+ static createInstance() {
39
+ return new JumpingTransition();
40
+ }
41
+ }
@@ -0,0 +1,34 @@
1
+ import { ComplexAnimationBuilder } from '../animationBuilder/ComplexAnimationBuilder';
2
+ export class LinearTransition extends ComplexAnimationBuilder {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.build = () => {
6
+ const delayFunction = this.getDelayFunction();
7
+ const [animation, config] = this.getAnimationAndConfig();
8
+ const callback = this.callbackV;
9
+ const delay = this.getDelay();
10
+ return (values) => {
11
+ 'worklet';
12
+ return {
13
+ initialValues: {
14
+ originX: values.boriginX,
15
+ originY: values.boriginY,
16
+ width: values.bwidth,
17
+ height: values.bheight,
18
+ },
19
+ animations: {
20
+ originX: delayFunction(delay, animation(values.originX, config)),
21
+ originY: delayFunction(delay, animation(values.originY, config)),
22
+ width: delayFunction(delay, animation(values.width, config)),
23
+ height: delayFunction(delay, animation(values.height, config)),
24
+ },
25
+ callback: callback,
26
+ };
27
+ };
28
+ };
29
+ }
30
+ static createInstance() {
31
+ return new LinearTransition();
32
+ }
33
+ }
34
+ export const Layout = LinearTransition;
@@ -0,0 +1,46 @@
1
+ import { withSequence, withTiming } from '../../animation';
2
+ import { BaseAnimationBuilder } from '../animationBuilder';
3
+ export class SequencedTransition extends BaseAnimationBuilder {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.reversed = false;
7
+ this.build = () => {
8
+ var _a;
9
+ const delayFunction = this.getDelayFunction();
10
+ const callback = this.callbackV;
11
+ const delay = this.getDelay();
12
+ const sequenceDuration = ((_a = this.durationV) !== null && _a !== void 0 ? _a : 500) / 2;
13
+ const config = { duration: sequenceDuration };
14
+ const reverse = this.reversed;
15
+ return (values) => {
16
+ 'worklet';
17
+ return {
18
+ initialValues: {
19
+ originX: values.boriginX,
20
+ originY: values.boriginY,
21
+ width: values.bwidth,
22
+ height: values.bheight,
23
+ },
24
+ animations: {
25
+ originX: delayFunction(delay, withSequence(withTiming(reverse ? values.boriginX : values.originX, config), withTiming(values.originX, config))),
26
+ originY: delayFunction(delay, withSequence(withTiming(reverse ? values.originY : values.boriginY, config), withTiming(values.originY, config))),
27
+ width: delayFunction(delay, withSequence(withTiming(reverse ? values.bwidth : values.width, config), withTiming(values.width, config))),
28
+ height: delayFunction(delay, withSequence(withTiming(reverse ? values.height : values.bheight, config), withTiming(values.height, config))),
29
+ },
30
+ callback: callback,
31
+ };
32
+ };
33
+ };
34
+ }
35
+ static createInstance() {
36
+ return new SequencedTransition();
37
+ }
38
+ static reverse() {
39
+ const instance = SequencedTransition.createInstance();
40
+ return instance.reverse();
41
+ }
42
+ reverse() {
43
+ this.reversed = !this.reversed;
44
+ return this;
45
+ }
46
+ }
@@ -0,0 +1,6 @@
1
+ export * from './LinearTransition';
2
+ export * from './FadingTransition';
3
+ export * from './SequencedTransition';
4
+ export * from './JumpingTransition';
5
+ export * from './CurvedTransition';
6
+ export * from './EntryExitTransition';
@@ -1,3 +1,4 @@
1
- export * from './AnimatedRoot';
2
- export * from './defaultAnimationsBuilder';
1
+ import './LayoutAnimationRepository';
2
+ export * from './animationBuilder';
3
3
  export * from './defaultAnimations';
4
+ export * from './defaultTransitions';
@@ -1 +1,3 @@
1
1
  "use strict";
2
+ // RNRender is not used for web. An export is still defined to eliminate warnings from bundlers such as esbuild.
3
+ module.exports = null;
@@ -0,0 +1,9 @@
1
+ import { measure } from './NativeMethods';
2
+ export function getRelativeCoords(parentRef, x, y) {
3
+ 'worklet';
4
+ const parentCoords = measure(parentRef);
5
+ return {
6
+ x: x - parentCoords.x,
7
+ y: y - parentCoords.y,
8
+ };
9
+ }
Binary file
package/package.json CHANGED
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "react-native-reanimated",
3
- "version": "2.3.0-alpha.1",
3
+ "version": "2.3.0-beta.2",
4
4
  "description": "More powerful alternative to Animated library for React Native.",
5
5
  "scripts": {
6
6
  "start": "node node_modules/react-native/local-cli/cli.js start",
7
7
  "test": "yarn run format && yarn run lint-check && yarn run test:unit",
8
8
  "test:unit": "jest",
9
9
  "format": "prettier --write --list-different './src/'",
10
+ "precommit": "yarn lint-java && yarn clang-format",
10
11
  "lint-check": "eslint --ext '.js,.ts,.tsx' src/ && yarn prettier --check src/",
11
12
  "lint-check-cpp": "./scripts/cpplint.sh",
13
+ "lint-java": "node ./scripts/lint-java.js",
14
+ "clang-format": "yarn clang-format-ios && yarn clang-format-android && yarn clang-format-common",
15
+ "clang-format-ios": "find ios/ -iname *.h -o -iname *.m -o -iname *.cpp | xargs clang-format -i",
16
+ "clang-format-android": "find android/src/ -iname *.h -o -iname *.m -o -iname *.cpp | xargs clang-format -i",
17
+ "clang-format-common": "find Common/ -iname *.h -o -iname *.m -o -iname *.cpp | xargs clang-format -i",
12
18
  "release": "npm login && release-it",
13
19
  "type:check": "yarn tsc --noEmit",
14
20
  "type:generate": "yarn type:generate:clean && yarn type:generate:cp-js-src && yarn type:generate:tsc && yarn type:generate:remove.ts && yarn type:generate:remove.tsx",
@@ -27,6 +33,7 @@
27
33
  "Common/",
28
34
  "src/",
29
35
  "lib/",
36
+ "libSo/",
30
37
  "android/src/main/AndroidManifest.xml",
31
38
  "android/src/main/java/",
32
39
  "android/build.gradle",
@@ -59,8 +66,10 @@
59
66
  "homepage": "https://github.com/software-mansion/react-native-reanimated#readme",
60
67
  "dependencies": {
61
68
  "@babel/plugin-transform-object-assign": "^7.10.4",
62
- "fbjs": "^3.0.0",
69
+ "invariant": "^2.2.4",
70
+ "lodash.isequal": "^4.5.0",
63
71
  "mockdate": "^3.0.2",
72
+ "react-native-screens": "^3.4.0",
64
73
  "string-hash-64": "^1.0.3"
65
74
  },
66
75
  "peerDependencies": {
@@ -83,13 +92,14 @@
83
92
  "@types/babel__generator": "^7.6.2",
84
93
  "@types/babel__traverse": "^7.0.15",
85
94
  "@types/jest": "^26.0.15",
86
- "@types/react-native": "^0.64.2",
95
+ "@types/react-native": "^0.65.1",
87
96
  "@typescript-eslint/eslint-plugin": "^4.15.1",
88
97
  "@typescript-eslint/parser": "^4.15.1",
89
98
  "babel-eslint": "^10.0.3",
90
- "babel-jest": "^24.9.0",
99
+ "babel-jest": "^26.6.3",
91
100
  "babel-plugin-module-resolver": "^4.1.0",
92
- "eslint": "^6.5.1",
101
+ "clang-format": "^1.5.0",
102
+ "eslint": "^7.31.0",
93
103
  "eslint-config-prettier": "^6.4.0",
94
104
  "eslint-config-standard": "^14.1.0",
95
105
  "eslint-import-resolver-babel-module": "^5.2.0",
@@ -98,19 +108,20 @@
98
108
  "eslint-plugin-promise": "^4.2.1",
99
109
  "eslint-plugin-standard": "^4.0.1",
100
110
  "husky": "^4.2.5",
101
- "jest": "^24.9.0",
111
+ "jest": "^26.6.3",
102
112
  "lint-staged": "^10.2.11",
103
113
  "prettier": "^2.2.1",
104
- "react": "17.0.1",
105
- "react-native": "0.64.1",
114
+ "react": "17.0.2",
115
+ "react-native": "0.66.0-rc.4",
116
+ "react-native-codegen": "^0.0.7",
106
117
  "react-native-gesture-handler": "^1.6.1",
107
- "react-test-renderer": "17.0.1",
118
+ "react-test-renderer": "17.0.2",
108
119
  "release-it": "^13.1.1",
109
120
  "typescript": "^4.1.3"
110
121
  },
111
122
  "lint-staged": {
112
123
  "*.(js|ts|tsx)": [
113
- "eslint --ext '.js,.ts,.tsx' src/",
124
+ "eslint --ext '.js,.ts,.tsx' src/ --ignore-pattern src/reanimated1 --ignore-pattern react-native-reanimated.d.ts",
114
125
  "prettier --write"
115
126
  ]
116
127
  },