react-native-reanimated 2.14.4 → 2.16.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 (295) hide show
  1. package/Common/cpp/Registries/EventHandlerRegistry.cpp +8 -2
  2. package/Common/cpp/Tools/SingleInstanceChecker.h +10 -2
  3. package/android/build.gradle +4 -4
  4. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +6 -7
  5. package/ios/REANodesManager.m +23 -4
  6. package/package.json +6 -3
  7. package/src/reanimated2/hook/useAnimatedReaction.ts +9 -5
  8. package/src/reanimated2/hook/useAnimatedStyle.ts +14 -3
  9. package/src/reanimated2/hook/useDerivedValue.ts +8 -1
  10. package/android/.gradle/7.5.1/checksums/checksums.lock +0 -0
  11. package/android/.gradle/7.5.1/checksums/md5-checksums.bin +0 -0
  12. package/android/.gradle/7.5.1/checksums/sha1-checksums.bin +0 -0
  13. package/android/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  14. package/android/.gradle/7.5.1/dependencies-accessors/gc.properties +0 -0
  15. package/android/.gradle/7.5.1/executionHistory/executionHistory.bin +0 -0
  16. package/android/.gradle/7.5.1/executionHistory/executionHistory.lock +0 -0
  17. package/android/.gradle/7.5.1/fileChanges/last-build.bin +0 -0
  18. package/android/.gradle/7.5.1/fileHashes/fileHashes.bin +0 -0
  19. package/android/.gradle/7.5.1/fileHashes/fileHashes.lock +0 -0
  20. package/android/.gradle/7.5.1/fileHashes/resourceHashesCache.bin +0 -0
  21. package/android/.gradle/7.5.1/gc.properties +0 -0
  22. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  23. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  24. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  25. package/android/.gradle/file-system.probe +0 -0
  26. package/android/.gradle/vcs-1/gc.properties +0 -0
  27. package/android/react-native-reanimated-67-hermes.aar +0 -0
  28. package/android/react-native-reanimated-67-jsc.aar +0 -0
  29. package/android/react-native-reanimated-68-hermes.aar +0 -0
  30. package/android/react-native-reanimated-68-jsc.aar +0 -0
  31. package/android/react-native-reanimated-69-hermes.aar +0 -0
  32. package/android/react-native-reanimated-69-jsc.aar +0 -0
  33. package/android/react-native-reanimated-70-hermes.aar +0 -0
  34. package/android/react-native-reanimated-70-jsc.aar +0 -0
  35. package/android/react-native-reanimated-71-hermes.aar +0 -0
  36. package/android/react-native-reanimated-71-jsc.aar +0 -0
  37. package/lib/Animated.js +0 -9
  38. package/lib/ConfigHelper.js +0 -145
  39. package/lib/ReanimatedEventEmitter.js +0 -3
  40. package/lib/ReanimatedModule.js +0 -2
  41. package/lib/ReanimatedModule.macos.js +0 -2
  42. package/lib/ReanimatedModule.native.js +0 -12
  43. package/lib/ReanimatedModule.windows.js +0 -2
  44. package/lib/ReanimatedModuleCompat.js +0 -66
  45. package/lib/__mocks__/ReanimatedEventEmitter.js +0 -8
  46. package/lib/__mocks__/ReanimatedModule.native.js +0 -11
  47. package/lib/createAnimatedComponent.js +0 -518
  48. package/lib/index.js +0 -14
  49. package/lib/index.web.js +0 -6
  50. package/lib/reanimated1/Easing.js +0 -231
  51. package/lib/reanimated1/SpringConfig.js +0 -79
  52. package/lib/reanimated1/Transitioning.js +0 -158
  53. package/lib/reanimated1/animations/Animation.js +0 -32
  54. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  55. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  56. package/lib/reanimated1/animations/decay.js +0 -54
  57. package/lib/reanimated1/animations/spring.js +0 -198
  58. package/lib/reanimated1/animations/timing.js +0 -74
  59. package/lib/reanimated1/base.js +0 -13
  60. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  61. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  62. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  63. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  64. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  65. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  66. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  67. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  68. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  69. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  70. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  71. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  72. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  73. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  74. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  75. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  76. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  77. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  78. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  79. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  80. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  81. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  82. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  83. package/lib/reanimated1/core/Core.test.js +0 -30
  84. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  85. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  86. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  87. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  88. package/lib/reanimated1/derived/acc.js +0 -11
  89. package/lib/reanimated1/derived/color.js +0 -47
  90. package/lib/reanimated1/derived/diff.js +0 -16
  91. package/lib/reanimated1/derived/diffClamp.js +0 -11
  92. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  93. package/lib/reanimated1/derived/index.js +0 -8
  94. package/lib/reanimated1/derived/interpolate.js +0 -152
  95. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  96. package/lib/reanimated1/derived/onChange.js +0 -14
  97. package/lib/reanimated1/derived/useCode.js +0 -41
  98. package/lib/reanimated1/index.js +0 -53
  99. package/lib/reanimated1/operators.js +0 -35
  100. package/lib/reanimated1/useValue.js +0 -10
  101. package/lib/reanimated1/val.js +0 -3
  102. package/lib/reanimated2/Bezier.js +0 -126
  103. package/lib/reanimated2/Colors.js +0 -538
  104. package/lib/reanimated2/Easing.js +0 -248
  105. package/lib/reanimated2/NativeMethods.js +0 -94
  106. package/lib/reanimated2/NativeReanimated/NativeReanimated.js +0 -60
  107. package/lib/reanimated2/NativeReanimated/index.js +0 -11
  108. package/lib/reanimated2/PlatformChecker.js +0 -16
  109. package/lib/reanimated2/PropAdapters.js +0 -55
  110. package/lib/reanimated2/UpdateProps.js +0 -55
  111. package/lib/reanimated2/ViewDescriptorsSet.js +0 -75
  112. package/lib/reanimated2/WorkletEventHandler.js +0 -37
  113. package/lib/reanimated2/__mocks__/MutableValue.js +0 -13
  114. package/lib/reanimated2/__mocks__/NativeReanimated.js +0 -20
  115. package/lib/reanimated2/animation/commonTypes.js +0 -1
  116. package/lib/reanimated2/animation/decay.js +0 -71
  117. package/lib/reanimated2/animation/delay.js +0 -64
  118. package/lib/reanimated2/animation/index.js +0 -8
  119. package/lib/reanimated2/animation/repeat.js +0 -69
  120. package/lib/reanimated2/animation/sequence.js +0 -69
  121. package/lib/reanimated2/animation/spring.js +0 -103
  122. package/lib/reanimated2/animation/styleAnimation.js +0 -174
  123. package/lib/reanimated2/animation/timing.js +0 -64
  124. package/lib/reanimated2/animation/util.js +0 -183
  125. package/lib/reanimated2/commonTypes.js +0 -8
  126. package/lib/reanimated2/component/FlatList.js +0 -30
  127. package/lib/reanimated2/component/Image.js +0 -4
  128. package/lib/reanimated2/component/ScrollView.js +0 -4
  129. package/lib/reanimated2/component/Text.js +0 -4
  130. package/lib/reanimated2/component/View.js +0 -4
  131. package/lib/reanimated2/core.js +0 -269
  132. package/lib/reanimated2/frameCallback/FrameCallbackRegistryJS.js +0 -32
  133. package/lib/reanimated2/frameCallback/FrameCallbackRegistryUI.js +0 -76
  134. package/lib/reanimated2/globals.d.ts +0 -91
  135. package/lib/reanimated2/hook/Hooks.js +0 -9
  136. package/lib/reanimated2/hook/commonTypes.js +0 -1
  137. package/lib/reanimated2/hook/index.js +0 -12
  138. package/lib/reanimated2/hook/useAnimatedGestureHandler.js +0 -49
  139. package/lib/reanimated2/hook/useAnimatedKeyboard.js +0 -31
  140. package/lib/reanimated2/hook/useAnimatedReaction.js +0 -37
  141. package/lib/reanimated2/hook/useAnimatedRef.js +0 -25
  142. package/lib/reanimated2/hook/useAnimatedScrollHandler.js +0 -41
  143. package/lib/reanimated2/hook/useAnimatedSensor.js +0 -66
  144. package/lib/reanimated2/hook/useAnimatedStyle.js +0 -393
  145. package/lib/reanimated2/hook/useDerivedValue.js +0 -36
  146. package/lib/reanimated2/hook/useFrameCallback.js +0 -23
  147. package/lib/reanimated2/hook/useScrollViewOffset.js +0 -27
  148. package/lib/reanimated2/hook/useSharedValue.js +0 -17
  149. package/lib/reanimated2/hook/utils.js +0 -165
  150. package/lib/reanimated2/index.js +0 -12
  151. package/lib/reanimated2/interpolateColor.js +0 -157
  152. package/lib/reanimated2/interpolation.js +0 -127
  153. package/lib/reanimated2/jestUtils.js +0 -175
  154. package/lib/reanimated2/js-reanimated/JSReanimated.js +0 -106
  155. package/lib/reanimated2/js-reanimated/Mapper.js +0 -43
  156. package/lib/reanimated2/js-reanimated/MapperRegistry.js +0 -101
  157. package/lib/reanimated2/js-reanimated/MutableValue.js +0 -29
  158. package/lib/reanimated2/js-reanimated/commonTypes.js +0 -1
  159. package/lib/reanimated2/js-reanimated/global.js +0 -36
  160. package/lib/reanimated2/js-reanimated/index.js +0 -35
  161. package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +0 -67
  162. package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -69
  163. package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +0 -133
  164. package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +0 -194
  165. package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +0 -1
  166. package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +0 -3
  167. package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +0 -374
  168. package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +0 -36
  169. package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +0 -275
  170. package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +0 -385
  171. package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +0 -136
  172. package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +0 -81
  173. package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +0 -120
  174. package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +0 -273
  175. package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +0 -201
  176. package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +0 -101
  177. package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +0 -457
  178. package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -10
  179. package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +0 -90
  180. package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +0 -132
  181. package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +0 -37
  182. package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +0 -41
  183. package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +0 -34
  184. package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +0 -46
  185. package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -6
  186. package/lib/reanimated2/layoutReanimation/index.js +0 -4
  187. package/lib/reanimated2/mock.js +0 -75
  188. package/lib/reanimated2/platform-specific/RNRenderer.js +0 -3
  189. package/lib/reanimated2/platform-specific/RNRenderer.web.js +0 -3
  190. package/lib/reanimated2/platform-specific/checkVersion.js +0 -28
  191. package/lib/reanimated2/platform-specific/checkVersion.web.js +0 -6
  192. package/lib/reanimated2/utils.js +0 -16
  193. package/lib/setAndForwardRef.js +0 -19
  194. package/lib/types/lib/Animated.d.ts +0 -8
  195. package/lib/types/lib/ConfigHelper.d.ts +0 -12
  196. package/lib/types/lib/ReanimatedEventEmitter.d.ts +0 -3
  197. package/lib/types/lib/ReanimatedModule.d.ts +0 -2
  198. package/lib/types/lib/ReanimatedModule.macos.d.ts +0 -2
  199. package/lib/types/lib/ReanimatedModule.native.d.ts +0 -2
  200. package/lib/types/lib/ReanimatedModule.windows.d.ts +0 -2
  201. package/lib/types/lib/ReanimatedModuleCompat.d.ts +0 -14
  202. package/lib/types/lib/createAnimatedComponent.d.ts +0 -33
  203. package/lib/types/lib/index.d.ts +0 -4
  204. package/lib/types/lib/index.web.d.ts +0 -4
  205. package/lib/types/lib/reanimated2/Bezier.d.ts +0 -6
  206. package/lib/types/lib/reanimated2/Colors.d.ts +0 -33
  207. package/lib/types/lib/reanimated2/Easing.d.ts +0 -172
  208. package/lib/types/lib/reanimated2/NativeMethods.d.ts +0 -7
  209. package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +0 -22
  210. package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +0 -3
  211. package/lib/types/lib/reanimated2/PlatformChecker.d.ts +0 -5
  212. package/lib/types/lib/reanimated2/PropAdapters.d.ts +0 -4
  213. package/lib/types/lib/reanimated2/UpdateProps.d.ts +0 -9
  214. package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +0 -20
  215. package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +0 -13
  216. package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +0 -5
  217. package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +0 -13
  218. package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +0 -27
  219. package/lib/types/lib/reanimated2/animation/decay.d.ts +0 -19
  220. package/lib/types/lib/reanimated2/animation/delay.d.ts +0 -7
  221. package/lib/types/lib/reanimated2/animation/index.d.ts +0 -9
  222. package/lib/types/lib/reanimated2/animation/repeat.d.ts +0 -12
  223. package/lib/types/lib/reanimated2/animation/sequence.d.ts +0 -7
  224. package/lib/types/lib/reanimated2/animation/spring.d.ts +0 -22
  225. package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +0 -7
  226. package/lib/types/lib/reanimated2/animation/timing.d.ts +0 -21
  227. package/lib/types/lib/reanimated2/animation/util.d.ts +0 -9
  228. package/lib/types/lib/reanimated2/commonTypes.d.ts +0 -99
  229. package/lib/types/lib/reanimated2/component/FlatList.d.ts +0 -9
  230. package/lib/types/lib/reanimated2/component/Image.d.ts +0 -3
  231. package/lib/types/lib/reanimated2/component/ScrollView.d.ts +0 -3
  232. package/lib/types/lib/reanimated2/component/Text.d.ts +0 -3
  233. package/lib/types/lib/reanimated2/component/View.d.ts +0 -3
  234. package/lib/types/lib/reanimated2/core.d.ts +0 -24
  235. package/lib/types/lib/reanimated2/frameCallback/FrameCallbackRegistryJS.d.ts +0 -8
  236. package/lib/types/lib/reanimated2/frameCallback/FrameCallbackRegistryUI.d.ts +0 -20
  237. package/lib/types/lib/reanimated2/hook/Hooks.d.ts +0 -5
  238. package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +0 -14
  239. package/lib/types/lib/reanimated2/hook/index.d.ts +0 -14
  240. package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +0 -35
  241. package/lib/types/lib/reanimated2/hook/useAnimatedKeyboard.d.ts +0 -2
  242. package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +0 -12
  243. package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +0 -3
  244. package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +0 -20
  245. package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +0 -18
  246. package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +0 -11
  247. package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +0 -4
  248. package/lib/types/lib/reanimated2/hook/useFrameCallback.d.ts +0 -7
  249. package/lib/types/lib/reanimated2/hook/useScrollViewOffset.d.ts +0 -4
  250. package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +0 -2
  251. package/lib/types/lib/reanimated2/hook/utils.d.ts +0 -28
  252. package/lib/types/lib/reanimated2/index.d.ts +0 -12
  253. package/lib/types/lib/reanimated2/interpolateColor.d.ts +0 -32
  254. package/lib/types/lib/reanimated2/interpolation.d.ts +0 -14
  255. package/lib/types/lib/reanimated2/jestUtils.d.ts +0 -12
  256. package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +0 -32
  257. package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +0 -14
  258. package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +0 -14
  259. package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +0 -14
  260. package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +0 -44
  261. package/lib/types/lib/reanimated2/js-reanimated/global.d.ts +0 -2
  262. package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +0 -15
  263. package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +0 -1
  264. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -22
  265. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -38
  266. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -25
  267. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -81
  268. package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +0 -4
  269. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -62
  270. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +0 -4
  271. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +0 -42
  272. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +0 -50
  273. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -18
  274. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -10
  275. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +0 -18
  276. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -34
  277. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +0 -34
  278. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -18
  279. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -66
  280. package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +0 -10
  281. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -19
  282. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -13
  283. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -6
  284. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -6
  285. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -7
  286. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -9
  287. package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +0 -6
  288. package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +0 -4
  289. package/lib/types/lib/reanimated2/mock.d.ts +0 -61
  290. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +0 -1
  291. package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
  292. package/lib/types/lib/reanimated2/platform-specific/checkVersion.d.ts +0 -4
  293. package/lib/types/lib/reanimated2/platform-specific/checkVersion.web.d.ts +0 -5
  294. package/lib/types/lib/reanimated2/utils.d.ts +0 -11
  295. package/lib/types/lib/setAndForwardRef.d.ts +0 -40
@@ -1,518 +0,0 @@
1
- import React from 'react';
2
- import { findNodeHandle, Platform, StyleSheet } from 'react-native';
3
- import ReanimatedEventEmitter from './ReanimatedEventEmitter';
4
- // @ts-ignore JS file
5
- import AnimatedEvent from './reanimated1/core/AnimatedEvent';
6
- // @ts-ignore JS file
7
- import AnimatedNode from './reanimated1/core/AnimatedNode';
8
- // @ts-ignore JS file
9
- import AnimatedValue from './reanimated1/core/AnimatedValue';
10
- // @ts-ignore JS file
11
- import { createOrReusePropsNode } from './reanimated1/core/AnimatedProps';
12
- import WorkletEventHandler from './reanimated2/WorkletEventHandler';
13
- import setAndForwardRef from './setAndForwardRef';
14
- import './reanimated2/layoutReanimation/LayoutAnimationRepository';
15
- import invariant from 'invariant';
16
- import { adaptViewConfig } from './ConfigHelper';
17
- import { RNRenderer } from './reanimated2/platform-specific/RNRenderer';
18
- import { makeMutable, runOnUI, enableLayoutAnimations, } from './reanimated2/core';
19
- import { DefaultEntering, DefaultExiting, DefaultLayout, } from './reanimated2/layoutReanimation/defaultAnimations/Default';
20
- import { isJest, isChromeDebugger, shouldBeUseWeb, } from './reanimated2/PlatformChecker';
21
- import { initialUpdaterRun } from './reanimated2/animation';
22
- const NODE_MAPPING = new Map();
23
- function listener(data) {
24
- const component = NODE_MAPPING.get(data.viewTag);
25
- component && component._updateFromNative(data.props);
26
- }
27
- function dummyListener() {
28
- // empty listener we use to assign to listener properties for which animated
29
- // event is used.
30
- }
31
- function hasAnimatedNodes(value) {
32
- if (value instanceof AnimatedNode) {
33
- return true;
34
- }
35
- if (Array.isArray(value)) {
36
- return value.some((item) => hasAnimatedNodes(item));
37
- }
38
- if (value && typeof value === 'object') {
39
- return Object.keys(value).some((key) => hasAnimatedNodes(value[key]));
40
- }
41
- return false;
42
- }
43
- function flattenArray(array) {
44
- if (!Array.isArray(array)) {
45
- return [array];
46
- }
47
- const resultArr = [];
48
- const _flattenArray = (arr) => {
49
- arr.forEach((item) => {
50
- if (Array.isArray(item)) {
51
- _flattenArray(item);
52
- }
53
- else {
54
- resultArr.push(item);
55
- }
56
- });
57
- };
58
- _flattenArray(array);
59
- return resultArr;
60
- }
61
- function onlyAnimatedStyles(styles) {
62
- return styles.filter((style) => style === null || style === void 0 ? void 0 : style.viewDescriptors);
63
- }
64
- function isSameAnimatedStyle(style1, style2) {
65
- // We cannot use equality check to compare useAnimatedStyle outputs directly.
66
- // Instead, we can compare its viewsRefs.
67
- return (style1 === null || style1 === void 0 ? void 0 : style1.viewsRef) === (style2 === null || style2 === void 0 ? void 0 : style2.viewsRef);
68
- }
69
- const isSameAnimatedProps = isSameAnimatedStyle;
70
- const has = (key, x) => {
71
- if (typeof x === 'function' || typeof x === 'object') {
72
- if (x === null || x === undefined) {
73
- return false;
74
- }
75
- else {
76
- return key in x;
77
- }
78
- }
79
- return false;
80
- };
81
- export default function createAnimatedComponent(Component, options) {
82
- invariant(typeof Component !== 'function' ||
83
- (Component.prototype && Component.prototype.isReactComponent), '`createAnimatedComponent` does not support stateless functional components; ' +
84
- 'use a class component instead.');
85
- class AnimatedComponent extends React.Component {
86
- constructor(props) {
87
- super(props);
88
- this._invokeAnimatedPropsCallbackOnMount = false;
89
- this._styles = null;
90
- this._viewTag = -1;
91
- this._isFirstRender = true;
92
- this.animatedStyle = { value: {} };
93
- this.initialStyle = {};
94
- this._component = null;
95
- // The system is best designed when setNativeProps is implemented. It is
96
- // able to avoid re-rendering and directly set the attributes that changed.
97
- // However, setNativeProps can only be implemented on native components
98
- // If you want to animate a composite component, you need to re-render it.
99
- // In this case, we have a fallback that uses forceUpdate.
100
- this._animatedPropsCallback = () => {
101
- if (this._component == null) {
102
- // AnimatedProps is created in will-mount because it's used in render.
103
- // But this callback may be invoked before mount in async mode,
104
- // In which case we should defer the setNativeProps() call.
105
- // React may throw away uncommitted work in async mode,
106
- // So a deferred call won't always be invoked.
107
- this._invokeAnimatedPropsCallbackOnMount = true;
108
- }
109
- else if (typeof this._component.setNativeProps !== 'function') {
110
- this.forceUpdate();
111
- }
112
- else {
113
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
114
- this._component.setNativeProps(this._propsAnimated.__getValue());
115
- }
116
- };
117
- this._setComponentRef = setAndForwardRef({
118
- getForwardedRef: () => this.props.forwardedRef,
119
- setLocalRef: (ref) => {
120
- // TODO update config
121
- const tag = findNodeHandle(ref);
122
- if (!shouldBeUseWeb() &&
123
- (this.props.layout || this.props.entering || this.props.exiting) &&
124
- tag != null) {
125
- enableLayoutAnimations(true, false);
126
- let layout = this.props.layout ? this.props.layout : DefaultLayout;
127
- let entering = this.props.entering
128
- ? this.props.entering
129
- : DefaultEntering;
130
- let exiting = this.props.exiting
131
- ? this.props.exiting
132
- : DefaultExiting;
133
- if (has('build', layout)) {
134
- layout = layout.build();
135
- }
136
- if (has('build', entering)) {
137
- entering = entering.build();
138
- }
139
- if (has('build', exiting)) {
140
- exiting = exiting.build();
141
- }
142
- const config = {
143
- layout,
144
- entering,
145
- exiting,
146
- sv: this.sv,
147
- };
148
- runOnUI(() => {
149
- 'worklet';
150
- global.LayoutAnimationRepository.registerConfig(tag, config);
151
- })();
152
- }
153
- if (ref !== this._component) {
154
- this._component = ref;
155
- }
156
- },
157
- });
158
- this._attachProps(this.props);
159
- if (isJest()) {
160
- this.animatedStyle = { value: {} };
161
- }
162
- this.sv = makeMutable({});
163
- }
164
- componentWillUnmount() {
165
- this._detachPropUpdater();
166
- this._propsAnimated && this._propsAnimated.__detach();
167
- this._detachNativeEvents();
168
- this._detachStyles();
169
- this.sv = null;
170
- }
171
- componentDidMount() {
172
- if (this._invokeAnimatedPropsCallbackOnMount) {
173
- this._invokeAnimatedPropsCallbackOnMount = false;
174
- this._animatedPropsCallback();
175
- }
176
- this._propsAnimated &&
177
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
178
- this._propsAnimated.setNativeView(this._component);
179
- this._attachNativeEvents();
180
- this._attachPropUpdater();
181
- this._attachAnimatedStyles();
182
- }
183
- _getEventViewRef() {
184
- var _a;
185
- // Make sure to get the scrollable node for components that implement
186
- // `ScrollResponder.Mixin`.
187
- return ((_a = this._component) === null || _a === void 0 ? void 0 : _a.getScrollableNode) ? this._component.getScrollableNode()
188
- : this._component;
189
- }
190
- _attachNativeEvents() {
191
- const node = this._getEventViewRef();
192
- let viewTag = findNodeHandle((options === null || options === void 0 ? void 0 : options.setNativeProps) ? this : node);
193
- const componentName = Component.displayName || Component.name;
194
- if ((componentName === null || componentName === void 0 ? void 0 : componentName.endsWith('FlashList')) && this._component) {
195
- // @ts-ignore it's FlashList specific: https://github.com/Shopify/flash-list/blob/218f314e63806b4fe926741ef73f8b9cd6ebc7eb/src/FlashList.tsx#L815
196
- viewTag = findNodeHandle(this._component.getScrollableNode());
197
- }
198
- for (const key in this.props) {
199
- const prop = this.props[key];
200
- if (prop instanceof AnimatedEvent) {
201
- prop.attachEvent(node, key);
202
- }
203
- else if (has('current', prop) &&
204
- prop.current instanceof WorkletEventHandler) {
205
- prop.current.registerForEvents(viewTag, key);
206
- }
207
- }
208
- }
209
- _detachNativeEvents() {
210
- const node = this._getEventViewRef();
211
- for (const key in this.props) {
212
- const prop = this.props[key];
213
- if (prop instanceof AnimatedEvent) {
214
- prop.detachEvent(node, key);
215
- }
216
- else if (has('current', prop) &&
217
- prop.current instanceof WorkletEventHandler) {
218
- prop.current.unregisterFromEvents();
219
- }
220
- }
221
- }
222
- _detachStyles() {
223
- var _a;
224
- if (Platform.OS === 'web' && this._styles !== null) {
225
- for (const style of this._styles) {
226
- if (style === null || style === void 0 ? void 0 : style.viewsRef) {
227
- style.viewsRef.remove(this);
228
- }
229
- }
230
- }
231
- else if (this._viewTag !== -1 && this._styles !== null) {
232
- for (const style of this._styles) {
233
- style.viewDescriptors.remove(this._viewTag);
234
- }
235
- if ((_a = this.props.animatedProps) === null || _a === void 0 ? void 0 : _a.viewDescriptors) {
236
- this.props.animatedProps.viewDescriptors.remove(this._viewTag);
237
- }
238
- }
239
- }
240
- _reattachNativeEvents(prevProps) {
241
- const node = this._getEventViewRef();
242
- const attached = new Set();
243
- const nextEvts = new Set();
244
- let viewTag;
245
- for (const key in this.props) {
246
- const prop = this.props[key];
247
- if (prop instanceof AnimatedEvent) {
248
- nextEvts.add(prop.__nodeID);
249
- }
250
- else if (has('current', prop) &&
251
- prop.current instanceof WorkletEventHandler) {
252
- if (viewTag === undefined) {
253
- viewTag = prop.current.viewTag;
254
- }
255
- }
256
- }
257
- for (const key in prevProps) {
258
- const prop = this.props[key];
259
- if (prop instanceof AnimatedEvent) {
260
- if (!nextEvts.has(prop.__nodeID)) {
261
- // event was in prev props but not in current props, we detach
262
- prop.detachEvent(node, key);
263
- }
264
- else {
265
- // event was in prev and is still in current props
266
- attached.add(prop.__nodeID);
267
- }
268
- }
269
- else if (has('current', prop) &&
270
- prop.current instanceof WorkletEventHandler &&
271
- prop.current.reattachNeeded) {
272
- prop.current.unregisterFromEvents();
273
- }
274
- }
275
- for (const key in this.props) {
276
- const prop = this.props[key];
277
- if (prop instanceof AnimatedEvent &&
278
- !attached.has(prop.__nodeID)) {
279
- // not yet attached
280
- prop.attachEvent(node, key);
281
- }
282
- else if (has('current', prop) &&
283
- prop.current instanceof WorkletEventHandler &&
284
- prop.current.reattachNeeded) {
285
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
286
- prop.current.registerForEvents(viewTag, key);
287
- prop.current.reattachNeeded = false;
288
- }
289
- }
290
- }
291
- _attachProps(nextProps) {
292
- const oldPropsAnimated = this._propsAnimated;
293
- this._propsAnimated = createOrReusePropsNode(nextProps, this._animatedPropsCallback, oldPropsAnimated);
294
- // If prop node has been reused we don't need to call into "__detach"
295
- if (oldPropsAnimated !== this._propsAnimated) {
296
- // When you call detach, it removes the element from the parent list
297
- // of children. If it goes to 0, then the parent also detaches itself
298
- // and so on.
299
- // An optimization is to attach the new elements and THEN detach the old
300
- // ones instead of detaching and THEN attaching.
301
- // This way the intermediate state isn't to go to 0 and trigger
302
- // this expensive recursive detaching to then re-attach everything on
303
- // the very next operation.
304
- oldPropsAnimated && oldPropsAnimated.__detach();
305
- }
306
- }
307
- _updateFromNative(props) {
308
- var _a, _b;
309
- if (options === null || options === void 0 ? void 0 : options.setNativeProps) {
310
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
311
- options.setNativeProps(this._component, props);
312
- }
313
- else {
314
- // eslint-disable-next-line no-unused-expressions
315
- (_b = (_a = this._component) === null || _a === void 0 ? void 0 : _a.setNativeProps) === null || _b === void 0 ? void 0 : _b.call(_a, props);
316
- }
317
- }
318
- _attachPropUpdater() {
319
- const viewTag = findNodeHandle(this);
320
- NODE_MAPPING.set(viewTag, this);
321
- if (NODE_MAPPING.size === 1) {
322
- ReanimatedEventEmitter.addListener('onReanimatedPropsChange', listener);
323
- }
324
- }
325
- _attachAnimatedStyles() {
326
- var _a, _b, _c;
327
- const styles = this.props.style
328
- ? onlyAnimatedStyles(flattenArray(this.props.style))
329
- : [];
330
- const prevStyles = this._styles;
331
- this._styles = styles;
332
- const prevAnimatedProps = this._animatedProps;
333
- this._animatedProps = this.props.animatedProps;
334
- let viewTag;
335
- let viewName;
336
- if (Platform.OS === 'web') {
337
- viewTag = findNodeHandle(this);
338
- viewName = null;
339
- }
340
- else {
341
- // hostInstance can be null for a component that doesn't render anything (render function returns null). Example: svg Stop: https://github.com/react-native-svg/react-native-svg/blob/develop/src/elements/Stop.tsx
342
- const hostInstance = RNRenderer.findHostInstance_DEPRECATED(this);
343
- if (!hostInstance) {
344
- throw new Error('Cannot find host instance for this component. Maybe it renders nothing?');
345
- }
346
- // we can access view tag in the same way it's accessed here https://github.com/facebook/react/blob/e3f4eb7272d4ca0ee49f27577156b57eeb07cf73/packages/react-native-renderer/src/ReactFabric.js#L146
347
- viewTag = hostInstance === null || hostInstance === void 0 ? void 0 : hostInstance._nativeTag;
348
- /**
349
- * RN uses viewConfig for components for storing different properties of the component(example: https://github.com/facebook/react-native/blob/master/Libraries/Components/ScrollView/ScrollViewViewConfig.js#L16).
350
- * The name we're looking for is in the field named uiViewClassName.
351
- */
352
- viewName = (_a = hostInstance === null || hostInstance === void 0 ? void 0 : hostInstance.viewConfig) === null || _a === void 0 ? void 0 : _a.uiViewClassName;
353
- // update UI props whitelist for this view
354
- const hasReanimated2Props = ((_b = this.props.animatedProps) === null || _b === void 0 ? void 0 : _b.viewDescriptors) || styles.length;
355
- if (hasReanimated2Props && (hostInstance === null || hostInstance === void 0 ? void 0 : hostInstance.viewConfig)) {
356
- adaptViewConfig(hostInstance.viewConfig);
357
- }
358
- }
359
- this._viewTag = viewTag;
360
- // remove old styles
361
- if (prevStyles) {
362
- // in most of the cases, views have only a single animated style and it remains unchanged
363
- const hasOneSameStyle = styles.length === 1 &&
364
- prevStyles.length === 1 &&
365
- isSameAnimatedStyle(styles[0], prevStyles[0]);
366
- if (!hasOneSameStyle) {
367
- // otherwise, remove each style that is not present in new styles
368
- for (const prevStyle of prevStyles) {
369
- const isPresent = styles.some((style) => isSameAnimatedStyle(style, prevStyle));
370
- if (!isPresent) {
371
- prevStyle.viewDescriptors.remove(viewTag);
372
- }
373
- }
374
- }
375
- }
376
- styles.forEach((style) => {
377
- style.viewDescriptors.add({ tag: viewTag, name: viewName });
378
- if (isJest()) {
379
- /**
380
- * We need to connect Jest's TestObject instance whose contains just props object
381
- * with the updateProps() function where we update the properties of the component.
382
- * We can't update props object directly because TestObject contains a copy of props - look at render function:
383
- * const props = this._filterNonAnimatedProps(this.props);
384
- */
385
- this.animatedStyle.value = Object.assign(Object.assign({}, this.animatedStyle.value), style.initial.value);
386
- style.animatedStyle.current = this.animatedStyle;
387
- }
388
- });
389
- // detach old animatedProps
390
- if (prevAnimatedProps &&
391
- !isSameAnimatedProps(prevAnimatedProps, this.props.animatedProps)) {
392
- prevAnimatedProps.viewDescriptors.remove(viewTag);
393
- }
394
- // attach animatedProps property
395
- if ((_c = this.props.animatedProps) === null || _c === void 0 ? void 0 : _c.viewDescriptors) {
396
- this.props.animatedProps.viewDescriptors.add({
397
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
398
- tag: viewTag,
399
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
400
- name: viewName,
401
- });
402
- }
403
- }
404
- _detachPropUpdater() {
405
- const viewTag = findNodeHandle(this);
406
- NODE_MAPPING.delete(viewTag);
407
- if (NODE_MAPPING.size === 0) {
408
- ReanimatedEventEmitter.removeAllListeners('onReanimatedPropsChange');
409
- }
410
- }
411
- componentDidUpdate(prevProps) {
412
- this._attachProps(this.props);
413
- this._reattachNativeEvents(prevProps);
414
- this._propsAnimated &&
415
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
416
- this._propsAnimated.setNativeView(this._component);
417
- this._attachAnimatedStyles();
418
- }
419
- _filterNonAnimatedStyle(inputStyle) {
420
- const style = {};
421
- for (const key in inputStyle) {
422
- const value = inputStyle[key];
423
- if (!hasAnimatedNodes(value)) {
424
- style[key] = value;
425
- }
426
- else if (value instanceof AnimatedValue) {
427
- // if any style in animated component is set directly to the `Value` we set those styles to the first value of `Value` node in order
428
- // to avoid flash of default styles when `Value` is being asynchrounously sent via bridge and initialized in the native side.
429
- style[key] = value._startingValue;
430
- }
431
- }
432
- return style;
433
- }
434
- _filterNonAnimatedProps(inputProps) {
435
- const props = {};
436
- for (const key in inputProps) {
437
- const value = inputProps[key];
438
- if (key === 'style') {
439
- const styleProp = inputProps.style;
440
- const styles = flattenArray(styleProp !== null && styleProp !== void 0 ? styleProp : []);
441
- const processedStyle = styles.map((style) => {
442
- if (style && style.viewDescriptors) {
443
- // this is how we recognize styles returned by useAnimatedStyle
444
- style.viewsRef.add(this);
445
- if (this._isFirstRender) {
446
- this.initialStyle = Object.assign(Object.assign({}, style.initial.value), initialUpdaterRun(style.initial.updater));
447
- }
448
- return this.initialStyle;
449
- }
450
- else {
451
- return style;
452
- }
453
- });
454
- props[key] = this._filterNonAnimatedStyle(StyleSheet.flatten(processedStyle));
455
- }
456
- else if (key === 'animatedProps') {
457
- const animatedProp = inputProps.animatedProps;
458
- if (animatedProp.initial !== undefined) {
459
- Object.keys(animatedProp.initial.value).forEach((key) => {
460
- var _a, _b;
461
- props[key] = (_a = animatedProp.initial) === null || _a === void 0 ? void 0 : _a.value[key];
462
- (_b = animatedProp.viewsRef) === null || _b === void 0 ? void 0 : _b.add(this);
463
- });
464
- }
465
- }
466
- else if (value instanceof AnimatedEvent) {
467
- // we cannot filter out event listeners completely as some components
468
- // rely on having a callback registered in order to generate events
469
- // alltogether. Therefore we provide a dummy callback here to allow
470
- // native event dispatcher to hijack events.
471
- props[key] = dummyListener;
472
- }
473
- else if (has('current', value) &&
474
- value.current instanceof WorkletEventHandler) {
475
- if (value.current.eventNames.length > 0) {
476
- value.current.eventNames.forEach((eventName) => {
477
- props[eventName] = has('listeners', value.current)
478
- ? value.current.listeners[eventName]
479
- : dummyListener;
480
- });
481
- }
482
- else {
483
- props[key] = dummyListener;
484
- }
485
- }
486
- else if (!(value instanceof AnimatedNode)) {
487
- if (key !== 'onGestureHandlerStateChange' || !isChromeDebugger()) {
488
- props[key] = value;
489
- }
490
- }
491
- else if (value instanceof AnimatedValue) {
492
- // if any prop in animated component is set directly to the `Value` we set those props to the first value of `Value` node in order
493
- // to avoid default values for a short moment when `Value` is being asynchrounously sent via bridge and initialized in the native side.
494
- props[key] = value._startingValue;
495
- }
496
- }
497
- return props;
498
- }
499
- render() {
500
- const props = this._filterNonAnimatedProps(this.props);
501
- if (isJest()) {
502
- props.animatedStyle = this.animatedStyle;
503
- }
504
- if (this._isFirstRender) {
505
- this._isFirstRender = false;
506
- }
507
- const platformProps = Platform.select({
508
- web: {},
509
- default: { collapsable: false },
510
- });
511
- return (<Component {...props} ref={this._setComponentRef} {...platformProps}/>);
512
- }
513
- }
514
- AnimatedComponent.displayName = `AnimatedComponent(${Component.displayName || Component.name || 'Component'})`;
515
- return React.forwardRef((props, ref) => {
516
- return (<AnimatedComponent {...props} {...(ref === null ? null : { forwardedRef: ref })}/>);
517
- });
518
- }
package/lib/index.js DELETED
@@ -1,14 +0,0 @@
1
- import * as Animated from './Animated';
2
- import webGlobalIsInitialized from './reanimated2/js-reanimated/global';
3
- if (!webGlobalIsInitialized) {
4
- /*
5
- `webGlobalIsInitialized` should always be `true`,
6
- but we need to use `webGlobalIsInitialized` somewhere to ensure function execution,
7
- in another way, the bundler can remove unused variables.
8
- */
9
- console.error('[Reanimated] Unable to initialize global objects for web.');
10
- }
11
- // @ts-ignore backward compatibility with treeshaking
12
- export * from './reanimated1';
13
- export * from './reanimated2';
14
- export default Animated;
package/lib/index.web.js DELETED
@@ -1,6 +0,0 @@
1
- // tree-shaken side effects
2
- import './reanimated2/js-reanimated/global';
3
- // @ts-ignore backward compatibility with treeshaking
4
- export * from './reanimated1';
5
- export * from './reanimated2';
6
- export * as default from './Animated'; // If this line fails, you probably forgot some installation steps. Check out the installation guide here: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/ 1) Make sure reanimated's babel plugin is installed in your babel.config.js (you should have 'react-native-reanimated/plugin' listed there - also see the above link for details) 2) Make sure you reset build cache after updating the config, run: yarn start --reset-cache