react-native-reanimated 2.16.0 → 2.17.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 (287) hide show
  1. package/android/.gradle/7.5.1/checksums/checksums.lock +0 -0
  2. package/android/.gradle/7.5.1/checksums/md5-checksums.bin +0 -0
  3. package/android/.gradle/7.5.1/checksums/sha1-checksums.bin +0 -0
  4. package/android/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/7.5.1/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/7.5.1/executionHistory/executionHistory.bin +0 -0
  7. package/android/.gradle/7.5.1/executionHistory/executionHistory.lock +0 -0
  8. package/android/.gradle/7.5.1/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/7.5.1/fileHashes/fileHashes.bin +0 -0
  10. package/android/.gradle/7.5.1/fileHashes/fileHashes.lock +0 -0
  11. package/android/.gradle/7.5.1/fileHashes/resourceHashesCache.bin +0 -0
  12. package/android/.gradle/7.5.1/gc.properties +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  16. package/android/.gradle/file-system.probe +0 -0
  17. package/android/.gradle/vcs-1/gc.properties +0 -0
  18. package/android/react-native-reanimated-67-hermes.aar +0 -0
  19. package/android/react-native-reanimated-67-jsc.aar +0 -0
  20. package/android/react-native-reanimated-68-hermes.aar +0 -0
  21. package/android/react-native-reanimated-68-jsc.aar +0 -0
  22. package/android/react-native-reanimated-69-hermes.aar +0 -0
  23. package/android/react-native-reanimated-69-jsc.aar +0 -0
  24. package/android/react-native-reanimated-70-hermes.aar +0 -0
  25. package/android/react-native-reanimated-70-jsc.aar +0 -0
  26. package/android/react-native-reanimated-71-hermes.aar +0 -0
  27. package/android/react-native-reanimated-71-jsc.aar +0 -0
  28. package/lib/Animated.js +9 -0
  29. package/lib/ConfigHelper.js +145 -0
  30. package/lib/ReanimatedEventEmitter.js +3 -0
  31. package/lib/ReanimatedModule.js +2 -0
  32. package/lib/ReanimatedModule.macos.js +2 -0
  33. package/lib/ReanimatedModule.native.js +12 -0
  34. package/lib/ReanimatedModule.windows.js +2 -0
  35. package/lib/ReanimatedModuleCompat.js +66 -0
  36. package/lib/__mocks__/ReanimatedEventEmitter.js +8 -0
  37. package/lib/__mocks__/ReanimatedModule.native.js +11 -0
  38. package/lib/createAnimatedComponent.js +518 -0
  39. package/lib/index.js +14 -0
  40. package/lib/index.web.js +6 -0
  41. package/lib/reanimated1/Easing.js +231 -0
  42. package/lib/reanimated1/SpringConfig.js +79 -0
  43. package/lib/reanimated1/Transitioning.js +158 -0
  44. package/lib/reanimated1/animations/Animation.js +32 -0
  45. package/lib/reanimated1/animations/SpringUtils.js +199 -0
  46. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +117 -0
  47. package/lib/reanimated1/animations/decay.js +54 -0
  48. package/lib/reanimated1/animations/spring.js +198 -0
  49. package/lib/reanimated1/animations/timing.js +74 -0
  50. package/lib/reanimated1/base.js +13 -0
  51. package/lib/reanimated1/core/AnimatedAlways.js +33 -0
  52. package/lib/reanimated1/core/AnimatedBezier.js +150 -0
  53. package/lib/reanimated1/core/AnimatedBlock.js +52 -0
  54. package/lib/reanimated1/core/AnimatedCall.js +55 -0
  55. package/lib/reanimated1/core/AnimatedCallFunc.js +72 -0
  56. package/lib/reanimated1/core/AnimatedClock.js +90 -0
  57. package/lib/reanimated1/core/AnimatedClockTest.js +22 -0
  58. package/lib/reanimated1/core/AnimatedCode.js +32 -0
  59. package/lib/reanimated1/core/AnimatedConcat.js +32 -0
  60. package/lib/reanimated1/core/AnimatedCond.js +57 -0
  61. package/lib/reanimated1/core/AnimatedDebug.js +62 -0
  62. package/lib/reanimated1/core/AnimatedEvent.js +126 -0
  63. package/lib/reanimated1/core/AnimatedFunction.js +55 -0
  64. package/lib/reanimated1/core/AnimatedNode.js +223 -0
  65. package/lib/reanimated1/core/AnimatedOperator.js +103 -0
  66. package/lib/reanimated1/core/AnimatedParam.js +88 -0
  67. package/lib/reanimated1/core/AnimatedProps.js +108 -0
  68. package/lib/reanimated1/core/AnimatedSet.js +38 -0
  69. package/lib/reanimated1/core/AnimatedStartClock.js +30 -0
  70. package/lib/reanimated1/core/AnimatedStopClock.js +30 -0
  71. package/lib/reanimated1/core/AnimatedStyle.js +78 -0
  72. package/lib/reanimated1/core/AnimatedTransform.js +78 -0
  73. package/lib/reanimated1/core/AnimatedValue.js +38 -0
  74. package/lib/reanimated1/core/InternalAnimatedValue.js +87 -0
  75. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +86 -0
  76. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +44 -0
  77. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +14 -0
  78. package/lib/reanimated1/derived/acc.js +11 -0
  79. package/lib/reanimated1/derived/color.js +47 -0
  80. package/lib/reanimated1/derived/diff.js +16 -0
  81. package/lib/reanimated1/derived/diffClamp.js +11 -0
  82. package/lib/reanimated1/derived/evaluateOnce.js +35 -0
  83. package/lib/reanimated1/derived/index.js +8 -0
  84. package/lib/reanimated1/derived/interpolate.js +152 -0
  85. package/lib/reanimated1/derived/interpolateColors.js +62 -0
  86. package/lib/reanimated1/derived/onChange.js +14 -0
  87. package/lib/reanimated1/derived/useCode.js +41 -0
  88. package/lib/reanimated1/index.js +53 -0
  89. package/lib/reanimated1/operators.js +35 -0
  90. package/lib/reanimated1/useValue.js +10 -0
  91. package/lib/reanimated1/val.js +3 -0
  92. package/lib/reanimated2/Bezier.js +126 -0
  93. package/lib/reanimated2/Colors.js +538 -0
  94. package/lib/reanimated2/Easing.js +248 -0
  95. package/lib/reanimated2/NativeMethods.js +94 -0
  96. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +60 -0
  97. package/lib/reanimated2/NativeReanimated/index.js +11 -0
  98. package/lib/reanimated2/PlatformChecker.js +16 -0
  99. package/lib/reanimated2/PropAdapters.js +55 -0
  100. package/lib/reanimated2/UpdateProps.js +55 -0
  101. package/lib/reanimated2/ViewDescriptorsSet.js +75 -0
  102. package/lib/reanimated2/WorkletEventHandler.js +37 -0
  103. package/lib/reanimated2/__mocks__/MutableValue.js +13 -0
  104. package/lib/reanimated2/__mocks__/NativeReanimated.js +20 -0
  105. package/lib/reanimated2/animation/commonTypes.js +1 -0
  106. package/lib/reanimated2/animation/decay.js +71 -0
  107. package/lib/reanimated2/animation/delay.js +64 -0
  108. package/lib/reanimated2/animation/index.js +8 -0
  109. package/lib/reanimated2/animation/repeat.js +69 -0
  110. package/lib/reanimated2/animation/sequence.js +69 -0
  111. package/lib/reanimated2/animation/spring.js +103 -0
  112. package/lib/reanimated2/animation/styleAnimation.js +174 -0
  113. package/lib/reanimated2/animation/timing.js +64 -0
  114. package/lib/reanimated2/animation/util.js +183 -0
  115. package/lib/reanimated2/commonTypes.js +8 -0
  116. package/lib/reanimated2/component/FlatList.js +30 -0
  117. package/lib/reanimated2/component/Image.js +4 -0
  118. package/lib/reanimated2/component/ScrollView.js +4 -0
  119. package/lib/reanimated2/component/Text.js +4 -0
  120. package/lib/reanimated2/component/View.js +4 -0
  121. package/lib/reanimated2/core.js +269 -0
  122. package/lib/reanimated2/frameCallback/FrameCallbackRegistryJS.js +32 -0
  123. package/lib/reanimated2/frameCallback/FrameCallbackRegistryUI.js +76 -0
  124. package/lib/reanimated2/globals.d.ts +91 -0
  125. package/lib/reanimated2/hook/Hooks.js +9 -0
  126. package/lib/reanimated2/hook/commonTypes.js +1 -0
  127. package/lib/reanimated2/hook/index.js +12 -0
  128. package/lib/reanimated2/hook/useAnimatedGestureHandler.js +49 -0
  129. package/lib/reanimated2/hook/useAnimatedKeyboard.js +31 -0
  130. package/lib/reanimated2/hook/useAnimatedReaction.js +44 -0
  131. package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
  132. package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
  133. package/lib/reanimated2/hook/useAnimatedSensor.js +66 -0
  134. package/lib/reanimated2/hook/useAnimatedStyle.js +402 -0
  135. package/lib/reanimated2/hook/useDerivedValue.js +43 -0
  136. package/lib/reanimated2/hook/useFrameCallback.js +23 -0
  137. package/lib/reanimated2/hook/useScrollViewOffset.js +27 -0
  138. package/lib/reanimated2/hook/useSharedValue.js +17 -0
  139. package/lib/reanimated2/hook/utils.js +165 -0
  140. package/lib/reanimated2/index.js +12 -0
  141. package/lib/reanimated2/interpolateColor.js +157 -0
  142. package/lib/reanimated2/interpolation.js +127 -0
  143. package/lib/reanimated2/jestUtils.js +175 -0
  144. package/lib/reanimated2/js-reanimated/JSReanimated.js +106 -0
  145. package/lib/reanimated2/js-reanimated/Mapper.js +43 -0
  146. package/lib/reanimated2/js-reanimated/MapperRegistry.js +101 -0
  147. package/lib/reanimated2/js-reanimated/MutableValue.js +29 -0
  148. package/lib/reanimated2/js-reanimated/commonTypes.js +1 -0
  149. package/lib/reanimated2/js-reanimated/global.js +36 -0
  150. package/lib/reanimated2/js-reanimated/index.js +35 -0
  151. package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +67 -0
  152. package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
  153. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +133 -0
  154. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +194 -0
  155. package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
  156. package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +3 -0
  157. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +374 -0
  158. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
  159. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +275 -0
  160. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +385 -0
  161. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +136 -0
  162. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +81 -0
  163. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +120 -0
  164. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +273 -0
  165. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +201 -0
  166. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +101 -0
  167. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +457 -0
  168. package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +10 -0
  169. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +90 -0
  170. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +132 -0
  171. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
  172. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
  173. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
  174. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
  175. package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
  176. package/lib/reanimated2/layoutReanimation/index.js +4 -0
  177. package/lib/reanimated2/mock.js +75 -0
  178. package/lib/reanimated2/platform-specific/RNRenderer.js +3 -0
  179. package/lib/reanimated2/platform-specific/RNRenderer.web.js +3 -0
  180. package/lib/reanimated2/platform-specific/checkVersion.js +28 -0
  181. package/lib/reanimated2/platform-specific/checkVersion.web.js +6 -0
  182. package/lib/reanimated2/utils.js +16 -0
  183. package/lib/setAndForwardRef.js +19 -0
  184. package/lib/types/lib/Animated.d.ts +8 -0
  185. package/lib/types/lib/ConfigHelper.d.ts +12 -0
  186. package/lib/types/lib/ReanimatedEventEmitter.d.ts +3 -0
  187. package/lib/types/lib/ReanimatedModule.d.ts +2 -0
  188. package/lib/types/lib/ReanimatedModule.macos.d.ts +2 -0
  189. package/lib/types/lib/ReanimatedModule.native.d.ts +2 -0
  190. package/lib/types/lib/ReanimatedModule.windows.d.ts +2 -0
  191. package/lib/types/lib/ReanimatedModuleCompat.d.ts +14 -0
  192. package/lib/types/lib/createAnimatedComponent.d.ts +33 -0
  193. package/lib/types/lib/index.d.ts +4 -0
  194. package/lib/types/lib/index.web.d.ts +4 -0
  195. package/lib/types/lib/reanimated2/Bezier.d.ts +6 -0
  196. package/lib/types/lib/reanimated2/Colors.d.ts +33 -0
  197. package/lib/types/lib/reanimated2/Easing.d.ts +172 -0
  198. package/lib/types/lib/reanimated2/NativeMethods.d.ts +7 -0
  199. package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +22 -0
  200. package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +3 -0
  201. package/lib/types/lib/reanimated2/PlatformChecker.d.ts +5 -0
  202. package/lib/types/lib/reanimated2/PropAdapters.d.ts +4 -0
  203. package/lib/types/lib/reanimated2/UpdateProps.d.ts +9 -0
  204. package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +20 -0
  205. package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +13 -0
  206. package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +5 -0
  207. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +13 -0
  208. package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +27 -0
  209. package/lib/types/lib/reanimated2/animation/decay.d.ts +19 -0
  210. package/lib/types/lib/reanimated2/animation/delay.d.ts +7 -0
  211. package/lib/types/lib/reanimated2/animation/index.d.ts +9 -0
  212. package/lib/types/lib/reanimated2/animation/repeat.d.ts +12 -0
  213. package/lib/types/lib/reanimated2/animation/sequence.d.ts +7 -0
  214. package/lib/types/lib/reanimated2/animation/spring.d.ts +22 -0
  215. package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +7 -0
  216. package/lib/types/lib/reanimated2/animation/timing.d.ts +21 -0
  217. package/lib/types/lib/reanimated2/animation/util.d.ts +9 -0
  218. package/lib/types/lib/reanimated2/commonTypes.d.ts +99 -0
  219. package/lib/types/lib/reanimated2/component/FlatList.d.ts +9 -0
  220. package/lib/types/lib/reanimated2/component/Image.d.ts +3 -0
  221. package/lib/types/lib/reanimated2/component/ScrollView.d.ts +3 -0
  222. package/lib/types/lib/reanimated2/component/Text.d.ts +3 -0
  223. package/lib/types/lib/reanimated2/component/View.d.ts +3 -0
  224. package/lib/types/lib/reanimated2/core.d.ts +24 -0
  225. package/lib/types/lib/reanimated2/frameCallback/FrameCallbackRegistryJS.d.ts +8 -0
  226. package/lib/types/lib/reanimated2/frameCallback/FrameCallbackRegistryUI.d.ts +20 -0
  227. package/lib/types/lib/reanimated2/hook/Hooks.d.ts +5 -0
  228. package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +14 -0
  229. package/lib/types/lib/reanimated2/hook/index.d.ts +14 -0
  230. package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +35 -0
  231. package/lib/types/lib/reanimated2/hook/useAnimatedKeyboard.d.ts +2 -0
  232. package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +12 -0
  233. package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +3 -0
  234. package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +20 -0
  235. package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +18 -0
  236. package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +11 -0
  237. package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +4 -0
  238. package/lib/types/lib/reanimated2/hook/useFrameCallback.d.ts +7 -0
  239. package/lib/types/lib/reanimated2/hook/useScrollViewOffset.d.ts +4 -0
  240. package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +2 -0
  241. package/lib/types/lib/reanimated2/hook/utils.d.ts +28 -0
  242. package/lib/types/lib/reanimated2/index.d.ts +12 -0
  243. package/lib/types/lib/reanimated2/interpolateColor.d.ts +32 -0
  244. package/lib/types/lib/reanimated2/interpolation.d.ts +14 -0
  245. package/lib/types/lib/reanimated2/jestUtils.d.ts +12 -0
  246. package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +32 -0
  247. package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +14 -0
  248. package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +14 -0
  249. package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +14 -0
  250. package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +44 -0
  251. package/lib/types/lib/reanimated2/js-reanimated/global.d.ts +2 -0
  252. package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +15 -0
  253. package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +1 -0
  254. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +22 -0
  255. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +38 -0
  256. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +25 -0
  257. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +81 -0
  258. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +4 -0
  259. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +62 -0
  260. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +4 -0
  261. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +42 -0
  262. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +50 -0
  263. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +18 -0
  264. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +10 -0
  265. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +18 -0
  266. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +34 -0
  267. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +34 -0
  268. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +18 -0
  269. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +66 -0
  270. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +10 -0
  271. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +19 -0
  272. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +13 -0
  273. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +6 -0
  274. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +6 -0
  275. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +7 -0
  276. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +9 -0
  277. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +6 -0
  278. package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +4 -0
  279. package/lib/types/lib/reanimated2/mock.d.ts +61 -0
  280. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +1 -0
  281. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
  282. package/lib/types/lib/reanimated2/platform-specific/checkVersion.d.ts +4 -0
  283. package/lib/types/lib/reanimated2/platform-specific/checkVersion.web.d.ts +5 -0
  284. package/lib/types/lib/reanimated2/utils.d.ts +11 -0
  285. package/lib/types/lib/setAndForwardRef.d.ts +40 -0
  286. package/package.json +1 -1
  287. package/src/reanimated1/core/Core.test.js +0 -30
@@ -0,0 +1,91 @@
1
+ import type {
2
+ AnimatedStyle,
3
+ StyleProps,
4
+ MeasuredDimensions,
5
+ } from './commonTypes';
6
+ import type { ReanimatedConsole } from './core';
7
+ import type { NativeReanimated } from './NativeReanimated/NativeReanimated';
8
+ import type { FrameCallbackRegistryUI } from './frameCallback/FrameCallbackRegistryUI';
9
+
10
+ declare global {
11
+ const _WORKLET: boolean;
12
+ const _REANIMATED_VERSION_CPP: string;
13
+ const _frameTimestamp: number | null;
14
+ const _eventTimestamp: number;
15
+ const __reanimatedModuleProxy: NativeReanimated;
16
+ const _setGlobalConsole: (console?: ReanimatedConsole) => void;
17
+ const _log: (s: string) => void;
18
+ const _getCurrentTime: () => number;
19
+ const _stopObservingProgress: (tag: number, flag: boolean) => void;
20
+ const _startObservingProgress: (
21
+ tag: number,
22
+ flag: { value: boolean; _value: boolean }
23
+ ) => void;
24
+ const _setGestureState: (handlerTag: number, newState: number) => void;
25
+ const _updateProps: (
26
+ tag: number,
27
+ name: string,
28
+ updates: StyleProps | AnimatedStyle
29
+ ) => void;
30
+ const _measure: (viewTag: number) => MeasuredDimensions;
31
+ const _scrollTo: (
32
+ viewTag: number,
33
+ x: number,
34
+ y: number,
35
+ animated: boolean
36
+ ) => void;
37
+ const _chronoNow: () => number;
38
+ const performance: { now: () => number };
39
+ const LayoutAnimationRepository: {
40
+ configs: Record<string, unknown>;
41
+ registerConfig(tag: number, config: Record<string, unknown>): void;
42
+ removeConfig(tag: number): void;
43
+ startAnimationForTag(tag: number, type: string, yogaValues: unknown): void;
44
+ };
45
+ const ReanimatedDataMock: {
46
+ now: () => number;
47
+ };
48
+ const _frameCallbackRegistry: FrameCallbackRegistryUI;
49
+ namespace NodeJS {
50
+ interface Global {
51
+ _WORKLET: boolean;
52
+ _IS_FABRIC: boolean;
53
+ _REANIMATED_VERSION_CPP: string;
54
+ _frameTimestamp: number | null;
55
+ _eventTimestamp: number;
56
+ __reanimatedModuleProxy: NativeReanimated;
57
+ _setGlobalConsole: (console?: ReanimatedConsole) => void;
58
+ _log: (s: string) => void;
59
+ _getCurrentTime: () => number;
60
+ _stopObservingProgress: (tag: number, flag: boolean) => void;
61
+ _startObservingProgress: (
62
+ tag: number,
63
+ flag: { value: boolean; _value: boolean }
64
+ ) => void;
65
+ _setGestureState: (handlerTag: number, newState: number) => void;
66
+ _measure: (viewTag: number) => MeasuredDimensions;
67
+ _scrollTo: (
68
+ viewTag: number,
69
+ x: number,
70
+ y: number,
71
+ animated: boolean
72
+ ) => void;
73
+ _chronoNow: () => number;
74
+ performance: { now: () => number };
75
+ LayoutAnimationRepository: {
76
+ configs: Record<string, unknown>;
77
+ registerConfig(tag: number, config: Record<string, unknown>): void;
78
+ removeConfig(tag: number): void;
79
+ startAnimationForTag(
80
+ tag: number,
81
+ type: string,
82
+ yogaValues: unknown
83
+ ): void;
84
+ };
85
+ ReanimatedDataMock: {
86
+ now: () => number;
87
+ };
88
+ _frameCallbackRegistry: FrameCallbackRegistryUI;
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,9 @@
1
+ import { useCallback } from 'react';
2
+ import { useAnimatedStyle } from './useAnimatedStyle';
3
+ // TODO: we should make sure that when useAP is used we are not assigning styles
4
+ // when you need styles to animated you should always use useAS
5
+ export const useAnimatedProps = useAnimatedStyle;
6
+ export function useWorkletCallback(fun, deps) {
7
+ return useCallback(fun, deps !== null && deps !== void 0 ? deps : []);
8
+ }
9
+ export { useEvent, useHandler } from './utils';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ export { useAnimatedProps, useEvent, useHandler, useWorkletCallback, } from './Hooks';
2
+ export { useSharedValue } from './useSharedValue';
3
+ export { useAnimatedStyle } from './useAnimatedStyle';
4
+ export { useAnimatedGestureHandler, } from './useAnimatedGestureHandler';
5
+ export { useAnimatedReaction, } from './useAnimatedReaction';
6
+ export { useAnimatedRef } from './useAnimatedRef';
7
+ export { useAnimatedScrollHandler, } from './useAnimatedScrollHandler';
8
+ export { useDerivedValue } from './useDerivedValue';
9
+ export { useAnimatedSensor, SensorType } from './useAnimatedSensor';
10
+ export { useFrameCallback } from './useFrameCallback';
11
+ export { useAnimatedKeyboard } from './useAnimatedKeyboard';
12
+ export { useScrollViewOffset } from './useScrollViewOffset';
@@ -0,0 +1,49 @@
1
+ import { useEvent, useHandler } from './Hooks';
2
+ export var EventType;
3
+ (function (EventType) {
4
+ EventType[EventType["UNDETERMINED"] = 0] = "UNDETERMINED";
5
+ EventType[EventType["FAILED"] = 1] = "FAILED";
6
+ EventType[EventType["BEGAN"] = 2] = "BEGAN";
7
+ EventType[EventType["CANCELLED"] = 3] = "CANCELLED";
8
+ EventType[EventType["ACTIVE"] = 4] = "ACTIVE";
9
+ EventType[EventType["END"] = 5] = "END";
10
+ })(EventType || (EventType = {}));
11
+ export function useAnimatedGestureHandler(handlers, dependencies) {
12
+ const { context, doDependenciesDiffer, useWeb } = useHandler(handlers, dependencies);
13
+ const handler = (e) => {
14
+ 'worklet';
15
+ const event = useWeb ? e.nativeEvent : e;
16
+ if (event.state === EventType.BEGAN && handlers.onStart) {
17
+ handlers.onStart(event, context);
18
+ }
19
+ if (event.state === EventType.ACTIVE && handlers.onActive) {
20
+ handlers.onActive(event, context);
21
+ }
22
+ if (event.oldState === EventType.ACTIVE &&
23
+ event.state === EventType.END &&
24
+ handlers.onEnd) {
25
+ handlers.onEnd(event, context);
26
+ }
27
+ if (event.oldState === EventType.BEGAN &&
28
+ event.state === EventType.FAILED &&
29
+ handlers.onFail) {
30
+ handlers.onFail(event, context);
31
+ }
32
+ if (event.oldState === EventType.ACTIVE &&
33
+ event.state === EventType.CANCELLED &&
34
+ handlers.onCancel) {
35
+ handlers.onCancel(event, context);
36
+ }
37
+ if ((event.oldState === EventType.BEGAN ||
38
+ event.oldState === EventType.ACTIVE) &&
39
+ event.state !== EventType.BEGAN &&
40
+ event.state !== EventType.ACTIVE &&
41
+ handlers.onFinish) {
42
+ handlers.onFinish(event, context, event.state === EventType.CANCELLED || event.state === EventType.FAILED);
43
+ }
44
+ };
45
+ if (useWeb) {
46
+ return handler;
47
+ }
48
+ return useEvent(handler, ['onGestureHandlerStateChange', 'onGestureHandlerEvent'], doDependenciesDiffer);
49
+ }
@@ -0,0 +1,31 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import NativeReanimated from '../NativeReanimated';
3
+ import { makeMutable } from '../core';
4
+ import { KeyboardState } from '../commonTypes';
5
+ export function useAnimatedKeyboard() {
6
+ const ref = useRef(null);
7
+ const listenerId = useRef(-1);
8
+ const isSubscribed = useRef(false);
9
+ if (ref.current === null) {
10
+ const keyboardEventData = {
11
+ state: makeMutable(KeyboardState.UNKNOWN),
12
+ height: makeMutable(0),
13
+ };
14
+ listenerId.current =
15
+ NativeReanimated.subscribeForKeyboardEvents(keyboardEventData);
16
+ ref.current = keyboardEventData;
17
+ isSubscribed.current = true;
18
+ }
19
+ useEffect(() => {
20
+ if (isSubscribed.current === false && ref.current !== null) {
21
+ // subscribe again after Fast Refresh
22
+ listenerId.current = NativeReanimated.subscribeForKeyboardEvents(ref.current);
23
+ isSubscribed.current = true;
24
+ }
25
+ return () => {
26
+ NativeReanimated.unsubscribeFromKeyboardEvents(listenerId.current);
27
+ isSubscribed.current = false;
28
+ };
29
+ }, []);
30
+ return ref.current;
31
+ }
@@ -0,0 +1,44 @@
1
+ import { useEffect } from 'react';
2
+ import { startMapper, stopMapper } from '../core';
3
+ import { useSharedValue } from './useSharedValue';
4
+ import { shouldBeUseWeb } from '../PlatformChecker';
5
+ /**
6
+ * @param prepare - worklet used for data preparation for the second parameter
7
+ * @param react - worklet which takes data prepared by the one in the first parameter and performs certain actions
8
+ * the first worklet defines the inputs, in other words on which shared values change will it be called.
9
+ * the second one can modify any shared values but those which are mentioned in the first worklet. Beware of that, because this may result in endless loop and high cpu usage.
10
+ */
11
+ export function useAnimatedReaction(prepare, react, dependencies) {
12
+ var _a, _b, _c;
13
+ const previous = useSharedValue(null);
14
+ let inputs = Object.values((_a = prepare._closure) !== null && _a !== void 0 ? _a : {});
15
+ if (shouldBeUseWeb()) {
16
+ if (!inputs.length && (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length)) {
17
+ // let web work without a Babel/SWC plugin
18
+ inputs = dependencies;
19
+ }
20
+ }
21
+ if (dependencies === undefined) {
22
+ dependencies = [
23
+ Object.values((_b = prepare._closure) !== null && _b !== void 0 ? _b : {}),
24
+ Object.values((_c = react._closure) !== null && _c !== void 0 ? _c : {}),
25
+ prepare.__workletHash,
26
+ react.__workletHash,
27
+ ];
28
+ }
29
+ else {
30
+ dependencies.push(prepare.__workletHash, react.__workletHash);
31
+ }
32
+ useEffect(() => {
33
+ const fun = () => {
34
+ 'worklet';
35
+ const input = prepare();
36
+ react(input, previous.value);
37
+ previous.value = input;
38
+ };
39
+ const mapperId = startMapper(fun, inputs, []);
40
+ return () => {
41
+ stopMapper(mapperId);
42
+ };
43
+ }, dependencies);
44
+ }
@@ -0,0 +1,25 @@
1
+ import { useRef } from 'react';
2
+ import { getTag } from '../NativeMethods';
3
+ import { useSharedValue } from './useSharedValue';
4
+ export function useAnimatedRef() {
5
+ const tag = useSharedValue(-1);
6
+ const ref = useRef();
7
+ if (!ref.current) {
8
+ const fun = ((component) => {
9
+ 'worklet';
10
+ // enters when ref is set by attaching to a component
11
+ if (component) {
12
+ tag.value = getTag(component);
13
+ fun.current = component;
14
+ }
15
+ return tag.value;
16
+ });
17
+ Object.defineProperty(fun, 'current', {
18
+ value: null,
19
+ writable: true,
20
+ enumerable: false,
21
+ });
22
+ ref.current = fun;
23
+ }
24
+ return ref.current;
25
+ }
@@ -0,0 +1,41 @@
1
+ import { useEvent, useHandler } from './Hooks';
2
+ export function useAnimatedScrollHandler(handlers, dependencies) {
3
+ // case when handlers is a function
4
+ const scrollHandlers = typeof handlers === 'function' ? { onScroll: handlers } : handlers;
5
+ const { context, doDependenciesDiffer } = useHandler(scrollHandlers, dependencies);
6
+ // build event subscription array
7
+ const subscribeForEvents = ['onScroll'];
8
+ if (scrollHandlers.onBeginDrag !== undefined) {
9
+ subscribeForEvents.push('onScrollBeginDrag');
10
+ }
11
+ if (scrollHandlers.onEndDrag !== undefined) {
12
+ subscribeForEvents.push('onScrollEndDrag');
13
+ }
14
+ if (scrollHandlers.onMomentumBegin !== undefined) {
15
+ subscribeForEvents.push('onMomentumScrollBegin');
16
+ }
17
+ if (scrollHandlers.onMomentumEnd !== undefined) {
18
+ subscribeForEvents.push('onMomentumScrollEnd');
19
+ }
20
+ return useEvent((event) => {
21
+ 'worklet';
22
+ const { onScroll, onBeginDrag, onEndDrag, onMomentumBegin, onMomentumEnd, } = scrollHandlers;
23
+ if (onScroll && event.eventName.endsWith('onScroll')) {
24
+ onScroll(event, context);
25
+ }
26
+ else if (onBeginDrag && event.eventName.endsWith('onScrollBeginDrag')) {
27
+ onBeginDrag(event, context);
28
+ }
29
+ else if (onEndDrag && event.eventName.endsWith('onScrollEndDrag')) {
30
+ onEndDrag(event, context);
31
+ }
32
+ else if (onMomentumBegin &&
33
+ event.eventName.endsWith('onMomentumScrollBegin')) {
34
+ onMomentumBegin(event, context);
35
+ }
36
+ else if (onMomentumEnd &&
37
+ event.eventName.endsWith('onMomentumScrollEnd')) {
38
+ onMomentumEnd(event, context);
39
+ }
40
+ }, subscribeForEvents, doDependenciesDiffer);
41
+ }
@@ -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: 'auto' }, 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: 'auto' }, userConfig);
48
+ const id = NativeReanimated.registerSensor(sensorType, ref.current.config.interval === 'auto' ? -1 : 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
+ }