react-native-reanimated 2.4.0 → 2.6.0

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 (437) hide show
  1. package/Common/cpp/AnimatedSensor/AnimatedSensorModule.cpp +72 -0
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +30 -1
  3. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +64 -39
  4. package/Common/cpp/Tools/RuntimeDecorator.cpp +2 -0
  5. package/Common/cpp/headers/AnimatedSensor/AnimatedSensorModule.h +41 -0
  6. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +14 -0
  7. package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +14 -0
  8. package/Common/cpp/headers/SharedItems/MutableValue.h +4 -1
  9. package/Common/cpp/headers/SharedItems/ShareableValue.h +3 -0
  10. package/Common/cpp/headers/SharedItems/ValueWrapper.h +3 -0
  11. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +11 -0
  12. package/Common/cpp/headers/Tools/RuntimeDecorator.h +2 -0
  13. package/LICENSE +1 -1
  14. package/README.md +2 -2
  15. package/RNReanimated.podspec +15 -6
  16. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  17. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  18. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  19. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  20. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  21. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  22. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  23. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  24. package/android/.gradle/7.2/gc.properties +0 -0
  25. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  26. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  27. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  28. package/android/.gradle/checksums/checksums.lock +0 -0
  29. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  30. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  31. package/android/.gradle/vcs-1/gc.properties +0 -0
  32. package/android/CMakeLists.txt +198 -0
  33. package/android/README.md +15 -0
  34. package/android/build.gradle +676 -73
  35. package/android/empty.cpp +1 -0
  36. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  37. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  38. package/android/gradle.properties +25 -0
  39. package/android/gradlew +234 -0
  40. package/android/gradlew.bat +89 -0
  41. package/android/react-native-reanimated-64-hermes.aar +0 -0
  42. package/android/react-native-reanimated-64-jsc.aar +0 -0
  43. package/android/react-native-reanimated-65-hermes.aar +0 -0
  44. package/android/react-native-reanimated-65-jsc.aar +0 -0
  45. package/android/react-native-reanimated-66-hermes.aar +0 -0
  46. package/android/react-native-reanimated-66-jsc.aar +0 -0
  47. package/android/react-native-reanimated-67-hermes.aar +0 -0
  48. package/android/react-native-reanimated-67-jsc.aar +0 -0
  49. package/android/react-native-reanimated-68-hermes.aar +0 -0
  50. package/android/react-native-reanimated-68-jsc.aar +0 -0
  51. package/android/rnVersionPatch/62/layoutReanimation/ReanimatedNativeHierarchyManager.java +412 -0
  52. package/android/rnVersionPatch/62/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  53. package/android/rnVersionPatch/63/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  54. package/android/rnVersionPatch/64/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  55. package/android/rnVersionPatch/65/.gitkeep +0 -0
  56. package/android/rnVersionPatch/66/.gitkeep +0 -0
  57. package/android/rnVersionPatch/67/.gitkeep +0 -0
  58. package/android/rnVersionPatch/68/.gitkeep +0 -0
  59. package/android/rnVersionPatch/backup/.gitkeep +0 -0
  60. package/android/settings.gradle +1 -0
  61. package/android/spotless.gradle +9 -0
  62. package/android/src/{AndroidManifest.xml → main/AndroidManifest.xml} +0 -0
  63. package/android/src/main/cpp/AndroidErrorHandler.cpp +42 -0
  64. package/android/src/main/cpp/AndroidLogger.cpp +27 -0
  65. package/android/src/main/cpp/AndroidScheduler.cpp +59 -0
  66. package/android/src/main/cpp/JNIHelper.cpp +59 -0
  67. package/android/src/main/cpp/LayoutAnimations.cpp +103 -0
  68. package/android/src/main/cpp/NativeProxy.cpp +327 -0
  69. package/android/src/main/cpp/OnLoad.cpp +17 -0
  70. package/android/src/main/cpp/TurboModule.cpp +44 -0
  71. package/android/src/main/cpp/headers/AndroidErrorHandler.h +30 -0
  72. package/android/src/main/cpp/headers/AndroidLogger.h +16 -0
  73. package/android/src/main/cpp/headers/AndroidScheduler.h +41 -0
  74. package/android/src/main/cpp/headers/JNIHelper.h +30 -0
  75. package/android/src/main/cpp/headers/LayoutAnimations.h +42 -0
  76. package/android/src/main/cpp/headers/NativeProxy.h +170 -0
  77. package/android/src/main/cpp/headers/TurboModule.h +70 -0
  78. package/android/src/main/java/com/facebook/react/uimanager/UIManagerReanimatedHelper.java +15 -0
  79. package/android/src/main/java/com/swmansion/common/GestureHandlerStateManager.java +5 -0
  80. package/android/src/main/java/com/swmansion/reanimated/AndroidErrorHandler.java +8 -0
  81. package/android/src/main/java/com/swmansion/reanimated/CopiedEvent.java +43 -0
  82. package/android/src/main/java/com/swmansion/reanimated/MapUtils.java +26 -0
  83. package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +117 -0
  84. package/android/src/main/java/com/swmansion/reanimated/NativeProxy.java +285 -0
  85. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +682 -0
  86. package/android/src/main/java/com/swmansion/reanimated/ReanimatedJSIModulePackage.java +29 -0
  87. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +251 -0
  88. package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +96 -0
  89. package/android/src/main/java/com/swmansion/reanimated/Scheduler.java +51 -0
  90. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +11 -0
  91. package/android/src/main/java/com/swmansion/reanimated/Utils.java +32 -0
  92. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +517 -0
  93. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +56 -0
  94. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/NativeMethodsHolder.java +11 -0
  95. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +410 -0
  96. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIImplementation.java +68 -0
  97. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +292 -0
  98. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/Snapshot.java +121 -0
  99. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ViewHierarchyObserver.java +12 -0
  100. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +29 -0
  101. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +87 -0
  102. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +24 -0
  103. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +49 -0
  104. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +38 -0
  105. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +73 -0
  106. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +36 -0
  107. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +41 -0
  108. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +33 -0
  109. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +83 -0
  110. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +5 -0
  111. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +20 -0
  112. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +41 -0
  113. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +139 -0
  114. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +37 -0
  115. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +377 -0
  116. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +71 -0
  117. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +153 -0
  118. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +32 -0
  119. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +40 -0
  120. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +84 -0
  121. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +40 -0
  122. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +41 -0
  123. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorContainer.java +40 -0
  124. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorListener.java +31 -0
  125. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +35 -0
  126. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +84 -0
  127. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +25 -0
  128. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +86 -0
  129. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +41 -0
  130. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +161 -0
  131. package/ios/LayoutReanimation/REAAnimationsManager.m +14 -4
  132. package/ios/REAModule.m +8 -9
  133. package/ios/REANodesManager.h +4 -1
  134. package/ios/REANodesManager.m +76 -4
  135. package/ios/native/NativeProxy.mm +76 -4
  136. package/ios/sensor/ReanimatedSensor.h +25 -0
  137. package/ios/sensor/ReanimatedSensor.m +217 -0
  138. package/ios/sensor/ReanimatedSensorContainer.h +12 -0
  139. package/ios/sensor/ReanimatedSensorContainer.m +40 -0
  140. package/ios/sensor/ReanimatedSensorType.h +7 -0
  141. package/lib/{src/Animated.js → Animated.js} +0 -0
  142. package/lib/{src/ConfigHelper.js → ConfigHelper.js} +2 -2
  143. package/lib/{src/ReanimatedEventEmitter.js → ReanimatedEventEmitter.js} +0 -0
  144. package/lib/{src/ReanimatedModule.js → ReanimatedModule.js} +0 -0
  145. package/lib/{src/ReanimatedModule.macos.js → ReanimatedModule.macos.js} +0 -0
  146. package/lib/{src/ReanimatedModule.native.js → ReanimatedModule.native.js} +0 -0
  147. package/lib/{src/ReanimatedModule.windows.js → ReanimatedModule.windows.js} +0 -0
  148. package/lib/{src/ReanimatedModuleCompat.js → ReanimatedModuleCompat.js} +0 -0
  149. package/lib/{src/__mocks__ → __mocks__}/ReanimatedEventEmitter.js +0 -0
  150. package/lib/{src/__mocks__ → __mocks__}/ReanimatedModule.native.js +0 -0
  151. package/lib/{src/createAnimatedComponent.js → createAnimatedComponent.js} +3 -4
  152. package/lib/{src/index.js → index.js} +0 -0
  153. package/lib/{src/reanimated1 → reanimated1}/Easing.js +0 -0
  154. package/lib/{src/reanimated1 → reanimated1}/SpringConfig.js +0 -0
  155. package/lib/{src/reanimated1 → reanimated1}/Transitioning.js +0 -0
  156. package/lib/{src/reanimated1 → reanimated1}/animations/Animation.js +0 -0
  157. package/lib/{src/reanimated1 → reanimated1}/animations/SpringUtils.js +0 -0
  158. package/lib/{src/reanimated1 → reanimated1}/animations/backwardCompatibleAnimWrapper.js +0 -0
  159. package/lib/{src/reanimated1 → reanimated1}/animations/decay.js +0 -0
  160. package/lib/{src/reanimated1 → reanimated1}/animations/spring.js +0 -0
  161. package/lib/{src/reanimated1 → reanimated1}/animations/timing.js +0 -0
  162. package/lib/{src/reanimated1 → reanimated1}/base.js +0 -0
  163. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedAlways.js +0 -0
  164. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedBezier.js +0 -0
  165. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedBlock.js +0 -0
  166. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCall.js +0 -0
  167. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCallFunc.js +0 -0
  168. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedClock.js +0 -0
  169. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedClockTest.js +0 -0
  170. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCode.js +0 -0
  171. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedConcat.js +0 -0
  172. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedCond.js +0 -0
  173. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedDebug.js +0 -0
  174. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedEvent.js +0 -0
  175. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedFunction.js +1 -1
  176. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedNode.js +0 -0
  177. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedOperator.js +0 -0
  178. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedParam.js +0 -0
  179. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedProps.js +0 -0
  180. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedSet.js +0 -0
  181. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedStartClock.js +0 -0
  182. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedStopClock.js +0 -0
  183. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedStyle.js +0 -0
  184. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedTransform.js +0 -0
  185. package/lib/{src/reanimated1 → reanimated1}/core/AnimatedValue.js +0 -0
  186. package/lib/{src/reanimated1 → reanimated1}/core/Core.test.js +0 -0
  187. package/lib/{src/reanimated1 → reanimated1}/core/InternalAnimatedValue.js +0 -0
  188. package/lib/{src/reanimated1 → reanimated1}/core/__mocks__/AnimatedProps.js +0 -0
  189. package/lib/{src/reanimated1 → reanimated1}/core/createEventObjectProxyPolyfill.js +0 -0
  190. package/lib/{src/reanimated1 → reanimated1}/derived/__mocks__/evaluateOnce.js +0 -0
  191. package/lib/{src/reanimated1 → reanimated1}/derived/acc.js +0 -0
  192. package/lib/{src/reanimated1 → reanimated1}/derived/color.js +0 -0
  193. package/lib/{src/reanimated1 → reanimated1}/derived/diff.js +0 -0
  194. package/lib/{src/reanimated1 → reanimated1}/derived/diffClamp.js +0 -0
  195. package/lib/{src/reanimated1 → reanimated1}/derived/evaluateOnce.js +0 -0
  196. package/lib/{src/reanimated1 → reanimated1}/derived/index.js +0 -0
  197. package/lib/{src/reanimated1 → reanimated1}/derived/interpolate.js +2 -4
  198. package/lib/{src/reanimated1 → reanimated1}/derived/interpolateColors.js +0 -0
  199. package/lib/{src/reanimated1 → reanimated1}/derived/onChange.js +0 -0
  200. package/lib/{src/reanimated1 → reanimated1}/derived/useCode.js +0 -0
  201. package/lib/{src/reanimated1 → reanimated1}/index.js +0 -0
  202. package/lib/{src/reanimated1 → reanimated1}/operators.js +0 -0
  203. package/lib/{src/reanimated1 → reanimated1}/useValue.js +0 -0
  204. package/lib/{src/reanimated1 → reanimated1}/val.js +0 -0
  205. package/lib/{src/reanimated2 → reanimated2}/Bezier.js +0 -0
  206. package/lib/{src/reanimated2 → reanimated2}/Colors.js +2 -1
  207. package/lib/{src/reanimated2 → reanimated2}/Easing.js +0 -0
  208. package/lib/{src/reanimated2 → reanimated2}/NativeMethods.js +0 -0
  209. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +50 -0
  210. package/lib/{src/reanimated2 → reanimated2}/NativeReanimated/index.js +0 -4
  211. package/lib/{src/reanimated2 → reanimated2}/PlatformChecker.js +0 -0
  212. package/lib/{src/reanimated2 → reanimated2}/PropAdapters.js +0 -0
  213. package/lib/{src/reanimated2 → reanimated2}/UpdateProps.js +0 -0
  214. package/lib/{src/reanimated2 → reanimated2}/ViewDescriptorsSet.js +2 -2
  215. package/lib/{src/reanimated2 → reanimated2}/WorkletEventHandler.js +0 -0
  216. package/lib/{src/reanimated2 → reanimated2}/__mocks__/MutableValue.js +0 -0
  217. package/lib/{src/reanimated2 → reanimated2}/__mocks__/NativeReanimated.js +0 -0
  218. package/lib/{src/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.js +0 -0
  219. package/lib/{src/reanimated2 → reanimated2}/animation/commonTypes.js +0 -0
  220. package/lib/{src/reanimated2 → reanimated2}/animation/decay.js +0 -0
  221. package/lib/{src/reanimated2 → reanimated2}/animation/delay.js +0 -0
  222. package/lib/{src/reanimated2 → reanimated2}/animation/index.js +0 -0
  223. package/lib/{src/reanimated2 → reanimated2}/animation/repeat.js +0 -0
  224. package/lib/{src/reanimated2 → reanimated2}/animation/sequence.js +0 -0
  225. package/lib/{src/reanimated2 → reanimated2}/animation/spring.js +0 -0
  226. package/lib/{src/reanimated2 → reanimated2}/animation/styleAnimation.js +2 -1
  227. package/lib/{src/reanimated2 → reanimated2}/animation/timing.js +0 -0
  228. package/lib/{src/reanimated2 → reanimated2}/animation/util.js +0 -0
  229. package/lib/{src/reanimated2 → reanimated2}/commonTypes.js +0 -0
  230. package/lib/{src/reanimated2 → reanimated2}/component/FlatList.js +0 -0
  231. package/lib/{src/reanimated2 → reanimated2}/component/WrappedComponents.js +0 -0
  232. package/lib/{src/reanimated2 → reanimated2}/component/index.js +0 -0
  233. package/lib/{src/reanimated2 → reanimated2}/core.js +30 -24
  234. package/lib/{src/reanimated2 → reanimated2}/globals.d.ts +6 -0
  235. package/lib/{src/reanimated2 → reanimated2}/hook/Hooks.js +0 -0
  236. package/lib/{src/reanimated2 → reanimated2}/hook/commonTypes.js +0 -0
  237. package/lib/{src/reanimated2 → reanimated2}/hook/index.js +1 -0
  238. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.js +0 -0
  239. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedReaction.js +0 -0
  240. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedRef.js +0 -0
  241. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.js +0 -0
  242. package/lib/reanimated2/hook/useAnimatedSensor.js +66 -0
  243. package/lib/{src/reanimated2 → reanimated2}/hook/useAnimatedStyle.js +0 -0
  244. package/lib/{src/reanimated2 → reanimated2}/hook/useDerivedValue.js +0 -0
  245. package/lib/{src/reanimated2 → reanimated2}/hook/useSharedValue.js +0 -0
  246. package/lib/{src/reanimated2 → reanimated2}/hook/utils.js +0 -0
  247. package/lib/{src/reanimated2 → reanimated2}/index.js +0 -0
  248. package/lib/{src/reanimated2 → reanimated2}/interpolateColor.js +11 -11
  249. package/lib/{src/reanimated2 → reanimated2}/interpolation.js +1 -1
  250. package/lib/{src/reanimated2 → reanimated2}/jestUtils.js +9 -4
  251. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/JSReanimated.js +23 -2
  252. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/Mapper.js +0 -0
  253. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.js +0 -0
  254. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/MutableValue.js +0 -0
  255. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/commonTypes.js +0 -0
  256. package/lib/{src/reanimated2 → reanimated2}/js-reanimated/index.js +3 -3
  257. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.js +0 -0
  258. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -0
  259. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +8 -0
  260. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.js +2 -1
  261. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.js +0 -0
  262. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.js +0 -0
  263. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.js +32 -42
  264. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.js +0 -0
  265. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.js +20 -38
  266. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.js +32 -44
  267. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.js +8 -16
  268. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.js +6 -10
  269. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.js +8 -12
  270. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.js +20 -36
  271. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.js +16 -20
  272. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.js +8 -12
  273. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.js +32 -48
  274. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.js +0 -0
  275. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.js +0 -0
  276. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.js +22 -18
  277. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.js +0 -0
  278. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.js +0 -0
  279. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.js +0 -0
  280. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.js +0 -0
  281. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.js +0 -0
  282. package/lib/{src/reanimated2 → reanimated2}/layoutReanimation/index.js +0 -0
  283. package/lib/{src/reanimated2 → reanimated2}/mock.js +3 -2
  284. package/lib/{src/reanimated2 → reanimated2}/platform-specific/RNRenderer.js +0 -0
  285. package/lib/{src/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.js +0 -0
  286. package/lib/{src/reanimated2 → reanimated2}/utils.js +0 -0
  287. package/lib/{src/setAndForwardRef.js → setAndForwardRef.js} +0 -0
  288. package/lib/types/lib/ConfigHelper.d.ts +12 -0
  289. package/lib/types/lib/ReanimatedEventEmitter.d.ts +3 -0
  290. package/lib/types/lib/ReanimatedModule.d.ts +2 -0
  291. package/lib/types/lib/ReanimatedModule.macos.d.ts +2 -0
  292. package/lib/types/lib/ReanimatedModule.native.d.ts +2 -0
  293. package/lib/types/lib/ReanimatedModule.windows.d.ts +2 -0
  294. package/lib/types/lib/ReanimatedModuleCompat.d.ts +14 -0
  295. package/lib/types/lib/createAnimatedComponent.d.ts +33 -0
  296. package/lib/types/lib/reanimated2/Bezier.d.ts +6 -0
  297. package/lib/types/lib/reanimated2/Colors.d.ts +31 -0
  298. package/lib/types/lib/reanimated2/Easing.d.ts +172 -0
  299. package/lib/types/lib/reanimated2/NativeMethods.d.ts +14 -0
  300. package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +20 -0
  301. package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +3 -0
  302. package/lib/types/lib/reanimated2/PlatformChecker.d.ts +5 -0
  303. package/lib/types/lib/reanimated2/PropAdapters.d.ts +4 -0
  304. package/lib/types/lib/reanimated2/UpdateProps.d.ts +9 -0
  305. package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +20 -0
  306. package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +13 -0
  307. package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +5 -0
  308. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +13 -0
  309. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.native.d.ts +13 -0
  310. package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +27 -0
  311. package/lib/types/lib/reanimated2/animation/decay.d.ts +19 -0
  312. package/lib/types/lib/reanimated2/animation/delay.d.ts +7 -0
  313. package/lib/types/lib/reanimated2/animation/index.d.ts +9 -0
  314. package/lib/types/lib/reanimated2/animation/repeat.d.ts +12 -0
  315. package/lib/types/lib/reanimated2/animation/sequence.d.ts +7 -0
  316. package/lib/types/lib/reanimated2/animation/spring.d.ts +22 -0
  317. package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +7 -0
  318. package/lib/types/lib/reanimated2/animation/timing.d.ts +21 -0
  319. package/lib/types/lib/reanimated2/animation/util.d.ts +9 -0
  320. package/lib/types/lib/reanimated2/commonTypes.d.ts +80 -0
  321. package/lib/types/lib/reanimated2/component/FlatList.d.ts +9 -0
  322. package/lib/types/lib/reanimated2/component/WrappedComponents.d.ts +8 -0
  323. package/lib/types/lib/reanimated2/component/index.d.ts +9 -0
  324. package/lib/types/lib/reanimated2/core.d.ts +24 -0
  325. package/lib/types/lib/reanimated2/hook/Hooks.d.ts +5 -0
  326. package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +14 -0
  327. package/lib/types/lib/reanimated2/hook/index.d.ts +10 -0
  328. package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +35 -0
  329. package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +12 -0
  330. package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +3 -0
  331. package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +21 -0
  332. package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +20 -0
  333. package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +11 -0
  334. package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +4 -0
  335. package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +2 -0
  336. package/lib/types/lib/reanimated2/hook/utils.d.ts +28 -0
  337. package/lib/types/lib/reanimated2/index.d.ts +12 -0
  338. package/lib/types/lib/reanimated2/interpolateColor.d.ts +26 -0
  339. package/lib/types/lib/reanimated2/interpolation.d.ts +14 -0
  340. package/lib/types/lib/reanimated2/jestUtils.d.ts +12 -0
  341. package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +30 -0
  342. package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +14 -0
  343. package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +14 -0
  344. package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +14 -0
  345. package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +44 -0
  346. package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +15 -0
  347. package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +1 -0
  348. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +22 -0
  349. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +38 -0
  350. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +25 -0
  351. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +77 -0
  352. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +4 -0
  353. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +62 -0
  354. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +4 -0
  355. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +42 -0
  356. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +50 -0
  357. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +18 -0
  358. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +10 -0
  359. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +18 -0
  360. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +34 -0
  361. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +34 -0
  362. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +18 -0
  363. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +66 -0
  364. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +10 -0
  365. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +19 -0
  366. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +13 -0
  367. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +6 -0
  368. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +6 -0
  369. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +7 -0
  370. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +9 -0
  371. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +6 -0
  372. package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +4 -0
  373. package/lib/types/lib/reanimated2/mock.d.ts +55 -0
  374. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +1 -0
  375. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
  376. package/lib/types/lib/reanimated2/utils.d.ts +7 -0
  377. package/lib/types/lib/setAndForwardRef.d.ts +40 -0
  378. package/lib/types/react-native-reanimated-tests.d.ts +1 -0
  379. package/mock.js +5 -4
  380. package/package.json +44 -38
  381. package/plugin.js +3 -0
  382. package/react-native-reanimated.d.ts +64 -34
  383. package/src/ConfigHelper.ts +4 -4
  384. package/src/createAnimatedComponent.tsx +4 -4
  385. package/src/reanimated1/core/AnimatedFunction.js +1 -1
  386. package/src/reanimated1/derived/interpolate.js +2 -4
  387. package/src/reanimated2/Colors.ts +2 -1
  388. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +42 -15
  389. package/src/reanimated2/NativeReanimated/index.ts +0 -6
  390. package/src/reanimated2/ViewDescriptorsSet.ts +2 -3
  391. package/src/reanimated2/animation/index.ts +1 -0
  392. package/src/reanimated2/animation/styleAnimation.ts +10 -7
  393. package/src/reanimated2/animation/timing.ts +3 -1
  394. package/src/reanimated2/animation/util.ts +10 -11
  395. package/src/reanimated2/commonTypes.ts +20 -0
  396. package/src/reanimated2/component/FlatList.tsx +3 -2
  397. package/src/reanimated2/core.ts +34 -26
  398. package/src/reanimated2/globals.d.ts +6 -0
  399. package/src/reanimated2/hook/index.ts +1 -0
  400. package/src/reanimated2/hook/useAnimatedSensor.ts +91 -0
  401. package/src/reanimated2/hook/utils.ts +2 -1
  402. package/src/reanimated2/interpolateColor.ts +11 -11
  403. package/src/reanimated2/interpolation.ts +2 -6
  404. package/src/reanimated2/jestUtils.ts +20 -4
  405. package/src/reanimated2/js-reanimated/JSReanimated.ts +25 -2
  406. package/src/reanimated2/js-reanimated/index.ts +3 -3
  407. package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +13 -0
  408. package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +2 -3
  409. package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +51 -21
  410. package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +40 -10
  411. package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +48 -12
  412. package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +16 -4
  413. package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +8 -2
  414. package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +16 -4
  415. package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +32 -8
  416. package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +32 -10
  417. package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +16 -4
  418. package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +64 -16
  419. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +2 -1
  420. package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +26 -19
  421. package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +2 -1
  422. package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +2 -1
  423. package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +2 -1
  424. package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +2 -1
  425. package/src/reanimated2/mock.ts +3 -2
  426. package/android/expo/linking.gradle +0 -46
  427. package/android/expo/src/main/java/com/swmansion/reanimated/EXReanimatedAdapter.java +0 -12
  428. package/android/expo/src/main/java/expo/modules/adapters/reanimated/EXReanimatedPackage.java +0 -26
  429. package/android/react-native-reanimated-63-hermes.aar +0 -0
  430. package/android/react-native-reanimated-63-jsc.aar +0 -0
  431. package/android/src/main/java/com/swmansion/reanimated/ReanimatedProxyPackage.java +0 -15
  432. package/expo-module.config.json +0 -3
  433. package/lib/src/reanimated2/NativeReanimated/NativeReanimated.js +0 -37
  434. package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
  435. package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
  436. package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
  437. package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
File without changes
@@ -1,4 +1,4 @@
1
- import ReanimatedModule from './ReanimatedModule';
1
+ import { configureProps as jsiConfigureProps } from './reanimated2/core';
2
2
  /**
3
3
  * Styles allowed to be direcly updated in UI thread
4
4
  */
@@ -104,7 +104,7 @@ let NATIVE_THREAD_PROPS_WHITELIST = {
104
104
  placeholderTextColor: true,
105
105
  };
106
106
  function configureProps() {
107
- ReanimatedModule.configureProps(Object.keys(NATIVE_THREAD_PROPS_WHITELIST), Object.keys(UI_THREAD_PROPS_WHITELIST));
107
+ jsiConfigureProps(Object.keys(UI_THREAD_PROPS_WHITELIST), Object.keys(NATIVE_THREAD_PROPS_WHITELIST));
108
108
  }
109
109
  export function addWhitelistedNativeProps(props) {
110
110
  const oldSize = Object.keys(NATIVE_THREAD_PROPS_WHITELIST).length;
@@ -90,6 +90,7 @@ export default function createAnimatedComponent(Component, options) {
90
90
  this._viewTag = -1;
91
91
  this._isFirstRender = true;
92
92
  this.animatedStyle = { value: {} };
93
+ this.initialStyle = {};
93
94
  this._component = null;
94
95
  // The system is best designed when setNativeProps is implemented. It is
95
96
  // able to avoid re-rendering and directly set the attributes that changed.
@@ -438,11 +439,9 @@ export default function createAnimatedComponent(Component, options) {
438
439
  // this is how we recognize styles returned by useAnimatedStyle
439
440
  style.viewsRef.add(this);
440
441
  if (this._isFirstRender) {
441
- return Object.assign(Object.assign({}, style.initial.value), initialUpdaterRun(style.initial.updater));
442
- }
443
- else {
444
- return style.initial.value;
442
+ this.initialStyle = Object.assign(Object.assign({}, style.initial.value), initialUpdaterRun(style.initial.updater));
445
443
  }
444
+ return this.initialStyle;
446
445
  }
447
446
  else {
448
447
  return style;
File without changes
File without changes
File without changes
@@ -37,7 +37,7 @@ export function createAnimatedFunction(cb) {
37
37
  for (let i = 0; i < params.length; i++) {
38
38
  params[i] = createAnimatedParam();
39
39
  }
40
- // eslint-disable-next-line standard/no-callback-literal
40
+ // eslint-disable-next-line node/no-callback-literal
41
41
  const what = cb(...params);
42
42
  const func = new AnimatedFunction(what, ...params);
43
43
  return (...args) => {
@@ -128,15 +128,13 @@ export default function interpolate(value, config) {
128
128
  const right = extrapolateRight || extrapolate;
129
129
  let output = interpolateInternal(value, inputRange, outputRange);
130
130
 
131
- if (left === Extrapolate.EXTEND) {
132
- } else if (left === Extrapolate.CLAMP) {
131
+ if (left === Extrapolate.CLAMP) {
133
132
  output = cond(lessThan(value, inputRange[0]), outputRange[0], output);
134
133
  } else if (left === Extrapolate.IDENTITY) {
135
134
  output = cond(lessThan(value, inputRange[0]), value, output);
136
135
  }
137
136
 
138
- if (right === Extrapolate.EXTEND) {
139
- } else if (right === Extrapolate.CLAMP) {
137
+ if (right === Extrapolate.CLAMP) {
140
138
  output = cond(
141
139
  greaterThan(value, inputRange[inputRange.length - 1]),
142
140
  outputRange[outputRange.length - 1],
File without changes
File without changes
File without changes
File without changes
@@ -31,7 +31,8 @@ function getMatchers() {
31
31
  cachedMatchers.hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
32
32
  cachedMatchers.hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
33
33
  cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
34
- cachedMatchers.hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
34
+ cachedMatchers.hex4 =
35
+ /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
35
36
  cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;
36
37
  cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;
37
38
  }
File without changes
@@ -0,0 +1,50 @@
1
+ import { NativeModules } from 'react-native';
2
+ export class NativeReanimated {
3
+ constructor(native = true) {
4
+ if (global.__reanimatedModuleProxy === undefined) {
5
+ const { ReanimatedModule } = NativeModules;
6
+ ReanimatedModule === null || ReanimatedModule === void 0 ? void 0 : ReanimatedModule.installTurboModule();
7
+ }
8
+ this.InnerNativeModule = global.__reanimatedModuleProxy;
9
+ this.native = native;
10
+ }
11
+ installCoreFunctions(valueSetter) {
12
+ return this.InnerNativeModule.installCoreFunctions(valueSetter);
13
+ }
14
+ makeShareable(value) {
15
+ return this.InnerNativeModule.makeShareable(value);
16
+ }
17
+ makeMutable(value) {
18
+ return this.InnerNativeModule.makeMutable(value);
19
+ }
20
+ makeRemote(object = {}) {
21
+ return this.InnerNativeModule.makeRemote(object);
22
+ }
23
+ registerSensor(sensorType, interval, sensorData) {
24
+ return this.InnerNativeModule.registerSensor(sensorType, interval, sensorData);
25
+ }
26
+ unregisterSensor(sensorId) {
27
+ return this.InnerNativeModule.unregisterSensor(sensorId);
28
+ }
29
+ startMapper(mapper, inputs = [], outputs = [], updater, viewDescriptors) {
30
+ return this.InnerNativeModule.startMapper(mapper, inputs, outputs, updater, viewDescriptors);
31
+ }
32
+ stopMapper(mapperId) {
33
+ return this.InnerNativeModule.stopMapper(mapperId);
34
+ }
35
+ registerEventHandler(eventHash, eventHandler) {
36
+ return this.InnerNativeModule.registerEventHandler(eventHash, eventHandler);
37
+ }
38
+ unregisterEventHandler(id) {
39
+ return this.InnerNativeModule.unregisterEventHandler(id);
40
+ }
41
+ getViewProp(viewTag, propName, callback) {
42
+ return this.InnerNativeModule.getViewProp(viewTag, propName, callback);
43
+ }
44
+ enableLayoutAnimations(flag) {
45
+ this.InnerNativeModule.enableLayoutAnimations(flag);
46
+ }
47
+ configureProps(uiProps, nativeProps) {
48
+ this.InnerNativeModule.configureProps(uiProps, nativeProps);
49
+ }
50
+ }
@@ -1,6 +1,5 @@
1
1
  import reanimatedJS from '../js-reanimated';
2
2
  import { shouldBeUseWeb } from '../PlatformChecker';
3
- import { Platform } from 'react-native';
4
3
  import { NativeReanimated } from './NativeReanimated';
5
4
  let exportedModule;
6
5
  if (shouldBeUseWeb()) {
@@ -8,8 +7,5 @@ if (shouldBeUseWeb()) {
8
7
  }
9
8
  else {
10
9
  exportedModule = new NativeReanimated();
11
- if (exportedModule.useOnlyV1 && Platform.OS === 'android') {
12
- console.warn(`If you want to use Reanimated 2 then go through our installation steps https://docs.swmansion.com/react-native-reanimated/docs/installation`);
13
- }
14
10
  }
15
11
  export default exportedModule;
@@ -1,7 +1,7 @@
1
1
  import { useRef } from 'react';
2
2
  import { makeMutable } from './core';
3
- import { Platform } from 'react-native';
4
- const scheduleUpdates = Platform.OS === 'web' ? requestAnimationFrame : setImmediate;
3
+ import { shouldBeUseWeb } from './PlatformChecker';
4
+ const scheduleUpdates = shouldBeUseWeb() ? requestAnimationFrame : setImmediate;
5
5
  export function makeViewDescriptorsSet() {
6
6
  const ref = useRef(null);
7
7
  if (ref.current === null) {
@@ -35,7 +35,8 @@ export function setPath(obj, path, value) {
35
35
  }
36
36
  currObj = currObj[keys[i]];
37
37
  }
38
- currObj[keys[keys.length - 1]] = value;
38
+ currObj[keys[keys.length - 1]] =
39
+ value;
39
40
  }
40
41
  export function withStyleAnimation(styleAnimations) {
41
42
  'worklet';
@@ -24,7 +24,7 @@ export const checkPluginState = (throwError = true) => {
24
24
  return true;
25
25
  };
26
26
  export const isConfigured = (throwError = false) => {
27
- return checkPluginState(throwError) && !NativeReanimatedModule.useOnlyV1;
27
+ return checkPluginState(throwError);
28
28
  };
29
29
  export const isConfiguredCheck = () => {
30
30
  if (!isConfigured(true)) {
@@ -259,29 +259,27 @@ export function runOnJS(fun) {
259
259
  return fun.__callAsync;
260
260
  }
261
261
  }
262
- if (!NativeReanimatedModule.useOnlyV1) {
263
- NativeReanimatedModule.installCoreFunctions(NativeReanimatedModule.native
264
- ? workletValueSetter
265
- : workletValueSetterJS);
266
- if (!isWeb() && isConfigured()) {
267
- const capturableConsole = console;
268
- runOnUI(() => {
269
- 'worklet';
270
- const console = {
271
- debug: runOnJS(capturableConsole.debug),
272
- log: runOnJS(capturableConsole.log),
273
- warn: runOnJS(capturableConsole.warn),
274
- error: runOnJS(capturableConsole.error),
275
- info: runOnJS(capturableConsole.info),
276
- };
277
- _setGlobalConsole(console);
278
- if (global.performance == null) {
279
- global.performance = {
280
- now: global._chronoNow,
281
- };
282
- }
283
- })();
284
- }
262
+ NativeReanimatedModule.installCoreFunctions(NativeReanimatedModule.native
263
+ ? workletValueSetter
264
+ : workletValueSetterJS);
265
+ if (!isWeb() && isConfigured()) {
266
+ const capturableConsole = console;
267
+ runOnUI(() => {
268
+ 'worklet';
269
+ const console = {
270
+ debug: runOnJS(capturableConsole.debug),
271
+ log: runOnJS(capturableConsole.log),
272
+ warn: runOnJS(capturableConsole.warn),
273
+ error: runOnJS(capturableConsole.error),
274
+ info: runOnJS(capturableConsole.info),
275
+ };
276
+ _setGlobalConsole(console);
277
+ if (global.performance == null) {
278
+ global.performance = {
279
+ now: global._chronoNow,
280
+ }; // due to conflict with lib.dom.d.ts -> Performance
281
+ }
282
+ })();
285
283
  }
286
284
  let featuresConfig = {
287
285
  enableLayoutAnimations: false,
@@ -301,3 +299,11 @@ export function enableLayoutAnimations(flag, isCallByUser = true) {
301
299
  NativeReanimatedModule.enableLayoutAnimations(flag);
302
300
  }
303
301
  }
302
+ export function configureProps(uiProps, nativeProps) {
303
+ if (!nativeShouldBeMock()) {
304
+ NativeReanimatedModule.configureProps(uiProps, nativeProps);
305
+ }
306
+ }
307
+ export function jestResetJsReanimatedModule() {
308
+ NativeReanimatedModule.jestResetModule();
309
+ }
@@ -27,6 +27,9 @@ declare global {
27
27
  animated: boolean
28
28
  ) => void;
29
29
  const _chronoNow: () => number;
30
+ const ReanimatedDataMock: {
31
+ now: () => number;
32
+ };
30
33
  namespace NodeJS {
31
34
  interface Global {
32
35
  __reanimatedWorkletInit: (worklet: WorkletFunction) => void;
@@ -50,6 +53,9 @@ declare global {
50
53
  yogaValues: unknown
51
54
  ): void;
52
55
  };
56
+ ReanimatedDataMock: {
57
+ now: () => number;
58
+ };
53
59
  }
54
60
  }
55
61
  }
@@ -6,3 +6,4 @@ export { useAnimatedReaction, } from './useAnimatedReaction';
6
6
  export { useAnimatedRef } from './useAnimatedRef';
7
7
  export { useAnimatedScrollHandler, } from './useAnimatedScrollHandler';
8
8
  export { useDerivedValue } from './useDerivedValue';
9
+ export { useAnimatedSensor, SensorType } from './useAnimatedSensor';
@@ -0,0 +1,66 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { makeMutable } from '../core';
3
+ import NativeReanimated from '../NativeReanimated';
4
+ export var SensorType;
5
+ (function (SensorType) {
6
+ SensorType[SensorType["ACCELEROMETER"] = 1] = "ACCELEROMETER";
7
+ SensorType[SensorType["GYROSCOPE"] = 2] = "GYROSCOPE";
8
+ SensorType[SensorType["GRAVITY"] = 3] = "GRAVITY";
9
+ SensorType[SensorType["MAGNETIC_FIELD"] = 4] = "MAGNETIC_FIELD";
10
+ SensorType[SensorType["ROTATION"] = 5] = "ROTATION";
11
+ })(SensorType || (SensorType = {}));
12
+ export function useAnimatedSensor(sensorType, userConfig) {
13
+ const ref = useRef({
14
+ sensor: null,
15
+ unregister: () => {
16
+ // NOOP
17
+ },
18
+ isAvailable: false,
19
+ config: {
20
+ interval: 0,
21
+ },
22
+ });
23
+ if (ref.current.sensor === null) {
24
+ ref.current.config = Object.assign({ interval: 10 }, userConfig);
25
+ let sensorData;
26
+ if (sensorType === SensorType.ROTATION) {
27
+ sensorData = {
28
+ qw: 0,
29
+ qx: 0,
30
+ qy: 0,
31
+ qz: 0,
32
+ yaw: 0,
33
+ pitch: 0,
34
+ roll: 0,
35
+ };
36
+ }
37
+ else {
38
+ sensorData = {
39
+ x: 0,
40
+ y: 0,
41
+ z: 0,
42
+ };
43
+ }
44
+ ref.current.sensor = makeMutable(sensorData);
45
+ }
46
+ useEffect(() => {
47
+ ref.current.config = Object.assign({ interval: 10 }, userConfig);
48
+ const id = NativeReanimated.registerSensor(sensorType, ref.current.config.interval, ref.current.sensor);
49
+ if (id !== -1) {
50
+ // if sensor is available
51
+ ref.current.unregister = () => NativeReanimated.unregisterSensor(id);
52
+ ref.current.isAvailable = true;
53
+ }
54
+ else {
55
+ // if sensor is unavailable
56
+ ref.current.unregister = () => {
57
+ // NOOP
58
+ };
59
+ ref.current.isAvailable = false;
60
+ }
61
+ return () => {
62
+ ref.current.unregister();
63
+ };
64
+ }, [sensorType, userConfig]);
65
+ return ref.current;
66
+ }
File without changes
@@ -27,13 +27,13 @@ const getInterpolateRGB = (colors) => {
27
27
  const a = [];
28
28
  for (let i = 0; i < colors.length; ++i) {
29
29
  const color = colors[i];
30
- const proocessedColor = processColor(color);
30
+ const processedColor = processColor(color);
31
31
  // explicit check in case if processedColor is 0
32
- if (proocessedColor !== null && proocessedColor !== undefined) {
33
- r.push(red(proocessedColor));
34
- g.push(green(proocessedColor));
35
- b.push(blue(proocessedColor));
36
- a.push(opacity(proocessedColor));
32
+ if (processedColor !== null && processedColor !== undefined) {
33
+ r.push(red(processedColor));
34
+ g.push(green(processedColor));
35
+ b.push(blue(processedColor));
36
+ a.push(opacity(processedColor));
37
37
  }
38
38
  }
39
39
  return { r, g, b, a };
@@ -45,11 +45,11 @@ const getInterpolateHSV = (colors) => {
45
45
  const v = [];
46
46
  for (let i = 0; i < colors.length; ++i) {
47
47
  const color = colors[i];
48
- const proocessedColor = RGBtoHSV(processColor(color));
49
- if (proocessedColor) {
50
- h.push(proocessedColor.h);
51
- s.push(proocessedColor.s);
52
- v.push(proocessedColor.v);
48
+ const processedColor = RGBtoHSV(processColor(color));
49
+ if (processedColor) {
50
+ h.push(processedColor.h);
51
+ s.push(processedColor.s);
52
+ v.push(processedColor.v);
53
53
  }
54
54
  }
55
55
  return { h, s, v };
@@ -66,7 +66,7 @@ function validateType(type) {
66
66
  }
67
67
  function internalInterpolate(x, narrowedInput, extrapolationConfig) {
68
68
  'worklet';
69
- const { leftEdgeInput, rightEdgeInput, leftEdgeOutput, rightEdgeOutput, } = narrowedInput;
69
+ const { leftEdgeInput, rightEdgeInput, leftEdgeOutput, rightEdgeOutput } = narrowedInput;
70
70
  if (rightEdgeInput - leftEdgeInput === 0)
71
71
  return leftEdgeOutput;
72
72
  const progress = (x - leftEdgeInput) / (rightEdgeInput - leftEdgeInput);