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,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
- };
@@ -1,35 +0,0 @@
1
- import { createAnimatedOperator } from './core/AnimatedOperator';
2
-
3
- const operator = createAnimatedOperator;
4
-
5
- export const add = operator('add');
6
- export const sub = operator('sub');
7
- export const multiply = operator('multiply');
8
- export const divide = operator('divide');
9
- export const pow = operator('pow');
10
- export const modulo = operator('modulo');
11
- export const sqrt = operator('sqrt');
12
- export const log = operator('log');
13
- export const sin = operator('sin');
14
- export const cos = operator('cos');
15
- export const exp = operator('exp');
16
- export const round = operator('round');
17
- export const lessThan = operator('lessThan');
18
- export const eq = operator('eq');
19
- export const greaterThan = operator('greaterThan');
20
- export const lessOrEq = operator('lessOrEq');
21
- export const greaterOrEq = operator('greaterOrEq');
22
- export const neq = operator('neq');
23
- export const and = operator('and');
24
- export const or = operator('or');
25
- export const defined = operator('defined');
26
- export const not = operator('not');
27
- export const tan = operator('tan');
28
- export const acos = operator('acos');
29
- export const asin = operator('asin');
30
- export const atan = operator('atan');
31
- export const abs = operator('abs');
32
- export const ceil = operator('ceil');
33
- export const floor = operator('floor');
34
- export const max = operator('max');
35
- export const min = operator('min');
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import AnimatedValue from './core/AnimatedValue';
3
-
4
- export default function useValue(initialValue) {
5
- const ref = React.useRef(null);
6
- if (ref.current === null) {
7
- ref.current = new AnimatedValue(initialValue);
8
- }
9
- return ref.current;
10
- }
@@ -1,3 +0,0 @@
1
- export function val(v) {
2
- return v && v.__getValue ? v.__getValue() : v || 0;
3
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,231 +0,0 @@
1
- import {
2
- cond,
3
- lessThan,
4
- multiply,
5
- pow,
6
- cos,
7
- sqrt,
8
- sub,
9
- add,
10
- divide,
11
- } from './base';
12
- import AnimatedBezier from './core/AnimatedBezier';
13
-
14
- /**
15
- * The `Easing` module implements common easing functions. This module is used
16
- * by [Animate.timing()](docs/animate.html#timing) to convey physically
17
- * believable motion in animations.
18
- *
19
- * You can find a visualization of some common easing functions at
20
- * http://easings.net/
21
- *
22
- * ### Predefined animations
23
- *
24
- * The `Easing` module provides several predefined animations through the
25
- * following methods:
26
- *
27
- * - [`back`](docs/easing.html#back) provides a simple animation where the
28
- * object goes slightly back before moving forward
29
- * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation
30
- * - [`ease`](docs/easing.html#ease) provides a simple inertial animation
31
- * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction
32
- *
33
- * ### Standard functions
34
- *
35
- * Three standard easing functions are provided:
36
- *
37
- * - [`linear`](docs/easing.html#linear)
38
- * - [`quad`](docs/easing.html#quad)
39
- * - [`cubic`](docs/easing.html#cubic)
40
- *
41
- * The [`poly`](docs/easing.html#poly) function can be used to implement
42
- * quartic, quintic, and other higher power functions.
43
- *
44
- * ### Additional functions
45
- *
46
- * Additional mathematical functions are provided by the following methods:
47
- *
48
- * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve
49
- * - [`circle`](docs/easing.html#circle) provides a circular function
50
- * - [`sin`](docs/easing.html#sin) provides a sinusoidal function
51
- * - [`exp`](docs/easing.html#exp) provides an exponential function
52
- *
53
- * The following helpers are used to modify other easing functions.
54
- *
55
- * - [`in`](docs/easing.html#in) runs an easing function forwards
56
- * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical
57
- * - [`out`](docs/easing.html#out) runs an easing function backwards
58
- */
59
- export default class Easing {
60
- /**
61
- * A linear function, `f(t) = t`. Position correlates to elapsed time one to
62
- * one.
63
- *
64
- * http://cubic-bezier.com/#0,0,1,1
65
- */
66
- static linear(t) {
67
- return t;
68
- }
69
-
70
- /**
71
- * A simple inertial interaction, similar to an object slowly accelerating to
72
- * speed.
73
- *
74
- * http://cubic-bezier.com/#.42,0,1,1
75
- */
76
- static ease(t) {
77
- return new AnimatedBezier(t, 0.42, 0, 1, 1);
78
- }
79
-
80
- /**
81
- * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed
82
- * time.
83
- *
84
- * http://easings.net/#easeInQuad
85
- */
86
- static quad(t) {
87
- return multiply(t, t);
88
- }
89
-
90
- /**
91
- * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed
92
- * time.
93
- *
94
- * http://easings.net/#easeInCubic
95
- */
96
- static cubic(t) {
97
- return multiply(t, t, t);
98
- }
99
-
100
- /**
101
- * A power function. Position is equal to the Nth power of elapsed time.
102
- *
103
- * n = 4: http://easings.net/#easeInQuart
104
- * n = 5: http://easings.net/#easeInQuint
105
- */
106
- static poly(n) {
107
- return (t) => pow(t, n);
108
- }
109
-
110
- /**
111
- * A sinusoidal function.
112
- *
113
- * http://easings.net/#easeInSine
114
- */
115
- static sin(t) {
116
- return sub(1, cos(multiply(t, Math.PI, 0.5)));
117
- }
118
-
119
- /**
120
- * A circular function.
121
- *
122
- * http://easings.net/#easeInCirc
123
- */
124
- static circle(t) {
125
- return sub(1, sqrt(sub(1, multiply(t, t))));
126
- }
127
-
128
- /**
129
- * An exponential function.
130
- *
131
- * http://easings.net/#easeInExpo
132
- */
133
- static exp(t) {
134
- return pow(2, multiply(10, sub(t, 1)));
135
- }
136
-
137
- /**
138
- * A simple elastic interaction, similar to a spring oscillating back and
139
- * forth.
140
- *
141
- * Default bounciness is 1, which overshoots a little bit once. 0 bounciness
142
- * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N
143
- * times.
144
- *
145
- * http://easings.net/#easeInElastic
146
- */
147
- static elastic(bounciness = 1) {
148
- const p = bounciness * Math.PI;
149
- return (t) =>
150
- sub(
151
- 1,
152
- multiply(pow(cos(multiply(t, Math.PI, 0.5)), 3), cos(multiply(t, p)))
153
- );
154
- }
155
-
156
- /**
157
- * Use with `Animated.parallel()` to create a simple effect where the object
158
- * animates back slightly as the animation starts.
159
- *
160
- * Wolfram Plot:
161
- *
162
- * - http://tiny.cc/back_default (s = 1.70158, default)
163
- */
164
- static back(s) {
165
- if (s === undefined) {
166
- s = 1.70158;
167
- }
168
- return (t) => multiply(t, t, sub(multiply(add(s, 1), t), s));
169
- }
170
-
171
- /**
172
- * Provides a simple bouncing effect.
173
- *
174
- * http://easings.net/#easeInBounce
175
- */
176
- static bounce(t) {
177
- const sq = (v) => multiply(7.5625, v, v);
178
- return cond(
179
- lessThan(t, 1 / 2.75),
180
- sq(t),
181
- cond(
182
- lessThan(t, 2 / 2.75),
183
- add(0.75, sq(sub(t, 1.5 / 2.75))),
184
- cond(
185
- lessThan(t, 2.5 / 2.76),
186
- add(0.9375, sq(sub(t, 2.25 / 2.75))),
187
- add(0.984375, sq(sub(t, 2.625 / 2.75)))
188
- )
189
- )
190
- );
191
- }
192
-
193
- /**
194
- * Provides a cubic bezier curve, equivalent to CSS Transitions'
195
- * `transition-timing-function`.
196
- *
197
- * A useful tool to visualize cubic bezier curves can be found at
198
- * http://cubic-bezier.com/
199
- */
200
- static bezier(x1, y1, x2, y2) {
201
- return (t) => new AnimatedBezier(t, x1, y1, x2, y2);
202
- }
203
-
204
- /**
205
- * Runs an easing function forwards.
206
- */
207
- static in(easing) {
208
- return easing;
209
- }
210
-
211
- /**
212
- * Runs an easing function backwards.
213
- */
214
- static out(easing) {
215
- return (t) => sub(1, easing(sub(1, t)));
216
- }
217
-
218
- /**
219
- * Makes any easing function symmetrical. The easing function will run
220
- * forwards for half of the duration, then backwards for the rest of the
221
- * duration.
222
- */
223
- static inOut(easing) {
224
- return (t) =>
225
- cond(
226
- lessThan(t, 0.5),
227
- divide(easing(multiply(t, 2)), 2),
228
- sub(1, divide(easing(multiply(sub(1, t), 2)), 2))
229
- );
230
- }
231
- }
@@ -1,79 +0,0 @@
1
- function stiffnessFromOrigamiValue(oValue) {
2
- return (oValue - 30) * 3.62 + 194;
3
- }
4
-
5
- function dampingFromOrigamiValue(oValue) {
6
- return (oValue - 8) * 3 + 25;
7
- }
8
-
9
- function fromOrigamiTensionAndFriction(tension, friction) {
10
- return {
11
- stiffness: stiffnessFromOrigamiValue(tension),
12
- damping: dampingFromOrigamiValue(friction),
13
- };
14
- }
15
-
16
- function fromBouncinessAndSpeed(bounciness, speed) {
17
- function normalize(value, startValue, endValue) {
18
- return (value - startValue) / (endValue - startValue);
19
- }
20
-
21
- function projectNormal(n, start, end) {
22
- return start + n * (end - start);
23
- }
24
-
25
- function linearInterpolation(t, start, end) {
26
- return t * end + (1 - t) * start;
27
- }
28
-
29
- function quadraticOutInterpolation(t, start, end) {
30
- return linearInterpolation(2 * t - t * t, start, end);
31
- }
32
-
33
- function b3Friction1(x) {
34
- return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;
35
- }
36
-
37
- function b3Friction2(x) {
38
- return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;
39
- }
40
-
41
- function b3Friction3(x) {
42
- return (
43
- 0.00000045 * Math.pow(x, 3) -
44
- 0.000332 * Math.pow(x, 2) +
45
- 0.1078 * x +
46
- 5.84
47
- );
48
- }
49
-
50
- function b3Nobounce(tension) {
51
- if (tension <= 18) {
52
- return b3Friction1(tension);
53
- } else if (tension > 18 && tension <= 44) {
54
- return b3Friction2(tension);
55
- } else {
56
- return b3Friction3(tension);
57
- }
58
- }
59
-
60
- var b = normalize(bounciness / 1.7, 0, 20);
61
- b = projectNormal(b, 0, 0.8);
62
- var s = normalize(speed / 1.7, 0, 20);
63
- var bouncyTension = projectNormal(s, 0.5, 200);
64
- var bouncyFriction = quadraticOutInterpolation(
65
- b,
66
- b3Nobounce(bouncyTension),
67
- 0.01
68
- );
69
-
70
- return {
71
- stiffness: stiffnessFromOrigamiValue(bouncyTension),
72
- damping: dampingFromOrigamiValue(bouncyFriction),
73
- };
74
- }
75
-
76
- module.exports = {
77
- fromOrigamiTensionAndFriction,
78
- fromBouncinessAndSpeed,
79
- };