react-native-reanimated 3.0.0-rc.0 → 3.0.0-rc.1

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 (634) hide show
  1. package/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp +4 -4
  2. package/Common/cpp/Fabric/FabricUtils.cpp +7 -2
  3. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +32 -9
  4. package/Common/cpp/Fabric/ShadowTreeCloner.cpp +92 -0
  5. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +60 -35
  6. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +23 -0
  7. package/Common/cpp/Tools/RuntimeDecorator.cpp +17 -11
  8. package/Common/cpp/headers/Fabric/FabricUtils.h +3 -2
  9. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +1 -0
  10. package/Common/cpp/headers/Fabric/ShadowTreeCloner.h +41 -0
  11. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +9 -0
  12. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +8 -0
  13. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +5 -0
  14. package/RNReanimated.podspec +28 -6
  15. package/android/CMakeLists.txt +73 -53
  16. package/android/build.gradle +178 -34
  17. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +25 -0
  18. package/android/src/main/cpp/NativeProxy.cpp +48 -13
  19. package/android/src/main/cpp/OnLoad.cpp +1 -0
  20. package/android/src/main/cpp/headers/NativeProxy.h +29 -0
  21. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +3 -1
  22. package/android/src/main/java/com/swmansion/reanimated/keyboardObserver/ReanimatedKeyboardEventListener.java +165 -0
  23. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +19 -16
  24. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +5 -1
  25. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorListener.java +24 -1
  26. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +7 -5
  27. package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +25 -0
  28. package/ios/REAModule.mm +1 -1
  29. package/ios/REANodesManager.mm +31 -8
  30. package/ios/keyboardObserver/REAKeyboardEventObserver.h +17 -0
  31. package/ios/keyboardObserver/REAKeyboardEventObserver.m +198 -0
  32. package/ios/native/NativeProxy.mm +19 -68
  33. package/ios/native/REAJSIUtils.h +66 -0
  34. package/ios/sensor/ReanimatedSensor.m +27 -18
  35. package/lib/commonjs/Animated.js +70 -0
  36. package/lib/commonjs/Animated.js.map +1 -0
  37. package/lib/commonjs/ConfigHelper.js +173 -0
  38. package/lib/commonjs/ConfigHelper.js.map +1 -0
  39. package/lib/commonjs/createAnimatedComponent.js +474 -0
  40. package/lib/commonjs/createAnimatedComponent.js.map +1 -0
  41. package/lib/commonjs/index.js +44 -0
  42. package/lib/commonjs/index.js.map +1 -0
  43. package/lib/commonjs/index.web.js +32 -0
  44. package/lib/commonjs/index.web.js.map +1 -0
  45. package/lib/commonjs/reanimated2/Bezier.js +166 -0
  46. package/lib/commonjs/reanimated2/Bezier.js.map +1 -0
  47. package/lib/commonjs/reanimated2/Colors.js +673 -0
  48. package/lib/commonjs/reanimated2/Colors.js.map +1 -0
  49. package/lib/{reanimated2 → commonjs/reanimated2}/Easing.js +151 -83
  50. package/lib/commonjs/reanimated2/Easing.js.map +1 -0
  51. package/lib/commonjs/reanimated2/NativeMethods.js +100 -0
  52. package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -0
  53. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +99 -0
  54. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -0
  55. package/lib/commonjs/reanimated2/NativeReanimated/index.js +26 -0
  56. package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -0
  57. package/lib/commonjs/reanimated2/PlatformChecker.js +33 -0
  58. package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -0
  59. package/lib/commonjs/reanimated2/PropAdapters.js +68 -0
  60. package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -0
  61. package/lib/commonjs/reanimated2/UpdateProps.js +82 -0
  62. package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -0
  63. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +96 -0
  64. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -0
  65. package/lib/commonjs/reanimated2/WorkletEventHandler.js +75 -0
  66. package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -0
  67. package/lib/commonjs/reanimated2/animation/commonTypes.js +6 -0
  68. package/lib/commonjs/reanimated2/animation/commonTypes.js.map +1 -0
  69. package/lib/commonjs/reanimated2/animation/decay.js +132 -0
  70. package/lib/commonjs/reanimated2/animation/decay.js.map +1 -0
  71. package/lib/commonjs/reanimated2/animation/delay.js +89 -0
  72. package/lib/commonjs/reanimated2/animation/delay.js.map +1 -0
  73. package/lib/commonjs/reanimated2/animation/index.js +82 -0
  74. package/lib/commonjs/reanimated2/animation/index.js.map +1 -0
  75. package/lib/commonjs/reanimated2/animation/repeat.js +107 -0
  76. package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -0
  77. package/lib/commonjs/reanimated2/animation/sequence.js +103 -0
  78. package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -0
  79. package/lib/commonjs/reanimated2/animation/spring.js +121 -0
  80. package/lib/commonjs/reanimated2/animation/spring.js.map +1 -0
  81. package/lib/commonjs/reanimated2/animation/styleAnimation.js +206 -0
  82. package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -0
  83. package/lib/commonjs/reanimated2/animation/timing.js +82 -0
  84. package/lib/commonjs/reanimated2/animation/timing.js.map +1 -0
  85. package/lib/commonjs/reanimated2/animation/util.js +233 -0
  86. package/lib/commonjs/reanimated2/animation/util.js.map +1 -0
  87. package/lib/commonjs/reanimated2/commonTypes.js +17 -0
  88. package/lib/commonjs/reanimated2/commonTypes.js.map +1 -0
  89. package/lib/commonjs/reanimated2/component/FlatList.js +53 -0
  90. package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -0
  91. package/lib/commonjs/reanimated2/component/Image.js +17 -0
  92. package/lib/commonjs/reanimated2/component/Image.js.map +1 -0
  93. package/lib/commonjs/reanimated2/component/ScrollView.js +17 -0
  94. package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -0
  95. package/lib/commonjs/reanimated2/component/Text.js +17 -0
  96. package/lib/commonjs/reanimated2/component/Text.js.map +1 -0
  97. package/lib/commonjs/reanimated2/component/View.js +17 -0
  98. package/lib/commonjs/reanimated2/component/View.js.map +1 -0
  99. package/lib/commonjs/reanimated2/core.js +360 -0
  100. package/lib/commonjs/reanimated2/core.js.map +1 -0
  101. package/lib/commonjs/reanimated2/fabricUtils.js +27 -0
  102. package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -0
  103. package/lib/commonjs/reanimated2/fabricUtils.web.js +21 -0
  104. package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -0
  105. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +55 -0
  106. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -0
  107. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +64 -0
  108. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -0
  109. package/lib/commonjs/reanimated2/globals.d.js +6 -0
  110. package/lib/commonjs/reanimated2/globals.d.js.map +1 -0
  111. package/lib/commonjs/reanimated2/hook/Hooks.js +35 -0
  112. package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -0
  113. package/lib/commonjs/reanimated2/hook/commonTypes.js +6 -0
  114. package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -0
  115. package/lib/commonjs/reanimated2/hook/index.js +118 -0
  116. package/lib/commonjs/reanimated2/hook/index.js.map +1 -0
  117. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +66 -0
  118. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -0
  119. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +48 -0
  120. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -0
  121. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +44 -0
  122. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -0
  123. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +43 -0
  124. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -0
  125. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +62 -0
  126. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -0
  127. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +94 -0
  128. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -0
  129. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +471 -0
  130. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -0
  131. package/lib/commonjs/reanimated2/hook/useDerivedValue.js +49 -0
  132. package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -0
  133. package/lib/commonjs/reanimated2/hook/useFrameCallback.js +36 -0
  134. package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -0
  135. package/lib/commonjs/reanimated2/hook/useSharedValue.js +30 -0
  136. package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -0
  137. package/lib/commonjs/reanimated2/hook/utils.js +247 -0
  138. package/lib/commonjs/reanimated2/hook/utils.js.map +1 -0
  139. package/lib/commonjs/reanimated2/index.js +162 -0
  140. package/lib/commonjs/reanimated2/index.js.map +1 -0
  141. package/lib/commonjs/reanimated2/interpolateColor.js +154 -0
  142. package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -0
  143. package/lib/commonjs/reanimated2/interpolation.js +143 -0
  144. package/lib/commonjs/reanimated2/interpolation.js.map +1 -0
  145. package/lib/commonjs/reanimated2/jestUtils.js +239 -0
  146. package/lib/commonjs/reanimated2/jestUtils.js.map +1 -0
  147. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +160 -0
  148. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -0
  149. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +74 -0
  150. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -0
  151. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +146 -0
  152. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -0
  153. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +57 -0
  154. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -0
  155. package/lib/commonjs/reanimated2/js-reanimated/commonTypes.js +6 -0
  156. package/lib/commonjs/reanimated2/js-reanimated/commonTypes.js.map +1 -0
  157. package/lib/commonjs/reanimated2/js-reanimated/global.js +57 -0
  158. package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -0
  159. package/lib/commonjs/reanimated2/js-reanimated/index.js +57 -0
  160. package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -0
  161. package/lib/commonjs/reanimated2/layoutReanimation/LayoutAnimationRepository.js +97 -0
  162. package/lib/commonjs/reanimated2/layoutReanimation/LayoutAnimationRepository.js.map +1 -0
  163. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +100 -0
  164. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -0
  165. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +203 -0
  166. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -0
  167. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +244 -0
  168. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -0
  169. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +6 -0
  170. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -0
  171. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +30 -0
  172. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -0
  173. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +570 -0
  174. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -0
  175. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Default.js +55 -0
  176. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Default.js.map +1 -0
  177. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +409 -0
  178. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -0
  179. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +559 -0
  180. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -0
  181. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +221 -0
  182. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -0
  183. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +101 -0
  184. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -0
  185. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +189 -0
  186. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -0
  187. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +403 -0
  188. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -0
  189. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +298 -0
  190. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -0
  191. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +167 -0
  192. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -0
  193. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +700 -0
  194. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -0
  195. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +136 -0
  196. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -0
  197. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +120 -0
  198. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -0
  199. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +180 -0
  200. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -0
  201. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +66 -0
  202. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -0
  203. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +64 -0
  204. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -0
  205. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +52 -0
  206. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -0
  207. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +68 -0
  208. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -0
  209. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +84 -0
  210. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -0
  211. package/lib/commonjs/reanimated2/layoutReanimation/index.js +47 -0
  212. package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -0
  213. package/lib/commonjs/reanimated2/mock.js +88 -0
  214. package/lib/commonjs/reanimated2/mock.js.map +1 -0
  215. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +16 -0
  216. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -0
  217. package/lib/{reanimated2 → commonjs/reanimated2}/platform-specific/RNRenderer.web.js +2 -0
  218. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -0
  219. package/lib/commonjs/reanimated2/utils.js +19 -0
  220. package/lib/commonjs/reanimated2/utils.js.map +1 -0
  221. package/lib/commonjs/setAndForwardRef.js +63 -0
  222. package/lib/commonjs/setAndForwardRef.js.map +1 -0
  223. package/lib/module/Animated.js +8 -0
  224. package/lib/module/Animated.js.map +1 -0
  225. package/lib/module/ConfigHelper.js +161 -0
  226. package/lib/module/ConfigHelper.js.map +1 -0
  227. package/lib/module/createAnimatedComponent.js +452 -0
  228. package/lib/module/createAnimatedComponent.js.map +1 -0
  229. package/lib/module/index.js +15 -0
  230. package/lib/module/index.js.map +1 -0
  231. package/lib/module/index.web.js +6 -0
  232. package/lib/module/index.web.js.map +1 -0
  233. package/lib/module/reanimated2/Bezier.js +159 -0
  234. package/lib/module/reanimated2/Bezier.js.map +1 -0
  235. package/lib/module/reanimated2/Colors.js +632 -0
  236. package/lib/module/reanimated2/Colors.js.map +1 -0
  237. package/lib/{types/reanimated2/Easing.d.ts → module/reanimated2/Easing.js} +179 -40
  238. package/lib/module/reanimated2/Easing.js.map +1 -0
  239. package/lib/module/reanimated2/NativeMethods.js +82 -0
  240. package/lib/module/reanimated2/NativeMethods.js.map +1 -0
  241. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +89 -0
  242. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -0
  243. package/lib/{reanimated2 → module/reanimated2}/NativeReanimated/index.js +6 -4
  244. package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -0
  245. package/lib/module/reanimated2/PlatformChecker.js +17 -0
  246. package/lib/module/reanimated2/PlatformChecker.js.map +1 -0
  247. package/lib/module/reanimated2/PropAdapters.js +56 -0
  248. package/lib/module/reanimated2/PropAdapters.js.map +1 -0
  249. package/lib/module/reanimated2/UpdateProps.js +64 -0
  250. package/lib/module/reanimated2/UpdateProps.js.map +1 -0
  251. package/lib/module/reanimated2/ViewDescriptorsSet.js +83 -0
  252. package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -0
  253. package/lib/module/reanimated2/WorkletEventHandler.js +64 -0
  254. package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -0
  255. package/lib/module/reanimated2/animation/commonTypes.js +2 -0
  256. package/lib/module/reanimated2/animation/commonTypes.js.map +1 -0
  257. package/lib/module/reanimated2/animation/decay.js +123 -0
  258. package/lib/module/reanimated2/animation/decay.js.map +1 -0
  259. package/lib/module/reanimated2/animation/delay.js +79 -0
  260. package/lib/module/reanimated2/animation/delay.js.map +1 -0
  261. package/lib/{reanimated2 → module/reanimated2}/animation/index.js +1 -0
  262. package/lib/module/reanimated2/animation/index.js.map +1 -0
  263. package/lib/module/reanimated2/animation/repeat.js +95 -0
  264. package/lib/module/reanimated2/animation/repeat.js.map +1 -0
  265. package/lib/module/reanimated2/animation/sequence.js +93 -0
  266. package/lib/module/reanimated2/animation/sequence.js.map +1 -0
  267. package/lib/module/reanimated2/animation/spring.js +113 -0
  268. package/lib/module/reanimated2/animation/spring.js.map +1 -0
  269. package/lib/module/reanimated2/animation/styleAnimation.js +191 -0
  270. package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -0
  271. package/lib/module/reanimated2/animation/timing.js +73 -0
  272. package/lib/module/reanimated2/animation/timing.js.map +1 -0
  273. package/lib/module/reanimated2/animation/util.js +216 -0
  274. package/lib/module/reanimated2/animation/util.js.map +1 -0
  275. package/lib/module/reanimated2/commonTypes.js +10 -0
  276. package/lib/module/reanimated2/commonTypes.js.map +1 -0
  277. package/lib/module/reanimated2/component/FlatList.js +33 -0
  278. package/lib/module/reanimated2/component/FlatList.js.map +1 -0
  279. package/lib/module/reanimated2/component/Image.js +5 -0
  280. package/lib/module/reanimated2/component/Image.js.map +1 -0
  281. package/lib/module/reanimated2/component/ScrollView.js +5 -0
  282. package/lib/module/reanimated2/component/ScrollView.js.map +1 -0
  283. package/lib/module/reanimated2/component/Text.js +5 -0
  284. package/lib/module/reanimated2/component/Text.js.map +1 -0
  285. package/lib/module/reanimated2/component/View.js +5 -0
  286. package/lib/module/reanimated2/component/View.js.map +1 -0
  287. package/lib/module/reanimated2/core.js +314 -0
  288. package/lib/module/reanimated2/core.js.map +1 -0
  289. package/lib/module/reanimated2/fabricUtils.js +18 -0
  290. package/lib/module/reanimated2/fabricUtils.js.map +1 -0
  291. package/lib/module/reanimated2/fabricUtils.web.js +12 -0
  292. package/lib/module/reanimated2/fabricUtils.web.js.map +1 -0
  293. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +44 -0
  294. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -0
  295. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +55 -0
  296. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -0
  297. package/lib/module/reanimated2/globals.d.js +2 -0
  298. package/lib/module/reanimated2/globals.d.js.map +1 -0
  299. package/lib/{reanimated2 → module/reanimated2}/hook/Hooks.js +4 -3
  300. package/lib/module/reanimated2/hook/Hooks.js.map +1 -0
  301. package/lib/module/reanimated2/hook/commonTypes.js +2 -0
  302. package/lib/module/reanimated2/hook/commonTypes.js.map +1 -0
  303. package/lib/module/reanimated2/hook/index.js +12 -0
  304. package/lib/module/reanimated2/hook/index.js.map +1 -0
  305. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +56 -0
  306. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -0
  307. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +34 -0
  308. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -0
  309. package/lib/module/reanimated2/hook/useAnimatedReaction.js +35 -0
  310. package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -0
  311. package/lib/module/reanimated2/hook/useAnimatedRef.js +32 -0
  312. package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -0
  313. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +54 -0
  314. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -0
  315. package/lib/module/reanimated2/hook/useAnimatedSensor.js +79 -0
  316. package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -0
  317. package/lib/module/reanimated2/hook/useAnimatedStyle.js +450 -0
  318. package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -0
  319. package/lib/module/reanimated2/hook/useDerivedValue.js +39 -0
  320. package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -0
  321. package/lib/module/reanimated2/hook/useFrameCallback.js +24 -0
  322. package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -0
  323. package/lib/module/reanimated2/hook/useSharedValue.js +20 -0
  324. package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -0
  325. package/lib/module/reanimated2/hook/utils.js +208 -0
  326. package/lib/module/reanimated2/hook/utils.js.map +1 -0
  327. package/lib/{reanimated2 → module/reanimated2}/index.js +1 -0
  328. package/lib/module/reanimated2/index.js.map +1 -0
  329. package/lib/module/reanimated2/interpolateColor.js +135 -0
  330. package/lib/module/reanimated2/interpolateColor.js.map +1 -0
  331. package/lib/module/reanimated2/interpolation.js +135 -0
  332. package/lib/module/reanimated2/interpolation.js.map +1 -0
  333. package/lib/module/reanimated2/jestUtils.js +217 -0
  334. package/lib/module/reanimated2/jestUtils.js.map +1 -0
  335. package/lib/module/reanimated2/js-reanimated/JSReanimated.js +144 -0
  336. package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -0
  337. package/lib/module/reanimated2/js-reanimated/Mapper.js +62 -0
  338. package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -0
  339. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +137 -0
  340. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -0
  341. package/lib/module/reanimated2/js-reanimated/MutableValue.js +48 -0
  342. package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -0
  343. package/lib/module/reanimated2/js-reanimated/commonTypes.js +2 -0
  344. package/lib/module/reanimated2/js-reanimated/commonTypes.js.map +1 -0
  345. package/lib/module/reanimated2/js-reanimated/global.js +48 -0
  346. package/lib/module/reanimated2/js-reanimated/global.js.map +1 -0
  347. package/lib/module/reanimated2/js-reanimated/index.js +43 -0
  348. package/lib/module/reanimated2/js-reanimated/index.js.map +1 -0
  349. package/lib/module/reanimated2/layoutReanimation/LayoutAnimationRepository.js +91 -0
  350. package/lib/module/reanimated2/layoutReanimation/LayoutAnimationRepository.js.map +1 -0
  351. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +90 -0
  352. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -0
  353. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +192 -0
  354. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -0
  355. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +233 -0
  356. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -0
  357. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +2 -0
  358. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -0
  359. package/lib/{reanimated2 → module/reanimated2}/layoutReanimation/animationBuilder/index.js +1 -0
  360. package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -0
  361. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +530 -0
  362. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -0
  363. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Default.js +40 -0
  364. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Default.js.map +1 -0
  365. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +372 -0
  366. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -0
  367. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +516 -0
  368. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -0
  369. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +199 -0
  370. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -0
  371. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +88 -0
  372. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -0
  373. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +168 -0
  374. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -0
  375. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +372 -0
  376. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -0
  377. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +265 -0
  378. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -0
  379. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +148 -0
  380. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -0
  381. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +643 -0
  382. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -0
  383. package/lib/{reanimated2 → module/reanimated2}/layoutReanimation/defaultAnimations/index.js +1 -0
  384. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -0
  385. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +108 -0
  386. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -0
  387. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +166 -0
  388. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -0
  389. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +55 -0
  390. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -0
  391. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +52 -0
  392. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -0
  393. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +41 -0
  394. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -0
  395. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +57 -0
  396. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -0
  397. package/lib/{reanimated2 → module/reanimated2}/layoutReanimation/defaultTransitions/index.js +1 -0
  398. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -0
  399. package/lib/{reanimated2 → module/reanimated2}/layoutReanimation/index.js +1 -0
  400. package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -0
  401. package/lib/module/reanimated2/mock.js +86 -0
  402. package/lib/module/reanimated2/mock.js.map +1 -0
  403. package/lib/{reanimated2 → module/reanimated2}/platform-specific/RNRenderer.js +1 -0
  404. package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -0
  405. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js +3 -0
  406. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -0
  407. package/lib/module/reanimated2/utils.js +11 -0
  408. package/lib/module/reanimated2/utils.js.map +1 -0
  409. package/lib/{types/setAndForwardRef.d.ts → module/setAndForwardRef.js} +21 -6
  410. package/lib/module/setAndForwardRef.js.map +1 -0
  411. package/mock.js +1 -0
  412. package/package.json +28 -21
  413. package/plugin.js +7 -6
  414. package/src/Animated.ts +11 -0
  415. package/src/index.ts +13 -0
  416. package/src/index.web.ts +5 -0
  417. package/src/reanimated2/Colors.ts +1 -1
  418. package/src/reanimated2/NativeMethods.ts +5 -0
  419. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +10 -1
  420. package/src/reanimated2/animation/decay.ts +79 -30
  421. package/src/reanimated2/animation/index.ts +7 -4
  422. package/src/reanimated2/animation/sequence.ts +0 -5
  423. package/src/reanimated2/animation/util.ts +8 -1
  424. package/src/reanimated2/commonTypes.ts +13 -0
  425. package/src/reanimated2/component/FlatList.tsx +25 -21
  426. package/src/reanimated2/component/Image.ts +6 -0
  427. package/src/reanimated2/component/ScrollView.ts +6 -0
  428. package/src/reanimated2/component/Text.ts +6 -0
  429. package/src/reanimated2/component/View.ts +6 -0
  430. package/src/reanimated2/core.ts +8 -13
  431. package/src/reanimated2/fabricUtils.web.ts +19 -0
  432. package/src/reanimated2/frameCallback/FrameCallbackRegistryJS.ts +43 -0
  433. package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +64 -0
  434. package/src/reanimated2/globals.d.ts +3 -0
  435. package/src/reanimated2/hook/index.ts +14 -14
  436. package/src/reanimated2/hook/useAnimatedKeyboard.ts +35 -0
  437. package/src/reanimated2/hook/useAnimatedSensor.ts +5 -5
  438. package/src/reanimated2/hook/useFrameCallback.ts +39 -0
  439. package/src/reanimated2/jestUtils.ts +11 -3
  440. package/src/reanimated2/js-reanimated/JSReanimated.ts +16 -1
  441. package/src/reanimated2/js-reanimated/global.ts +50 -0
  442. package/src/reanimated2/js-reanimated/index.ts +0 -36
  443. package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.ts +1 -1
  444. package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +1 -1
  445. package/src/reanimated2/mock.ts +6 -0
  446. package/android/local.properties +0 -1
  447. package/lib/Animated.js +0 -18
  448. package/lib/ConfigHelper.js +0 -145
  449. package/lib/ReanimatedEventEmitter.js +0 -3
  450. package/lib/ReanimatedModule.js +0 -2
  451. package/lib/ReanimatedModule.macos.js +0 -2
  452. package/lib/ReanimatedModule.native.js +0 -12
  453. package/lib/ReanimatedModule.windows.js +0 -2
  454. package/lib/ReanimatedModuleCompat.js +0 -66
  455. package/lib/__mocks__/ReanimatedEventEmitter.js +0 -8
  456. package/lib/__mocks__/ReanimatedModule.native.js +0 -11
  457. package/lib/createAnimatedComponent.js +0 -375
  458. package/lib/index.js +0 -18
  459. package/lib/reanimated2/Bezier.js +0 -126
  460. package/lib/reanimated2/Colors.js +0 -522
  461. package/lib/reanimated2/NativeMethods.js +0 -59
  462. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +0 -50
  463. package/lib/reanimated2/PlatformChecker.js +0 -16
  464. package/lib/reanimated2/PropAdapters.js +0 -55
  465. package/lib/reanimated2/UpdateProps.js +0 -70
  466. package/lib/reanimated2/ViewDescriptorsSet.js +0 -75
  467. package/lib/reanimated2/WorkletEventHandler.js +0 -37
  468. package/lib/reanimated2/__mocks__/MutableValue.js +0 -13
  469. package/lib/reanimated2/__mocks__/NativeReanimated.js +0 -20
  470. package/lib/reanimated2/__mocks__/NativeReanimated.native.js +0 -20
  471. package/lib/reanimated2/animation/commonTypes.js +0 -1
  472. package/lib/reanimated2/animation/decay.js +0 -71
  473. package/lib/reanimated2/animation/delay.js +0 -64
  474. package/lib/reanimated2/animation/repeat.js +0 -69
  475. package/lib/reanimated2/animation/sequence.js +0 -72
  476. package/lib/reanimated2/animation/spring.js +0 -103
  477. package/lib/reanimated2/animation/styleAnimation.js +0 -171
  478. package/lib/reanimated2/animation/timing.js +0 -64
  479. package/lib/reanimated2/animation/util.js +0 -180
  480. package/lib/reanimated2/commonTypes.js +0 -1
  481. package/lib/reanimated2/component/FlatList.js +0 -30
  482. package/lib/reanimated2/component/WrappedComponents.js +0 -9
  483. package/lib/reanimated2/component/index.js +0 -4
  484. package/lib/reanimated2/core.js +0 -276
  485. package/lib/reanimated2/fabricUtils.js +0 -18
  486. package/lib/reanimated2/globals.d.ts +0 -76
  487. package/lib/reanimated2/hook/commonTypes.js +0 -1
  488. package/lib/reanimated2/hook/index.js +0 -9
  489. package/lib/reanimated2/hook/useAnimatedGestureHandler.js +0 -49
  490. package/lib/reanimated2/hook/useAnimatedReaction.js +0 -37
  491. package/lib/reanimated2/hook/useAnimatedRef.js +0 -29
  492. package/lib/reanimated2/hook/useAnimatedScrollHandler.js +0 -41
  493. package/lib/reanimated2/hook/useAnimatedSensor.js +0 -66
  494. package/lib/reanimated2/hook/useAnimatedStyle.js +0 -393
  495. package/lib/reanimated2/hook/useDerivedValue.js +0 -36
  496. package/lib/reanimated2/hook/useSharedValue.js +0 -17
  497. package/lib/reanimated2/hook/utils.js +0 -173
  498. package/lib/reanimated2/interpolateColor.js +0 -101
  499. package/lib/reanimated2/interpolation.js +0 -112
  500. package/lib/reanimated2/jestUtils.js +0 -160
  501. package/lib/reanimated2/js-reanimated/JSReanimated.js +0 -99
  502. package/lib/reanimated2/js-reanimated/Mapper.js +0 -43
  503. package/lib/reanimated2/js-reanimated/MapperRegistry.js +0 -101
  504. package/lib/reanimated2/js-reanimated/MutableValue.js +0 -29
  505. package/lib/reanimated2/js-reanimated/commonTypes.js +0 -1
  506. package/lib/reanimated2/js-reanimated/index.js +0 -62
  507. package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +0 -67
  508. package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -69
  509. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +0 -133
  510. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +0 -194
  511. package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +0 -1
  512. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +0 -376
  513. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +0 -36
  514. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +0 -275
  515. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +0 -385
  516. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +0 -138
  517. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +0 -81
  518. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +0 -115
  519. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +0 -273
  520. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +0 -203
  521. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +0 -101
  522. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +0 -451
  523. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +0 -90
  524. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +0 -132
  525. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +0 -37
  526. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +0 -41
  527. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +0 -34
  528. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +0 -46
  529. package/lib/reanimated2/mock.js +0 -69
  530. package/lib/reanimated2/utils.js +0 -9
  531. package/lib/setAndForwardRef.js +0 -19
  532. package/lib/types/ConfigHelper.d.ts +0 -12
  533. package/lib/types/ReanimatedEventEmitter.d.ts +0 -3
  534. package/lib/types/ReanimatedModule.d.ts +0 -2
  535. package/lib/types/ReanimatedModule.macos.d.ts +0 -2
  536. package/lib/types/ReanimatedModule.native.d.ts +0 -2
  537. package/lib/types/ReanimatedModule.windows.d.ts +0 -2
  538. package/lib/types/ReanimatedModuleCompat.d.ts +0 -14
  539. package/lib/types/createAnimatedComponent.d.ts +0 -33
  540. package/lib/types/reanimated2/Bezier.d.ts +0 -6
  541. package/lib/types/reanimated2/Colors.d.ts +0 -31
  542. package/lib/types/reanimated2/NativeMethods.d.ts +0 -15
  543. package/lib/types/reanimated2/NativeReanimated/NativeReanimated.d.ts +0 -20
  544. package/lib/types/reanimated2/NativeReanimated/index.d.ts +0 -3
  545. package/lib/types/reanimated2/PlatformChecker.d.ts +0 -5
  546. package/lib/types/reanimated2/PropAdapters.d.ts +0 -4
  547. package/lib/types/reanimated2/UpdateProps.d.ts +0 -9
  548. package/lib/types/reanimated2/ViewDescriptorsSet.d.ts +0 -20
  549. package/lib/types/reanimated2/WorkletEventHandler.d.ts +0 -13
  550. package/lib/types/reanimated2/__mocks__/MutableValue.d.ts +0 -5
  551. package/lib/types/reanimated2/__mocks__/NativeReanimated.d.ts +0 -13
  552. package/lib/types/reanimated2/__mocks__/NativeReanimated.native.d.ts +0 -13
  553. package/lib/types/reanimated2/animation/commonTypes.d.ts +0 -27
  554. package/lib/types/reanimated2/animation/decay.d.ts +0 -19
  555. package/lib/types/reanimated2/animation/delay.d.ts +0 -7
  556. package/lib/types/reanimated2/animation/index.d.ts +0 -9
  557. package/lib/types/reanimated2/animation/repeat.d.ts +0 -12
  558. package/lib/types/reanimated2/animation/sequence.d.ts +0 -7
  559. package/lib/types/reanimated2/animation/spring.d.ts +0 -22
  560. package/lib/types/reanimated2/animation/styleAnimation.d.ts +0 -7
  561. package/lib/types/reanimated2/animation/timing.d.ts +0 -21
  562. package/lib/types/reanimated2/animation/util.d.ts +0 -9
  563. package/lib/types/reanimated2/commonTypes.d.ts +0 -80
  564. package/lib/types/reanimated2/component/FlatList.d.ts +0 -9
  565. package/lib/types/reanimated2/component/WrappedComponents.d.ts +0 -8
  566. package/lib/types/reanimated2/component/index.d.ts +0 -9
  567. package/lib/types/reanimated2/core.d.ts +0 -24
  568. package/lib/types/reanimated2/fabricUtils.d.ts +0 -4
  569. package/lib/types/reanimated2/hook/Hooks.d.ts +0 -5
  570. package/lib/types/reanimated2/hook/commonTypes.d.ts +0 -15
  571. package/lib/types/reanimated2/hook/index.d.ts +0 -10
  572. package/lib/types/reanimated2/hook/useAnimatedGestureHandler.d.ts +0 -35
  573. package/lib/types/reanimated2/hook/useAnimatedReaction.d.ts +0 -12
  574. package/lib/types/reanimated2/hook/useAnimatedRef.d.ts +0 -3
  575. package/lib/types/reanimated2/hook/useAnimatedScrollHandler.d.ts +0 -21
  576. package/lib/types/reanimated2/hook/useAnimatedSensor.d.ts +0 -18
  577. package/lib/types/reanimated2/hook/useAnimatedStyle.d.ts +0 -11
  578. package/lib/types/reanimated2/hook/useDerivedValue.d.ts +0 -4
  579. package/lib/types/reanimated2/hook/useSharedValue.d.ts +0 -2
  580. package/lib/types/reanimated2/hook/utils.d.ts +0 -28
  581. package/lib/types/reanimated2/index.d.ts +0 -12
  582. package/lib/types/reanimated2/interpolateColor.d.ts +0 -31
  583. package/lib/types/reanimated2/interpolation.d.ts +0 -11
  584. package/lib/types/reanimated2/jestUtils.d.ts +0 -12
  585. package/lib/types/reanimated2/js-reanimated/JSReanimated.d.ts +0 -30
  586. package/lib/types/reanimated2/js-reanimated/Mapper.d.ts +0 -14
  587. package/lib/types/reanimated2/js-reanimated/MapperRegistry.d.ts +0 -14
  588. package/lib/types/reanimated2/js-reanimated/MutableValue.d.ts +0 -14
  589. package/lib/types/reanimated2/js-reanimated/commonTypes.d.ts +0 -44
  590. package/lib/types/reanimated2/js-reanimated/index.d.ts +0 -15
  591. package/lib/types/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +0 -1
  592. package/lib/types/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -22
  593. package/lib/types/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -38
  594. package/lib/types/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -25
  595. package/lib/types/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -77
  596. package/lib/types/reanimated2/layoutReanimation/animationBuilder/index.d.ts +0 -4
  597. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -62
  598. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +0 -4
  599. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +0 -42
  600. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +0 -50
  601. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -18
  602. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -10
  603. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +0 -18
  604. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -34
  605. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +0 -34
  606. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -18
  607. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -66
  608. package/lib/types/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +0 -10
  609. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -19
  610. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -13
  611. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -6
  612. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -6
  613. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -7
  614. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -9
  615. package/lib/types/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +0 -6
  616. package/lib/types/reanimated2/layoutReanimation/index.d.ts +0 -4
  617. package/lib/types/reanimated2/mock.d.ts +0 -55
  618. package/lib/types/reanimated2/platform-specific/RNRenderer.d.ts +0 -1
  619. package/lib/types/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
  620. package/lib/types/reanimated2/utils.d.ts +0 -7
  621. package/react-native-reanimated.d.ts +0 -1187
  622. package/src/Animated.js +0 -18
  623. package/src/ReanimatedEventEmitter.ts +0 -4
  624. package/src/ReanimatedModule.macos.ts +0 -3
  625. package/src/ReanimatedModule.native.ts +0 -13
  626. package/src/ReanimatedModule.ts +0 -3
  627. package/src/ReanimatedModule.windows.ts +0 -3
  628. package/src/ReanimatedModuleCompat.ts +0 -51
  629. package/src/__mocks__/ReanimatedEventEmitter.js +0 -8
  630. package/src/__mocks__/ReanimatedModule.native.js +0 -11
  631. package/src/reanimated2/__mocks__/MutableValue.ts +0 -15
  632. package/src/reanimated2/__mocks__/NativeReanimated.ts +0 -23
  633. package/src/reanimated2/component/WrappedComponents.ts +0 -11
  634. package/src/reanimated2/component/index.ts +0 -9
@@ -13,5 +13,6 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
13
13
  reanimated::AndroidScheduler::registerNatives();
14
14
  reanimated::LayoutAnimations::registerNatives();
15
15
  reanimated::SensorSetter::registerNatives();
16
+ reanimated::KeyboardEventDataUpdater::registerNatives();
16
17
  });
17
18
  }
@@ -122,6 +122,32 @@ class SensorSetter : public HybridClass<SensorSetter> {
122
122
  std::function<void(double[])> callback_;
123
123
  };
124
124
 
125
+ class KeyboardEventDataUpdater : public HybridClass<KeyboardEventDataUpdater> {
126
+ public:
127
+ static auto constexpr kJavaDescriptor =
128
+ "Lcom/swmansion/reanimated/NativeProxy$KeyboardEventDataUpdater;";
129
+
130
+ void keyboardEventDataUpdater(int keyboardState, int height) {
131
+ callback_(keyboardState, height);
132
+ }
133
+
134
+ static void registerNatives() {
135
+ javaClassStatic()->registerNatives({
136
+ makeNativeMethod(
137
+ "keyboardEventDataUpdater",
138
+ KeyboardEventDataUpdater::keyboardEventDataUpdater),
139
+ });
140
+ }
141
+
142
+ private:
143
+ friend HybridBase;
144
+
145
+ explicit KeyboardEventDataUpdater(std::function<void(int, int)> callback)
146
+ : callback_(std::move(callback)) {}
147
+
148
+ std::function<void(int, int)> callback_;
149
+ };
150
+
125
151
  class NativeProxy : public jni::HybridClass<NativeProxy> {
126
152
  public:
127
153
  static auto constexpr kJavaDescriptor =
@@ -183,6 +209,9 @@ class NativeProxy : public jni::HybridClass<NativeProxy> {
183
209
  jsi::Runtime &rt,
184
210
  const jsi::Value &uiProps,
185
211
  const jsi::Value &nativeProps);
212
+ int subscribeForKeyboardEvents(
213
+ std::function<void(int, int)> keyboardEventDataUpdater);
214
+ void unsubscribeFromKeyboardEvents(int listenerId);
186
215
  #ifdef RCT_NEW_ARCH_ENABLED
187
216
  // nothing
188
217
  #else
@@ -1,5 +1,7 @@
1
1
  package com.swmansion.reanimated;
2
2
 
3
+ import static java.lang.Float.NaN;
4
+
3
5
  import android.view.View;
4
6
  import com.facebook.react.bridge.Arguments;
5
7
  import com.facebook.react.bridge.GuardedRunnable;
@@ -56,7 +58,7 @@ public class NodesManager implements EventDispatcherListener {
56
58
  view = mUIManager.resolveView(viewTag);
57
59
  } catch (IllegalViewOperationException e) {
58
60
  e.printStackTrace();
59
- return (new float[] {});
61
+ return (new float[] {NaN, NaN, NaN, NaN, NaN, NaN});
60
62
  }
61
63
  return NativeMethodsHelper.measure(view);
62
64
  }
@@ -0,0 +1,165 @@
1
+ package com.swmansion.reanimated.keyboardObserver;
2
+
3
+ import android.os.Handler;
4
+ import android.os.Looper;
5
+ import android.view.View;
6
+ import android.widget.FrameLayout;
7
+ import androidx.annotation.NonNull;
8
+ import androidx.core.view.ViewCompat;
9
+ import androidx.core.view.WindowCompat;
10
+ import androidx.core.view.WindowInsetsAnimationCompat;
11
+ import androidx.core.view.WindowInsetsCompat;
12
+ import com.facebook.react.bridge.ReactApplicationContext;
13
+ import com.facebook.react.uimanager.PixelUtil;
14
+ import com.swmansion.reanimated.BuildConfig;
15
+ import com.swmansion.reanimated.NativeProxy.KeyboardEventDataUpdater;
16
+ import java.lang.ref.WeakReference;
17
+ import java.util.HashMap;
18
+ import java.util.List;
19
+
20
+ public class ReanimatedKeyboardEventListener {
21
+ enum KeyboardState {
22
+ UNKNOWN(0),
23
+ OPENING(1),
24
+ OPEN(2),
25
+ CLOSING(3),
26
+ CLOSED(4);
27
+
28
+ private final int value;
29
+
30
+ KeyboardState(int value) {
31
+ this.value = value;
32
+ }
33
+
34
+ public int asInt() {
35
+ return value;
36
+ }
37
+ }
38
+
39
+ private final WeakReference<ReactApplicationContext> reactContext;
40
+ private int nextListenerId = 0;
41
+ private KeyboardState state;
42
+ private final HashMap<Integer, KeyboardEventDataUpdater> listeners = new HashMap<>();
43
+
44
+ public ReanimatedKeyboardEventListener(WeakReference<ReactApplicationContext> reactContext) {
45
+ this.reactContext = reactContext;
46
+ }
47
+
48
+ private View getRootView() {
49
+ return reactContext.get().getCurrentActivity().getWindow().getDecorView();
50
+ }
51
+
52
+ private void setupWindowInsets() {
53
+ View rootView = getRootView();
54
+ WindowCompat.setDecorFitsSystemWindows(
55
+ reactContext.get().getCurrentActivity().getWindow(), false);
56
+ ViewCompat.setOnApplyWindowInsetsListener(
57
+ rootView,
58
+ (v, insets) -> {
59
+ int paddingBottom = 0;
60
+ if (!BuildConfig.IS_NEW_ARCHITECTURE_ENABLED && BuildConfig.REACT_NATIVE_VERSION < 70) {
61
+ paddingBottom = insets.getInsets(WindowInsetsCompat.Type.navigationBars()).bottom;
62
+ }
63
+ int paddingTop = insets.getInsets(WindowInsetsCompat.Type.systemBars()).top;
64
+ View content =
65
+ rootView.getRootView().findViewById(com.swmansion.reanimated.R.id.action_bar_root);
66
+
67
+ FrameLayout.LayoutParams params =
68
+ new FrameLayout.LayoutParams(
69
+ FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
70
+ params.setMargins(0, paddingTop, 0, paddingBottom);
71
+ content.setLayoutParams(params);
72
+ return insets;
73
+ });
74
+ }
75
+
76
+ private void updateKeyboard(int keyboardHeight) {
77
+ for (KeyboardEventDataUpdater listener : listeners.values()) {
78
+ listener.keyboardEventDataUpdater(state.asInt(), keyboardHeight);
79
+ }
80
+ }
81
+
82
+ private class WindowInsetsCallback extends WindowInsetsAnimationCompat.Callback {
83
+ private int keyboardHeight = 0;
84
+
85
+ public WindowInsetsCallback() {
86
+ super(WindowInsetsAnimationCompat.Callback.DISPATCH_MODE_CONTINUE_ON_SUBTREE);
87
+ }
88
+
89
+ @NonNull
90
+ @Override
91
+ public WindowInsetsAnimationCompat.BoundsCompat onStart(
92
+ @NonNull WindowInsetsAnimationCompat animation,
93
+ @NonNull WindowInsetsAnimationCompat.BoundsCompat bounds) {
94
+ state = keyboardHeight == 0 ? KeyboardState.OPENING : KeyboardState.CLOSING;
95
+ updateKeyboard(keyboardHeight);
96
+ return super.onStart(animation, bounds);
97
+ }
98
+
99
+ @NonNull
100
+ @Override
101
+ public WindowInsetsCompat onProgress(
102
+ @NonNull WindowInsetsCompat insets,
103
+ @NonNull List<WindowInsetsAnimationCompat> runningAnimations) {
104
+
105
+ keyboardHeight =
106
+ (int)
107
+ PixelUtil.toDIPFromPixel(
108
+ Math.max(
109
+ 0,
110
+ insets.getInsets(WindowInsetsCompat.Type.ime()).bottom
111
+ - insets.getInsets(WindowInsetsCompat.Type.systemBars()).bottom));
112
+ updateKeyboard(keyboardHeight);
113
+ return insets;
114
+ }
115
+
116
+ @Override
117
+ public void onEnd(@NonNull WindowInsetsAnimationCompat animation) {
118
+ state = keyboardHeight == 0 ? KeyboardState.CLOSED : KeyboardState.OPEN;
119
+ updateKeyboard(keyboardHeight);
120
+ }
121
+ }
122
+
123
+ private void setUpCallbacks() {
124
+ View rootView = getRootView();
125
+ new Handler(Looper.getMainLooper()).post(this::setupWindowInsets);
126
+ ViewCompat.setWindowInsetsAnimationCallback(rootView, new WindowInsetsCallback());
127
+ }
128
+
129
+ public int subscribeForKeyboardEvents(KeyboardEventDataUpdater updater) {
130
+ int listenerId = nextListenerId++;
131
+ if (listeners.isEmpty()) {
132
+ setUpCallbacks();
133
+ }
134
+ listeners.put(listenerId, updater);
135
+ return listenerId;
136
+ }
137
+
138
+ private void bringBackWindowInsets() {
139
+ WindowCompat.setDecorFitsSystemWindows(
140
+ reactContext.get().getCurrentActivity().getWindow(), true);
141
+ ViewCompat.setOnApplyWindowInsetsListener(getRootView(), null);
142
+ ViewCompat.setWindowInsetsAnimationCallback(getRootView(), null);
143
+ View content =
144
+ getRootView().getRootView().findViewById(com.swmansion.reanimated.R.id.action_bar_root);
145
+
146
+ FrameLayout.LayoutParams params =
147
+ new FrameLayout.LayoutParams(
148
+ FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
149
+ params.setMargins(0, 0, 0, 0);
150
+ content.setLayoutParams(params);
151
+ }
152
+
153
+ private void removeCallbacks() {
154
+ View rootView = getRootView();
155
+ new Handler(Looper.getMainLooper()).post(this::bringBackWindowInsets);
156
+ ViewCompat.setWindowInsetsAnimationCallback(rootView, null);
157
+ }
158
+
159
+ public void unsubscribeFromKeyboardEvents(int listenerId) {
160
+ listeners.remove(listenerId);
161
+ if (listeners.isEmpty()) {
162
+ removeCallbacks();
163
+ }
164
+ }
165
+ }
@@ -229,24 +229,27 @@ public class AnimationsManager implements ViewHierarchyObserver {
229
229
  }
230
230
 
231
231
  private void removeLeftovers() {
232
- HashSet<Integer> roots = new HashSet<>();
233
- // go through ready to remove from bottom to top
234
- for (int tag : mToRemove) {
235
- View view = mViewForTag.get(tag);
236
- if (view == null) {
237
- try {
238
- view = mUIManager.resolveView(tag);
239
- mViewForTag.put(tag, view);
240
- } catch (IllegalViewOperationException ignored) {
241
- continue;
232
+ // mToRemove may be null if onCatalystInstanceDestroy was called first
233
+ if (mToRemove != null) {
234
+ HashSet<Integer> roots = new HashSet<>();
235
+ // go through ready to remove from bottom to top
236
+ for (int tag : mToRemove) {
237
+ View view = mViewForTag.get(tag);
238
+ if (view == null) {
239
+ try {
240
+ view = mUIManager.resolveView(tag);
241
+ mViewForTag.put(tag, view);
242
+ } catch (IllegalViewOperationException ignored) {
243
+ continue;
244
+ }
242
245
  }
246
+ findRoot(view, roots);
243
247
  }
244
- findRoot(view, roots);
245
- }
246
- for (int tag : roots) {
247
- View view = mViewForTag.get(tag);
248
- if (view != null) {
249
- dfs(view, view, mToRemove);
248
+ for (int tag : roots) {
249
+ View view = mViewForTag.get(tag);
250
+ if (view != null) {
251
+ dfs(view, view, mToRemove);
252
+ }
250
253
  }
251
254
  }
252
255
  }
@@ -23,7 +23,11 @@ public class ReanimatedSensor {
23
23
  sensorManager =
24
24
  (SensorManager) reactContext.get().getSystemService(reactContext.get().SENSOR_SERVICE);
25
25
  this.sensorType = sensorType;
26
- this.interval = interval;
26
+ if (interval == -1) {
27
+ this.interval = SensorManager.SENSOR_DELAY_UI;
28
+ } else {
29
+ this.interval = interval;
30
+ }
27
31
  }
28
32
 
29
33
  boolean initialize() {
@@ -3,6 +3,7 @@ package com.swmansion.reanimated.sensor;
3
3
  import android.hardware.Sensor;
4
4
  import android.hardware.SensorEvent;
5
5
  import android.hardware.SensorEventListener;
6
+ import android.hardware.SensorManager;
6
7
  import com.swmansion.reanimated.NativeProxy;
7
8
 
8
9
  public class ReanimatedSensorListener implements SensorEventListener {
@@ -11,6 +12,10 @@ public class ReanimatedSensorListener implements SensorEventListener {
11
12
  private double lastRead = (double) System.currentTimeMillis();
12
13
  private final double interval;
13
14
 
15
+ private float[] rotation = new float[9];
16
+ private float[] orientation = new float[3];
17
+ private float[] quaternion = new float[4];
18
+
14
19
  ReanimatedSensorListener(NativeProxy.SensorSetter setter, double interval) {
15
20
  this.setter = setter;
16
21
  this.interval = interval;
@@ -22,8 +27,26 @@ public class ReanimatedSensorListener implements SensorEventListener {
22
27
  if (current - lastRead < interval) {
23
28
  return;
24
29
  }
30
+ int sensorType = event.sensor.getType();
25
31
  lastRead = current;
26
- setter.sensorSetter(event.values);
32
+ if (sensorType == Sensor.TYPE_ROTATION_VECTOR) {
33
+ SensorManager.getQuaternionFromVector(quaternion, event.values);
34
+ SensorManager.getRotationMatrixFromVector(rotation, event.values);
35
+ SensorManager.getOrientation(rotation, orientation);
36
+ float[] data =
37
+ new float[] {
38
+ quaternion[1], // qx
39
+ quaternion[2], // qy
40
+ quaternion[3], // qz
41
+ quaternion[0], // qw
42
+ orientation[0], // yaw
43
+ orientation[1], // pitch
44
+ orientation[2] // roll
45
+ };
46
+ setter.sensorSetter(data);
47
+ } else {
48
+ setter.sensorSetter(event.values);
49
+ }
27
50
  }
28
51
 
29
52
  @Override
@@ -1,11 +1,13 @@
1
1
  package com.swmansion.reanimated.sensor;
2
2
 
3
+ import android.hardware.Sensor;
4
+
3
5
  public enum ReanimatedSensorType {
4
- ACCELEROMETER(1),
5
- GYROSCOPE(2),
6
- GRAVITY(3),
7
- MAGNETIC_FIELD(4),
8
- ROTATION_VECTOR(5);
6
+ ACCELEROMETER(Sensor.TYPE_LINEAR_ACCELERATION),
7
+ GYROSCOPE(Sensor.TYPE_GYROSCOPE),
8
+ GRAVITY(Sensor.TYPE_GRAVITY),
9
+ MAGNETIC_FIELD(Sensor.TYPE_MAGNETIC_FIELD),
10
+ ROTATION_VECTOR(Sensor.TYPE_ROTATION_VECTOR);
9
11
 
10
12
  private final int type;
11
13
 
@@ -18,6 +18,7 @@ import com.facebook.react.uimanager.UIManagerModule;
18
18
  import com.facebook.react.uimanager.events.RCTEventEmitter;
19
19
  import com.facebook.soloader.SoLoader;
20
20
  import com.swmansion.common.GestureHandlerStateManager;
21
+ import com.swmansion.reanimated.keyboardObserver.ReanimatedKeyboardEventListener;
21
22
  import com.swmansion.reanimated.layoutReanimation.AnimationsManager;
22
23
  import com.swmansion.reanimated.layoutReanimation.LayoutAnimations;
23
24
  import com.swmansion.reanimated.layoutReanimation.NativeMethodsHolder;
@@ -89,6 +90,18 @@ public class NativeProxy {
89
90
  public native void sensorSetter(float[] value);
90
91
  }
91
92
 
93
+ @DoNotStrip
94
+ public static class KeyboardEventDataUpdater {
95
+ @DoNotStrip private final HybridData mHybridData;
96
+
97
+ @DoNotStrip
98
+ private KeyboardEventDataUpdater(HybridData hybridData) {
99
+ mHybridData = hybridData;
100
+ }
101
+
102
+ public native void keyboardEventDataUpdater(int keyboardState, int height);
103
+ }
104
+
92
105
  @DoNotStrip
93
106
  @SuppressWarnings("unused")
94
107
  private final HybridData mHybridData;
@@ -98,6 +111,7 @@ public class NativeProxy {
98
111
  private Scheduler mScheduler = null;
99
112
  private ReanimatedSensorContainer reanimatedSensorContainer;
100
113
  private final GestureHandlerStateManager gestureHandlerStateManager;
114
+ private ReanimatedKeyboardEventListener reanimatedKeyboardEventListener;
101
115
  private Long firstUptime = SystemClock.uptimeMillis();
102
116
  private boolean slowAnimationsEnabled = false;
103
117
 
@@ -116,6 +130,7 @@ public class NativeProxy {
116
130
  mContext = new WeakReference<>(context);
117
131
  prepare(LayoutAnimations);
118
132
  reanimatedSensorContainer = new ReanimatedSensorContainer(mContext);
133
+ reanimatedKeyboardEventListener = new ReanimatedKeyboardEventListener(mContext);
119
134
  addDevMenuOption();
120
135
 
121
136
  GestureHandlerStateManager tempHandlerStateManager;
@@ -250,6 +265,16 @@ public class NativeProxy {
250
265
  reanimatedSensorContainer.unregisterSensor(sensorId);
251
266
  }
252
267
 
268
+ @DoNotStrip
269
+ private int subscribeForKeyboardEvents(KeyboardEventDataUpdater keyboardEventDataUpdater) {
270
+ return reanimatedKeyboardEventListener.subscribeForKeyboardEvents(keyboardEventDataUpdater);
271
+ }
272
+
273
+ @DoNotStrip
274
+ private void unsubscribeFromKeyboardEvents(int listenerId) {
275
+ reanimatedKeyboardEventListener.unsubscribeFromKeyboardEvents(listenerId);
276
+ }
277
+
253
278
  public void onCatalystInstanceDestroy() {
254
279
  mScheduler.deactivate();
255
280
  mHybridData.resetNative();
package/ios/REAModule.mm CHANGED
@@ -272,7 +272,7 @@ RCT_EXPORT_METHOD(installTurboModule)
272
272
 
273
273
  - (NSArray<NSString *> *)supportedEvents
274
274
  {
275
- return @[];
275
+ return @[ @"onReanimatedCall", @"onReanimatedPropsChange" ];
276
276
  }
277
277
 
278
278
  - (void)eventDispatcherWillDispatchEvent:(id<RCTEvent>)event
@@ -367,9 +367,9 @@ using namespace facebook::react;
367
367
  }
368
368
  #endif
369
369
 
370
- - (BOOL)isNotNativeViewFullyMounted:(NSNumber *)viewTag
370
+ - (BOOL)isNativeViewMounted:(NSNumber *)viewTag
371
371
  {
372
- return _viewRegistry[viewTag].superview == nil;
372
+ return _viewRegistry[viewTag].superview != nil;
373
373
  }
374
374
 
375
375
  #ifdef RCT_NEW_ARCH_ENABLED
@@ -395,7 +395,17 @@ using namespace facebook::react;
395
395
  withName:(nonnull NSString *)viewName
396
396
  {
397
397
  ComponentUpdate *lastSnapshot = _componentUpdateBuffer[viewTag];
398
- if ([self isNotNativeViewFullyMounted:viewTag] || lastSnapshot != nil) {
398
+ BOOL isNativeViewMounted = [self isNativeViewMounted:viewTag];
399
+
400
+ if (lastSnapshot != nil) {
401
+ NSMutableDictionary *lastProps = lastSnapshot.props;
402
+ for (NSString *key in props) {
403
+ [lastProps setValue:props[key] forKey:key];
404
+ }
405
+ }
406
+
407
+ // If the component isn't mounted, we will bail early with a scheduled update
408
+ if (!isNativeViewMounted) {
399
409
  if (lastSnapshot == nil) {
400
410
  ComponentUpdate *propsSnapshot = [ComponentUpdate new];
401
411
  propsSnapshot.props = [props mutableCopy];
@@ -403,15 +413,28 @@ using namespace facebook::react;
403
413
  propsSnapshot.viewName = viewName;
404
414
  _componentUpdateBuffer[viewTag] = propsSnapshot;
405
415
  atomic_store(&_shouldFlushUpdateBuffer, true);
406
- } else {
407
- NSMutableDictionary *lastProps = lastSnapshot.props;
408
- for (NSString *key in props) {
409
- [lastProps setValue:props[key] forKey:key];
410
- }
411
416
  }
417
+
412
418
  return;
413
419
  }
414
420
 
421
+ // The component may have been mounted with a pending snapshot (due to a race condition),
422
+ // so we should attempt run the update. Otherwise, the next call to -maybeFlushUpdateBuffer
423
+ // will only arrive when a new component is mounted (which might be never!)
424
+ //
425
+ // If there are 0 remaining items in the buffer, we can skip the run in -maybeFlushUpdateBuffer.
426
+ if (lastSnapshot != nil && isNativeViewMounted) {
427
+ props = lastSnapshot.props;
428
+ viewTag = lastSnapshot.viewTag;
429
+ viewName = lastSnapshot.viewName;
430
+
431
+ [_componentUpdateBuffer removeObjectForKey:viewTag];
432
+
433
+ if (_componentUpdateBuffer.count == 0) {
434
+ atomic_store(&_shouldFlushUpdateBuffer, false);
435
+ }
436
+ }
437
+
415
438
  // TODO: refactor PropsNode to also use this function
416
439
  NSMutableDictionary *uiProps = [NSMutableDictionary new];
417
440
  NSMutableDictionary *nativeProps = [NSMutableDictionary new];
@@ -0,0 +1,17 @@
1
+ #ifndef REAKeyboardEventManager_h
2
+ #define REAKeyboardEventManager_h
3
+
4
+ #import <RNReanimated/REAEventDispatcher.h>
5
+ #import <React/RCTEventDispatcher.h>
6
+
7
+ typedef void (^KeyboardEventListenerBlock)(int keyboardState, int height);
8
+
9
+ @interface REAKeyboardEventObserver : NSObject
10
+
11
+ - (instancetype)init;
12
+ - (int)subscribeForKeyboardEvents:(KeyboardEventListenerBlock)listener;
13
+ - (void)unsubscribeFromKeyboardEvents:(int)listenerId;
14
+
15
+ @end
16
+
17
+ #endif /* REAKeyboardEventManager_h */