react-native-reanimated 2.9.1 → 3.0.0-rc.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 (890) hide show
  1. package/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp +4 -4
  2. package/Common/cpp/Fabric/FabricUtils.cpp +133 -0
  3. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +220 -0
  4. package/Common/cpp/Fabric/ShadowTreeCloner.cpp +92 -0
  5. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +336 -6
  6. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +23 -0
  7. package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
  8. package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
  9. package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
  10. package/Common/cpp/Tools/Mapper.cpp +23 -4
  11. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
  12. package/Common/cpp/Tools/Scheduler.cpp +4 -0
  13. package/Common/cpp/headers/Fabric/FabricUtils.h +79 -0
  14. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +47 -0
  15. package/Common/cpp/headers/Fabric/ShadowTreeCloner.h +41 -0
  16. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +81 -2
  17. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +8 -0
  18. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
  19. package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
  20. package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
  21. package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
  22. package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
  23. package/Common/cpp/headers/Tools/Mapper.h +1 -1
  24. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +48 -8
  25. package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
  26. package/README.md +4 -0
  27. package/RNReanimated.podspec +48 -15
  28. package/android/CMakeLists.txt +205 -86
  29. package/android/build.gradle +242 -236
  30. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +335 -0
  31. package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
  32. package/android/src/main/cpp/NativeProxy.cpp +220 -51
  33. package/android/src/main/cpp/OnLoad.cpp +1 -0
  34. package/android/src/main/cpp/headers/NativeProxy.h +72 -7
  35. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +16 -246
  36. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
  37. package/android/src/main/java/com/swmansion/reanimated/keyboardObserver/ReanimatedKeyboardEventListener.java +165 -0
  38. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +19 -16
  39. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
  40. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +5 -1
  41. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +1 -1
  42. package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +326 -0
  43. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  44. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  45. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  46. package/ios/REAEventDispatcher.m +0 -1
  47. package/ios/REAModule.h +10 -1
  48. package/ios/REAModule.mm +284 -0
  49. package/ios/REANodesManager.h +27 -51
  50. package/ios/REANodesManager.mm +517 -0
  51. package/ios/keyboardObserver/REAKeyboardEventObserver.h +17 -0
  52. package/ios/keyboardObserver/REAKeyboardEventObserver.m +198 -0
  53. package/ios/native/NativeProxy.mm +95 -17
  54. package/ios/native/REAInitializer.mm +10 -12
  55. package/ios/native/REAJSIUtils.h +66 -0
  56. package/ios/native/UIResponder+Reanimated.h +3 -1
  57. package/ios/native/UIResponder+Reanimated.mm +3 -1
  58. package/ios/sensor/ReanimatedSensor.m +26 -17
  59. package/lib/commonjs/Animated.js +70 -0
  60. package/lib/commonjs/Animated.js.map +1 -0
  61. package/lib/commonjs/ConfigHelper.js +173 -0
  62. package/lib/commonjs/ConfigHelper.js.map +1 -0
  63. package/lib/commonjs/createAnimatedComponent.js +474 -0
  64. package/lib/commonjs/createAnimatedComponent.js.map +1 -0
  65. package/lib/commonjs/index.js +44 -0
  66. package/lib/commonjs/index.js.map +1 -0
  67. package/lib/commonjs/index.web.js +32 -0
  68. package/lib/commonjs/index.web.js.map +1 -0
  69. package/lib/commonjs/reanimated2/Bezier.js +166 -0
  70. package/lib/commonjs/reanimated2/Bezier.js.map +1 -0
  71. package/lib/commonjs/reanimated2/Colors.js +673 -0
  72. package/lib/commonjs/reanimated2/Colors.js.map +1 -0
  73. package/lib/commonjs/reanimated2/Easing.js +274 -0
  74. package/lib/commonjs/reanimated2/Easing.js.map +1 -0
  75. package/lib/commonjs/reanimated2/NativeMethods.js +100 -0
  76. package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -0
  77. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +99 -0
  78. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -0
  79. package/lib/commonjs/reanimated2/NativeReanimated/index.js +26 -0
  80. package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -0
  81. package/lib/commonjs/reanimated2/PlatformChecker.js +33 -0
  82. package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -0
  83. package/lib/commonjs/reanimated2/PropAdapters.js +68 -0
  84. package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -0
  85. package/lib/commonjs/reanimated2/UpdateProps.js +82 -0
  86. package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -0
  87. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +96 -0
  88. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -0
  89. package/lib/commonjs/reanimated2/WorkletEventHandler.js +75 -0
  90. package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -0
  91. package/lib/commonjs/reanimated2/animation/commonTypes.js +6 -0
  92. package/lib/commonjs/reanimated2/animation/commonTypes.js.map +1 -0
  93. package/lib/commonjs/reanimated2/animation/decay.js +132 -0
  94. package/lib/commonjs/reanimated2/animation/decay.js.map +1 -0
  95. package/lib/commonjs/reanimated2/animation/delay.js +89 -0
  96. package/lib/commonjs/reanimated2/animation/delay.js.map +1 -0
  97. package/lib/commonjs/reanimated2/animation/index.js +82 -0
  98. package/lib/commonjs/reanimated2/animation/index.js.map +1 -0
  99. package/lib/commonjs/reanimated2/animation/repeat.js +107 -0
  100. package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -0
  101. package/lib/commonjs/reanimated2/animation/sequence.js +103 -0
  102. package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -0
  103. package/lib/commonjs/reanimated2/animation/spring.js +121 -0
  104. package/lib/commonjs/reanimated2/animation/spring.js.map +1 -0
  105. package/lib/commonjs/reanimated2/animation/styleAnimation.js +206 -0
  106. package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -0
  107. package/lib/commonjs/reanimated2/animation/timing.js +82 -0
  108. package/lib/commonjs/reanimated2/animation/timing.js.map +1 -0
  109. package/lib/commonjs/reanimated2/animation/util.js +233 -0
  110. package/lib/commonjs/reanimated2/animation/util.js.map +1 -0
  111. package/lib/commonjs/reanimated2/commonTypes.js +17 -0
  112. package/lib/commonjs/reanimated2/commonTypes.js.map +1 -0
  113. package/lib/commonjs/reanimated2/component/FlatList.js +53 -0
  114. package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -0
  115. package/lib/commonjs/reanimated2/component/Image.js +17 -0
  116. package/lib/commonjs/reanimated2/component/Image.js.map +1 -0
  117. package/lib/commonjs/reanimated2/component/ScrollView.js +17 -0
  118. package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -0
  119. package/lib/commonjs/reanimated2/component/Text.js +17 -0
  120. package/lib/commonjs/reanimated2/component/Text.js.map +1 -0
  121. package/lib/commonjs/reanimated2/component/View.js +17 -0
  122. package/lib/commonjs/reanimated2/component/View.js.map +1 -0
  123. package/lib/commonjs/reanimated2/core.js +360 -0
  124. package/lib/commonjs/reanimated2/core.js.map +1 -0
  125. package/lib/commonjs/reanimated2/fabricUtils.js +27 -0
  126. package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -0
  127. package/lib/commonjs/reanimated2/fabricUtils.web.js +21 -0
  128. package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -0
  129. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +55 -0
  130. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -0
  131. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +64 -0
  132. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -0
  133. package/lib/commonjs/reanimated2/globals.d.js +6 -0
  134. package/lib/commonjs/reanimated2/globals.d.js.map +1 -0
  135. package/lib/commonjs/reanimated2/hook/Hooks.js +35 -0
  136. package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -0
  137. package/lib/commonjs/reanimated2/hook/commonTypes.js +6 -0
  138. package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -0
  139. package/lib/commonjs/reanimated2/hook/index.js +118 -0
  140. package/lib/commonjs/reanimated2/hook/index.js.map +1 -0
  141. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +66 -0
  142. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -0
  143. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +48 -0
  144. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -0
  145. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +44 -0
  146. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -0
  147. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +43 -0
  148. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -0
  149. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +62 -0
  150. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -0
  151. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +94 -0
  152. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -0
  153. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +471 -0
  154. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -0
  155. package/lib/commonjs/reanimated2/hook/useDerivedValue.js +49 -0
  156. package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -0
  157. package/lib/commonjs/reanimated2/hook/useFrameCallback.js +36 -0
  158. package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -0
  159. package/lib/commonjs/reanimated2/hook/useSharedValue.js +30 -0
  160. package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -0
  161. package/lib/commonjs/reanimated2/hook/utils.js +247 -0
  162. package/lib/commonjs/reanimated2/hook/utils.js.map +1 -0
  163. package/lib/commonjs/reanimated2/index.js +162 -0
  164. package/lib/commonjs/reanimated2/index.js.map +1 -0
  165. package/lib/commonjs/reanimated2/interpolateColor.js +154 -0
  166. package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -0
  167. package/lib/commonjs/reanimated2/interpolation.js +143 -0
  168. package/lib/commonjs/reanimated2/interpolation.js.map +1 -0
  169. package/lib/commonjs/reanimated2/jestUtils.js +239 -0
  170. package/lib/commonjs/reanimated2/jestUtils.js.map +1 -0
  171. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +160 -0
  172. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -0
  173. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +74 -0
  174. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -0
  175. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +146 -0
  176. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -0
  177. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +57 -0
  178. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -0
  179. package/lib/commonjs/reanimated2/js-reanimated/commonTypes.js +6 -0
  180. package/lib/commonjs/reanimated2/js-reanimated/commonTypes.js.map +1 -0
  181. package/lib/commonjs/reanimated2/js-reanimated/global.js +57 -0
  182. package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -0
  183. package/lib/commonjs/reanimated2/js-reanimated/index.js +57 -0
  184. package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -0
  185. package/lib/commonjs/reanimated2/layoutReanimation/LayoutAnimationRepository.js +97 -0
  186. package/lib/commonjs/reanimated2/layoutReanimation/LayoutAnimationRepository.js.map +1 -0
  187. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +100 -0
  188. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -0
  189. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +203 -0
  190. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -0
  191. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +244 -0
  192. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -0
  193. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +6 -0
  194. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -0
  195. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +30 -0
  196. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -0
  197. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +570 -0
  198. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -0
  199. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Default.js +55 -0
  200. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Default.js.map +1 -0
  201. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +409 -0
  202. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -0
  203. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +559 -0
  204. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -0
  205. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +221 -0
  206. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -0
  207. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +101 -0
  208. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -0
  209. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +189 -0
  210. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -0
  211. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +403 -0
  212. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -0
  213. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +298 -0
  214. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -0
  215. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +167 -0
  216. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -0
  217. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +700 -0
  218. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -0
  219. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +136 -0
  220. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -0
  221. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +120 -0
  222. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -0
  223. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +180 -0
  224. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -0
  225. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +66 -0
  226. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -0
  227. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +64 -0
  228. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -0
  229. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +52 -0
  230. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -0
  231. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +68 -0
  232. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -0
  233. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +84 -0
  234. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -0
  235. package/lib/commonjs/reanimated2/layoutReanimation/index.js +47 -0
  236. package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -0
  237. package/lib/commonjs/reanimated2/mock.js +88 -0
  238. package/lib/commonjs/reanimated2/mock.js.map +1 -0
  239. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +16 -0
  240. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -0
  241. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js +5 -0
  242. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -0
  243. package/lib/commonjs/reanimated2/utils.js +19 -0
  244. package/lib/commonjs/reanimated2/utils.js.map +1 -0
  245. package/lib/commonjs/setAndForwardRef.js +63 -0
  246. package/lib/commonjs/setAndForwardRef.js.map +1 -0
  247. package/lib/module/Animated.js +8 -0
  248. package/lib/module/Animated.js.map +1 -0
  249. package/lib/module/ConfigHelper.js +161 -0
  250. package/lib/module/ConfigHelper.js.map +1 -0
  251. package/lib/module/createAnimatedComponent.js +452 -0
  252. package/lib/module/createAnimatedComponent.js.map +1 -0
  253. package/lib/module/index.js +15 -0
  254. package/lib/module/index.js.map +1 -0
  255. package/lib/module/index.web.js +6 -0
  256. package/lib/module/index.web.js.map +1 -0
  257. package/lib/module/reanimated2/Bezier.js +159 -0
  258. package/lib/module/reanimated2/Bezier.js.map +1 -0
  259. package/lib/module/reanimated2/Colors.js +632 -0
  260. package/lib/module/reanimated2/Colors.js.map +1 -0
  261. package/lib/module/reanimated2/Easing.js +311 -0
  262. package/lib/module/reanimated2/Easing.js.map +1 -0
  263. package/lib/module/reanimated2/NativeMethods.js +82 -0
  264. package/lib/module/reanimated2/NativeMethods.js.map +1 -0
  265. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +89 -0
  266. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -0
  267. package/lib/module/reanimated2/NativeReanimated/index.js +13 -0
  268. package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -0
  269. package/lib/module/reanimated2/PlatformChecker.js +17 -0
  270. package/lib/module/reanimated2/PlatformChecker.js.map +1 -0
  271. package/lib/module/reanimated2/PropAdapters.js +56 -0
  272. package/lib/module/reanimated2/PropAdapters.js.map +1 -0
  273. package/lib/module/reanimated2/UpdateProps.js +64 -0
  274. package/lib/module/reanimated2/UpdateProps.js.map +1 -0
  275. package/lib/module/reanimated2/ViewDescriptorsSet.js +83 -0
  276. package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -0
  277. package/lib/module/reanimated2/WorkletEventHandler.js +64 -0
  278. package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -0
  279. package/lib/module/reanimated2/animation/commonTypes.js +2 -0
  280. package/lib/module/reanimated2/animation/commonTypes.js.map +1 -0
  281. package/lib/module/reanimated2/animation/decay.js +123 -0
  282. package/lib/module/reanimated2/animation/decay.js.map +1 -0
  283. package/lib/module/reanimated2/animation/delay.js +79 -0
  284. package/lib/module/reanimated2/animation/delay.js.map +1 -0
  285. package/lib/module/reanimated2/animation/index.js +9 -0
  286. package/lib/module/reanimated2/animation/index.js.map +1 -0
  287. package/lib/module/reanimated2/animation/repeat.js +95 -0
  288. package/lib/module/reanimated2/animation/repeat.js.map +1 -0
  289. package/lib/module/reanimated2/animation/sequence.js +93 -0
  290. package/lib/module/reanimated2/animation/sequence.js.map +1 -0
  291. package/lib/module/reanimated2/animation/spring.js +113 -0
  292. package/lib/module/reanimated2/animation/spring.js.map +1 -0
  293. package/lib/module/reanimated2/animation/styleAnimation.js +191 -0
  294. package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -0
  295. package/lib/module/reanimated2/animation/timing.js +73 -0
  296. package/lib/module/reanimated2/animation/timing.js.map +1 -0
  297. package/lib/module/reanimated2/animation/util.js +216 -0
  298. package/lib/module/reanimated2/animation/util.js.map +1 -0
  299. package/lib/module/reanimated2/commonTypes.js +10 -0
  300. package/lib/module/reanimated2/commonTypes.js.map +1 -0
  301. package/lib/module/reanimated2/component/FlatList.js +33 -0
  302. package/lib/module/reanimated2/component/FlatList.js.map +1 -0
  303. package/lib/module/reanimated2/component/Image.js +5 -0
  304. package/lib/module/reanimated2/component/Image.js.map +1 -0
  305. package/lib/module/reanimated2/component/ScrollView.js +5 -0
  306. package/lib/module/reanimated2/component/ScrollView.js.map +1 -0
  307. package/lib/module/reanimated2/component/Text.js +5 -0
  308. package/lib/module/reanimated2/component/Text.js.map +1 -0
  309. package/lib/module/reanimated2/component/View.js +5 -0
  310. package/lib/module/reanimated2/component/View.js.map +1 -0
  311. package/lib/module/reanimated2/core.js +314 -0
  312. package/lib/module/reanimated2/core.js.map +1 -0
  313. package/lib/module/reanimated2/fabricUtils.js +18 -0
  314. package/lib/module/reanimated2/fabricUtils.js.map +1 -0
  315. package/lib/module/reanimated2/fabricUtils.web.js +12 -0
  316. package/lib/module/reanimated2/fabricUtils.web.js.map +1 -0
  317. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +44 -0
  318. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -0
  319. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +55 -0
  320. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -0
  321. package/lib/module/reanimated2/globals.d.js +2 -0
  322. package/lib/module/reanimated2/globals.d.js.map +1 -0
  323. package/lib/module/reanimated2/hook/Hooks.js +10 -0
  324. package/lib/module/reanimated2/hook/Hooks.js.map +1 -0
  325. package/lib/module/reanimated2/hook/commonTypes.js +2 -0
  326. package/lib/module/reanimated2/hook/commonTypes.js.map +1 -0
  327. package/lib/module/reanimated2/hook/index.js +12 -0
  328. package/lib/module/reanimated2/hook/index.js.map +1 -0
  329. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +56 -0
  330. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -0
  331. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +34 -0
  332. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -0
  333. package/lib/module/reanimated2/hook/useAnimatedReaction.js +35 -0
  334. package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -0
  335. package/lib/module/reanimated2/hook/useAnimatedRef.js +32 -0
  336. package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -0
  337. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +54 -0
  338. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -0
  339. package/lib/module/reanimated2/hook/useAnimatedSensor.js +79 -0
  340. package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -0
  341. package/lib/module/reanimated2/hook/useAnimatedStyle.js +450 -0
  342. package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -0
  343. package/lib/module/reanimated2/hook/useDerivedValue.js +39 -0
  344. package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -0
  345. package/lib/module/reanimated2/hook/useFrameCallback.js +24 -0
  346. package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -0
  347. package/lib/module/reanimated2/hook/useSharedValue.js +20 -0
  348. package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -0
  349. package/lib/module/reanimated2/hook/utils.js +208 -0
  350. package/lib/module/reanimated2/hook/utils.js.map +1 -0
  351. package/lib/module/reanimated2/index.js +13 -0
  352. package/lib/module/reanimated2/index.js.map +1 -0
  353. package/lib/module/reanimated2/interpolateColor.js +135 -0
  354. package/lib/module/reanimated2/interpolateColor.js.map +1 -0
  355. package/lib/module/reanimated2/interpolation.js +135 -0
  356. package/lib/module/reanimated2/interpolation.js.map +1 -0
  357. package/lib/module/reanimated2/jestUtils.js +217 -0
  358. package/lib/module/reanimated2/jestUtils.js.map +1 -0
  359. package/lib/module/reanimated2/js-reanimated/JSReanimated.js +144 -0
  360. package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -0
  361. package/lib/module/reanimated2/js-reanimated/Mapper.js +62 -0
  362. package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -0
  363. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +137 -0
  364. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -0
  365. package/lib/module/reanimated2/js-reanimated/MutableValue.js +48 -0
  366. package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -0
  367. package/lib/module/reanimated2/js-reanimated/commonTypes.js +2 -0
  368. package/lib/module/reanimated2/js-reanimated/commonTypes.js.map +1 -0
  369. package/lib/module/reanimated2/js-reanimated/global.js +48 -0
  370. package/lib/module/reanimated2/js-reanimated/global.js.map +1 -0
  371. package/lib/module/reanimated2/js-reanimated/index.js +43 -0
  372. package/lib/module/reanimated2/js-reanimated/index.js.map +1 -0
  373. package/lib/module/reanimated2/layoutReanimation/LayoutAnimationRepository.js +91 -0
  374. package/lib/module/reanimated2/layoutReanimation/LayoutAnimationRepository.js.map +1 -0
  375. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +90 -0
  376. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -0
  377. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +192 -0
  378. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -0
  379. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +233 -0
  380. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -0
  381. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +2 -0
  382. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -0
  383. package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js +4 -0
  384. package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -0
  385. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +530 -0
  386. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -0
  387. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Default.js +40 -0
  388. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Default.js.map +1 -0
  389. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +372 -0
  390. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -0
  391. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +516 -0
  392. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -0
  393. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +199 -0
  394. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -0
  395. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +88 -0
  396. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -0
  397. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +168 -0
  398. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -0
  399. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +372 -0
  400. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -0
  401. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +265 -0
  402. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -0
  403. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +148 -0
  404. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -0
  405. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +643 -0
  406. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -0
  407. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js +11 -0
  408. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -0
  409. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +108 -0
  410. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -0
  411. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +166 -0
  412. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -0
  413. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +55 -0
  414. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -0
  415. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +52 -0
  416. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -0
  417. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +41 -0
  418. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -0
  419. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +57 -0
  420. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -0
  421. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js +7 -0
  422. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -0
  423. package/lib/module/reanimated2/layoutReanimation/index.js +5 -0
  424. package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -0
  425. package/lib/module/reanimated2/mock.js +86 -0
  426. package/lib/module/reanimated2/mock.js.map +1 -0
  427. package/lib/module/reanimated2/platform-specific/RNRenderer.js +4 -0
  428. package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -0
  429. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js +3 -0
  430. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -0
  431. package/lib/module/reanimated2/utils.js +11 -0
  432. package/lib/module/reanimated2/utils.js.map +1 -0
  433. package/lib/module/setAndForwardRef.js +55 -0
  434. package/lib/module/setAndForwardRef.js.map +1 -0
  435. package/mock.js +1 -0
  436. package/package.json +29 -25
  437. package/plugin.js +11 -17
  438. package/react-native-reanimated.d.ts +57 -4
  439. package/src/Animated.ts +0 -2
  440. package/src/createAnimatedComponent.tsx +37 -197
  441. package/src/index.ts +11 -5
  442. package/src/index.web.ts +5 -0
  443. package/src/reanimated2/Colors.ts +1 -1
  444. package/src/reanimated2/Easing.ts +0 -53
  445. package/src/reanimated2/NativeMethods.ts +44 -7
  446. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +9 -0
  447. package/src/reanimated2/UpdateProps.ts +38 -19
  448. package/src/reanimated2/animation/decay.ts +79 -30
  449. package/src/reanimated2/animation/index.ts +7 -4
  450. package/src/reanimated2/animation/util.ts +8 -1
  451. package/src/reanimated2/commonTypes.ts +17 -1
  452. package/src/reanimated2/component/FlatList.tsx +29 -19
  453. package/src/reanimated2/core.ts +15 -9
  454. package/src/reanimated2/fabricUtils.ts +27 -0
  455. package/src/reanimated2/fabricUtils.web.ts +19 -0
  456. package/src/reanimated2/frameCallback/FrameCallbackRegistryJS.ts +43 -0
  457. package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +64 -0
  458. package/src/reanimated2/globals.d.ts +20 -1
  459. package/src/reanimated2/hook/commonTypes.ts +4 -2
  460. package/src/reanimated2/hook/index.ts +14 -14
  461. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  462. package/src/reanimated2/hook/useAnimatedKeyboard.ts +35 -0
  463. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  464. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  465. package/src/reanimated2/hook/useAnimatedSensor.ts +5 -5
  466. package/src/reanimated2/hook/useFrameCallback.ts +39 -0
  467. package/src/reanimated2/hook/utils.ts +2 -5
  468. package/src/reanimated2/interpolateColor.ts +6 -2
  469. package/src/reanimated2/interpolation.ts +1 -26
  470. package/src/reanimated2/jestUtils.ts +11 -3
  471. package/src/reanimated2/js-reanimated/JSReanimated.ts +16 -1
  472. package/src/reanimated2/js-reanimated/global.ts +46 -29
  473. package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.ts +1 -1
  474. package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +1 -1
  475. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  476. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  477. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  478. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  479. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  480. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  481. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  482. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  483. package/android/.gradle/7.2/gc.properties +0 -0
  484. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  485. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  486. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  487. package/android/.gradle/checksums/checksums.lock +0 -0
  488. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  489. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  490. package/android/.gradle/vcs-1/gc.properties +0 -0
  491. package/android/react-native-reanimated-65-hermes.aar +0 -0
  492. package/android/react-native-reanimated-65-jsc.aar +0 -0
  493. package/android/react-native-reanimated-66-hermes.aar +0 -0
  494. package/android/react-native-reanimated-66-jsc.aar +0 -0
  495. package/android/react-native-reanimated-67-hermes.aar +0 -0
  496. package/android/react-native-reanimated-67-jsc.aar +0 -0
  497. package/android/react-native-reanimated-68-hermes.aar +0 -0
  498. package/android/react-native-reanimated-68-jsc.aar +0 -0
  499. package/android/react-native-reanimated-69-hermes.aar +0 -0
  500. package/android/react-native-reanimated-69-jsc.aar +0 -0
  501. package/android/rnVersionPatch/69/.gitkeep +0 -0
  502. package/android/src/main/java/com/swmansion/reanimated/NativeProxy.java +0 -288
  503. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  504. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  505. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  506. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  507. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  508. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  509. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  510. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  511. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  512. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  513. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  514. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  515. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  516. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  517. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  518. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  519. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  520. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  521. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  522. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  523. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  524. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  525. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  526. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  527. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  528. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  529. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  530. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  531. package/ios/Nodes/REAAlwaysNode.h +0 -4
  532. package/ios/Nodes/REAAlwaysNode.m +0 -35
  533. package/ios/Nodes/REABezierNode.h +0 -5
  534. package/ios/Nodes/REABezierNode.m +0 -103
  535. package/ios/Nodes/REABlockNode.h +0 -5
  536. package/ios/Nodes/REABlockNode.m +0 -25
  537. package/ios/Nodes/REACallFuncNode.h +0 -6
  538. package/ios/Nodes/REACallFuncNode.m +0 -69
  539. package/ios/Nodes/REAClockNodes.h +0 -19
  540. package/ios/Nodes/REAClockNodes.m +0 -118
  541. package/ios/Nodes/REAConcatNode.h +0 -5
  542. package/ios/Nodes/REAConcatNode.m +0 -32
  543. package/ios/Nodes/REACondNode.h +0 -5
  544. package/ios/Nodes/REACondNode.m +0 -36
  545. package/ios/Nodes/READebugNode.h +0 -5
  546. package/ios/Nodes/READebugNode.m +0 -30
  547. package/ios/Nodes/REAEventNode.h +0 -8
  548. package/ios/Nodes/REAEventNode.m +0 -35
  549. package/ios/Nodes/REAFunctionNode.h +0 -6
  550. package/ios/Nodes/REAFunctionNode.m +0 -24
  551. package/ios/Nodes/REAJSCallNode.h +0 -5
  552. package/ios/Nodes/REAJSCallNode.m +0 -30
  553. package/ios/Nodes/REANode.h +0 -40
  554. package/ios/Nodes/REANode.m +0 -155
  555. package/ios/Nodes/REAOperatorNode.h +0 -5
  556. package/ios/Nodes/REAOperatorNode.m +0 -114
  557. package/ios/Nodes/REAParamNode.h +0 -10
  558. package/ios/Nodes/REAParamNode.m +0 -79
  559. package/ios/Nodes/REAPropsNode.h +0 -9
  560. package/ios/Nodes/REAPropsNode.m +0 -96
  561. package/ios/Nodes/REASetNode.h +0 -5
  562. package/ios/Nodes/REASetNode.m +0 -34
  563. package/ios/Nodes/REAStyleNode.h +0 -5
  564. package/ios/Nodes/REAStyleNode.m +0 -27
  565. package/ios/Nodes/REATransformNode.h +0 -5
  566. package/ios/Nodes/REATransformNode.m +0 -36
  567. package/ios/Nodes/REAValueNode.h +0 -9
  568. package/ios/Nodes/REAValueNode.m +0 -26
  569. package/ios/REAModule.m +0 -184
  570. package/ios/REANodesManager.m +0 -626
  571. package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
  572. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  573. package/ios/Transitioning/REAAllTransitions.h +0 -26
  574. package/ios/Transitioning/REAAllTransitions.m +0 -296
  575. package/ios/Transitioning/REATransition.h +0 -64
  576. package/ios/Transitioning/REATransition.m +0 -210
  577. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  578. package/ios/Transitioning/REATransitionAnimation.m +0 -79
  579. package/ios/Transitioning/REATransitionManager.h +0 -9
  580. package/ios/Transitioning/REATransitionManager.m +0 -60
  581. package/ios/Transitioning/REATransitionValues.h +0 -15
  582. package/ios/Transitioning/REATransitionValues.m +0 -25
  583. package/lib/Animated.js +0 -9
  584. package/lib/ConfigHelper.js +0 -145
  585. package/lib/ReanimatedEventEmitter.js +0 -3
  586. package/lib/ReanimatedModule.js +0 -2
  587. package/lib/ReanimatedModule.macos.js +0 -2
  588. package/lib/ReanimatedModule.native.js +0 -12
  589. package/lib/ReanimatedModule.windows.js +0 -2
  590. package/lib/ReanimatedModuleCompat.js +0 -66
  591. package/lib/__mocks__/ReanimatedEventEmitter.js +0 -8
  592. package/lib/__mocks__/ReanimatedModule.native.js +0 -11
  593. package/lib/createAnimatedComponent.js +0 -514
  594. package/lib/index.js +0 -6
  595. package/lib/reanimated1/Easing.js +0 -231
  596. package/lib/reanimated1/SpringConfig.js +0 -79
  597. package/lib/reanimated1/Transitioning.js +0 -158
  598. package/lib/reanimated1/animations/Animation.js +0 -32
  599. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  600. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  601. package/lib/reanimated1/animations/decay.js +0 -54
  602. package/lib/reanimated1/animations/spring.js +0 -198
  603. package/lib/reanimated1/animations/timing.js +0 -74
  604. package/lib/reanimated1/base.js +0 -13
  605. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  606. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  607. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  608. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  609. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  610. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  611. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  612. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  613. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  614. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  615. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  616. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  617. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  618. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  619. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  620. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  621. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  622. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  623. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  624. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  625. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  626. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  627. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  628. package/lib/reanimated1/core/Core.test.js +0 -30
  629. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  630. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  631. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  632. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  633. package/lib/reanimated1/derived/acc.js +0 -11
  634. package/lib/reanimated1/derived/color.js +0 -47
  635. package/lib/reanimated1/derived/diff.js +0 -16
  636. package/lib/reanimated1/derived/diffClamp.js +0 -11
  637. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  638. package/lib/reanimated1/derived/index.js +0 -8
  639. package/lib/reanimated1/derived/interpolate.js +0 -152
  640. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  641. package/lib/reanimated1/derived/onChange.js +0 -14
  642. package/lib/reanimated1/derived/useCode.js +0 -41
  643. package/lib/reanimated1/index.js +0 -53
  644. package/lib/reanimated1/operators.js +0 -35
  645. package/lib/reanimated1/useValue.js +0 -10
  646. package/lib/reanimated1/val.js +0 -3
  647. package/lib/reanimated2/Bezier.js +0 -126
  648. package/lib/reanimated2/Colors.js +0 -522
  649. package/lib/reanimated2/Easing.js +0 -248
  650. package/lib/reanimated2/NativeMethods.js +0 -42
  651. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +0 -50
  652. package/lib/reanimated2/NativeReanimated/index.js +0 -11
  653. package/lib/reanimated2/PlatformChecker.js +0 -16
  654. package/lib/reanimated2/PropAdapters.js +0 -55
  655. package/lib/reanimated2/UpdateProps.js +0 -55
  656. package/lib/reanimated2/ViewDescriptorsSet.js +0 -75
  657. package/lib/reanimated2/WorkletEventHandler.js +0 -37
  658. package/lib/reanimated2/__mocks__/MutableValue.js +0 -13
  659. package/lib/reanimated2/__mocks__/NativeReanimated.js +0 -20
  660. package/lib/reanimated2/__mocks__/NativeReanimated.native.js +0 -20
  661. package/lib/reanimated2/animation/commonTypes.js +0 -1
  662. package/lib/reanimated2/animation/decay.js +0 -71
  663. package/lib/reanimated2/animation/delay.js +0 -64
  664. package/lib/reanimated2/animation/index.js +0 -8
  665. package/lib/reanimated2/animation/repeat.js +0 -69
  666. package/lib/reanimated2/animation/sequence.js +0 -69
  667. package/lib/reanimated2/animation/spring.js +0 -103
  668. package/lib/reanimated2/animation/styleAnimation.js +0 -171
  669. package/lib/reanimated2/animation/timing.js +0 -64
  670. package/lib/reanimated2/animation/util.js +0 -180
  671. package/lib/reanimated2/commonTypes.js +0 -1
  672. package/lib/reanimated2/component/FlatList.js +0 -30
  673. package/lib/reanimated2/component/Image.js +0 -4
  674. package/lib/reanimated2/component/ScrollView.js +0 -4
  675. package/lib/reanimated2/component/Text.js +0 -4
  676. package/lib/reanimated2/component/View.js +0 -4
  677. package/lib/reanimated2/core.js +0 -268
  678. package/lib/reanimated2/globals.d.ts +0 -60
  679. package/lib/reanimated2/hook/Hooks.js +0 -9
  680. package/lib/reanimated2/hook/commonTypes.js +0 -1
  681. package/lib/reanimated2/hook/index.js +0 -9
  682. package/lib/reanimated2/hook/useAnimatedGestureHandler.js +0 -49
  683. package/lib/reanimated2/hook/useAnimatedReaction.js +0 -37
  684. package/lib/reanimated2/hook/useAnimatedRef.js +0 -25
  685. package/lib/reanimated2/hook/useAnimatedScrollHandler.js +0 -41
  686. package/lib/reanimated2/hook/useAnimatedSensor.js +0 -66
  687. package/lib/reanimated2/hook/useAnimatedStyle.js +0 -393
  688. package/lib/reanimated2/hook/useDerivedValue.js +0 -36
  689. package/lib/reanimated2/hook/useSharedValue.js +0 -17
  690. package/lib/reanimated2/hook/utils.js +0 -173
  691. package/lib/reanimated2/index.js +0 -12
  692. package/lib/reanimated2/interpolateColor.js +0 -98
  693. package/lib/reanimated2/interpolation.js +0 -127
  694. package/lib/reanimated2/jestUtils.js +0 -160
  695. package/lib/reanimated2/js-reanimated/JSReanimated.js +0 -99
  696. package/lib/reanimated2/js-reanimated/Mapper.js +0 -43
  697. package/lib/reanimated2/js-reanimated/MapperRegistry.js +0 -101
  698. package/lib/reanimated2/js-reanimated/MutableValue.js +0 -29
  699. package/lib/reanimated2/js-reanimated/commonTypes.js +0 -1
  700. package/lib/reanimated2/js-reanimated/global.js +0 -25
  701. package/lib/reanimated2/js-reanimated/index.js +0 -35
  702. package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +0 -67
  703. package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -69
  704. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +0 -133
  705. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +0 -194
  706. package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +0 -1
  707. package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +0 -3
  708. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +0 -376
  709. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +0 -36
  710. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +0 -275
  711. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +0 -385
  712. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +0 -138
  713. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +0 -81
  714. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +0 -115
  715. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +0 -273
  716. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +0 -203
  717. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +0 -101
  718. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +0 -451
  719. package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -10
  720. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +0 -90
  721. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +0 -132
  722. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +0 -37
  723. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +0 -41
  724. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +0 -34
  725. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +0 -46
  726. package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -6
  727. package/lib/reanimated2/layoutReanimation/index.js +0 -4
  728. package/lib/reanimated2/mock.js +0 -75
  729. package/lib/reanimated2/platform-specific/RNRenderer.js +0 -3
  730. package/lib/reanimated2/platform-specific/RNRenderer.web.js +0 -3
  731. package/lib/reanimated2/utils.js +0 -9
  732. package/lib/setAndForwardRef.js +0 -19
  733. package/lib/types/lib/Animated.d.ts +0 -8
  734. package/lib/types/lib/ConfigHelper.d.ts +0 -12
  735. package/lib/types/lib/ReanimatedEventEmitter.d.ts +0 -3
  736. package/lib/types/lib/ReanimatedModule.d.ts +0 -2
  737. package/lib/types/lib/ReanimatedModule.macos.d.ts +0 -2
  738. package/lib/types/lib/ReanimatedModule.native.d.ts +0 -2
  739. package/lib/types/lib/ReanimatedModule.windows.d.ts +0 -2
  740. package/lib/types/lib/ReanimatedModuleCompat.d.ts +0 -14
  741. package/lib/types/lib/createAnimatedComponent.d.ts +0 -33
  742. package/lib/types/lib/index.d.ts +0 -4
  743. package/lib/types/lib/reanimated2/Bezier.d.ts +0 -6
  744. package/lib/types/lib/reanimated2/Colors.d.ts +0 -31
  745. package/lib/types/lib/reanimated2/Easing.d.ts +0 -172
  746. package/lib/types/lib/reanimated2/NativeMethods.d.ts +0 -14
  747. package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +0 -20
  748. package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +0 -3
  749. package/lib/types/lib/reanimated2/PlatformChecker.d.ts +0 -5
  750. package/lib/types/lib/reanimated2/PropAdapters.d.ts +0 -4
  751. package/lib/types/lib/reanimated2/UpdateProps.d.ts +0 -9
  752. package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +0 -20
  753. package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +0 -13
  754. package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +0 -5
  755. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +0 -13
  756. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.native.d.ts +0 -13
  757. package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +0 -27
  758. package/lib/types/lib/reanimated2/animation/decay.d.ts +0 -19
  759. package/lib/types/lib/reanimated2/animation/delay.d.ts +0 -7
  760. package/lib/types/lib/reanimated2/animation/index.d.ts +0 -9
  761. package/lib/types/lib/reanimated2/animation/repeat.d.ts +0 -12
  762. package/lib/types/lib/reanimated2/animation/sequence.d.ts +0 -7
  763. package/lib/types/lib/reanimated2/animation/spring.d.ts +0 -22
  764. package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +0 -7
  765. package/lib/types/lib/reanimated2/animation/timing.d.ts +0 -21
  766. package/lib/types/lib/reanimated2/animation/util.d.ts +0 -9
  767. package/lib/types/lib/reanimated2/commonTypes.d.ts +0 -79
  768. package/lib/types/lib/reanimated2/component/FlatList.d.ts +0 -9
  769. package/lib/types/lib/reanimated2/component/Image.d.ts +0 -3
  770. package/lib/types/lib/reanimated2/component/ScrollView.d.ts +0 -3
  771. package/lib/types/lib/reanimated2/component/Text.d.ts +0 -3
  772. package/lib/types/lib/reanimated2/component/View.d.ts +0 -3
  773. package/lib/types/lib/reanimated2/core.d.ts +0 -24
  774. package/lib/types/lib/reanimated2/hook/Hooks.d.ts +0 -5
  775. package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +0 -14
  776. package/lib/types/lib/reanimated2/hook/index.d.ts +0 -10
  777. package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +0 -35
  778. package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +0 -12
  779. package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +0 -3
  780. package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +0 -21
  781. package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +0 -18
  782. package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +0 -11
  783. package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +0 -4
  784. package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +0 -2
  785. package/lib/types/lib/reanimated2/hook/utils.d.ts +0 -28
  786. package/lib/types/lib/reanimated2/index.d.ts +0 -12
  787. package/lib/types/lib/reanimated2/interpolateColor.d.ts +0 -26
  788. package/lib/types/lib/reanimated2/interpolation.d.ts +0 -14
  789. package/lib/types/lib/reanimated2/jestUtils.d.ts +0 -12
  790. package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +0 -30
  791. package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +0 -14
  792. package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +0 -14
  793. package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +0 -14
  794. package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +0 -44
  795. package/lib/types/lib/reanimated2/js-reanimated/global.d.ts +0 -1
  796. package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +0 -15
  797. package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +0 -1
  798. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -22
  799. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -38
  800. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -25
  801. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -77
  802. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +0 -4
  803. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -62
  804. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +0 -4
  805. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +0 -42
  806. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +0 -50
  807. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -18
  808. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -10
  809. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +0 -18
  810. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -34
  811. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +0 -34
  812. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -18
  813. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -66
  814. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +0 -10
  815. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -19
  816. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -13
  817. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -6
  818. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -6
  819. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -7
  820. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -9
  821. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +0 -6
  822. package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +0 -4
  823. package/lib/types/lib/reanimated2/mock.d.ts +0 -61
  824. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +0 -1
  825. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
  826. package/lib/types/lib/reanimated2/utils.d.ts +0 -7
  827. package/lib/types/lib/setAndForwardRef.d.ts +0 -40
  828. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  829. package/src/ReanimatedEventEmitter.ts +0 -4
  830. package/src/ReanimatedModule.macos.ts +0 -3
  831. package/src/ReanimatedModule.native.ts +0 -13
  832. package/src/ReanimatedModule.ts +0 -3
  833. package/src/ReanimatedModule.windows.ts +0 -3
  834. package/src/ReanimatedModuleCompat.ts +0 -51
  835. package/src/__mocks__/ReanimatedEventEmitter.js +0 -8
  836. package/src/__mocks__/ReanimatedModule.native.js +0 -11
  837. package/src/reanimated1/Easing.js +0 -231
  838. package/src/reanimated1/SpringConfig.js +0 -79
  839. package/src/reanimated1/Transitioning.js +0 -158
  840. package/src/reanimated1/animations/Animation.js +0 -32
  841. package/src/reanimated1/animations/SpringUtils.js +0 -199
  842. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  843. package/src/reanimated1/animations/decay.js +0 -54
  844. package/src/reanimated1/animations/spring.js +0 -198
  845. package/src/reanimated1/animations/timing.js +0 -74
  846. package/src/reanimated1/base.js +0 -13
  847. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  848. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  849. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  850. package/src/reanimated1/core/AnimatedCall.js +0 -55
  851. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  852. package/src/reanimated1/core/AnimatedClock.js +0 -90
  853. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  854. package/src/reanimated1/core/AnimatedCode.js +0 -32
  855. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  856. package/src/reanimated1/core/AnimatedCond.js +0 -57
  857. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  858. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  859. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  860. package/src/reanimated1/core/AnimatedNode.js +0 -223
  861. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  862. package/src/reanimated1/core/AnimatedParam.js +0 -88
  863. package/src/reanimated1/core/AnimatedProps.js +0 -108
  864. package/src/reanimated1/core/AnimatedSet.js +0 -38
  865. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  866. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  867. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  868. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  869. package/src/reanimated1/core/AnimatedValue.js +0 -38
  870. package/src/reanimated1/core/Core.test.js +0 -30
  871. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  872. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  873. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  874. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  875. package/src/reanimated1/derived/acc.js +0 -11
  876. package/src/reanimated1/derived/color.js +0 -47
  877. package/src/reanimated1/derived/diff.js +0 -16
  878. package/src/reanimated1/derived/diffClamp.js +0 -11
  879. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  880. package/src/reanimated1/derived/index.js +0 -8
  881. package/src/reanimated1/derived/interpolate.js +0 -152
  882. package/src/reanimated1/derived/interpolateColors.js +0 -62
  883. package/src/reanimated1/derived/onChange.js +0 -14
  884. package/src/reanimated1/derived/useCode.js +0 -41
  885. package/src/reanimated1/index.js +0 -53
  886. package/src/reanimated1/operators.js +0 -35
  887. package/src/reanimated1/useValue.js +0 -10
  888. package/src/reanimated1/val.js +0 -3
  889. package/src/reanimated2/__mocks__/MutableValue.ts +0 -15
  890. package/src/reanimated2/__mocks__/NativeReanimated.ts +0 -23
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","makeMutable","NativeReanimated","SensorType","useAnimatedSensor","sensorType","userConfig","ref","sensor","unregister","isAvailable","config","interval","current","sensorData","ROTATION","qw","qx","qy","qz","yaw","pitch","roll","x","y","z","id","registerSensor","unregisterSensor"],"sources":["useAnimatedSensor.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { makeMutable } from '../core';\nimport NativeReanimated from '../NativeReanimated';\nimport { SensorValue3D, SensorValueRotation } from '../commonTypes';\n\nexport enum SensorType {\n ACCELEROMETER = 1,\n GYROSCOPE = 2,\n GRAVITY = 3,\n MAGNETIC_FIELD = 4,\n ROTATION = 5,\n}\n\nexport type SensorConfig = {\n interval: number | 'auto';\n};\n\nexport type AnimatedSensor = {\n sensor: SensorValue3D | SensorValueRotation | null;\n unregister: () => void;\n isAvailable: boolean;\n config: SensorConfig;\n};\n\nexport function useAnimatedSensor(\n sensorType: SensorType,\n userConfig?: SensorConfig\n): AnimatedSensor {\n const ref = useRef<AnimatedSensor>({\n sensor: null,\n unregister: () => {\n // NOOP\n },\n isAvailable: false,\n config: {\n interval: 0,\n },\n });\n\n if (ref.current.sensor === null) {\n ref.current.config = { interval: 'auto', ...userConfig };\n let sensorData;\n if (sensorType === SensorType.ROTATION) {\n sensorData = {\n qw: 0,\n qx: 0,\n qy: 0,\n qz: 0,\n yaw: 0,\n pitch: 0,\n roll: 0,\n };\n } else {\n sensorData = {\n x: 0,\n y: 0,\n z: 0,\n };\n }\n ref.current.sensor = makeMutable(sensorData) as any;\n }\n\n useEffect(() => {\n ref.current.config = { interval: 'auto', ...userConfig };\n const id = NativeReanimated.registerSensor(\n sensorType,\n ref.current.config.interval === 'auto' ? -1 : ref.current.config.interval,\n ref.current.sensor as any\n );\n\n if (id !== -1) {\n // if sensor is available\n ref.current.unregister = () => NativeReanimated.unregisterSensor(id);\n ref.current.isAvailable = true;\n } else {\n // if sensor is unavailable\n ref.current.unregister = () => {\n // NOOP\n };\n ref.current.isAvailable = false;\n }\n\n return () => {\n ref.current.unregister();\n };\n }, [sensorType, userConfig]);\n\n return ref.current;\n}\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,WAAT,QAA4B,SAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAGA,WAAYC,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAmBZ,OAAO,SAASC,iBAAT,CACLC,UADK,EAELC,UAFK,EAGW;EAChB,MAAMC,GAAG,GAAGP,MAAM,CAAiB;IACjCQ,MAAM,EAAE,IADyB;IAEjCC,UAAU,EAAE,MAAM,CAChB;IACD,CAJgC;IAKjCC,WAAW,EAAE,KALoB;IAMjCC,MAAM,EAAE;MACNC,QAAQ,EAAE;IADJ;EANyB,CAAjB,CAAlB;;EAWA,IAAIL,GAAG,CAACM,OAAJ,CAAYL,MAAZ,KAAuB,IAA3B,EAAiC;IAC/BD,GAAG,CAACM,OAAJ,CAAYF,MAAZ,GAAqB;MAAEC,QAAQ,EAAE,MAAZ;MAAoB,GAAGN;IAAvB,CAArB;IACA,IAAIQ,UAAJ;;IACA,IAAIT,UAAU,KAAKF,UAAU,CAACY,QAA9B,EAAwC;MACtCD,UAAU,GAAG;QACXE,EAAE,EAAE,CADO;QAEXC,EAAE,EAAE,CAFO;QAGXC,EAAE,EAAE,CAHO;QAIXC,EAAE,EAAE,CAJO;QAKXC,GAAG,EAAE,CALM;QAMXC,KAAK,EAAE,CANI;QAOXC,IAAI,EAAE;MAPK,CAAb;IASD,CAVD,MAUO;MACLR,UAAU,GAAG;QACXS,CAAC,EAAE,CADQ;QAEXC,CAAC,EAAE,CAFQ;QAGXC,CAAC,EAAE;MAHQ,CAAb;IAKD;;IACDlB,GAAG,CAACM,OAAJ,CAAYL,MAAZ,GAAqBP,WAAW,CAACa,UAAD,CAAhC;EACD;;EAEDf,SAAS,CAAC,MAAM;IACdQ,GAAG,CAACM,OAAJ,CAAYF,MAAZ,GAAqB;MAAEC,QAAQ,EAAE,MAAZ;MAAoB,GAAGN;IAAvB,CAArB;IACA,MAAMoB,EAAE,GAAGxB,gBAAgB,CAACyB,cAAjB,CACTtB,UADS,EAETE,GAAG,CAACM,OAAJ,CAAYF,MAAZ,CAAmBC,QAAnB,KAAgC,MAAhC,GAAyC,CAAC,CAA1C,GAA8CL,GAAG,CAACM,OAAJ,CAAYF,MAAZ,CAAmBC,QAFxD,EAGTL,GAAG,CAACM,OAAJ,CAAYL,MAHH,CAAX;;IAMA,IAAIkB,EAAE,KAAK,CAAC,CAAZ,EAAe;MACb;MACAnB,GAAG,CAACM,OAAJ,CAAYJ,UAAZ,GAAyB,MAAMP,gBAAgB,CAAC0B,gBAAjB,CAAkCF,EAAlC,CAA/B;;MACAnB,GAAG,CAACM,OAAJ,CAAYH,WAAZ,GAA0B,IAA1B;IACD,CAJD,MAIO;MACL;MACAH,GAAG,CAACM,OAAJ,CAAYJ,UAAZ,GAAyB,MAAM,CAC7B;MACD,CAFD;;MAGAF,GAAG,CAACM,OAAJ,CAAYH,WAAZ,GAA0B,KAA1B;IACD;;IAED,OAAO,MAAM;MACXH,GAAG,CAACM,OAAJ,CAAYJ,UAAZ;IACD,CAFD;EAGD,CAvBQ,EAuBN,CAACJ,UAAD,EAAaC,UAAb,CAvBM,CAAT;EAyBA,OAAOC,GAAG,CAACM,OAAX;AACD"}
@@ -0,0 +1,450 @@
1
+ /* global _frameTimestamp */
2
+ import { useEffect, useRef } from 'react';
3
+ import { startMapper, stopMapper, makeRemote, requestFrame, getTimestamp, makeMutable } from '../core';
4
+ import updateProps, { updatePropsJestWrapper } from '../UpdateProps';
5
+ import { initialUpdaterRun } from '../animation';
6
+ import NativeReanimatedModule from '../NativeReanimated';
7
+ import { useSharedValue } from './useSharedValue';
8
+ import { buildWorkletsHash, canApplyOptimalisation, getStyleWithoutAnimations, hasColorProps, isAnimated, parseColors, styleDiff, validateAnimatedStyles } from './utils';
9
+ import { makeViewDescriptorsSet, makeViewsRefSet } from '../ViewDescriptorsSet';
10
+ import { isJest, shouldBeUseWeb } from '../PlatformChecker';
11
+
12
+ function prepareAnimation(animatedProp, lastAnimation, lastValue) {
13
+ 'worklet';
14
+
15
+ if (Array.isArray(animatedProp)) {
16
+ animatedProp.forEach((prop, index) => prepareAnimation(prop, lastAnimation && lastAnimation[index], lastValue && lastValue[index])); // return animatedProp;
17
+ }
18
+
19
+ if (typeof animatedProp === 'object' && animatedProp.onFrame) {
20
+ const animation = animatedProp;
21
+ let value = animation.current;
22
+
23
+ if (lastValue !== undefined) {
24
+ if (typeof lastValue === 'object') {
25
+ if (lastValue.value !== undefined) {
26
+ // previously it was a shared value
27
+ value = lastValue.value;
28
+ } else if (lastValue.onFrame !== undefined) {
29
+ if ((lastAnimation === null || lastAnimation === void 0 ? void 0 : lastAnimation.current) !== undefined) {
30
+ // it was an animation before, copy its state
31
+ value = lastAnimation.current;
32
+ } else if ((lastValue === null || lastValue === void 0 ? void 0 : lastValue.current) !== undefined) {
33
+ // it was initialized
34
+ value = lastValue.current;
35
+ }
36
+ }
37
+ } else {
38
+ // previously it was a plain value, just set it as starting point
39
+ value = lastValue;
40
+ }
41
+ }
42
+
43
+ animation.callStart = timestamp => {
44
+ animation.onStart(animation, value, timestamp, lastAnimation);
45
+ };
46
+
47
+ animation.callStart(getTimestamp());
48
+ animation.callStart = null;
49
+ } else if (typeof animatedProp === 'object') {
50
+ // it is an object
51
+ Object.keys(animatedProp).forEach(key => prepareAnimation(animatedProp[key], lastAnimation && lastAnimation[key], lastValue && lastValue[key]));
52
+ }
53
+ }
54
+
55
+ function runAnimations(animation, timestamp, key, result, animationsActive) {
56
+ 'worklet';
57
+
58
+ if (!animationsActive.value) {
59
+ return true;
60
+ }
61
+
62
+ if (Array.isArray(animation)) {
63
+ result[key] = [];
64
+ let allFinished = true;
65
+ animation.forEach((entry, index) => {
66
+ if (!runAnimations(entry, timestamp, index, result[key], animationsActive)) {
67
+ allFinished = false;
68
+ }
69
+ });
70
+ return allFinished;
71
+ } else if (typeof animation === 'object' && animation.onFrame) {
72
+ let finished = true;
73
+
74
+ if (!animation.finished) {
75
+ if (animation.callStart) {
76
+ animation.callStart(timestamp);
77
+ animation.callStart = null;
78
+ }
79
+
80
+ finished = animation.onFrame(animation, timestamp);
81
+ animation.timestamp = timestamp;
82
+
83
+ if (finished) {
84
+ animation.finished = true;
85
+ animation.callback && animation.callback(true
86
+ /* finished */
87
+ );
88
+ }
89
+ }
90
+
91
+ result[key] = animation.current;
92
+ return finished;
93
+ } else if (typeof animation === 'object') {
94
+ result[key] = {};
95
+ let allFinished = true;
96
+ Object.keys(animation).forEach(k => {
97
+ if (!runAnimations(animation[k], timestamp, k, result[key], animationsActive)) {
98
+ allFinished = false;
99
+ }
100
+ });
101
+ return allFinished;
102
+ } else {
103
+ result[key] = animation;
104
+ return true;
105
+ }
106
+ }
107
+
108
+ function styleUpdater(viewDescriptors, updater, state, maybeViewRef, animationsActive) {
109
+ 'worklet';
110
+
111
+ const animations = state.animations ?? {};
112
+ const newValues = updater() ?? {};
113
+ const oldValues = state.last;
114
+ let hasAnimations = false;
115
+
116
+ for (const key in newValues) {
117
+ const value = newValues[key];
118
+
119
+ if (isAnimated(value)) {
120
+ prepareAnimation(value, animations[key], oldValues[key]);
121
+ animations[key] = value;
122
+ hasAnimations = true;
123
+ } else {
124
+ delete animations[key];
125
+ }
126
+ }
127
+
128
+ if (hasAnimations) {
129
+ const frame = timestamp => {
130
+ const {
131
+ animations,
132
+ last,
133
+ isAnimationCancelled
134
+ } = state;
135
+
136
+ if (isAnimationCancelled) {
137
+ state.isAnimationRunning = false;
138
+ return;
139
+ }
140
+
141
+ const updates = {};
142
+ let allFinished = true;
143
+
144
+ for (const propName in animations) {
145
+ const finished = runAnimations(animations[propName], timestamp, propName, updates, animationsActive);
146
+
147
+ if (finished) {
148
+ last[propName] = updates[propName];
149
+ delete animations[propName];
150
+ } else {
151
+ allFinished = false;
152
+ }
153
+ }
154
+
155
+ if (updates) {
156
+ updateProps(viewDescriptors, updates, maybeViewRef);
157
+ }
158
+
159
+ if (!allFinished) {
160
+ requestFrame(frame);
161
+ } else {
162
+ state.isAnimationRunning = false;
163
+ }
164
+ };
165
+
166
+ state.animations = animations;
167
+
168
+ if (!state.isAnimationRunning) {
169
+ state.isAnimationCancelled = false;
170
+ state.isAnimationRunning = true;
171
+
172
+ if (_frameTimestamp) {
173
+ frame(_frameTimestamp);
174
+ } else {
175
+ requestFrame(frame);
176
+ }
177
+ }
178
+
179
+ state.last = Object.assign({}, oldValues, newValues);
180
+ const style = getStyleWithoutAnimations(state.last);
181
+
182
+ if (style) {
183
+ updateProps(viewDescriptors, style, maybeViewRef);
184
+ }
185
+ } else {
186
+ state.isAnimationCancelled = true;
187
+ state.animations = [];
188
+ const diff = styleDiff(oldValues, newValues);
189
+ state.last = Object.assign({}, oldValues, newValues);
190
+
191
+ if (diff) {
192
+ updateProps(viewDescriptors, newValues, maybeViewRef);
193
+ }
194
+ }
195
+ }
196
+
197
+ function jestStyleUpdater(viewDescriptors, updater, state, maybeViewRef, animationsActive, animatedStyle) {
198
+ 'worklet';
199
+
200
+ let adapters = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [];
201
+ const animations = state.animations ?? {};
202
+ const newValues = updater() ?? {};
203
+ const oldValues = state.last; // extract animated props
204
+
205
+ let hasAnimations = false;
206
+ Object.keys(animations).forEach(key => {
207
+ const value = newValues[key];
208
+
209
+ if (!isAnimated(value)) {
210
+ delete animations[key];
211
+ }
212
+ });
213
+ Object.keys(newValues).forEach(key => {
214
+ const value = newValues[key];
215
+
216
+ if (isAnimated(value)) {
217
+ prepareAnimation(value, animations[key], oldValues[key]);
218
+ animations[key] = value;
219
+ hasAnimations = true;
220
+ }
221
+ });
222
+
223
+ function frame(timestamp) {
224
+ const {
225
+ animations,
226
+ last,
227
+ isAnimationCancelled
228
+ } = state;
229
+
230
+ if (isAnimationCancelled) {
231
+ state.isAnimationRunning = false;
232
+ return;
233
+ }
234
+
235
+ const updates = {};
236
+ let allFinished = true;
237
+ Object.keys(animations).forEach(propName => {
238
+ const finished = runAnimations(animations[propName], timestamp, propName, updates, animationsActive);
239
+
240
+ if (finished) {
241
+ last[propName] = updates[propName];
242
+ delete animations[propName];
243
+ } else {
244
+ allFinished = false;
245
+ }
246
+ });
247
+
248
+ if (Object.keys(updates).length) {
249
+ updatePropsJestWrapper(viewDescriptors, updates, maybeViewRef, animatedStyle, adapters);
250
+ }
251
+
252
+ if (!allFinished) {
253
+ requestFrame(frame);
254
+ } else {
255
+ state.isAnimationRunning = false;
256
+ }
257
+ }
258
+
259
+ if (hasAnimations) {
260
+ state.animations = animations;
261
+
262
+ if (!state.isAnimationRunning) {
263
+ state.isAnimationCancelled = false;
264
+ state.isAnimationRunning = true;
265
+
266
+ if (_frameTimestamp) {
267
+ frame(_frameTimestamp);
268
+ } else {
269
+ requestFrame(frame);
270
+ }
271
+ }
272
+ } else {
273
+ state.isAnimationCancelled = true;
274
+ state.animations = [];
275
+ } // calculate diff
276
+
277
+
278
+ const diff = styleDiff(oldValues, newValues);
279
+ state.last = Object.assign({}, oldValues, newValues);
280
+
281
+ if (Object.keys(diff).length !== 0) {
282
+ updatePropsJestWrapper(viewDescriptors, diff, maybeViewRef, animatedStyle, adapters);
283
+ }
284
+ } // check for invalid usage of shared values in returned object
285
+
286
+
287
+ function checkSharedValueUsage(prop, currentKey) {
288
+ if (Array.isArray(prop)) {
289
+ // if it's an array (i.ex. transform) validate all its elements
290
+ for (const element of prop) {
291
+ checkSharedValueUsage(element, currentKey);
292
+ }
293
+ } else if (typeof prop === 'object' && prop.value === undefined) {
294
+ // if it's a nested object, run validation for all its props
295
+ for (const key of Object.keys(prop)) {
296
+ checkSharedValueUsage(prop[key], key);
297
+ }
298
+ } else if (currentKey !== undefined && typeof prop === 'object' && prop.value !== undefined) {
299
+ // if shared value is passed insted of its value, throw an error
300
+ throw new Error(`invalid value passed to \`${currentKey}\`, maybe you forgot to use \`.value\`?`);
301
+ }
302
+ }
303
+
304
+ export function useAnimatedStyle(updater, dependencies, adapters) {
305
+ var _initRef$current;
306
+
307
+ const viewsRef = makeViewsRefSet();
308
+ const viewDescriptors = makeViewDescriptorsSet();
309
+ const initRef = useRef();
310
+ const inputs = Object.values(updater._closure ?? {});
311
+ const adaptersArray = adapters ? Array.isArray(adapters) ? adapters : [adapters] : [];
312
+ const adaptersHash = adapters ? buildWorkletsHash(adaptersArray) : null;
313
+ const animationsActive = useSharedValue(true);
314
+ const animatedStyle = useRef({}); // build dependencies
315
+
316
+ if (!dependencies) {
317
+ dependencies = [...inputs, updater.__workletHash];
318
+ } else {
319
+ dependencies.push(updater.__workletHash);
320
+ }
321
+
322
+ adaptersHash && dependencies.push(adaptersHash);
323
+
324
+ if (!initRef.current) {
325
+ const initialStyle = initialUpdaterRun(updater);
326
+ validateAnimatedStyles(initialStyle);
327
+ initRef.current = {
328
+ initial: {
329
+ value: initialStyle,
330
+ updater: updater
331
+ },
332
+ remoteState: makeRemote({
333
+ last: initialStyle
334
+ }),
335
+ sharableViewDescriptors: makeMutable([])
336
+ };
337
+ viewDescriptors.rebuildsharableViewDescriptors( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
338
+ initRef.current.sharableViewDescriptors);
339
+ }
340
+
341
+ dependencies.push((_initRef$current = initRef.current) === null || _initRef$current === void 0 ? void 0 : _initRef$current.sharableViewDescriptors.value); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
342
+
343
+ const {
344
+ initial,
345
+ remoteState,
346
+ sharableViewDescriptors
347
+ } = initRef.current;
348
+ const maybeViewRef = NativeReanimatedModule.native ? undefined : viewsRef;
349
+ useEffect(() => {
350
+ let fun;
351
+ let updaterFn = updater;
352
+ let optimalization = updater.__optimalization;
353
+
354
+ if (adapters) {
355
+ updaterFn = () => {
356
+ 'worklet';
357
+
358
+ const newValues = updater();
359
+ adaptersArray.forEach(adapter => {
360
+ adapter(newValues);
361
+ });
362
+ return newValues;
363
+ };
364
+ }
365
+
366
+ if (canApplyOptimalisation(updaterFn) && !shouldBeUseWeb()) {
367
+ if (hasColorProps(updaterFn())) {
368
+ updaterFn = () => {
369
+ 'worklet';
370
+
371
+ const newValues = updaterFn();
372
+ const oldValues = remoteState.last;
373
+ const diff = styleDiff(oldValues, newValues);
374
+ remoteState.last = Object.assign({}, oldValues, newValues);
375
+ parseColors(diff);
376
+ return diff;
377
+ };
378
+ } else {
379
+ updaterFn = () => {
380
+ 'worklet';
381
+
382
+ const newValues = updaterFn();
383
+ const oldValues = remoteState.last;
384
+ const diff = styleDiff(oldValues, newValues);
385
+ remoteState.last = Object.assign({}, oldValues, newValues);
386
+ return diff;
387
+ };
388
+ }
389
+ } else if (!shouldBeUseWeb()) {
390
+ optimalization = 0;
391
+
392
+ updaterFn = () => {
393
+ 'worklet';
394
+
395
+ const style = updaterFn();
396
+ parseColors(style);
397
+ return style;
398
+ };
399
+ }
400
+
401
+ if (typeof updater.__optimalization !== undefined) {
402
+ updaterFn.__optimalization = optimalization;
403
+ }
404
+
405
+ if (isJest()) {
406
+ fun = () => {
407
+ 'worklet';
408
+
409
+ jestStyleUpdater(sharableViewDescriptors, updater, remoteState, maybeViewRef, animationsActive, animatedStyle, adaptersArray);
410
+ };
411
+ } else {
412
+ fun = () => {
413
+ 'worklet';
414
+
415
+ styleUpdater(sharableViewDescriptors, updaterFn, remoteState, maybeViewRef, animationsActive);
416
+ };
417
+ }
418
+
419
+ const mapperId = startMapper(fun, inputs, [], updaterFn, // TODO fix this
420
+ sharableViewDescriptors);
421
+ return () => {
422
+ stopMapper(mapperId);
423
+ };
424
+ }, dependencies);
425
+ useEffect(() => {
426
+ animationsActive.value = true;
427
+ return () => {
428
+ // initRef.current = null;
429
+ // viewsRef = null;
430
+ animationsActive.value = false;
431
+ };
432
+ }, []);
433
+ checkSharedValueUsage(initial.value);
434
+
435
+ if (process.env.JEST_WORKER_ID) {
436
+ return {
437
+ viewDescriptors,
438
+ initial: initial,
439
+ viewsRef,
440
+ animatedStyle
441
+ };
442
+ } else {
443
+ return {
444
+ viewDescriptors,
445
+ initial: initial,
446
+ viewsRef
447
+ };
448
+ }
449
+ }
450
+ //# sourceMappingURL=useAnimatedStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","startMapper","stopMapper","makeRemote","requestFrame","getTimestamp","makeMutable","updateProps","updatePropsJestWrapper","initialUpdaterRun","NativeReanimatedModule","useSharedValue","buildWorkletsHash","canApplyOptimalisation","getStyleWithoutAnimations","hasColorProps","isAnimated","parseColors","styleDiff","validateAnimatedStyles","makeViewDescriptorsSet","makeViewsRefSet","isJest","shouldBeUseWeb","prepareAnimation","animatedProp","lastAnimation","lastValue","Array","isArray","forEach","prop","index","onFrame","animation","value","current","undefined","callStart","timestamp","onStart","Object","keys","key","runAnimations","result","animationsActive","allFinished","entry","finished","callback","k","styleUpdater","viewDescriptors","updater","state","maybeViewRef","animations","newValues","oldValues","last","hasAnimations","frame","isAnimationCancelled","isAnimationRunning","updates","propName","_frameTimestamp","assign","style","diff","jestStyleUpdater","animatedStyle","adapters","length","checkSharedValueUsage","currentKey","element","Error","useAnimatedStyle","dependencies","viewsRef","initRef","inputs","values","_closure","adaptersArray","adaptersHash","__workletHash","push","initialStyle","initial","remoteState","sharableViewDescriptors","rebuildsharableViewDescriptors","native","fun","updaterFn","optimalization","__optimalization","adapter","mapperId","process","env","JEST_WORKER_ID"],"sources":["useAnimatedStyle.ts"],"sourcesContent":["/* global _frameTimestamp */\nimport { MutableRefObject, useEffect, useRef } from 'react';\n\nimport {\n startMapper,\n stopMapper,\n makeRemote,\n requestFrame,\n getTimestamp,\n makeMutable,\n} from '../core';\nimport updateProps, { updatePropsJestWrapper } from '../UpdateProps';\nimport { initialUpdaterRun } from '../animation';\nimport NativeReanimatedModule from '../NativeReanimated';\nimport { useSharedValue } from './useSharedValue';\nimport {\n buildWorkletsHash,\n canApplyOptimalisation,\n getStyleWithoutAnimations,\n hasColorProps,\n isAnimated,\n parseColors,\n styleDiff,\n validateAnimatedStyles,\n} from './utils';\nimport { DependencyList, Descriptor } from './commonTypes';\nimport {\n makeViewDescriptorsSet,\n makeViewsRefSet,\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../ViewDescriptorsSet';\nimport { isJest, shouldBeUseWeb } from '../PlatformChecker';\nimport {\n AnimationObject,\n Timestamp,\n AdapterWorkletFunction,\n AnimatedStyle,\n BasicWorkletFunction,\n BasicWorkletFunctionOptional,\n NestedObjectValues,\n SharedValue,\n} from '../commonTypes';\nexport interface AnimatedStyleResult {\n viewDescriptors: ViewDescriptorsSet;\n initial: AnimatedStyle;\n viewsRef: ViewRefSet<any>;\n animatedStyle?: MutableRefObject<AnimatedStyle>;\n}\n\ninterface AnimatedState {\n last: AnimatedStyle;\n animations: AnimatedStyle;\n isAnimationRunning: boolean;\n isAnimationCancelled: boolean;\n}\n\ninterface AnimationRef {\n initial: {\n value: AnimatedStyle;\n updater: () => AnimatedStyle;\n };\n remoteState: AnimatedState;\n sharableViewDescriptors: SharedValue<Descriptor[]>;\n}\n\nfunction prepareAnimation(\n animatedProp: AnimatedStyle,\n lastAnimation: AnimatedStyle,\n lastValue: AnimatedStyle\n): void {\n 'worklet';\n if (Array.isArray(animatedProp)) {\n animatedProp.forEach((prop, index) =>\n prepareAnimation(\n prop,\n lastAnimation && lastAnimation[index],\n lastValue && lastValue[index]\n )\n );\n // return animatedProp;\n }\n if (typeof animatedProp === 'object' && animatedProp.onFrame) {\n const animation = animatedProp;\n\n let value = animation.current;\n if (lastValue !== undefined) {\n if (typeof lastValue === 'object') {\n if (lastValue.value !== undefined) {\n // previously it was a shared value\n value = lastValue.value;\n } else if (lastValue.onFrame !== undefined) {\n if (lastAnimation?.current !== undefined) {\n // it was an animation before, copy its state\n value = lastAnimation.current;\n } else if (lastValue?.current !== undefined) {\n // it was initialized\n value = lastValue.current;\n }\n }\n } else {\n // previously it was a plain value, just set it as starting point\n value = lastValue;\n }\n }\n\n animation.callStart = (timestamp: Timestamp) => {\n animation.onStart(animation, value, timestamp, lastAnimation);\n };\n animation.callStart(getTimestamp());\n animation.callStart = null;\n } else if (typeof animatedProp === 'object') {\n // it is an object\n Object.keys(animatedProp).forEach((key) =>\n prepareAnimation(\n animatedProp[key],\n lastAnimation && lastAnimation[key],\n lastValue && lastValue[key]\n )\n );\n }\n}\n\nfunction runAnimations(\n animation: AnimatedStyle,\n timestamp: Timestamp,\n key: number | string,\n result: AnimatedStyle,\n animationsActive: SharedValue<boolean>\n): boolean {\n 'worklet';\n if (!animationsActive.value) {\n return true;\n }\n if (Array.isArray(animation)) {\n result[key] = [];\n let allFinished = true;\n animation.forEach((entry, index) => {\n if (\n !runAnimations(entry, timestamp, index, result[key], animationsActive)\n ) {\n allFinished = false;\n }\n });\n return allFinished;\n } else if (typeof animation === 'object' && animation.onFrame) {\n let finished = true;\n if (!animation.finished) {\n if (animation.callStart) {\n animation.callStart(timestamp);\n animation.callStart = null;\n }\n finished = animation.onFrame(animation, timestamp);\n animation.timestamp = timestamp;\n if (finished) {\n animation.finished = true;\n animation.callback && animation.callback(true /* finished */);\n }\n }\n result[key] = animation.current;\n return finished;\n } else if (typeof animation === 'object') {\n result[key] = {};\n let allFinished = true;\n Object.keys(animation).forEach((k) => {\n if (\n !runAnimations(\n animation[k],\n timestamp,\n k,\n result[key],\n animationsActive\n )\n ) {\n allFinished = false;\n }\n });\n return allFinished;\n } else {\n result[key] = animation;\n return true;\n }\n}\n\nfunction styleUpdater(\n viewDescriptors: SharedValue<Descriptor[]>,\n updater: BasicWorkletFunction<AnimatedStyle>,\n state: AnimatedState,\n maybeViewRef: ViewRefSet<any> | undefined,\n animationsActive: SharedValue<boolean>\n): void {\n 'worklet';\n const animations = state.animations ?? {};\n const newValues = updater() ?? {};\n const oldValues = state.last;\n\n let hasAnimations = false;\n for (const key in newValues) {\n const value = newValues[key];\n if (isAnimated(value)) {\n prepareAnimation(value, animations[key], oldValues[key]);\n animations[key] = value;\n hasAnimations = true;\n } else {\n delete animations[key];\n }\n }\n\n if (hasAnimations) {\n const frame = (timestamp: Timestamp) => {\n const { animations, last, isAnimationCancelled } = state;\n if (isAnimationCancelled) {\n state.isAnimationRunning = false;\n return;\n }\n\n const updates: AnimatedStyle = {};\n let allFinished = true;\n for (const propName in animations) {\n const finished = runAnimations(\n animations[propName],\n timestamp,\n propName,\n updates,\n animationsActive\n );\n if (finished) {\n last[propName] = updates[propName];\n delete animations[propName];\n } else {\n allFinished = false;\n }\n }\n\n if (updates) {\n updateProps(viewDescriptors, updates, maybeViewRef);\n }\n\n if (!allFinished) {\n requestFrame(frame);\n } else {\n state.isAnimationRunning = false;\n }\n };\n\n state.animations = animations;\n if (!state.isAnimationRunning) {\n state.isAnimationCancelled = false;\n state.isAnimationRunning = true;\n if (_frameTimestamp) {\n frame(_frameTimestamp);\n } else {\n requestFrame(frame);\n }\n }\n state.last = Object.assign({}, oldValues, newValues);\n const style = getStyleWithoutAnimations(state.last);\n if (style) {\n updateProps(viewDescriptors, style, maybeViewRef);\n }\n } else {\n state.isAnimationCancelled = true;\n state.animations = [];\n\n const diff = styleDiff(oldValues, newValues);\n state.last = Object.assign({}, oldValues, newValues);\n if (diff) {\n updateProps(viewDescriptors, newValues, maybeViewRef);\n }\n }\n}\n\nfunction jestStyleUpdater(\n viewDescriptors: SharedValue<Descriptor[]>,\n updater: BasicWorkletFunction<AnimatedStyle>,\n state: AnimatedState,\n maybeViewRef: ViewRefSet<any> | undefined,\n animationsActive: SharedValue<boolean>,\n animatedStyle: MutableRefObject<AnimatedStyle>,\n adapters: AdapterWorkletFunction[] = []\n): void {\n 'worklet';\n const animations: AnimatedStyle = state.animations ?? {};\n const newValues = updater() ?? {};\n const oldValues = state.last;\n\n // extract animated props\n let hasAnimations = false;\n Object.keys(animations).forEach((key) => {\n const value = newValues[key];\n if (!isAnimated(value)) {\n delete animations[key];\n }\n });\n Object.keys(newValues).forEach((key) => {\n const value = newValues[key];\n if (isAnimated(value)) {\n prepareAnimation(value, animations[key], oldValues[key]);\n animations[key] = value;\n hasAnimations = true;\n }\n });\n\n function frame(timestamp: Timestamp) {\n const { animations, last, isAnimationCancelled } = state;\n if (isAnimationCancelled) {\n state.isAnimationRunning = false;\n return;\n }\n\n const updates: AnimatedStyle = {};\n let allFinished = true;\n Object.keys(animations).forEach((propName) => {\n const finished = runAnimations(\n animations[propName],\n timestamp,\n propName,\n updates,\n animationsActive\n );\n if (finished) {\n last[propName] = updates[propName];\n delete animations[propName];\n } else {\n allFinished = false;\n }\n });\n\n if (Object.keys(updates).length) {\n updatePropsJestWrapper(\n viewDescriptors,\n updates,\n maybeViewRef,\n animatedStyle,\n adapters\n );\n }\n\n if (!allFinished) {\n requestFrame(frame);\n } else {\n state.isAnimationRunning = false;\n }\n }\n\n if (hasAnimations) {\n state.animations = animations;\n if (!state.isAnimationRunning) {\n state.isAnimationCancelled = false;\n state.isAnimationRunning = true;\n if (_frameTimestamp) {\n frame(_frameTimestamp);\n } else {\n requestFrame(frame);\n }\n }\n } else {\n state.isAnimationCancelled = true;\n state.animations = [];\n }\n\n // calculate diff\n const diff = styleDiff(oldValues, newValues);\n state.last = Object.assign({}, oldValues, newValues);\n\n if (Object.keys(diff).length !== 0) {\n updatePropsJestWrapper(\n viewDescriptors,\n diff,\n maybeViewRef,\n animatedStyle,\n adapters\n );\n }\n}\n\n// check for invalid usage of shared values in returned object\nfunction checkSharedValueUsage(\n prop: NestedObjectValues<AnimationObject>,\n currentKey?: string\n): void {\n if (Array.isArray(prop)) {\n // if it's an array (i.ex. transform) validate all its elements\n for (const element of prop) {\n checkSharedValueUsage(element, currentKey);\n }\n } else if (typeof prop === 'object' && prop.value === undefined) {\n // if it's a nested object, run validation for all its props\n for (const key of Object.keys(prop)) {\n checkSharedValueUsage(prop[key], key);\n }\n } else if (\n currentKey !== undefined &&\n typeof prop === 'object' &&\n prop.value !== undefined\n ) {\n // if shared value is passed insted of its value, throw an error\n throw new Error(\n `invalid value passed to \\`${currentKey}\\`, maybe you forgot to use \\`.value\\`?`\n );\n }\n}\n\nexport function useAnimatedStyle<T extends AnimatedStyle>(\n updater: BasicWorkletFunction<T>,\n dependencies?: DependencyList,\n adapters?: AdapterWorkletFunction | AdapterWorkletFunction[]\n): AnimatedStyleResult {\n const viewsRef: ViewRefSet<any> = makeViewsRefSet();\n const viewDescriptors: ViewDescriptorsSet = makeViewDescriptorsSet();\n const initRef = useRef<AnimationRef>();\n const inputs = Object.values(updater._closure ?? {});\n const adaptersArray: AdapterWorkletFunction[] = adapters\n ? Array.isArray(adapters)\n ? adapters\n : [adapters]\n : [];\n const adaptersHash = adapters ? buildWorkletsHash(adaptersArray) : null;\n const animationsActive = useSharedValue<boolean>(true);\n const animatedStyle: MutableRefObject<AnimatedStyle> = useRef<AnimatedStyle>(\n {}\n );\n\n // build dependencies\n if (!dependencies) {\n dependencies = [...inputs, updater.__workletHash];\n } else {\n dependencies.push(updater.__workletHash);\n }\n adaptersHash && dependencies.push(adaptersHash);\n\n if (!initRef.current) {\n const initialStyle: AnimatedStyle = initialUpdaterRun(updater);\n validateAnimatedStyles(initialStyle);\n initRef.current = {\n initial: {\n value: initialStyle,\n updater: updater,\n },\n remoteState: makeRemote({ last: initialStyle }),\n sharableViewDescriptors: makeMutable([]),\n };\n viewDescriptors.rebuildsharableViewDescriptors(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n initRef.current!.sharableViewDescriptors\n );\n }\n dependencies.push(initRef.current?.sharableViewDescriptors.value);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { initial, remoteState, sharableViewDescriptors } = initRef.current!;\n const maybeViewRef = NativeReanimatedModule.native ? undefined : viewsRef;\n\n useEffect(() => {\n let fun;\n let updaterFn = updater as BasicWorkletFunctionOptional<T>;\n let optimalization = updater.__optimalization;\n if (adapters) {\n updaterFn = () => {\n 'worklet';\n const newValues = updater();\n adaptersArray.forEach((adapter) => {\n adapter(newValues);\n });\n return newValues;\n };\n }\n\n if (canApplyOptimalisation(updaterFn) && !shouldBeUseWeb()) {\n if (hasColorProps(updaterFn())) {\n updaterFn = () => {\n 'worklet';\n const newValues = updaterFn();\n const oldValues = remoteState.last;\n const diff = styleDiff<T>(oldValues, newValues);\n remoteState.last = Object.assign({}, oldValues, newValues);\n parseColors(diff);\n return diff;\n };\n } else {\n updaterFn = () => {\n 'worklet';\n const newValues = updaterFn();\n const oldValues = remoteState.last;\n const diff = styleDiff<T>(oldValues, newValues);\n remoteState.last = Object.assign({}, oldValues, newValues);\n return diff;\n };\n }\n } else if (!shouldBeUseWeb()) {\n optimalization = 0;\n updaterFn = () => {\n 'worklet';\n const style = updaterFn();\n parseColors(style);\n return style;\n };\n }\n if (typeof updater.__optimalization !== undefined) {\n updaterFn.__optimalization = optimalization;\n }\n\n if (isJest()) {\n fun = () => {\n 'worklet';\n jestStyleUpdater(\n sharableViewDescriptors,\n updater,\n remoteState,\n maybeViewRef,\n animationsActive,\n animatedStyle,\n adaptersArray\n );\n };\n } else {\n fun = () => {\n 'worklet';\n styleUpdater(\n sharableViewDescriptors,\n updaterFn,\n remoteState,\n maybeViewRef,\n animationsActive\n );\n };\n }\n const mapperId = startMapper(\n fun,\n inputs,\n [],\n updaterFn,\n // TODO fix this\n sharableViewDescriptors\n );\n return () => {\n stopMapper(mapperId);\n };\n }, dependencies);\n\n useEffect(() => {\n animationsActive.value = true;\n return () => {\n // initRef.current = null;\n // viewsRef = null;\n animationsActive.value = false;\n };\n }, []);\n\n checkSharedValueUsage(initial.value);\n\n if (process.env.JEST_WORKER_ID) {\n return { viewDescriptors, initial: initial, viewsRef, animatedStyle };\n } else {\n return { viewDescriptors, initial: initial, viewsRef };\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { initialUpdaterRun } from '../animation';
3
+ import { makeMutable, startMapper, stopMapper } from '../core';
4
+ export function useDerivedValue(processor, dependencies) {
5
+ const initRef = useRef(null);
6
+ const inputs = Object.values(processor._closure ?? {}); // build dependencies
7
+
8
+ if (dependencies === undefined) {
9
+ dependencies = [...inputs, processor.__workletHash];
10
+ } else {
11
+ dependencies.push(processor.__workletHash);
12
+ }
13
+
14
+ if (initRef.current === null) {
15
+ initRef.current = makeMutable(initialUpdaterRun(processor));
16
+ } // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
17
+
18
+
19
+ const sharedValue = initRef.current;
20
+ useEffect(() => {
21
+ const fun = () => {
22
+ 'worklet';
23
+
24
+ sharedValue.value = processor();
25
+ };
26
+
27
+ const mapperId = startMapper(fun, inputs, [sharedValue]);
28
+ return () => {
29
+ stopMapper(mapperId);
30
+ };
31
+ }, dependencies);
32
+ useEffect(() => {
33
+ return () => {
34
+ initRef.current = null;
35
+ };
36
+ }, []);
37
+ return sharedValue;
38
+ }
39
+ //# sourceMappingURL=useDerivedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","initialUpdaterRun","makeMutable","startMapper","stopMapper","useDerivedValue","processor","dependencies","initRef","inputs","Object","values","_closure","undefined","__workletHash","push","current","sharedValue","fun","value","mapperId"],"sources":["useDerivedValue.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { initialUpdaterRun } from '../animation';\nimport { BasicWorkletFunction, SharedValue } from '../commonTypes';\nimport { makeMutable, startMapper, stopMapper } from '../core';\nimport { DependencyList } from './commonTypes';\n\nexport type DerivedValue<T> = Readonly<SharedValue<T>>;\n\nexport function useDerivedValue<T>(\n processor: BasicWorkletFunction<T>,\n dependencies: DependencyList\n): DerivedValue<T> {\n const initRef = useRef<SharedValue<T> | null>(null);\n const inputs = Object.values(processor._closure ?? {});\n\n // build dependencies\n if (dependencies === undefined) {\n dependencies = [...inputs, processor.__workletHash];\n } else {\n dependencies.push(processor.__workletHash);\n }\n\n if (initRef.current === null) {\n initRef.current = makeMutable(initialUpdaterRun(processor));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const sharedValue: SharedValue<T> = initRef.current!;\n\n useEffect(() => {\n const fun = () => {\n 'worklet';\n sharedValue.value = processor();\n };\n const mapperId = startMapper(fun, inputs, [sharedValue]);\n return () => {\n stopMapper(mapperId);\n };\n }, dependencies);\n\n useEffect(() => {\n return () => {\n initRef.current = null;\n };\n }, []);\n\n return sharedValue;\n}\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,iBAAT,QAAkC,cAAlC;AAEA,SAASC,WAAT,EAAsBC,WAAtB,EAAmCC,UAAnC,QAAqD,SAArD;AAKA,OAAO,SAASC,eAAT,CACLC,SADK,EAELC,YAFK,EAGY;EACjB,MAAMC,OAAO,GAAGR,MAAM,CAAwB,IAAxB,CAAtB;EACA,MAAMS,MAAM,GAAGC,MAAM,CAACC,MAAP,CAAcL,SAAS,CAACM,QAAV,IAAsB,EAApC,CAAf,CAFiB,CAIjB;;EACA,IAAIL,YAAY,KAAKM,SAArB,EAAgC;IAC9BN,YAAY,GAAG,CAAC,GAAGE,MAAJ,EAAYH,SAAS,CAACQ,aAAtB,CAAf;EACD,CAFD,MAEO;IACLP,YAAY,CAACQ,IAAb,CAAkBT,SAAS,CAACQ,aAA5B;EACD;;EAED,IAAIN,OAAO,CAACQ,OAAR,KAAoB,IAAxB,EAA8B;IAC5BR,OAAO,CAACQ,OAAR,GAAkBd,WAAW,CAACD,iBAAiB,CAACK,SAAD,CAAlB,CAA7B;EACD,CAbgB,CAejB;;;EACA,MAAMW,WAA2B,GAAGT,OAAO,CAACQ,OAA5C;EAEAjB,SAAS,CAAC,MAAM;IACd,MAAMmB,GAAG,GAAG,MAAM;MAChB;;MACAD,WAAW,CAACE,KAAZ,GAAoBb,SAAS,EAA7B;IACD,CAHD;;IAIA,MAAMc,QAAQ,GAAGjB,WAAW,CAACe,GAAD,EAAMT,MAAN,EAAc,CAACQ,WAAD,CAAd,CAA5B;IACA,OAAO,MAAM;MACXb,UAAU,CAACgB,QAAD,CAAV;IACD,CAFD;EAGD,CATQ,EASNb,YATM,CAAT;EAWAR,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXS,OAAO,CAACQ,OAAR,GAAkB,IAAlB;IACD,CAFD;EAGD,CAJQ,EAIN,EAJM,CAAT;EAMA,OAAOC,WAAP;AACD"}
@@ -0,0 +1,24 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import FrameCallbackRegistryJS from '../frameCallback/FrameCallbackRegistryJS';
3
+ const frameCallbackRegistry = new FrameCallbackRegistryJS();
4
+ export function useFrameCallback(callback) {
5
+ let autostart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
6
+ const ref = useRef({
7
+ setActive: isActive => {
8
+ frameCallbackRegistry.manageStateFrameCallback(ref.current.callbackId, isActive);
9
+ ref.current.isActive = isActive;
10
+ },
11
+ isActive: autostart,
12
+ callbackId: -1
13
+ });
14
+ useEffect(() => {
15
+ ref.current.callbackId = frameCallbackRegistry.registerFrameCallback(callback);
16
+ ref.current.setActive(ref.current.isActive);
17
+ return () => {
18
+ frameCallbackRegistry.unregisterFrameCallback(ref.current.callbackId);
19
+ ref.current.callbackId = -1;
20
+ };
21
+ }, [callback, autostart]);
22
+ return ref.current;
23
+ }
24
+ //# sourceMappingURL=useFrameCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","FrameCallbackRegistryJS","frameCallbackRegistry","useFrameCallback","callback","autostart","ref","setActive","isActive","manageStateFrameCallback","current","callbackId","registerFrameCallback","unregisterFrameCallback"],"sources":["useFrameCallback.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport FrameCallbackRegistryJS from '../frameCallback/FrameCallbackRegistryJS';\n\nexport type FrameCallback = {\n setActive: (isActive: boolean) => void;\n isActive: boolean;\n callbackId: number;\n};\nconst frameCallbackRegistry = new FrameCallbackRegistryJS();\n\nexport function useFrameCallback(\n callback: () => void,\n autostart = true\n): FrameCallback {\n const ref = useRef<FrameCallback>({\n setActive: (isActive: boolean) => {\n frameCallbackRegistry.manageStateFrameCallback(\n ref.current.callbackId,\n isActive\n );\n ref.current.isActive = isActive;\n },\n isActive: autostart,\n callbackId: -1,\n });\n\n useEffect(() => {\n ref.current.callbackId =\n frameCallbackRegistry.registerFrameCallback(callback);\n ref.current.setActive(ref.current.isActive);\n\n return () => {\n frameCallbackRegistry.unregisterFrameCallback(ref.current.callbackId);\n ref.current.callbackId = -1;\n };\n }, [callback, autostart]);\n\n return ref.current;\n}\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,OAAOC,uBAAP,MAAoC,0CAApC;AAOA,MAAMC,qBAAqB,GAAG,IAAID,uBAAJ,EAA9B;AAEA,OAAO,SAASE,gBAAT,CACLC,QADK,EAGU;EAAA,IADfC,SACe,uEADH,IACG;EACf,MAAMC,GAAG,GAAGN,MAAM,CAAgB;IAChCO,SAAS,EAAGC,QAAD,IAAuB;MAChCN,qBAAqB,CAACO,wBAAtB,CACEH,GAAG,CAACI,OAAJ,CAAYC,UADd,EAEEH,QAFF;MAIAF,GAAG,CAACI,OAAJ,CAAYF,QAAZ,GAAuBA,QAAvB;IACD,CAP+B;IAQhCA,QAAQ,EAAEH,SARsB;IAShCM,UAAU,EAAE,CAAC;EATmB,CAAhB,CAAlB;EAYAZ,SAAS,CAAC,MAAM;IACdO,GAAG,CAACI,OAAJ,CAAYC,UAAZ,GACET,qBAAqB,CAACU,qBAAtB,CAA4CR,QAA5C,CADF;IAEAE,GAAG,CAACI,OAAJ,CAAYH,SAAZ,CAAsBD,GAAG,CAACI,OAAJ,CAAYF,QAAlC;IAEA,OAAO,MAAM;MACXN,qBAAqB,CAACW,uBAAtB,CAA8CP,GAAG,CAACI,OAAJ,CAAYC,UAA1D;MACAL,GAAG,CAACI,OAAJ,CAAYC,UAAZ,GAAyB,CAAC,CAA1B;IACD,CAHD;EAID,CATQ,EASN,CAACP,QAAD,EAAWC,SAAX,CATM,CAAT;EAWA,OAAOC,GAAG,CAACI,OAAX;AACD"}
@@ -0,0 +1,20 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { cancelAnimation } from '../animation';
3
+ import { makeMutable } from '../core';
4
+ export function useSharedValue(init) {
5
+ const ref = useRef(makeMutable(init));
6
+
7
+ if (ref.current === null) {
8
+ ref.current = makeMutable(init);
9
+ }
10
+
11
+ useEffect(() => {
12
+ return () => {
13
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
+ cancelAnimation(ref.current);
15
+ };
16
+ }, []); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
17
+
18
+ return ref.current;
19
+ }
20
+ //# sourceMappingURL=useSharedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","cancelAnimation","makeMutable","useSharedValue","init","ref","current"],"sources":["useSharedValue.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { cancelAnimation } from '../animation';\nimport { SharedValue } from '../commonTypes';\nimport { makeMutable } from '../core';\n\nexport function useSharedValue<T>(init: T): SharedValue<T> {\n const ref = useRef<SharedValue<T>>(makeMutable(init));\n\n if (ref.current === null) {\n ref.current = makeMutable(init);\n }\n\n useEffect(() => {\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n cancelAnimation(ref.current!);\n };\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return ref.current!;\n}\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,eAAT,QAAgC,cAAhC;AAEA,SAASC,WAAT,QAA4B,SAA5B;AAEA,OAAO,SAASC,cAAT,CAA2BC,IAA3B,EAAoD;EACzD,MAAMC,GAAG,GAAGL,MAAM,CAAiBE,WAAW,CAACE,IAAD,CAA5B,CAAlB;;EAEA,IAAIC,GAAG,CAACC,OAAJ,KAAgB,IAApB,EAA0B;IACxBD,GAAG,CAACC,OAAJ,GAAcJ,WAAW,CAACE,IAAD,CAAzB;EACD;;EAEDL,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX;MACAE,eAAe,CAACI,GAAG,CAACC,OAAL,CAAf;IACD,CAHD;EAID,CALQ,EAKN,EALM,CAAT,CAPyD,CAczD;;EACA,OAAOD,GAAG,CAACC,OAAX;AACD"}