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
@@ -0,0 +1,125 @@
1
+ import { withTiming, withSpring } from '../../animation';
2
+ import { BaseAnimationBuilder } from './BaseAnimationBuilder';
3
+ export class ComplexAnimationBuilder extends BaseAnimationBuilder {
4
+ static easing(easingFunction) {
5
+ const instance = this.createInstance();
6
+ return instance.easing(easingFunction);
7
+ }
8
+ easing(easingFunction) {
9
+ this.easingV = easingFunction;
10
+ return this;
11
+ }
12
+ static rotate(degree) {
13
+ const instance = this.createInstance();
14
+ return instance.rotate(degree);
15
+ }
16
+ rotate(degree) {
17
+ this.rotateV = degree;
18
+ return this;
19
+ }
20
+ static springify() {
21
+ const instance = this.createInstance();
22
+ return instance.springify();
23
+ }
24
+ springify() {
25
+ this.type = withSpring;
26
+ return this;
27
+ }
28
+ static damping(damping) {
29
+ const instance = this.createInstance();
30
+ return instance.damping(damping);
31
+ }
32
+ damping(damping) {
33
+ this.dampingV = damping;
34
+ return this;
35
+ }
36
+ static mass(mass) {
37
+ const instance = this.createInstance();
38
+ return instance.mass(mass);
39
+ }
40
+ mass(mass) {
41
+ this.massV = mass;
42
+ return this;
43
+ }
44
+ static stiffness(stiffness) {
45
+ const instance = this.createInstance();
46
+ return instance.stiffness(stiffness);
47
+ }
48
+ stiffness(stiffness) {
49
+ this.stiffnessV = stiffness;
50
+ return this;
51
+ }
52
+ static overshootClamping(overshootClamping) {
53
+ const instance = this.createInstance();
54
+ return instance.overshootClamping(overshootClamping);
55
+ }
56
+ overshootClamping(overshootClamping) {
57
+ this.overshootClampingV = overshootClamping;
58
+ return this;
59
+ }
60
+ static restDisplacementThreshold(restDisplacementThreshold) {
61
+ const instance = this.createInstance();
62
+ return instance.restDisplacementThreshold(restDisplacementThreshold);
63
+ }
64
+ restDisplacementThreshold(restDisplacementThreshold) {
65
+ this.restDisplacementThresholdV = restDisplacementThreshold;
66
+ return this;
67
+ }
68
+ static restSpeedThreshold(restSpeedThreshold) {
69
+ const instance = this.createInstance();
70
+ return instance.restSpeedThreshold(restSpeedThreshold);
71
+ }
72
+ restSpeedThreshold(restSpeedThreshold) {
73
+ this.restSpeedThresholdV = restSpeedThreshold;
74
+ return this;
75
+ }
76
+ getAnimationAndConfig() {
77
+ const duration = this.durationV;
78
+ const easing = this.easingV;
79
+ const rotate = this.rotateV;
80
+ const type = this.type ? this.type : withTiming;
81
+ const damping = this.dampingV;
82
+ const mass = this.massV;
83
+ const stiffness = this.stiffnessV;
84
+ const overshootClamping = this.overshootClampingV;
85
+ const restDisplacementThreshold = this.restDisplacementThresholdV;
86
+ const restSpeedThreshold = this.restSpeedThresholdV;
87
+ const animation = type;
88
+ const config = {};
89
+ if (type === withTiming) {
90
+ if (easing) {
91
+ config.easing = easing;
92
+ }
93
+ if (duration) {
94
+ config.duration = duration;
95
+ }
96
+ if (rotate) {
97
+ config.rotate = rotate;
98
+ }
99
+ }
100
+ else {
101
+ if (damping) {
102
+ config.damping = damping;
103
+ }
104
+ if (mass) {
105
+ config.mass = mass;
106
+ }
107
+ if (stiffness) {
108
+ config.stiffness = stiffness;
109
+ }
110
+ if (overshootClamping) {
111
+ config.overshootClamping = overshootClamping;
112
+ }
113
+ if (restDisplacementThreshold) {
114
+ config.restDisplacementThreshold = restDisplacementThreshold;
115
+ }
116
+ if (restSpeedThreshold) {
117
+ config.restSpeedThreshold = restSpeedThreshold;
118
+ }
119
+ if (rotate) {
120
+ config.rotate = rotate;
121
+ }
122
+ }
123
+ return [animation, config];
124
+ }
125
+ }
@@ -0,0 +1,193 @@
1
+ import { Easing } from '../../Easing';
2
+ import { withDelay, withSequence, withTiming } from '../../animation';
3
+ export class Keyframe {
4
+ /*
5
+ Keyframe definition should be passed in the constructor as the map
6
+ which keys are between range 0 - 100 (%) and correspond to the point in the animation progress.
7
+ */
8
+ constructor(definitions) {
9
+ this.build = () => {
10
+ const delay = this.delayV;
11
+ const delayFunction = this.getDelayFunction();
12
+ const { keyframes, initialValues } = this.parseDefinitions();
13
+ const callback = this.callbackV;
14
+ return (_targetValues) => {
15
+ 'worklet';
16
+ const animations = {};
17
+ /*
18
+ For each style property, an animations sequence is created that corresponds with its key points.
19
+ Transform style properties require special handling because of their nested structure.
20
+ */
21
+ const addAnimation = (key) => {
22
+ var _a;
23
+ const keyframePoints = keyframes[key];
24
+ // in case if property was only passed as initial value
25
+ if (keyframePoints.length === 0)
26
+ return;
27
+ const animation = delayFunction(delay, keyframePoints.length === 1
28
+ ? withTiming(keyframePoints[0].value, {
29
+ duration: keyframePoints[0].duration,
30
+ easing: keyframePoints[0].easing
31
+ ? keyframePoints[0].easing
32
+ : Easing.linear,
33
+ })
34
+ : withSequence.apply(this, keyframePoints.map((keyframePoint) => withTiming(keyframePoint.value, {
35
+ duration: keyframePoint.duration,
36
+ easing: keyframePoint.easing
37
+ ? keyframePoint.easing
38
+ : Easing.linear,
39
+ }))));
40
+ if (key.includes('transform')) {
41
+ if (!('transform' in animations)) {
42
+ animations.transform = [];
43
+ }
44
+ (_a = animations.transform) === null || _a === void 0 ? void 0 : _a.push({
45
+ [key.split(':')[1]]: animation,
46
+ });
47
+ }
48
+ else {
49
+ animations[key] = animation;
50
+ }
51
+ };
52
+ Object.keys(initialValues).forEach((key) => {
53
+ if (key.includes('transform')) {
54
+ initialValues[key].forEach((transformProp, index) => {
55
+ Object.keys(transformProp).forEach((transformPropKey) => {
56
+ addAnimation(index.toString() + '_transform:' + transformPropKey);
57
+ });
58
+ });
59
+ }
60
+ else {
61
+ addAnimation(key);
62
+ }
63
+ });
64
+ return {
65
+ animations: animations,
66
+ initialValues: initialValues,
67
+ callback: callback,
68
+ };
69
+ };
70
+ };
71
+ this.definitions = definitions;
72
+ }
73
+ parseDefinitions() {
74
+ /*
75
+ Each style property contain an array with all their key points:
76
+ value, duration of transition to that value, and optional easing function (defaults to Linear)
77
+ */
78
+ const parsedKeyframes = {};
79
+ /*
80
+ Parsing keyframes 'from' and 'to'.
81
+ */
82
+ if (this.definitions.from) {
83
+ if (this.definitions['0']) {
84
+ throw Error("You cannot provide both keyframe 0 and 'from' as they both specified initial values");
85
+ }
86
+ this.definitions['0'] = this.definitions.from;
87
+ delete this.definitions.from;
88
+ }
89
+ if (this.definitions.to) {
90
+ if (this.definitions['100']) {
91
+ throw Error("You cannot provide both keyframe 100 and 'to' as they both specified values at the end of the animation.");
92
+ }
93
+ this.definitions['100'] = this.definitions.to;
94
+ delete this.definitions.to;
95
+ }
96
+ /*
97
+ One of the assumptions is that keyframe 0 is required to properly set initial values.
98
+ Every other keyframe should contain properties from the set provided as initial values.
99
+ */
100
+ if (!this.definitions['0']) {
101
+ throw Error("Please provide 0, or 'from' keyframe with initial state of your object.");
102
+ }
103
+ const initialValues = this.definitions['0'];
104
+ /*
105
+ Initialize parsedKeyframes for properties provided in initial keyframe
106
+ */
107
+ Object.keys(initialValues).forEach((styleProp) => {
108
+ var _a;
109
+ if (styleProp === 'transform') {
110
+ (_a = initialValues[styleProp]) === null || _a === void 0 ? void 0 : _a.forEach((transformStyle, index) => {
111
+ Object.keys(transformStyle).forEach((transformProp) => {
112
+ parsedKeyframes[index.toString() + '_transform:' + transformProp] = [];
113
+ });
114
+ });
115
+ }
116
+ else {
117
+ parsedKeyframes[styleProp] = [];
118
+ }
119
+ });
120
+ const duration = this.durationV ? this.durationV : 500;
121
+ const animationKeyPoints = Array.from(Object.keys(this.definitions));
122
+ const getAnimationDuration = (key, currentKeyPoint) => {
123
+ const maxDuration = (currentKeyPoint / 100) * duration;
124
+ const currentDuration = parsedKeyframes[key].reduce((acc, value) => acc + value.duration, 0);
125
+ return maxDuration - currentDuration;
126
+ };
127
+ /*
128
+ Other keyframes can't contain properties that were not specified in initial keyframe.
129
+ */
130
+ const addKeyPoint = ({ key, value, currentKeyPoint, easing, }) => {
131
+ if (!(key in parsedKeyframes)) {
132
+ throw Error("Keyframe can contain only that set of properties that were provide with initial values (keyframe 0 or 'from')");
133
+ }
134
+ parsedKeyframes[key].push({
135
+ duration: getAnimationDuration(key, currentKeyPoint),
136
+ value: value,
137
+ easing: easing,
138
+ });
139
+ };
140
+ animationKeyPoints
141
+ .filter((value) => parseInt(value) !== 0)
142
+ .sort((a, b) => parseInt(a) - parseInt(b))
143
+ .forEach((keyPoint) => {
144
+ if (parseInt(keyPoint) < 0 || parseInt(keyPoint) > 100) {
145
+ throw Error('Keyframe should be in between range 0 - 100.');
146
+ }
147
+ const keyframe = this.definitions[keyPoint];
148
+ const easing = keyframe.easing;
149
+ delete keyframe.easing;
150
+ const addKeyPointWith = (key, value) => addKeyPoint({
151
+ key,
152
+ value,
153
+ currentKeyPoint: parseInt(keyPoint),
154
+ easing,
155
+ });
156
+ Object.keys(keyframe).forEach((key) => {
157
+ var _a;
158
+ if (key === 'transform') {
159
+ (_a = keyframe[key]) === null || _a === void 0 ? void 0 : _a.forEach((transformStyle, index) => {
160
+ Object.keys(transformStyle).forEach((transformProp) => {
161
+ addKeyPointWith(index.toString() + '_transform:' + transformProp, transformStyle[transformProp]);
162
+ });
163
+ });
164
+ }
165
+ else {
166
+ addKeyPointWith(key, keyframe[key]);
167
+ }
168
+ });
169
+ });
170
+ return { initialValues: initialValues, keyframes: parsedKeyframes };
171
+ }
172
+ duration(durationMs) {
173
+ this.durationV = durationMs;
174
+ return this;
175
+ }
176
+ delay(delayMs) {
177
+ this.delayV = delayMs;
178
+ return this;
179
+ }
180
+ withCallback(callback) {
181
+ this.callbackV = callback;
182
+ return this;
183
+ }
184
+ getDelayFunction() {
185
+ const delay = this.delayV;
186
+ return delay
187
+ ? withDelay
188
+ : (_, animation) => {
189
+ 'worklet';
190
+ return animation;
191
+ };
192
+ }
193
+ }
@@ -0,0 +1,3 @@
1
+ export { BaseAnimationBuilder } from './BaseAnimationBuilder';
2
+ export { ComplexAnimationBuilder } from './ComplexAnimationBuilder';
3
+ export { Keyframe } from './Keyframe';