react-native-reanimated 2.8.0 → 3.0.0-rc.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 (381) hide show
  1. package/Common/cpp/Fabric/FabricUtils.cpp +128 -0
  2. package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
  3. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
  4. package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
  5. package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
  6. package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
  7. package/Common/cpp/Tools/Mapper.cpp +23 -4
  8. package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
  9. package/Common/cpp/Tools/Scheduler.cpp +4 -0
  10. package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
  11. package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
  12. package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
  13. package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
  14. package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
  15. package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
  16. package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
  17. package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
  18. package/Common/cpp/headers/Tools/Mapper.h +1 -1
  19. package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
  20. package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
  21. package/README.md +4 -0
  22. package/RNReanimated.podspec +22 -11
  23. package/android/CMakeLists.txt +139 -27
  24. package/android/build.gradle +86 -209
  25. package/android/local.properties +1 -0
  26. package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
  27. package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
  28. package/android/src/main/cpp/NativeProxy.cpp +178 -33
  29. package/android/src/main/cpp/headers/NativeProxy.h +43 -7
  30. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
  31. package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
  32. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
  33. package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +15 -2
  34. package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
  35. package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
  36. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
  37. package/ios/REAEventDispatcher.m +0 -1
  38. package/ios/REAModule.h +10 -1
  39. package/ios/REAModule.mm +284 -0
  40. package/ios/REANodesManager.h +27 -51
  41. package/ios/{REANodesManager.m → REANodesManager.mm} +91 -223
  42. package/ios/native/NativeProxy.mm +144 -17
  43. package/ios/native/REAInitializer.mm +12 -4
  44. package/ios/native/UIResponder+Reanimated.h +3 -1
  45. package/ios/native/UIResponder+Reanimated.mm +3 -1
  46. package/lib/Animated.js +0 -4
  47. package/lib/createAnimatedComponent.js +30 -169
  48. package/lib/index.js +0 -4
  49. package/lib/reanimated2/Easing.js +0 -42
  50. package/lib/reanimated2/NativeMethods.js +20 -3
  51. package/lib/reanimated2/UpdateProps.js +25 -10
  52. package/lib/reanimated2/core.js +4 -1
  53. package/lib/reanimated2/fabricUtils.js +18 -0
  54. package/lib/reanimated2/globals.d.ts +17 -1
  55. package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
  56. package/lib/reanimated2/hook/utils.js +0 -5
  57. package/lib/reanimated2/interpolateColor.js +5 -2
  58. package/lib/reanimated2/interpolation.js +0 -15
  59. package/lib/reanimated2/js-reanimated/index.js +3 -0
  60. package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
  61. package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
  62. package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
  63. package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
  64. package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
  65. package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
  66. package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
  67. package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
  68. package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
  69. package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
  70. package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
  71. package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
  72. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
  73. package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
  74. package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
  75. package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
  76. package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
  77. package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
  78. package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
  79. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
  80. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
  81. package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
  82. package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
  83. package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
  84. package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
  85. package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
  86. package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
  87. package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
  88. package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
  89. package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
  90. package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
  91. package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
  92. package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -1
  93. package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
  94. package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
  95. package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
  96. package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
  97. package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
  98. package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
  99. package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
  100. package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
  101. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
  102. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
  103. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
  104. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
  105. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +0 -0
  106. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
  107. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
  108. package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
  109. package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
  110. package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
  111. package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
  112. package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
  113. package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
  114. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
  115. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
  116. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
  117. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
  118. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
  119. package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
  120. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
  121. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
  122. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
  123. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
  124. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
  125. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
  126. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
  127. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
  128. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
  129. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
  130. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
  131. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
  132. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
  133. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
  134. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
  135. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
  136. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
  137. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
  138. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
  139. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
  140. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
  141. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
  142. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
  143. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
  144. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
  145. package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
  146. package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
  147. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
  148. package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
  149. package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
  150. package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
  151. package/package.json +7 -5
  152. package/plugin.js +4 -1
  153. package/src/Animated.js +0 -4
  154. package/src/createAnimatedComponent.tsx +37 -197
  155. package/src/reanimated2/Easing.ts +0 -53
  156. package/src/reanimated2/NativeMethods.ts +39 -7
  157. package/src/reanimated2/UpdateProps.ts +38 -19
  158. package/src/reanimated2/commonTypes.ts +4 -1
  159. package/src/reanimated2/component/FlatList.tsx +8 -5
  160. package/src/reanimated2/core.ts +7 -1
  161. package/src/reanimated2/fabricUtils.ts +27 -0
  162. package/src/reanimated2/globals.d.ts +17 -1
  163. package/src/reanimated2/hook/commonTypes.ts +4 -2
  164. package/src/reanimated2/hook/index.ts +1 -1
  165. package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
  166. package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
  167. package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
  168. package/src/reanimated2/hook/utils.ts +2 -11
  169. package/src/reanimated2/interpolateColor.ts +6 -2
  170. package/src/reanimated2/interpolation.ts +1 -26
  171. package/src/reanimated2/js-reanimated/index.ts +5 -0
  172. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  173. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  174. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  175. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  176. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  177. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  178. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  179. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  180. package/android/.gradle/7.2/gc.properties +0 -0
  181. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  182. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  183. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  184. package/android/.gradle/checksums/checksums.lock +0 -0
  185. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  186. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  187. package/android/.gradle/vcs-1/gc.properties +0 -0
  188. package/android/react-native-reanimated-64-hermes.aar +0 -0
  189. package/android/react-native-reanimated-64-jsc.aar +0 -0
  190. package/android/react-native-reanimated-65-hermes.aar +0 -0
  191. package/android/react-native-reanimated-65-jsc.aar +0 -0
  192. package/android/react-native-reanimated-66-hermes.aar +0 -0
  193. package/android/react-native-reanimated-66-jsc.aar +0 -0
  194. package/android/react-native-reanimated-67-hermes.aar +0 -0
  195. package/android/react-native-reanimated-67-jsc.aar +0 -0
  196. package/android/react-native-reanimated-68-hermes.aar +0 -0
  197. package/android/react-native-reanimated-68-jsc.aar +0 -0
  198. package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
  199. package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
  200. package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
  201. package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
  202. package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
  203. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
  204. package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
  205. package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
  206. package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
  207. package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
  208. package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
  209. package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
  210. package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
  211. package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
  212. package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
  213. package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
  214. package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
  215. package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
  216. package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
  217. package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
  218. package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
  219. package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
  220. package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
  221. package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
  222. package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
  223. package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
  224. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
  225. package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
  226. package/ios/Nodes/REAAlwaysNode.h +0 -4
  227. package/ios/Nodes/REAAlwaysNode.m +0 -35
  228. package/ios/Nodes/REABezierNode.h +0 -5
  229. package/ios/Nodes/REABezierNode.m +0 -103
  230. package/ios/Nodes/REABlockNode.h +0 -5
  231. package/ios/Nodes/REABlockNode.m +0 -25
  232. package/ios/Nodes/REACallFuncNode.h +0 -6
  233. package/ios/Nodes/REACallFuncNode.m +0 -69
  234. package/ios/Nodes/REAClockNodes.h +0 -19
  235. package/ios/Nodes/REAClockNodes.m +0 -118
  236. package/ios/Nodes/REAConcatNode.h +0 -5
  237. package/ios/Nodes/REAConcatNode.m +0 -32
  238. package/ios/Nodes/REACondNode.h +0 -5
  239. package/ios/Nodes/REACondNode.m +0 -36
  240. package/ios/Nodes/READebugNode.h +0 -5
  241. package/ios/Nodes/READebugNode.m +0 -30
  242. package/ios/Nodes/REAEventNode.h +0 -8
  243. package/ios/Nodes/REAEventNode.m +0 -35
  244. package/ios/Nodes/REAFunctionNode.h +0 -6
  245. package/ios/Nodes/REAFunctionNode.m +0 -24
  246. package/ios/Nodes/REAJSCallNode.h +0 -5
  247. package/ios/Nodes/REAJSCallNode.m +0 -30
  248. package/ios/Nodes/REANode.h +0 -40
  249. package/ios/Nodes/REANode.m +0 -155
  250. package/ios/Nodes/REAOperatorNode.h +0 -5
  251. package/ios/Nodes/REAOperatorNode.m +0 -114
  252. package/ios/Nodes/REAParamNode.h +0 -10
  253. package/ios/Nodes/REAParamNode.m +0 -79
  254. package/ios/Nodes/REAPropsNode.h +0 -9
  255. package/ios/Nodes/REAPropsNode.m +0 -96
  256. package/ios/Nodes/REASetNode.h +0 -5
  257. package/ios/Nodes/REASetNode.m +0 -34
  258. package/ios/Nodes/REAStyleNode.h +0 -5
  259. package/ios/Nodes/REAStyleNode.m +0 -27
  260. package/ios/Nodes/REATransformNode.h +0 -5
  261. package/ios/Nodes/REATransformNode.m +0 -36
  262. package/ios/Nodes/REAValueNode.h +0 -9
  263. package/ios/Nodes/REAValueNode.m +0 -26
  264. package/ios/REAModule.m +0 -184
  265. package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
  266. package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
  267. package/ios/Transitioning/REAAllTransitions.h +0 -26
  268. package/ios/Transitioning/REAAllTransitions.m +0 -296
  269. package/ios/Transitioning/REATransition.h +0 -64
  270. package/ios/Transitioning/REATransition.m +0 -210
  271. package/ios/Transitioning/REATransitionAnimation.h +0 -17
  272. package/ios/Transitioning/REATransitionAnimation.m +0 -79
  273. package/ios/Transitioning/REATransitionManager.h +0 -9
  274. package/ios/Transitioning/REATransitionManager.m +0 -60
  275. package/ios/Transitioning/REATransitionValues.h +0 -15
  276. package/ios/Transitioning/REATransitionValues.m +0 -25
  277. package/lib/reanimated1/Easing.js +0 -231
  278. package/lib/reanimated1/SpringConfig.js +0 -79
  279. package/lib/reanimated1/Transitioning.js +0 -158
  280. package/lib/reanimated1/animations/Animation.js +0 -32
  281. package/lib/reanimated1/animations/SpringUtils.js +0 -199
  282. package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  283. package/lib/reanimated1/animations/decay.js +0 -54
  284. package/lib/reanimated1/animations/spring.js +0 -198
  285. package/lib/reanimated1/animations/timing.js +0 -74
  286. package/lib/reanimated1/base.js +0 -13
  287. package/lib/reanimated1/core/AnimatedAlways.js +0 -33
  288. package/lib/reanimated1/core/AnimatedBezier.js +0 -150
  289. package/lib/reanimated1/core/AnimatedBlock.js +0 -52
  290. package/lib/reanimated1/core/AnimatedCall.js +0 -55
  291. package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
  292. package/lib/reanimated1/core/AnimatedClock.js +0 -90
  293. package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
  294. package/lib/reanimated1/core/AnimatedCode.js +0 -32
  295. package/lib/reanimated1/core/AnimatedConcat.js +0 -32
  296. package/lib/reanimated1/core/AnimatedCond.js +0 -57
  297. package/lib/reanimated1/core/AnimatedDebug.js +0 -62
  298. package/lib/reanimated1/core/AnimatedEvent.js +0 -126
  299. package/lib/reanimated1/core/AnimatedFunction.js +0 -55
  300. package/lib/reanimated1/core/AnimatedNode.js +0 -223
  301. package/lib/reanimated1/core/AnimatedOperator.js +0 -103
  302. package/lib/reanimated1/core/AnimatedParam.js +0 -88
  303. package/lib/reanimated1/core/AnimatedProps.js +0 -108
  304. package/lib/reanimated1/core/AnimatedSet.js +0 -38
  305. package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
  306. package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
  307. package/lib/reanimated1/core/AnimatedStyle.js +0 -78
  308. package/lib/reanimated1/core/AnimatedTransform.js +0 -78
  309. package/lib/reanimated1/core/AnimatedValue.js +0 -38
  310. package/lib/reanimated1/core/Core.test.js +0 -30
  311. package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
  312. package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  313. package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  314. package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  315. package/lib/reanimated1/derived/acc.js +0 -11
  316. package/lib/reanimated1/derived/color.js +0 -47
  317. package/lib/reanimated1/derived/diff.js +0 -16
  318. package/lib/reanimated1/derived/diffClamp.js +0 -11
  319. package/lib/reanimated1/derived/evaluateOnce.js +0 -35
  320. package/lib/reanimated1/derived/index.js +0 -8
  321. package/lib/reanimated1/derived/interpolate.js +0 -152
  322. package/lib/reanimated1/derived/interpolateColors.js +0 -62
  323. package/lib/reanimated1/derived/onChange.js +0 -14
  324. package/lib/reanimated1/derived/useCode.js +0 -41
  325. package/lib/reanimated1/index.js +0 -53
  326. package/lib/reanimated1/operators.js +0 -35
  327. package/lib/reanimated1/useValue.js +0 -10
  328. package/lib/reanimated1/val.js +0 -3
  329. package/lib/types/react-native-reanimated-tests.d.ts +0 -1
  330. package/src/reanimated1/Easing.js +0 -231
  331. package/src/reanimated1/SpringConfig.js +0 -79
  332. package/src/reanimated1/Transitioning.js +0 -158
  333. package/src/reanimated1/animations/Animation.js +0 -32
  334. package/src/reanimated1/animations/SpringUtils.js +0 -199
  335. package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
  336. package/src/reanimated1/animations/decay.js +0 -54
  337. package/src/reanimated1/animations/spring.js +0 -198
  338. package/src/reanimated1/animations/timing.js +0 -74
  339. package/src/reanimated1/base.js +0 -13
  340. package/src/reanimated1/core/AnimatedAlways.js +0 -33
  341. package/src/reanimated1/core/AnimatedBezier.js +0 -150
  342. package/src/reanimated1/core/AnimatedBlock.js +0 -52
  343. package/src/reanimated1/core/AnimatedCall.js +0 -55
  344. package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
  345. package/src/reanimated1/core/AnimatedClock.js +0 -90
  346. package/src/reanimated1/core/AnimatedClockTest.js +0 -22
  347. package/src/reanimated1/core/AnimatedCode.js +0 -32
  348. package/src/reanimated1/core/AnimatedConcat.js +0 -32
  349. package/src/reanimated1/core/AnimatedCond.js +0 -57
  350. package/src/reanimated1/core/AnimatedDebug.js +0 -62
  351. package/src/reanimated1/core/AnimatedEvent.js +0 -126
  352. package/src/reanimated1/core/AnimatedFunction.js +0 -55
  353. package/src/reanimated1/core/AnimatedNode.js +0 -223
  354. package/src/reanimated1/core/AnimatedOperator.js +0 -103
  355. package/src/reanimated1/core/AnimatedParam.js +0 -88
  356. package/src/reanimated1/core/AnimatedProps.js +0 -108
  357. package/src/reanimated1/core/AnimatedSet.js +0 -38
  358. package/src/reanimated1/core/AnimatedStartClock.js +0 -30
  359. package/src/reanimated1/core/AnimatedStopClock.js +0 -30
  360. package/src/reanimated1/core/AnimatedStyle.js +0 -78
  361. package/src/reanimated1/core/AnimatedTransform.js +0 -78
  362. package/src/reanimated1/core/AnimatedValue.js +0 -38
  363. package/src/reanimated1/core/Core.test.js +0 -30
  364. package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
  365. package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
  366. package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
  367. package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
  368. package/src/reanimated1/derived/acc.js +0 -11
  369. package/src/reanimated1/derived/color.js +0 -47
  370. package/src/reanimated1/derived/diff.js +0 -16
  371. package/src/reanimated1/derived/diffClamp.js +0 -11
  372. package/src/reanimated1/derived/evaluateOnce.js +0 -35
  373. package/src/reanimated1/derived/index.js +0 -8
  374. package/src/reanimated1/derived/interpolate.js +0 -152
  375. package/src/reanimated1/derived/interpolateColors.js +0 -62
  376. package/src/reanimated1/derived/onChange.js +0 -14
  377. package/src/reanimated1/derived/useCode.js +0 -41
  378. package/src/reanimated1/index.js +0 -53
  379. package/src/reanimated1/operators.js +0 -35
  380. package/src/reanimated1/useValue.js +0 -10
  381. package/src/reanimated1/val.js +0 -3
@@ -1,87 +0,0 @@
1
- import AnimatedNode from './AnimatedNode';
2
- import { val } from '../val';
3
- import ReanimatedModule from '../../ReanimatedModule';
4
- import invariant from 'invariant';
5
-
6
- function sanitizeValue(value) {
7
- return value === null || value === undefined || typeof value === 'string'
8
- ? value
9
- : Number(value);
10
- }
11
-
12
- const CONSTANT_VALUES = new Map();
13
-
14
- function initializeConstantValues() {
15
- if (CONSTANT_VALUES.size !== 0) {
16
- return;
17
- }
18
- [0, -1, 1, -2, 2].forEach((v) =>
19
- CONSTANT_VALUES.set(v, new InternalAnimatedValue(v, true))
20
- );
21
- }
22
-
23
- /**
24
- * This class has been made internal in order to omit dependencies' cycles which
25
- * were caused by imperative setValue and interpolate – they are currently exposed with AnimatedValue.js
26
- */
27
- export default class InternalAnimatedValue extends AnimatedNode {
28
- static valueForConstant(number) {
29
- initializeConstantValues();
30
- return (
31
- CONSTANT_VALUES.get(number) || new InternalAnimatedValue(number, true)
32
- );
33
- }
34
-
35
- constructor(value, constant = false) {
36
- invariant(value !== null, 'Animated.Value cannot be set to the null');
37
- super({ type: 'value', value: sanitizeValue(value) });
38
- this._startingValue = this._value = value;
39
- this._animation = null;
40
- this._constant = constant;
41
- }
42
-
43
- __detach() {
44
- if (!this._constant) {
45
- if (ReanimatedModule.getValue) {
46
- ReanimatedModule.getValue(
47
- this.__nodeID,
48
- (val) => (this.__nodeConfig.value = val)
49
- );
50
- } else {
51
- this.__nodeConfig.value = this.__getValue();
52
- }
53
- }
54
- this.__detachAnimation(this._animation);
55
- super.__detach();
56
- }
57
-
58
- __detachAnimation(animation) {
59
- animation && animation.__detach();
60
- if (this._animation === animation) {
61
- this._animation = null;
62
- }
63
- }
64
-
65
- __attachAnimation(animation) {
66
- this.__detachAnimation(this._animation);
67
- this._animation = animation;
68
- }
69
-
70
- __onEvaluate() {
71
- if (this.__inputNodes && this.__inputNodes.length) {
72
- this.__inputNodes.forEach(val);
73
- }
74
- return this._value;
75
- }
76
-
77
- // AnimatedValue will override this method to modify the value of a native node.
78
- setValue(value) {
79
- this.__detachAnimation(this._animation);
80
- this._updateValue(value);
81
- }
82
-
83
- _updateValue(value) {
84
- this._value = value;
85
- this.__forceUpdateCache(value);
86
- }
87
- }
@@ -1,86 +0,0 @@
1
- import AnimatedNode from '../AnimatedNode';
2
- import AnimatedEvent from '../AnimatedEvent';
3
- import AnimatedStyle, { createOrReuseStyleNode } from '../AnimatedStyle';
4
-
5
- import deepEqual from 'lodash.isequal';
6
-
7
- // This file has been mocked as react-native's `findNodeHandle` is returning undefined value;
8
- // and I became easier to mock whole this file instead of mocking RN
9
-
10
- function sanitizeProps(inputProps) {
11
- const props = {};
12
- for (const key in inputProps) {
13
- const value = inputProps[key];
14
- if (value instanceof AnimatedNode && !(value instanceof AnimatedEvent)) {
15
- props[key] = value.__nodeID;
16
- }
17
- }
18
- return props;
19
- }
20
-
21
- export function createOrReusePropsNode(props, callback, oldNode) {
22
- if (props.style) {
23
- props = {
24
- ...props,
25
- style: createOrReuseStyleNode(
26
- props.style,
27
- oldNode && oldNode._props.style
28
- ),
29
- };
30
- }
31
- const config = sanitizeProps(props);
32
- if (oldNode && deepEqual(config, oldNode._config)) {
33
- return oldNode;
34
- }
35
- return new AnimatedProps(props, config, callback);
36
- }
37
-
38
- class AnimatedProps extends AnimatedNode {
39
- constructor(props, config, callback) {
40
- super(
41
- { type: 'props', props: config },
42
- Object.values(props).filter((n) => !(n instanceof AnimatedEvent))
43
- );
44
- this._config = config;
45
- this._props = props;
46
- this._callback = callback;
47
- this.__attach();
48
- }
49
-
50
- __getProps() {
51
- const props = {};
52
- for (const key in this._props) {
53
- const value = this._props[key];
54
- if (value instanceof AnimatedNode) {
55
- if (value instanceof AnimatedStyle) {
56
- props[key] = value.__getProps();
57
- }
58
- } else {
59
- props[key] = value;
60
- }
61
- }
62
- return props;
63
- }
64
-
65
- __onEvaluate() {
66
- const props = {};
67
- for (const key in this._props) {
68
- const value = this._props[key];
69
- if (value instanceof AnimatedNode) {
70
- props[key] = value.__getValue();
71
- }
72
- }
73
- return props;
74
- }
75
-
76
- update() {
77
- this._callback();
78
- }
79
-
80
- setNativeView(animatedView) {
81
- if (this._animatedView === animatedView) {
82
- return;
83
- }
84
- this._animatedView = animatedView;
85
- }
86
- }
@@ -1,44 +0,0 @@
1
- // JSC on Android and iOS 8 & 9 does not support proxies.
2
- // The below workaround provides a proxy-like functionality for event data by
3
- // creating an object which contains predefined fields for the most commonly
4
- // used event attributes. If your app uses even attribute which is not listed
5
- // here please submit a PR to add that and we will merge it right away
6
- export default function createEventObjectProxyPolyfill() {
7
- const nodesMap = {
8
- // Gesture handlers-related event
9
- translationX: {},
10
- translationY: {},
11
- state: {},
12
- oldState: {},
13
- absoluteX: {},
14
- absoluteY: {},
15
- x: {},
16
- y: {},
17
- velocityX: {},
18
- velocityY: {},
19
- scale: {},
20
- focalX: {},
21
- focalY: {},
22
- rotation: {},
23
- anchorX: {},
24
- anchorY: {},
25
- velocity: {},
26
- numberOfPointers: {},
27
- // onLayour-related event
28
- layout: { x: {}, y: {}, width: {}, height: {} },
29
- // ScrollView event
30
- contentOffset: { y: {}, x: {} },
31
- layoutMeasurement: { width: {}, height: {} },
32
- contentSize: { width: {}, height: {} },
33
- zoomScale: {},
34
- contentInset: { right: {}, top: {}, left: {}, bottom: {} },
35
- };
36
- const traverse = (obj) => {
37
- for (const key in obj) {
38
- traverse(obj[key]);
39
- Object.assign(obj[key], { __isProxy: true });
40
- }
41
- };
42
- traverse(nodesMap);
43
- return nodesMap;
44
- }
@@ -1,14 +0,0 @@
1
- import { always } from '../../base';
2
- export function evaluateOnce(node, children = [], callback) {
3
- if (!Array.isArray(children)) {
4
- children = [children];
5
- }
6
- const alwaysNode = always(node);
7
- for (let i = 0; i < children.length; i++) {
8
- alwaysNode.__addChild(children[i]);
9
- }
10
- for (let i = 0; i < children.length; i++) {
11
- alwaysNode.__removeChild(children[i]);
12
- }
13
- callback && callback();
14
- }
@@ -1,11 +0,0 @@
1
- import { set, add, proc } from '../base';
2
- import AnimatedValue from '../core/InternalAnimatedValue';
3
-
4
- const procAcc = proc(function (v, acc) {
5
- return set(acc, add(acc, v));
6
- });
7
-
8
- export default function acc(v) {
9
- const acc = new AnimatedValue(0);
10
- return procAcc(v, acc);
11
- }
@@ -1,47 +0,0 @@
1
- import { Platform } from 'react-native';
2
-
3
- import {
4
- add,
5
- cond,
6
- concat,
7
- lessThan,
8
- multiply,
9
- round,
10
- sub,
11
- proc,
12
- } from '../base';
13
- import AnimatedNode from '../core/AnimatedNode';
14
-
15
- const procColor = proc(function (r, g, b, a) {
16
- const color = add(
17
- multiply(a, 1 << 24),
18
- multiply(round(r), 1 << 16),
19
- multiply(round(g), 1 << 8),
20
- round(b)
21
- );
22
-
23
- if (Platform.OS === 'android') {
24
- // on Android color is represented as signed 32 bit int
25
- return cond(
26
- lessThan(color, (1 << 31) >>> 0),
27
- color,
28
- sub(color, Math.pow(2, 32))
29
- );
30
- }
31
- return color;
32
- });
33
-
34
- export default function color(r, g, b, a = 1) {
35
- if (Platform.OS === 'web') {
36
- // doesn't support bit shifting
37
- return concat('rgba(', r, ',', g, ',', b, ',', a, ')');
38
- }
39
-
40
- if (a instanceof AnimatedNode) {
41
- a = round(multiply(a, 255));
42
- } else {
43
- a = Math.round(a * 255);
44
- }
45
-
46
- return procColor(r, g, b, a);
47
- }
@@ -1,16 +0,0 @@
1
- import { cond, block, defined, sub, set, proc } from '../base';
2
- import AnimatedValue from '../core/InternalAnimatedValue';
3
-
4
- const procDiff = proc(function (v, stash, prev) {
5
- return block([
6
- set(stash, cond(defined(prev), sub(v, prev), 0)),
7
- set(prev, v),
8
- stash,
9
- ]);
10
- });
11
-
12
- export default function diff(v) {
13
- const stash = new AnimatedValue(0);
14
- const prev = new AnimatedValue();
15
- return procDiff(v, stash, prev);
16
- }
@@ -1,11 +0,0 @@
1
- import { cond, defined, set, add, min, max } from '../base';
2
- import AnimatedValue from '../core/InternalAnimatedValue';
3
- import diff from './diff';
4
-
5
- export default function diffClamp(a, minVal, maxVal) {
6
- const value = new AnimatedValue();
7
- return set(
8
- value,
9
- min(max(add(cond(defined(value), value, a), diff(a)), minVal), maxVal)
10
- );
11
- }
@@ -1,35 +0,0 @@
1
- import AnimatedValue from '../core/InternalAnimatedValue';
2
- import { createAnimatedSet as set } from '../core/AnimatedSet';
3
- import { createAnimatedCall as call } from '../core/AnimatedCall';
4
- import { createAnimatedAlways as always } from '../core/AnimatedAlways';
5
- import { createAnimatedCond as cond } from '../core/AnimatedCond';
6
-
7
- /**
8
- * evaluate given node and notify children
9
- * @param node - node to be evaluated
10
- * @param input - nodes (or one node) representing values which states input for node.
11
- * @param callback - after callback
12
- */
13
-
14
- export function evaluateOnce(node, input = [], callback) {
15
- if (!Array.isArray(input)) {
16
- input = [input];
17
- }
18
- const done = new AnimatedValue(0);
19
- const evalNode = cond(
20
- done,
21
- 0,
22
- call([node, set(done, 1)], () => {
23
- callback && callback();
24
- for (let i = 0; i < input.length; i++) {
25
- input[i].__removeChild(alwaysNode);
26
- alwaysNode.__detach();
27
- }
28
- })
29
- );
30
- const alwaysNode = always(evalNode);
31
- for (let i = 0; i < input.length; i++) {
32
- input[i].__addChild(alwaysNode);
33
- alwaysNode.__attach();
34
- }
35
- }
@@ -1,8 +0,0 @@
1
- export { default as acc } from './acc';
2
- export { default as color } from './color';
3
- export { default as diff } from './diff';
4
- export { default as diffClamp } from './diffClamp';
5
- export { default as interpolateNode, Extrapolate } from './interpolate';
6
- export { default as interpolateColors } from './interpolateColors';
7
- export { default as onChange } from './onChange';
8
- export { default as useCode } from './useCode';
@@ -1,152 +0,0 @@
1
- import {
2
- lessThan,
3
- multiply,
4
- sub,
5
- add,
6
- divide,
7
- greaterThan,
8
- lessOrEq,
9
- eq,
10
- } from '../operators';
11
- import invariant from 'invariant';
12
-
13
- import AnimatedNode from '../core/AnimatedNode';
14
- import { createAnimatedCond as cond } from '../core/AnimatedCond';
15
- import { createAnimatedFunction as proc } from '../core/AnimatedFunction';
16
-
17
- const interpolateInternalSingleProc = proc(function (
18
- value,
19
- inS,
20
- inE,
21
- outS,
22
- outE
23
- ) {
24
- const progress = divide(sub(value, inS), sub(inE, inS));
25
- // logic below was made in order to provide a compatibility witn an Animated API
26
- const resultForNonZeroRange = add(outS, multiply(progress, sub(outE, outS)));
27
- const result = cond(
28
- eq(inS, inE),
29
- cond(lessOrEq(value, inS), outS, outE),
30
- resultForNonZeroRange
31
- );
32
- return result;
33
- });
34
-
35
- function interpolateInternalSingle(value, inputRange, outputRange, offset) {
36
- const inS = inputRange[offset];
37
- const inE = inputRange[offset + 1];
38
- const outS = outputRange[offset];
39
- const outE = outputRange[offset + 1];
40
- return interpolateInternalSingleProc(value, inS, inE, outS, outE);
41
- }
42
-
43
- function interpolateInternal(value, inputRange, outputRange, offset = 0) {
44
- if (inputRange.length - offset === 2) {
45
- return interpolateInternalSingle(value, inputRange, outputRange, offset);
46
- }
47
- return cond(
48
- lessThan(value, inputRange[offset + 1]),
49
- interpolateInternalSingle(value, inputRange, outputRange, offset),
50
- interpolateInternal(value, inputRange, outputRange, offset + 1)
51
- );
52
- }
53
-
54
- export const Extrapolate = {
55
- EXTEND: 'extend',
56
- CLAMP: 'clamp',
57
- IDENTITY: 'identity',
58
- };
59
-
60
- function checkNonDecreasing(name, arr) {
61
- for (let i = 1; i < arr.length; ++i) {
62
- // We can't validate animated nodes in JS.
63
- if (arr[i] instanceof AnimatedNode || arr[i - 1] instanceof AnimatedNode)
64
- continue;
65
- invariant(
66
- arr[i] >= arr[i - 1],
67
- '%s must be monotonically non-decreasing. (%s)',
68
- name,
69
- arr
70
- );
71
- }
72
- }
73
-
74
- function checkMinElements(name, arr) {
75
- invariant(
76
- arr.length >= 2,
77
- '%s must have at least 2 elements. (%s)',
78
- name,
79
- arr
80
- );
81
- }
82
-
83
- function checkValidNumbers(name, arr) {
84
- for (let i = 0; i < arr.length; i++) {
85
- // We can't validate animated nodes in JS.
86
- if (arr[i] instanceof AnimatedNode || typeof arr[i] !== 'number') continue;
87
- invariant(
88
- Number.isFinite(arr[i]),
89
- '%s cannot include %s. (%s)',
90
- name,
91
- arr[i],
92
- arr
93
- );
94
- }
95
- }
96
-
97
- function convertToRadians(outputRange) {
98
- for (const [i, value] of outputRange.entries()) {
99
- if (typeof value === 'string' && value.endsWith('deg')) {
100
- outputRange[i] = parseFloat(value) * (Math.PI / 180);
101
- } else if (typeof value === 'string' && value.endsWith('rad')) {
102
- outputRange[i] = parseFloat(value);
103
- }
104
- }
105
- }
106
-
107
- export default function interpolate(value, config) {
108
- const {
109
- inputRange,
110
- outputRange,
111
- extrapolate = Extrapolate.EXTEND,
112
- extrapolateLeft,
113
- extrapolateRight,
114
- } = config;
115
-
116
- checkMinElements('inputRange', inputRange);
117
- checkValidNumbers('inputRange', inputRange);
118
- checkMinElements('outputRange', outputRange);
119
- checkValidNumbers('outputRange', outputRange);
120
- checkNonDecreasing('inputRange', inputRange);
121
- invariant(
122
- inputRange.length === outputRange.length,
123
- 'inputRange and outputRange must be the same length.'
124
- );
125
-
126
- convertToRadians(outputRange);
127
- const left = extrapolateLeft || extrapolate;
128
- const right = extrapolateRight || extrapolate;
129
- let output = interpolateInternal(value, inputRange, outputRange);
130
-
131
- if (left === Extrapolate.CLAMP) {
132
- output = cond(lessThan(value, inputRange[0]), outputRange[0], output);
133
- } else if (left === Extrapolate.IDENTITY) {
134
- output = cond(lessThan(value, inputRange[0]), value, output);
135
- }
136
-
137
- if (right === Extrapolate.CLAMP) {
138
- output = cond(
139
- greaterThan(value, inputRange[inputRange.length - 1]),
140
- outputRange[outputRange.length - 1],
141
- output
142
- );
143
- } else if (right === Extrapolate.IDENTITY) {
144
- output = cond(
145
- greaterThan(value, inputRange[inputRange.length - 1]),
146
- value,
147
- output
148
- );
149
- }
150
-
151
- return output;
152
- }
@@ -1,62 +0,0 @@
1
- import { processColor } from 'react-native';
2
- import { round } from '../base';
3
- import color from './color';
4
- import interpolate, { Extrapolate } from './interpolate';
5
-
6
- function red(c) {
7
- return (c >> 16) & 255;
8
- }
9
- function green(c) {
10
- return (c >> 8) & 255;
11
- }
12
- function blue(c) {
13
- return c & 255;
14
- }
15
- function opacity(c) {
16
- return ((c >> 24) & 255) / 255;
17
- }
18
-
19
- /**
20
- * Use this if you want to interpolate an `Animated.Value` into color values.
21
- *
22
- * #### Why is this needed?
23
- *
24
- * Unfortunately, if you'll pass color values directly into the `outputRange` option
25
- * of `interpolate()` function, that won't really work (at least at the moment).
26
- * See https://github.com/software-mansion/react-native-reanimated/issues/181 .
27
- *
28
- * So, for now you can just use this helper instead.
29
- */
30
- export default function interpolateColors(animationValue, options) {
31
- const { inputRange, outputColorRange } = options;
32
- const colors = outputColorRange.map(processColor);
33
-
34
- const r = round(
35
- interpolate(animationValue, {
36
- inputRange,
37
- outputRange: colors.map(red),
38
- extrapolate: Extrapolate.CLAMP,
39
- })
40
- );
41
- const g = round(
42
- interpolate(animationValue, {
43
- inputRange,
44
- outputRange: colors.map(green),
45
- extrapolate: Extrapolate.CLAMP,
46
- })
47
- );
48
- const b = round(
49
- interpolate(animationValue, {
50
- inputRange,
51
- outputRange: colors.map(blue),
52
- extrapolate: Extrapolate.CLAMP,
53
- })
54
- );
55
- const a = interpolate(animationValue, {
56
- inputRange,
57
- outputRange: colors.map(opacity),
58
- extrapolate: Extrapolate.CLAMP,
59
- });
60
-
61
- return color(r, g, b, a);
62
- }
@@ -1,14 +0,0 @@
1
- import { block, cond, defined, neq, not, set, proc } from '../base';
2
- import AnimatedValue from '../core/InternalAnimatedValue';
3
-
4
- const procOnChange = proc(function (value, action, prevValue) {
5
- return block([
6
- cond(not(defined(prevValue)), set(prevValue, value)),
7
- cond(neq(value, prevValue), [set(prevValue, value), action]),
8
- ]);
9
- });
10
-
11
- export default function onChange(value, action) {
12
- const prevValue = new AnimatedValue();
13
- return procOnChange(value, action, prevValue);
14
- }
@@ -1,41 +0,0 @@
1
- import React from 'react';
2
- import { always, block } from '../base';
3
-
4
- /**
5
- * @callback NodeFactory
6
- * Function to create a node or an array of nodes.
7
- * @returns {(Node[] | Node | null | undefined | Boolean)}
8
- */
9
-
10
- /**
11
- * React hook to run a node.
12
- * @param {NodeFactory} nodeFactory Function to build the node to run.
13
- * @param dependencies Array of dependencies. Refresh the node on changes.
14
- */
15
- export default function useCode(nodeFactory, dependencies) {
16
- if (!(React.useEffect instanceof Function)) return;
17
-
18
- React.useEffect(() => {
19
- // check and correct 1st parameter
20
- if (!(nodeFactory instanceof Function)) {
21
- console.warn(
22
- 'useCode() first argument should be a function that returns an animation node.'
23
- );
24
-
25
- const node = nodeFactory;
26
- nodeFactory = () => node;
27
- }
28
-
29
- let node = nodeFactory();
30
- if (node) {
31
- // allow factory to return array
32
- if (node instanceof Array) node = block(node);
33
-
34
- const animatedAlways = always(node);
35
- animatedAlways.__attach();
36
-
37
- // return undo function
38
- return () => animatedAlways.__detach();
39
- }
40
- }, dependencies);
41
- }
@@ -1,53 +0,0 @@
1
- import EasingNode from './Easing';
2
- import AnimatedClock from './core/AnimatedClock';
3
- import AnimatedValue from './core/AnimatedValue';
4
- import AnimatedNode from './core/AnimatedNode';
5
- import AnimatedCode from './core/AnimatedCode';
6
- import decay from './animations/decay';
7
- import timing from './animations/timing';
8
- import spring from './animations/spring';
9
- import Animation from './animations/Animation';
10
- import {
11
- Transition,
12
- Transitioning,
13
- createTransitioningComponent,
14
- } from './Transitioning';
15
- import SpringUtils from './animations/SpringUtils';
16
- import useValue from './useValue';
17
- import backwardCompatibleAnimWrapper from './animations/backwardCompatibleAnimWrapper';
18
-
19
- const decayWrapper = backwardCompatibleAnimWrapper(
20
- decay,
21
- Animation.decayDefaultState
22
- );
23
- const timingWrapper = backwardCompatibleAnimWrapper(
24
- timing,
25
- Animation.timingDefaultState
26
- );
27
- const springWrapper = backwardCompatibleAnimWrapper(
28
- spring,
29
- Animation.springDefaultState
30
- );
31
-
32
- // operations
33
- export * from './base';
34
- export * from './derived';
35
- export {
36
- AnimatedCode as Code,
37
- // transitions
38
- EasingNode,
39
- Transitioning,
40
- Transition,
41
- createTransitioningComponent,
42
- // nodes
43
- AnimatedClock as Clock,
44
- AnimatedValue as Value,
45
- AnimatedNode as Node,
46
- // animations
47
- decayWrapper as decay,
48
- timingWrapper as timing,
49
- springWrapper as spring,
50
- SpringUtils,
51
- // hooks
52
- useValue,
53
- };