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,6 +1,6 @@
1
- #import <UIKit/UIKit.h>
2
1
  #import <QuartzCore/QuartzCore.h>
3
2
  #import <React/RCTView.h>
3
+ #import <UIKit/UIKit.h>
4
4
 
5
5
  #import "REATransitionAnimation.h"
6
6
  #import "REATransitionValues.h"
@@ -53,12 +53,13 @@ typedef NS_ENUM(NSInteger, REATransitionPropagationType) {
53
53
  - (void)playInRoot:(UIView *)root;
54
54
  - (REATransitionValues *)findStartValuesForKey:(NSNumber *)key;
55
55
  - (REATransitionValues *)findEndValuesForKey:(NSNumber *)key;
56
- - (REATransitionAnimation *)animationForTransitioning:(REATransitionValues*)startValues
57
- endValues:(REATransitionValues*)endValues
58
- forRoot:(UIView *)root;
59
- - (NSArray<REATransitionAnimation*> *)animationsForTransitioning:(NSMutableDictionary<NSNumber*, REATransitionValues*> *)startValues
60
- endValues:(NSMutableDictionary<NSNumber*, REATransitionValues*> *)endValues
61
- forRoot:(UIView *)root;
56
+ - (REATransitionAnimation *)animationForTransitioning:(REATransitionValues *)startValues
57
+ endValues:(REATransitionValues *)endValues
58
+ forRoot:(UIView *)root;
59
+ - (NSArray<REATransitionAnimation *> *)
60
+ animationsForTransitioning:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)startValues
61
+ endValues:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)endValues
62
+ forRoot:(UIView *)root;
62
63
 
63
64
  + (REATransition *)inflate:(NSDictionary *)config;
64
65
  @end
@@ -1,11 +1,11 @@
1
- #import <UIKit/UIKit.h>
2
1
  #import <QuartzCore/QuartzCore.h>
3
2
  #import <React/RCTConvert.h>
4
3
  #import <React/RCTViewManager.h>
4
+ #import <UIKit/UIKit.h>
5
5
 
6
+ #import "RCTConvert+REATransition.h"
6
7
  #import "REATransition.h"
7
8
  #import "REATransitionValues.h"
8
- #import "RCTConvert+REATransition.h"
9
9
 
10
10
  #define DEFAULT_PROPAGATION_SPEED 3
11
11
 
@@ -17,8 +17,8 @@
17
17
 
18
18
  @interface REAVisibilityTransition : REATransition
19
19
  @property (nonatomic) REATransitionAnimationType animationType;
20
- - (REATransitionAnimation *)appearView:(UIView*)view inParent:(UIView*)parent;
21
- - (REATransitionAnimation *)disappearView:(UIView*)view fromParent:(UIView*)parent;
20
+ - (REATransitionAnimation *)appearView:(UIView *)view inParent:(UIView *)parent;
21
+ - (REATransitionAnimation *)disappearView:(UIView *)view fromParent:(UIView *)parent;
22
22
  - (instancetype)initWithConfig:(NSDictionary *)config;
23
23
  @end
24
24
 
@@ -36,8 +36,8 @@
36
36
 
37
37
  @implementation REATransition {
38
38
  __weak UIView *_root;
39
- NSMutableDictionary<NSNumber*, REATransitionValues*> *_startValues;
40
- NSMutableDictionary<NSNumber*, REATransitionValues*> *_endValues;
39
+ NSMutableDictionary<NSNumber *, REATransitionValues *> *_startValues;
40
+ NSMutableDictionary<NSNumber *, REATransitionValues *> *_endValues;
41
41
  }
42
42
 
43
43
  + (REATransition *)inflate:(NSDictionary *)config
@@ -70,7 +70,9 @@
70
70
  return self;
71
71
  }
72
72
 
73
- - (void)captureRecursiveIn:(UIView *)view to:(NSMutableDictionary<NSNumber*, REATransitionValues*> *)map forRoot:(UIView *)root
73
+ - (void)captureRecursiveIn:(UIView *)view
74
+ to:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)map
75
+ forRoot:(UIView *)root
74
76
  {
75
77
  NSNumber *tag = view.reactTag;
76
78
  if (tag != nil) {
@@ -91,9 +93,7 @@
91
93
  {
92
94
  _endValues = [NSMutableDictionary new];
93
95
  [self captureRecursiveIn:root to:_endValues forRoot:root];
94
- NSArray *animations = [self animationsForTransitioning:_startValues
95
- endValues:_endValues
96
- forRoot:root];
96
+ NSArray *animations = [self animationsForTransitioning:_startValues endValues:_endValues forRoot:root];
97
97
  for (REATransitionAnimation *animation in animations) {
98
98
  [animation play];
99
99
  }
@@ -164,15 +164,16 @@
164
164
  }
165
165
 
166
166
  - (REATransitionAnimation *)animationForTransitioning:(REATransitionValues *)startValues
167
- endValues:(REATransitionValues *)endValues
168
- forRoot:(UIView *)root
167
+ endValues:(REATransitionValues *)endValues
168
+ forRoot:(UIView *)root
169
169
  {
170
170
  return nil;
171
171
  }
172
172
 
173
- - (NSArray<REATransitionAnimation*> *)animationsForTransitioning:(NSMutableDictionary<NSNumber *,REATransitionValues *> *)startValues
174
- endValues:(NSMutableDictionary<NSNumber *,REATransitionValues *> *)endValues
175
- forRoot:(UIView *)root
173
+ - (NSArray<REATransitionAnimation *> *)
174
+ animationsForTransitioning:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)startValues
175
+ endValues:(NSMutableDictionary<NSNumber *, REATransitionValues *> *)endValues
176
+ forRoot:(UIView *)root
176
177
  {
177
178
  NSMutableArray *animations = [NSMutableArray new];
178
179
  [startValues enumerateKeysAndObjectsUsingBlock:^(NSNumber *key, REATransitionValues *startValue, BOOL *stop) {
@@ -182,7 +183,9 @@
182
183
  animation.animation.timingFunction = self.mediaTiming;
183
184
  animation.animation.duration = self.duration;
184
185
  [animation delayBy:self.delay];
185
- CFTimeInterval propagationDelay = [self propagationDelayForTransitioning:startValue endValues:endValue forRoot:root];
186
+ CFTimeInterval propagationDelay = [self propagationDelayForTransitioning:startValue
187
+ endValues:endValue
188
+ forRoot:root];
186
189
  [animation delayBy:propagationDelay];
187
190
  // animation.animation.duration -= propagationDelay;
188
191
  [animations addObject:animation];
@@ -8,7 +8,7 @@
8
8
 
9
9
  + (REATransitionAnimation *)transitionWithAnimation:(CAAnimation *)animation
10
10
  layer:(CALayer *)layer
11
- andKeyPath:(NSString*)keyPath;
11
+ andKeyPath:(NSString *)keyPath;
12
12
  - (void)play;
13
13
  - (void)delayBy:(CFTimeInterval)delay;
14
14
  - (CFTimeInterval)finishTime;
@@ -2,7 +2,6 @@
2
2
 
3
3
  #import "REATransitionAnimation.h"
4
4
 
5
-
6
5
  #define DEFAULT_DURATION 0.25
7
6
 
8
7
  #if TARGET_IPHONE_SIMULATOR
@@ -31,7 +30,7 @@ CGFloat SimAnimationDragCoefficient()
31
30
 
32
31
  + (REATransitionAnimation *)transitionWithAnimation:(CAAnimation *)animation
33
32
  layer:(CALayer *)layer
34
- andKeyPath:(NSString*)keyPath;
33
+ andKeyPath:(NSString *)keyPath;
35
34
  {
36
35
  REATransitionAnimation *anim = [REATransitionAnimation new];
37
36
  anim.animation = animation;
@@ -47,7 +46,7 @@ CGFloat SimAnimationDragCoefficient()
47
46
  it calls mach_absolute_time() which is based on the last time the device booted
48
47
  which might cause the delay
49
48
  */
50
- if (_delay > 0){
49
+ if (_delay > 0) {
51
50
  _animation.beginTime = CACurrentMediaTime() + _delay * SimAnimationDragCoefficient();
52
51
  }
53
52
  _animation.duration = self.duration * SimAnimationDragCoefficient();
@@ -35,7 +35,7 @@
35
35
 
36
36
  - (void)uiManagerWillPerformMounting:(RCTUIManager *)manager
37
37
  {
38
- [manager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *,UIView *> *viewRegistry) {
38
+ [manager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
39
39
  [_pendingTransition playInRoot:_pendingTransitionRoot];
40
40
  _pendingTransitionRoot = nil;
41
41
  _pendingTransition = nil;
@@ -45,7 +45,7 @@
45
45
  - (void)animateNextTransitionInRoot:(NSNumber *)reactTag withConfig:(NSDictionary *)config
46
46
  {
47
47
  [_uiManager.observerCoordinator addObserver:self];
48
- [_uiManager prependUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *,UIView *> *viewRegistry) {
48
+ [_uiManager prependUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
49
49
  UIView *view = viewRegistry[reactTag];
50
50
  NSArray *transitionConfigs = [RCTConvert NSArray:config[@"transitions"]];
51
51
  for (id transitionConfig in transitionConfigs) {
@@ -54,7 +54,7 @@
54
54
  }
55
55
  }];
56
56
  __weak id weakSelf = self;
57
- [_uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *,UIView *> *viewRegistry) {
57
+ [_uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
58
58
  [uiManager.observerCoordinator removeObserver:weakSelf];
59
59
  }];
60
60
  }
@@ -1,11 +1,21 @@
1
1
  #import <Foundation/Foundation.h>
2
- #import <vector>
3
- #import <string>
4
2
  #import <React/RCTUIManager.h>
3
+ #include <string>
4
+ #import <string>
5
+ #include <utility>
6
+ #include <vector>
7
+ #import <vector>
5
8
 
6
9
  namespace reanimated {
7
10
 
8
- std::vector<std::pair<std::string,double>> measure(int viewTag, RCTUIManager *uiManager);
9
- void scrollTo(int scrollViewTag, RCTUIManager *uiManager, double x, double y, bool animated);
11
+ std::vector<std::pair<std::string, double>> measure(
12
+ int viewTag,
13
+ RCTUIManager *uiManager);
14
+ void scrollTo(
15
+ int scrollViewTag,
16
+ RCTUIManager *uiManager,
17
+ double x,
18
+ double y,
19
+ bool animated);
10
20
 
11
- }
21
+ } // namespace reanimated
@@ -1,12 +1,13 @@
1
1
  #import <React/RCTEventDispatcher.h>
2
2
 
3
3
  #if __cplusplus
4
-
5
4
  #import <RNReanimated/NativeReanimatedModule.h>
5
+ #include <memory>
6
6
 
7
7
  namespace reanimated {
8
-
9
- std::shared_ptr<reanimated::NativeReanimatedModule> createReanimatedModule(std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
8
+
9
+ std::shared_ptr<reanimated::NativeReanimatedModule> createReanimatedModule(
10
+ std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
10
11
 
11
12
  }
12
13
 
@@ -9,9 +9,11 @@
9
9
  #import <React/RCTUIManager.h>
10
10
  #import "LayoutAnimationsProxy.h"
11
11
  #import "REAAnimationsManager.h"
12
- #import "REAReactBatchObserver.h"
12
+ #import "REAUIManager.h"
13
13
 
14
- #if __has_include(<hermes/hermes.h>)
14
+ #if __has_include(<reacthermes/HermesExecutorFactory.h>)
15
+ #import <reacthermes/HermesExecutorFactory.h>
16
+ #elif __has_include(<hermes/hermes.h>)
15
17
  #import <hermes/hermes.h>
16
18
  #else
17
19
  #import <jsi/JSCRuntime.h>
@@ -113,8 +115,9 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(std::shared_ptr<C
113
115
  return val;
114
116
  };
115
117
 
116
-
117
- #if __has_include(<hermes/hermes.h>)
118
+ #if __has_include(<reacthermes/HermesExecutorFactory.h>)
119
+ std::shared_ptr<jsi::Runtime> animatedRuntime = facebook::hermes::makeHermesRuntime();
120
+ #elif __has_include(<hermes/hermes.h>)
118
121
  std::shared_ptr<jsi::Runtime> animatedRuntime = facebook::hermes::makeHermesRuntime();
119
122
  #else
120
123
  std::shared_ptr<jsi::Runtime> animatedRuntime = facebook::jsc::makeJSCRuntime();
@@ -124,6 +127,14 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(std::shared_ptr<C
124
127
  std::shared_ptr<ErrorHandler> errorHandler = std::make_shared<REAIOSErrorHandler>(scheduler);
125
128
  std::shared_ptr<NativeReanimatedModule> module;
126
129
 
130
+ __block std::weak_ptr<Scheduler> weakScheduler = scheduler;
131
+ ((REAUIManager*)uiManager).flushUiOperations = ^void() {
132
+ std::shared_ptr<Scheduler> scheduler = weakScheduler.lock();
133
+ if (scheduler != nullptr) {
134
+ scheduler->triggerUI();
135
+ }
136
+ };
137
+
127
138
  auto requestRender = [reanimatedModule, &module](std::function<void(double)> onRender, jsi::Runtime &rt) {
128
139
  [reanimatedModule.nodesManager postOnAnimation:^(CADisplayLink *displayLink) {
129
140
  double frameTimestamp = displayLink.targetTimestamp * 1000;
@@ -140,7 +151,10 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(std::shared_ptr<C
140
151
  };
141
152
 
142
153
  // Layout Animations start
143
- __weak REAAnimationsManager *animationsManager = reanimatedModule.reactBatchObserver.animationsManager;
154
+ REAUIManager* reaUiManagerNoCast = [bridge moduleForClass:[REAUIManager class]];
155
+ RCTUIManager* reaUiManager = reaUiManagerNoCast;
156
+ REAAnimationsManager *animationsManager = [[REAAnimationsManager alloc] initWithUIManager:reaUiManager];
157
+ [reaUiManagerNoCast setUp:animationsManager];
144
158
 
145
159
  auto notifyAboutProgress = [=](int tag, jsi::Object newStyle) {
146
160
  if (animationsManager) {
@@ -1,20 +1,23 @@
1
1
  #pragma once
2
2
 
3
+ #include <memory>
4
+ #include <string>
3
5
  #include "ErrorHandler.h"
4
6
  #include "Scheduler.h"
5
7
 
6
8
  namespace reanimated {
7
9
 
8
10
  class REAIOSErrorHandler : public ErrorHandler {
9
- std::shared_ptr<Scheduler> scheduler;
10
- void raiseSpec() override;
11
- std::shared_ptr<ErrorWrapper> error;
12
- public:
13
- REAIOSErrorHandler(std::shared_ptr<Scheduler> scheduler);
14
- std::shared_ptr<Scheduler> getScheduler() override;
15
- std::shared_ptr<ErrorWrapper> getError() override;
16
- void setError(std::string message) override;
17
- virtual ~REAIOSErrorHandler() {}
11
+ std::shared_ptr<Scheduler> scheduler;
12
+ void raiseSpec() override;
13
+ std::shared_ptr<ErrorWrapper> error;
14
+
15
+ public:
16
+ REAIOSErrorHandler(std::shared_ptr<Scheduler> scheduler);
17
+ std::shared_ptr<Scheduler> getScheduler() override;
18
+ std::shared_ptr<ErrorWrapper> getError() override;
19
+ void setError(std::string message) override;
20
+ virtual ~REAIOSErrorHandler() {}
18
21
  };
19
22
 
20
- }
23
+ } // namespace reanimated
@@ -1,17 +1,17 @@
1
1
  #pragma once
2
2
 
3
- #include "ReanimatedHiddenHeaders.h"
4
3
  #include <stdio.h>
4
+ #include "ReanimatedHiddenHeaders.h"
5
5
 
6
6
  namespace reanimated {
7
7
 
8
8
  class REAIOSLogger : public LoggerInterface {
9
- public:
10
- void log(const char* str) override;
11
- void log(double d) override;
12
- void log(int i) override;
13
- void log(bool b) override;
14
- virtual ~REAIOSLogger() {}
9
+ public:
10
+ void log(const char *str) override;
11
+ void log(double d) override;
12
+ void log(int i) override;
13
+ void log(bool b) override;
14
+ virtual ~REAIOSLogger() {}
15
15
  };
16
16
 
17
- }
17
+ } // namespace reanimated
@@ -1,18 +1,18 @@
1
1
  #pragma once
2
2
 
3
+ #import <React/RCTUIManager.h>
4
+ #import <ReactCommon/CallInvoker.h>
3
5
  #include <stdio.h>
6
+ #include <memory>
4
7
  #include "Scheduler.h"
5
- #import <ReactCommon/CallInvoker.h>
6
- #import <React/RCTUIManager.h>
7
8
 
8
- namespace reanimated
9
- {
9
+ namespace reanimated {
10
10
 
11
11
  using namespace facebook;
12
12
  using namespace react;
13
13
 
14
14
  class REAIOSScheduler : public Scheduler {
15
- public:
15
+ public:
16
16
  REAIOSScheduler(std::shared_ptr<CallInvoker> jsInvoker);
17
17
  void scheduleOnUI(std::function<void()> job) override;
18
18
  virtual ~REAIOSScheduler();
@@ -25,12 +25,14 @@ void REAIOSScheduler::scheduleOnUI(std::function<void()> job) {
25
25
  if (runtimeManager.lock()) triggerUI();
26
26
  return;
27
27
  }
28
+
29
+ if (!this->scheduledOnUI) {
30
+ __block std::weak_ptr<RuntimeManager> blockRuntimeManager = runtimeManager;
28
31
 
29
- __block std::weak_ptr<RuntimeManager> blockRuntimeManager = runtimeManager;
30
-
31
- dispatch_async(dispatch_get_main_queue(), ^{
32
- if (blockRuntimeManager.lock()) triggerUI();
33
- });
32
+ dispatch_async(dispatch_get_main_queue(), ^{
33
+ if (blockRuntimeManager.lock()) triggerUI();
34
+ });
35
+ }
34
36
  }
35
37
 
36
38
  REAIOSScheduler::~REAIOSScheduler(){
@@ -0,0 +1,37 @@
1
+ //
2
+ // REAInitializer.h
3
+ // RNReanimated
4
+ //
5
+ // Created by Szymon Kapala on 27/07/2021.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <RNReanimated/NativeProxy.h>
10
+ #import <RNReanimated/REAEventDispatcher.h>
11
+ #import <RNReanimated/REAModule.h>
12
+ #import <React/RCTBridge+Private.h>
13
+ #import <React/RCTCxxBridgeDelegate.h>
14
+ #import <ReactCommon/RCTTurboModuleManager.h>
15
+ #import <jsireact/JSIExecutor.h>
16
+
17
+ #if RNVERSION >= 64
18
+ #import <React/RCTJSIExecutorRuntimeInstaller.h>
19
+ #endif
20
+
21
+ #if RNVERSION < 63
22
+ #import <ReactCommon/BridgeJSCallInvoker.h>
23
+ #endif
24
+
25
+ NS_ASSUME_NONNULL_BEGIN
26
+
27
+ namespace reanimated {
28
+
29
+ using namespace facebook;
30
+ using namespace react;
31
+
32
+ JSIExecutor::RuntimeInstaller REAJSIExecutorRuntimeInstaller(
33
+ RCTBridge *bridge,
34
+ JSIExecutor::RuntimeInstaller runtimeInstallerToWrap);
35
+
36
+ } // namespace reanimated
37
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,63 @@
1
+ #import "REAInitializer.h"
2
+ #import "REAUIManager.h"
3
+
4
+ @interface RCTEventDispatcher(Reanimated)
5
+
6
+ - (void)setBridge:(RCTBridge*)bridge;
7
+
8
+ @end
9
+
10
+ namespace reanimated {
11
+
12
+ using namespace facebook;
13
+ using namespace react;
14
+
15
+ JSIExecutor::RuntimeInstaller REAJSIExecutorRuntimeInstaller(
16
+ RCTBridge* bridge,
17
+ JSIExecutor::RuntimeInstaller runtimeInstallerToWrap)
18
+ {
19
+ [bridge moduleForClass:[RCTUIManager class]];
20
+ REAUIManager* reaUiManager = [REAUIManager new];
21
+ [reaUiManager setBridge:bridge];
22
+ RCTUIManager* uiManager = reaUiManager;
23
+ [bridge updateModuleWithInstance:uiManager];
24
+
25
+ [bridge moduleForClass:[RCTEventDispatcher class]];
26
+ RCTEventDispatcher *eventDispatcher = [REAEventDispatcher new];
27
+ #if RNVERSION >= 66
28
+ RCTCallableJSModules *callableJSModules = [RCTCallableJSModules new];
29
+ [bridge setValue:callableJSModules forKey:@"_callableJSModules"];
30
+ [callableJSModules setBridge:bridge];
31
+ [eventDispatcher setValue:callableJSModules forKey:@"_callableJSModules"];
32
+ [eventDispatcher setValue:bridge forKey:@"_bridge"];
33
+ [eventDispatcher initialize];
34
+ #else
35
+ [eventDispatcher setBridge:bridge];
36
+ #endif
37
+ [bridge updateModuleWithInstance:eventDispatcher];
38
+ _bridge_reanimated = bridge;
39
+ const auto runtimeInstaller = [bridge, runtimeInstallerToWrap](facebook::jsi::Runtime &runtime) {
40
+ if (!bridge) {
41
+ return;
42
+ }
43
+ #if RNVERSION >= 63
44
+ auto reanimatedModule = reanimated::createReanimatedModule(bridge.jsCallInvoker);
45
+ #else
46
+ auto callInvoker = std::make_shared<react::BridgeJSCallInvoker>(bridge.reactInstance);
47
+ auto reanimatedModule = reanimated::createReanimatedModule(callInvoker);
48
+ #endif
49
+ runtime.global().setProperty(runtime,
50
+ jsi::PropNameID::forAscii(runtime, "__reanimatedModuleProxy"),
51
+ jsi::Object::createFromHostObject(runtime, reanimatedModule));
52
+
53
+ if (runtimeInstallerToWrap) {
54
+ runtimeInstallerToWrap(runtime);
55
+ }
56
+ };
57
+ return runtimeInstaller;
58
+ }
59
+
60
+
61
+ }
62
+
63
+
@@ -1,21 +1,11 @@
1
1
  #import "UIResponder+Reanimated.h"
2
- #import <React/RCTCxxBridgeDelegate.h>
3
- #import <RNReanimated/NativeProxy.h>
4
- #import <RNReanimated/REAModule.h>
5
- #import <ReactCommon/RCTTurboModuleManager.h>
6
- #import <React/RCTBridge+Private.h>
7
- #import <React/RCTCxxBridgeDelegate.h>
8
- #import <RNReanimated/REAEventDispatcher.h>
2
+ #import "REAUIManager.h"
3
+ #import "REAInitializer.h"
9
4
 
10
- #if RNVERSION >= 64
11
- #import <React/RCTJSIExecutorRuntimeInstaller.h>
12
- #endif
13
-
14
- #if RNVERSION < 63
15
- #import <ReactCommon/BridgeJSCallInvoker.h>
16
- #endif
17
-
18
- #if __has_include(<React/HermesExecutorFactory.h>)
5
+ #if __has_include(<reacthermes/HermesExecutorFactory.h>)
6
+ #import <reacthermes/HermesExecutorFactory.h>
7
+ typedef HermesExecutorFactory ExecutorFactory;
8
+ #elif __has_include(<React/HermesExecutorFactory.h>)
19
9
  #import <React/HermesExecutorFactory.h>
20
10
  typedef HermesExecutorFactory ExecutorFactory;
21
11
  #else
@@ -25,45 +15,16 @@ typedef JSCExecutorFactory ExecutorFactory;
25
15
 
26
16
  #ifndef DONT_AUTOINSTALL_REANIMATED
27
17
 
28
- @interface RCTEventDispatcher(Reanimated)
29
-
30
- - (void)setBridge:(RCTBridge*)bridge;
31
-
32
- @end
33
-
34
18
  @implementation UIResponder (Reanimated)
35
19
  - (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge
36
20
  {
37
- [bridge moduleForClass:[RCTEventDispatcher class]];
38
- RCTEventDispatcher *eventDispatcher = [REAEventDispatcher new];
39
- [eventDispatcher setBridge:bridge];
40
- [bridge updateModuleWithInstance:eventDispatcher];
41
- _bridge_reanimated = bridge;
42
- __weak __typeof(self) weakSelf = self;
43
-
44
- const auto executor = [weakSelf, bridge](facebook::jsi::Runtime &runtime) {
45
- if (!bridge) {
46
- return;
47
- }
48
- __typeof(self) strongSelf = weakSelf;
49
- if (strongSelf) {
50
- #if RNVERSION >= 63
51
- auto reanimatedModule = reanimated::createReanimatedModule(bridge.jsCallInvoker);
52
- #else
53
- auto callInvoker = std::make_shared<react::BridgeJSCallInvoker>(bridge.reactInstance);
54
- auto reanimatedModule = reanimated::createReanimatedModule(callInvoker);
55
- #endif
56
- runtime.global().setProperty(runtime,
57
- jsi::PropNameID::forAscii(runtime, "__reanimatedModuleProxy"),
58
- jsi::Object::createFromHostObject(runtime, reanimatedModule));
59
- }
60
- };
21
+ const auto installer = reanimated::REAJSIExecutorRuntimeInstaller(bridge, NULL);
61
22
 
62
23
  #if RNVERSION >= 64
63
24
  // installs globals such as console, nativePerformanceNow, etc.
64
- return std::make_unique<ExecutorFactory>(RCTJSIExecutorRuntimeInstaller(executor));
25
+ return std::make_unique<ExecutorFactory>(RCTJSIExecutorRuntimeInstaller(installer));
65
26
  #else
66
- return std::make_unique<ExecutorFactory>(executor);
27
+ return std::make_unique<ExecutorFactory>(installer);
67
28
  #endif
68
29
  }
69
30
 
@@ -103,6 +103,7 @@ let NATIVE_THREAD_PROPS_WHITELIST = {
103
103
  color: true,
104
104
  tintColor: true,
105
105
  shadowColor: true,
106
+ placeholderTextColor: true,
106
107
  };
107
108
 
108
109
  function configureProps() {
@@ -1,5 +1,13 @@
1
1
  import { NativeModules } from 'react-native';
2
+ import ReanimatedModuleCompat from './ReanimatedModuleCompat';
3
+ import { nativeShouldBeMock } from './reanimated2/PlatformChecker';
2
4
 
3
- const { ReanimatedModule } = NativeModules;
5
+ let exportedModule;
6
+ if (nativeShouldBeMock()) {
7
+ exportedModule = ReanimatedModuleCompat;
8
+ } else {
9
+ const { ReanimatedModule } = NativeModules;
10
+ exportedModule = ReanimatedModule;
11
+ }
4
12
 
5
- export default ReanimatedModule;
13
+ export default exportedModule;