react-native-reanimated 3.8.0 → 3.9.0-layout-animation-experimental

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 (423) hide show
  1. package/Common/cpp/Fabric/ShadowTreeCloner.cpp +5 -2
  2. package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp +42 -32
  3. package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.h +5 -7
  4. package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +565 -0
  5. package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.h +74 -0
  6. package/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.h +140 -0
  7. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +216 -58
  8. package/Common/cpp/NativeModules/NativeReanimatedModule.h +32 -11
  9. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +2 -17
  10. package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.h +6 -8
  11. package/Common/cpp/ReanimatedRuntime/RNRuntimeDecorator.cpp +3 -0
  12. package/Common/cpp/ReanimatedRuntime/WorkletRuntime.cpp +3 -4
  13. package/Common/cpp/ReanimatedRuntime/WorkletRuntimeDecorator.cpp +8 -3
  14. package/Common/cpp/SharedItems/Shareables.cpp +31 -5
  15. package/Common/cpp/SharedItems/Shareables.h +18 -2
  16. package/Common/cpp/Tools/JSScheduler.cpp +29 -5
  17. package/Common/cpp/Tools/JSScheduler.h +21 -4
  18. package/Common/cpp/Tools/PlatformDepMethodsHolder.h +6 -2
  19. package/Common/cpp/Tools/UIRuntimeDecorator.cpp +6 -0
  20. package/Common/cpp/Tools/UIRuntimeDecorator.h +1 -0
  21. package/android/CMakeLists.txt +3 -0
  22. package/android/build.gradle +17 -5
  23. package/android/src/main/cpp/NativeProxy.cpp +77 -12
  24. package/android/src/main/cpp/NativeProxy.h +35 -1
  25. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +58 -19
  26. package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +7 -2
  27. package/android/src/{reactNativeVersionPatch/ReanimatedUIManager/latest → main/java}/com/swmansion/reanimated/ReanimatedUIManagerFactory.java +5 -5
  28. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +10 -6
  29. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +18 -1
  30. package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java +105 -17
  31. package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +2 -1
  32. package/android/src/paper/java/com/swmansion/reanimated/NativeReanimatedModuleSpec.java +37 -0
  33. package/android/src/{main/java/com/swmansion/reanimated → reactNativeVersionPatch/ReanimatedUIManager/73/com/swmansion}/ReanimatedModule.java +4 -3
  34. package/android/src/reactNativeVersionPatch/ReanimatedUIManager/{70 → 73}/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +1 -22
  35. package/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/ReanimatedModule.java +176 -0
  36. package/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +0 -26
  37. package/android/src/{fabric/java → reactNativeVersionPatch/RuntimeExecutor/73}/com/swmansion/reanimated/NativeProxy.java +16 -4
  38. package/android/src/reactNativeVersionPatch/RuntimeExecutor/latest/com/swmansion/reanimated/NativeProxy.java +143 -0
  39. package/apple/LayoutReanimation/REAAnimationsManager.h +3 -0
  40. package/apple/LayoutReanimation/REAAnimationsManager.m +11 -0
  41. package/apple/LayoutReanimation/REASharedTransitionManager.m +99 -23
  42. package/apple/LayoutReanimation/REASnapshot.h +1 -0
  43. package/apple/LayoutReanimation/REASnapshot.m +78 -37
  44. package/apple/REAModule.h +22 -2
  45. package/apple/REAModule.mm +97 -46
  46. package/apple/REANodesManager.h +3 -3
  47. package/apple/REANodesManager.mm +46 -22
  48. package/apple/native/NativeProxy.h +28 -2
  49. package/apple/native/NativeProxy.mm +65 -195
  50. package/apple/native/PlatformDepMethodsHolderImpl.h +59 -0
  51. package/apple/native/PlatformDepMethodsHolderImpl.mm +429 -0
  52. package/apple/sensor/ReanimatedSensor.m +5 -5
  53. package/lib/module/Animated.js.map +1 -1
  54. package/lib/module/ConfigHelper.js +1 -1
  55. package/lib/module/ConfigHelper.js.map +1 -1
  56. package/lib/module/animationBuilder.js +1 -0
  57. package/lib/module/animationBuilder.js.map +1 -1
  58. package/lib/module/createAnimatedComponent/InlinePropManager.js +4 -4
  59. package/lib/module/createAnimatedComponent/InlinePropManager.js.map +1 -1
  60. package/lib/module/createAnimatedComponent/JSPropsUpdater.js +9 -6
  61. package/lib/module/createAnimatedComponent/JSPropsUpdater.js.map +1 -1
  62. package/lib/module/createAnimatedComponent/JSPropsUpdater.web.js +11 -0
  63. package/lib/module/createAnimatedComponent/JSPropsUpdater.web.js.map +1 -0
  64. package/lib/module/createAnimatedComponent/PropsFilter.js +25 -9
  65. package/lib/module/createAnimatedComponent/PropsFilter.js.map +1 -1
  66. package/lib/module/createAnimatedComponent/commonTypes.js.map +1 -1
  67. package/lib/module/createAnimatedComponent/createAnimatedComponent.js +83 -52
  68. package/lib/module/createAnimatedComponent/createAnimatedComponent.js.map +1 -1
  69. package/lib/module/createAnimatedComponent/getViewInfo.js +37 -0
  70. package/lib/module/createAnimatedComponent/getViewInfo.js.map +1 -0
  71. package/lib/module/createAnimatedComponent/index.js.map +1 -1
  72. package/lib/module/createAnimatedComponent/setAndForwardRef.js +4 -5
  73. package/lib/module/createAnimatedComponent/setAndForwardRef.js.map +1 -1
  74. package/lib/module/createAnimatedComponent/utils.js.map +1 -1
  75. package/lib/module/index.js.map +1 -1
  76. package/lib/module/index.web.js +1 -2
  77. package/lib/module/index.web.js.map +1 -1
  78. package/lib/module/mock.js +12 -12
  79. package/lib/module/mock.js.map +1 -1
  80. package/lib/module/propsAllowlists.js.map +1 -1
  81. package/lib/module/reanimated2/Bezier.js.map +1 -1
  82. package/lib/module/reanimated2/Colors.js +4 -11
  83. package/lib/module/reanimated2/Colors.js.map +1 -1
  84. package/lib/module/reanimated2/Easing.js +3 -7
  85. package/lib/module/reanimated2/Easing.js.map +1 -1
  86. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +16 -13
  87. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
  88. package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
  89. package/lib/module/reanimated2/NativeReanimated/index.web.js.map +1 -1
  90. package/lib/module/reanimated2/PlatformChecker.js +2 -1
  91. package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
  92. package/lib/module/reanimated2/PropAdapters.js +1 -1
  93. package/lib/module/reanimated2/PropAdapters.js.map +1 -1
  94. package/lib/module/reanimated2/PropsRegistry.js +1 -2
  95. package/lib/module/reanimated2/PropsRegistry.js.map +1 -1
  96. package/lib/module/reanimated2/Sensor.js +2 -2
  97. package/lib/module/reanimated2/Sensor.js.map +1 -1
  98. package/lib/module/reanimated2/SensorContainer.js +2 -2
  99. package/lib/module/reanimated2/SensorContainer.js.map +1 -1
  100. package/lib/module/reanimated2/UpdateLayoutAnimations.js +30 -8
  101. package/lib/module/reanimated2/UpdateLayoutAnimations.js.map +1 -1
  102. package/lib/module/reanimated2/UpdateProps.js.map +1 -1
  103. package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
  104. package/lib/module/reanimated2/WorkletEventHandler.js +74 -31
  105. package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
  106. package/lib/module/reanimated2/animation/clamp.js.map +1 -1
  107. package/lib/module/reanimated2/animation/commonTypes.js.map +1 -1
  108. package/lib/module/reanimated2/animation/decay/decay.js.map +1 -1
  109. package/lib/module/reanimated2/animation/decay/index.js.map +1 -1
  110. package/lib/module/reanimated2/animation/decay/rigidDecay.js.map +1 -1
  111. package/lib/module/reanimated2/animation/decay/rubberBandDecay.js.map +1 -1
  112. package/lib/module/reanimated2/animation/decay/utils.js.map +1 -1
  113. package/lib/module/reanimated2/animation/delay.js.map +1 -1
  114. package/lib/module/reanimated2/animation/index.js.map +1 -1
  115. package/lib/module/reanimated2/animation/repeat.js +1 -6
  116. package/lib/module/reanimated2/animation/repeat.js.map +1 -1
  117. package/lib/module/reanimated2/animation/sequence.js +1 -5
  118. package/lib/module/reanimated2/animation/sequence.js.map +1 -1
  119. package/lib/module/reanimated2/animation/spring.js.map +1 -1
  120. package/lib/module/reanimated2/animation/springUtils.js +8 -10
  121. package/lib/module/reanimated2/animation/springUtils.js.map +1 -1
  122. package/lib/module/reanimated2/animation/styleAnimation.js +5 -4
  123. package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
  124. package/lib/module/reanimated2/animation/timing.js +4 -1
  125. package/lib/module/reanimated2/animation/timing.js.map +1 -1
  126. package/lib/module/reanimated2/animation/transformationMatrix/matrixUtils.js +1 -2
  127. package/lib/module/reanimated2/animation/transformationMatrix/matrixUtils.js.map +1 -1
  128. package/lib/module/reanimated2/animation/util.js +22 -2
  129. package/lib/module/reanimated2/animation/util.js.map +1 -1
  130. package/lib/module/reanimated2/commonTypes.js +3 -1
  131. package/lib/module/reanimated2/commonTypes.js.map +1 -1
  132. package/lib/module/reanimated2/component/FlatList.js +1 -0
  133. package/lib/module/reanimated2/component/FlatList.js.map +1 -1
  134. package/lib/module/reanimated2/component/Image.js +1 -0
  135. package/lib/module/reanimated2/component/Image.js.map +1 -1
  136. package/lib/module/reanimated2/component/LayoutAnimationConfig.js +1 -0
  137. package/lib/module/reanimated2/component/LayoutAnimationConfig.js.map +1 -1
  138. package/lib/module/reanimated2/component/PerformanceMonitor.js +169 -0
  139. package/lib/module/reanimated2/component/PerformanceMonitor.js.map +1 -0
  140. package/lib/module/reanimated2/component/ScrollView.js +1 -0
  141. package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
  142. package/lib/module/reanimated2/component/Text.js +1 -0
  143. package/lib/module/reanimated2/component/Text.js.map +1 -1
  144. package/lib/module/reanimated2/component/View.js +1 -0
  145. package/lib/module/reanimated2/component/View.js.map +1 -1
  146. package/lib/module/reanimated2/core.js +6 -15
  147. package/lib/module/reanimated2/core.js.map +1 -1
  148. package/lib/module/reanimated2/errors.js +8 -8
  149. package/lib/module/reanimated2/errors.js.map +1 -1
  150. package/lib/module/reanimated2/fabricUtils.js +33 -8
  151. package/lib/module/reanimated2/fabricUtils.js.map +1 -1
  152. package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
  153. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +2 -2
  154. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
  155. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
  156. package/lib/module/reanimated2/frameCallback/index.js.map +1 -1
  157. package/lib/module/reanimated2/globals.d.js.map +1 -1
  158. package/lib/module/reanimated2/helperTypes.js.map +1 -1
  159. package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
  160. package/lib/module/reanimated2/hook/index.js.map +1 -1
  161. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +1 -0
  162. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
  163. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +3 -4
  164. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
  165. package/lib/module/reanimated2/hook/useAnimatedProps.js.map +1 -1
  166. package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -0
  167. package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
  168. package/lib/module/reanimated2/hook/useAnimatedRef.js +12 -7
  169. package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
  170. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +3 -1
  171. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
  172. package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
  173. package/lib/module/reanimated2/hook/useAnimatedStyle.js +3 -6
  174. package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
  175. package/lib/module/reanimated2/hook/useDerivedValue.js +3 -1
  176. package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
  177. package/lib/module/reanimated2/hook/useEvent.js +4 -5
  178. package/lib/module/reanimated2/hook/useEvent.js.map +1 -1
  179. package/lib/module/reanimated2/hook/useFrameCallback.js +1 -2
  180. package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
  181. package/lib/module/reanimated2/hook/useHandler.js +3 -1
  182. package/lib/module/reanimated2/hook/useHandler.js.map +1 -1
  183. package/lib/module/reanimated2/hook/useReducedMotion.js.map +1 -1
  184. package/lib/module/reanimated2/hook/useScrollViewOffset.js +60 -16
  185. package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
  186. package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
  187. package/lib/module/reanimated2/hook/useWorkletCallback.js.map +1 -1
  188. package/lib/module/reanimated2/hook/utils.js.map +1 -1
  189. package/lib/module/reanimated2/index.js +2 -0
  190. package/lib/module/reanimated2/index.js.map +1 -1
  191. package/lib/module/reanimated2/initializers.js +1 -5
  192. package/lib/module/reanimated2/initializers.js.map +1 -1
  193. package/lib/module/reanimated2/interpolateColor.js +2 -6
  194. package/lib/module/reanimated2/interpolateColor.js.map +1 -1
  195. package/lib/module/reanimated2/interpolation.js +1 -1
  196. package/lib/module/reanimated2/interpolation.js.map +1 -1
  197. package/lib/module/reanimated2/isSharedValue.js.map +1 -1
  198. package/lib/module/reanimated2/jestUtils.js +3 -6
  199. package/lib/module/reanimated2/jestUtils.js.map +1 -1
  200. package/lib/module/reanimated2/jestUtils.web.js.map +1 -1
  201. package/lib/module/reanimated2/js-reanimated/JSReanimated.js +5 -9
  202. package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
  203. package/lib/module/reanimated2/js-reanimated/WebSensor.js.map +1 -1
  204. package/lib/module/reanimated2/js-reanimated/index.js +2 -2
  205. package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
  206. package/lib/module/reanimated2/js-reanimated/react-native-web.d.js.map +1 -1
  207. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +4 -2
  208. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
  209. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +12 -11
  210. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  211. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +12 -10
  212. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
  213. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
  214. package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
  215. package/lib/module/reanimated2/layoutReanimation/animationsManager.js +11 -4
  216. package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
  217. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +22 -22
  218. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
  219. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +22 -22
  220. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
  221. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +26 -26
  222. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
  223. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +10 -10
  224. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
  225. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +6 -6
  226. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  227. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +10 -10
  228. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
  229. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +18 -18
  230. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
  231. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +18 -18
  232. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
  233. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +10 -10
  234. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
  235. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +34 -34
  236. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  237. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
  238. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +17 -4
  239. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  240. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +4 -4
  241. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  242. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +4 -4
  243. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  244. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +4 -4
  245. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  246. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +4 -4
  247. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  248. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +4 -4
  249. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  250. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
  251. package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
  252. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.js +16 -12
  253. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.js.map +1 -1
  254. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.js +13 -7
  255. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.js.map +1 -1
  256. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.web.js.map +1 -1
  257. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
  258. package/lib/module/reanimated2/layoutReanimation/web/animation/Bounce.web.js.map +1 -1
  259. package/lib/module/reanimated2/layoutReanimation/web/animation/Fade.web.js.map +1 -1
  260. package/lib/module/reanimated2/layoutReanimation/web/animation/Flip.web.js.map +1 -1
  261. package/lib/module/reanimated2/layoutReanimation/web/animation/Lightspeed.web.js.map +1 -1
  262. package/lib/module/reanimated2/layoutReanimation/web/animation/Pinwheel.web.js.map +1 -1
  263. package/lib/module/reanimated2/layoutReanimation/web/animation/Roll.web.js.map +1 -1
  264. package/lib/module/reanimated2/layoutReanimation/web/animation/Rotate.web.js.map +1 -1
  265. package/lib/module/reanimated2/layoutReanimation/web/animation/Slide.web.js.map +1 -1
  266. package/lib/module/reanimated2/layoutReanimation/web/animation/Stretch.web.js.map +1 -1
  267. package/lib/module/reanimated2/layoutReanimation/web/animation/Zoom.web.js.map +1 -1
  268. package/lib/module/reanimated2/layoutReanimation/web/animationParser.js +0 -2
  269. package/lib/module/reanimated2/layoutReanimation/web/animationParser.js.map +1 -1
  270. package/lib/module/reanimated2/layoutReanimation/web/animationsManager.js +1 -2
  271. package/lib/module/reanimated2/layoutReanimation/web/animationsManager.js.map +1 -1
  272. package/lib/module/reanimated2/layoutReanimation/web/componentStyle.js +3 -1
  273. package/lib/module/reanimated2/layoutReanimation/web/componentStyle.js.map +1 -1
  274. package/lib/module/reanimated2/layoutReanimation/web/componentUtils.js +6 -7
  275. package/lib/module/reanimated2/layoutReanimation/web/componentUtils.js.map +1 -1
  276. package/lib/module/reanimated2/layoutReanimation/web/config.js.map +1 -1
  277. package/lib/module/reanimated2/layoutReanimation/web/createAnimation.js +2 -2
  278. package/lib/module/reanimated2/layoutReanimation/web/createAnimation.js.map +1 -1
  279. package/lib/module/reanimated2/layoutReanimation/web/domUtils.js +4 -4
  280. package/lib/module/reanimated2/layoutReanimation/web/domUtils.js.map +1 -1
  281. package/lib/module/reanimated2/layoutReanimation/web/index.js.map +1 -1
  282. package/lib/module/reanimated2/layoutReanimation/web/transition/Fading.web.js.map +1 -1
  283. package/lib/module/reanimated2/layoutReanimation/web/transition/Linear.web.js.map +1 -1
  284. package/lib/module/reanimated2/layoutReanimation/web/transition/Sequenced.web.js.map +1 -1
  285. package/lib/module/reanimated2/mappers.js +2 -4
  286. package/lib/module/reanimated2/mappers.js.map +1 -1
  287. package/lib/module/reanimated2/mockedRequestAnimationFrame.js.map +1 -1
  288. package/lib/module/reanimated2/mutables.js +2 -4
  289. package/lib/module/reanimated2/mutables.js.map +1 -1
  290. package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
  291. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
  292. package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -1
  293. package/lib/module/reanimated2/platform-specific/jsVersion.js +1 -1
  294. package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -1
  295. package/lib/module/reanimated2/platformFunctions/dispatchCommand.js +2 -4
  296. package/lib/module/reanimated2/platformFunctions/dispatchCommand.js.map +1 -1
  297. package/lib/module/reanimated2/platformFunctions/dispatchCommand.web.js.map +1 -1
  298. package/lib/module/reanimated2/platformFunctions/getRelativeCoords.js +2 -2
  299. package/lib/module/reanimated2/platformFunctions/getRelativeCoords.js.map +1 -1
  300. package/lib/module/reanimated2/platformFunctions/index.js.map +1 -1
  301. package/lib/module/reanimated2/platformFunctions/measure.js.map +1 -1
  302. package/lib/module/reanimated2/platformFunctions/measure.web.js.map +1 -1
  303. package/lib/module/reanimated2/platformFunctions/scrollTo.js.map +1 -1
  304. package/lib/module/reanimated2/platformFunctions/scrollTo.web.js +1 -1
  305. package/lib/module/reanimated2/platformFunctions/scrollTo.web.js.map +1 -1
  306. package/lib/module/reanimated2/platformFunctions/setGestureState.js.map +1 -1
  307. package/lib/module/reanimated2/platformFunctions/setGestureState.web.js.map +1 -1
  308. package/lib/module/reanimated2/platformFunctions/setNativeProps.js.map +1 -1
  309. package/lib/module/reanimated2/platformFunctions/setNativeProps.web.js.map +1 -1
  310. package/lib/module/reanimated2/pluginUtils.js.map +1 -1
  311. package/lib/module/reanimated2/publicGlobals.js.map +1 -1
  312. package/lib/module/reanimated2/runtimes.js +11 -19
  313. package/lib/module/reanimated2/runtimes.js.map +1 -1
  314. package/lib/module/reanimated2/screenTransition/RNScreensTurboModule.js +20 -0
  315. package/lib/module/reanimated2/screenTransition/RNScreensTurboModule.js.map +1 -0
  316. package/lib/module/reanimated2/screenTransition/animationManager.js +41 -0
  317. package/lib/module/reanimated2/screenTransition/animationManager.js.map +1 -0
  318. package/lib/module/reanimated2/screenTransition/commonTypes.js +4 -0
  319. package/lib/module/reanimated2/screenTransition/commonTypes.js.map +1 -0
  320. package/lib/module/reanimated2/screenTransition/index.js +5 -0
  321. package/lib/module/reanimated2/screenTransition/index.js.map +1 -0
  322. package/lib/module/reanimated2/screenTransition/presets.js +157 -0
  323. package/lib/module/reanimated2/screenTransition/presets.js.map +1 -0
  324. package/lib/module/reanimated2/screenTransition/styleUpdater.js +62 -0
  325. package/lib/module/reanimated2/screenTransition/styleUpdater.js.map +1 -0
  326. package/lib/module/reanimated2/screenTransition/swipeSimulator.js +190 -0
  327. package/lib/module/reanimated2/screenTransition/swipeSimulator.js.map +1 -0
  328. package/lib/module/reanimated2/shareableMappingCache.js.map +1 -1
  329. package/lib/module/reanimated2/shareables.js +27 -10
  330. package/lib/module/reanimated2/shareables.js.map +1 -1
  331. package/lib/module/reanimated2/threads.js +9 -34
  332. package/lib/module/reanimated2/threads.js.map +1 -1
  333. package/lib/module/reanimated2/valueSetter.js +1 -2
  334. package/lib/module/reanimated2/valueSetter.js.map +1 -1
  335. package/lib/module/reanimated2/valueUnpacker.js +4 -3
  336. package/lib/module/reanimated2/valueUnpacker.js.map +1 -1
  337. package/lib/module/specs/NativeReanimatedModule.js +5 -0
  338. package/lib/module/specs/NativeReanimatedModule.js.map +1 -0
  339. package/lib/typescript/ConfigHelper.d.ts +1 -0
  340. package/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts +1 -1
  341. package/lib/typescript/createAnimatedComponent/JSPropsUpdater.web.d.ts +6 -0
  342. package/lib/typescript/createAnimatedComponent/PropsFilter.d.ts +3 -0
  343. package/lib/typescript/createAnimatedComponent/getViewInfo.d.ts +9 -0
  344. package/lib/typescript/reanimated2/NativeReanimated/NativeReanimated.d.ts +8 -13
  345. package/lib/typescript/reanimated2/UpdateLayoutAnimations.d.ts +12 -1
  346. package/lib/typescript/reanimated2/WorkletEventHandler.d.ts +16 -9
  347. package/lib/typescript/reanimated2/animation/util.d.ts +2 -0
  348. package/lib/typescript/reanimated2/component/LayoutAnimationConfig.d.ts +1 -1
  349. package/lib/typescript/reanimated2/component/PerformanceMonitor.d.ts +2 -0
  350. package/lib/typescript/reanimated2/core.d.ts +3 -4
  351. package/lib/typescript/reanimated2/hook/commonTypes.d.ts +6 -0
  352. package/lib/typescript/reanimated2/hook/useEvent.d.ts +2 -3
  353. package/lib/typescript/reanimated2/hook/useScrollViewOffset.d.ts +3 -1
  354. package/lib/typescript/reanimated2/index.d.ts +3 -0
  355. package/lib/typescript/reanimated2/js-reanimated/JSReanimated.d.ts +2 -2
  356. package/lib/typescript/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +2 -1
  357. package/lib/typescript/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.d.ts +2 -2
  358. package/lib/typescript/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.d.ts +2 -2
  359. package/lib/typescript/reanimated2/platform-specific/jsVersion.d.ts +1 -1
  360. package/lib/typescript/reanimated2/screenTransition/RNScreensTurboModule.d.ts +2 -0
  361. package/lib/typescript/reanimated2/screenTransition/animationManager.d.ts +3 -0
  362. package/lib/typescript/reanimated2/screenTransition/commonTypes.d.ts +38 -0
  363. package/lib/typescript/reanimated2/screenTransition/index.d.ts +3 -0
  364. package/lib/typescript/reanimated2/screenTransition/presets.d.ts +11 -0
  365. package/lib/typescript/reanimated2/screenTransition/styleUpdater.d.ts +3 -0
  366. package/lib/typescript/reanimated2/screenTransition/swipeSimulator.d.ts +2 -0
  367. package/lib/typescript/specs/NativeReanimatedModule.d.ts +6 -0
  368. package/package.json +29 -17
  369. package/plugin/build/plugin.js +7 -2
  370. package/src/ConfigHelper.ts +1 -1
  371. package/src/animationBuilder.tsx +2 -0
  372. package/src/createAnimatedComponent/InlinePropManager.ts +2 -2
  373. package/src/createAnimatedComponent/JSPropsUpdater.ts +7 -6
  374. package/src/createAnimatedComponent/JSPropsUpdater.web.ts +26 -0
  375. package/src/createAnimatedComponent/PropsFilter.tsx +31 -6
  376. package/src/createAnimatedComponent/createAnimatedComponent.tsx +108 -60
  377. package/src/createAnimatedComponent/getViewInfo.ts +39 -0
  378. package/src/mock.ts +13 -1
  379. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +33 -35
  380. package/src/reanimated2/PlatformChecker.ts +3 -2
  381. package/src/reanimated2/PropsRegistry.ts +1 -3
  382. package/src/reanimated2/UpdateLayoutAnimations.ts +53 -13
  383. package/src/reanimated2/WorkletEventHandler.ts +98 -39
  384. package/src/reanimated2/animation/styleAnimation.ts +8 -6
  385. package/src/reanimated2/animation/timing.ts +9 -1
  386. package/src/reanimated2/animation/util.ts +28 -3
  387. package/src/reanimated2/commonTypes.ts +4 -1
  388. package/src/reanimated2/component/PerformanceMonitor.tsx +216 -0
  389. package/src/reanimated2/core.ts +9 -31
  390. package/src/reanimated2/errors.ts +1 -0
  391. package/src/reanimated2/fabricUtils.ts +43 -18
  392. package/src/reanimated2/globals.d.ts +11 -1
  393. package/src/reanimated2/hook/commonTypes.ts +10 -0
  394. package/src/reanimated2/hook/useAnimatedRef.ts +20 -11
  395. package/src/reanimated2/hook/useEvent.ts +4 -4
  396. package/src/reanimated2/hook/useScrollViewOffset.ts +94 -23
  397. package/src/reanimated2/index.ts +11 -0
  398. package/src/reanimated2/js-reanimated/JSReanimated.ts +7 -7
  399. package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +4 -0
  400. package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +9 -1
  401. package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +9 -1
  402. package/src/reanimated2/layoutReanimation/animationsManager.ts +10 -2
  403. package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +13 -0
  404. package/src/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.ts +17 -8
  405. package/src/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.ts +26 -7
  406. package/src/reanimated2/layoutReanimation/web/animationsManager.ts +1 -1
  407. package/src/reanimated2/layoutReanimation/web/componentStyle.ts +3 -1
  408. package/src/reanimated2/layoutReanimation/web/componentUtils.ts +1 -1
  409. package/src/reanimated2/layoutReanimation/web/createAnimation.ts +2 -2
  410. package/src/reanimated2/platform-specific/jsVersion.ts +1 -1
  411. package/src/reanimated2/platformFunctions/getRelativeCoords.ts +2 -2
  412. package/src/reanimated2/screenTransition/RNScreensTurboModule.ts +29 -0
  413. package/src/reanimated2/screenTransition/animationManager.ts +45 -0
  414. package/src/reanimated2/screenTransition/commonTypes.ts +63 -0
  415. package/src/reanimated2/screenTransition/index.ts +12 -0
  416. package/src/reanimated2/screenTransition/presets.ts +137 -0
  417. package/src/reanimated2/screenTransition/styleUpdater.ts +73 -0
  418. package/src/reanimated2/screenTransition/swipeSimulator.ts +238 -0
  419. package/src/reanimated2/shareables.ts +29 -6
  420. package/src/reanimated2/valueUnpacker.ts +10 -3
  421. package/src/specs/NativeReanimatedModule.ts +9 -0
  422. package/android/src/reactNativeVersionPatch/ReanimatedUIManager/70/com/swmansion/reanimated/ReanimatedUIManagerFactory.java +0 -16
  423. package/android/src/reactNativeVersionPatch/messageQueueThread/67/com/swmansion/reanimated/ReanimatedMessageQueueThread.java +0 -12
@@ -1 +1 @@
1
- {"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","Easing","withDelay","withSequence","withTiming","ReduceMotion","getReduceMotionFromConfig","InnerKeyframe","constructor","definitions","System","delay","delayV","delayFunction","getDelayFunction","keyframes","initialValues","parseDefinitions","callback","callbackV","animations","addAnimation","keyframePoints","length","animation","duration","easing","linear","map","keyframePoint","includes","transform","push","split","keys","forEach","transformProp","index","transformPropKey","makeKeyframeKey","parsedKeyframes","from","Error","to","styleProp","Array","isArray","transformStyle","durationV","animationKeyPoints","getAnimationDuration","currentKeyPoint","maxDuration","currentDuration","reduce","acc","addKeyPoint","_ref","filter","parseInt","sort","a","b","keyPoint","keyframe","addKeyPointWith","durationMs","delayMs","withCallback","reduceMotion","reduceMotionV","_","Keyframe"],"sources":["Keyframe.ts"],"sourcesContent":["'use strict';\nimport type { EasingFunction } from '../../Easing';\nimport { Easing } from '../../Easing';\nimport { withDelay, withSequence, withTiming } from '../../animation';\nimport type {\n AnimationFunction,\n EntryExitAnimationFunction,\n IEntryExitAnimationBuilder,\n KeyframeProps,\n StylePropsWithArrayTransform,\n} from './commonTypes';\nimport type { StyleProps } from '../../commonTypes';\nimport type { TransformArrayItem } from '../../helperTypes';\nimport { ReduceMotion } from '../../commonTypes';\nimport { getReduceMotionFromConfig } from '../../animation/util';\n\ninterface KeyframePoint {\n duration: number;\n value: number | string;\n easing?: EasingFunction;\n}\ninterface ParsedKeyframesDefinition {\n initialValues: StyleProps;\n keyframes: Record<string, KeyframePoint[]>;\n}\nclass InnerKeyframe implements IEntryExitAnimationBuilder {\n durationV?: number;\n delayV?: number;\n reduceMotionV: ReduceMotion = ReduceMotion.System;\n callbackV?: (finished: boolean) => void;\n definitions: Record<string, KeyframeProps>;\n\n /*\n Keyframe definition should be passed in the constructor as the map\n which keys are between range 0 - 100 (%) and correspond to the point in the animation progress.\n */\n constructor(definitions: Record<string, KeyframeProps>) {\n this.definitions = definitions;\n }\n\n private parseDefinitions(): ParsedKeyframesDefinition {\n /* \n Each style property contain an array with all their key points: \n value, duration of transition to that value, and optional easing function (defaults to Linear)\n */\n const parsedKeyframes: Record<string, KeyframePoint[]> = {};\n /*\n Parsing keyframes 'from' and 'to'.\n */\n if (this.definitions.from) {\n if (this.definitions['0']) {\n throw new Error(\n \"[Reanimated] You cannot provide both keyframe 0 and 'from' as they both specified initial values.\"\n );\n }\n this.definitions['0'] = this.definitions.from;\n delete this.definitions.from;\n }\n if (this.definitions.to) {\n if (this.definitions['100']) {\n throw new Error(\n \"[Reanimated] You cannot provide both keyframe 100 and 'to' as they both specified values at the end of the animation.\"\n );\n }\n this.definitions['100'] = this.definitions.to;\n delete this.definitions.to;\n }\n /* \n One of the assumptions is that keyframe 0 is required to properly set initial values.\n Every other keyframe should contain properties from the set provided as initial values.\n */\n if (!this.definitions['0']) {\n throw new Error(\n \"[Reanimated] Please provide 0 or 'from' keyframe with initial state of your object.\"\n );\n }\n const initialValues: StyleProps = this.definitions['0'] as StyleProps;\n /*\n Initialize parsedKeyframes for properties provided in initial keyframe\n */\n Object.keys(initialValues).forEach((styleProp: string) => {\n if (styleProp === 'transform') {\n if (!Array.isArray(initialValues.transform)) {\n return;\n }\n initialValues.transform.forEach((transformStyle, index) => {\n Object.keys(transformStyle).forEach((transformProp: string) => {\n parsedKeyframes[makeKeyframeKey(index, transformProp)] = [];\n });\n });\n } else {\n parsedKeyframes[styleProp] = [];\n }\n });\n\n const duration: number = this.durationV ? this.durationV : 500;\n const animationKeyPoints: Array<string> = Array.from(\n Object.keys(this.definitions)\n );\n\n const getAnimationDuration = (\n key: string,\n currentKeyPoint: number\n ): number => {\n const maxDuration = (currentKeyPoint / 100) * duration;\n const currentDuration = parsedKeyframes[key].reduce(\n (acc: number, value: KeyframePoint) => acc + value.duration,\n 0\n );\n return maxDuration - currentDuration;\n };\n\n /* \n Other keyframes can't contain properties that were not specified in initial keyframe.\n */\n const addKeyPoint = ({\n key,\n value,\n currentKeyPoint,\n easing,\n }: {\n key: string;\n value: string | number;\n currentKeyPoint: number;\n easing?: EasingFunction;\n }): void => {\n if (!(key in parsedKeyframes)) {\n throw new Error(\n \"[Reanimated] Keyframe can contain only that set of properties that were provide with initial values (keyframe 0 or 'from')\"\n );\n }\n parsedKeyframes[key].push({\n duration: getAnimationDuration(key, currentKeyPoint),\n value,\n easing,\n });\n };\n animationKeyPoints\n .filter((value: string) => parseInt(value) !== 0)\n .sort((a: string, b: string) => parseInt(a) - parseInt(b))\n .forEach((keyPoint: string) => {\n if (parseInt(keyPoint) < 0 || parseInt(keyPoint) > 100) {\n throw new Error(\n '[Reanimated] Keyframe should be in between range 0 - 100.'\n );\n }\n const keyframe: KeyframeProps = this.definitions[keyPoint];\n const easing = keyframe.easing;\n delete keyframe.easing;\n const addKeyPointWith = (key: string, value: string | number) =>\n addKeyPoint({\n key,\n value,\n currentKeyPoint: parseInt(keyPoint),\n easing,\n });\n Object.keys(keyframe).forEach((key: string) => {\n if (key === 'transform') {\n if (!Array.isArray(keyframe.transform)) {\n return;\n }\n keyframe.transform.forEach((transformStyle, index) => {\n Object.keys(transformStyle).forEach((transformProp: string) => {\n addKeyPointWith(\n makeKeyframeKey(index, transformProp),\n transformStyle[\n transformProp as keyof typeof transformStyle\n ] as number | string // Here we assume that user has passed props of proper type.\n // I don't think it's worthwhile to check if he passed i.e. `Animated.Node`.\n );\n });\n });\n } else {\n addKeyPointWith(key, keyframe[key]);\n }\n });\n });\n return { initialValues, keyframes: parsedKeyframes };\n }\n\n duration(durationMs: number): InnerKeyframe {\n this.durationV = durationMs;\n return this;\n }\n\n delay(delayMs: number): InnerKeyframe {\n this.delayV = delayMs;\n return this;\n }\n\n withCallback(callback: (finsihed: boolean) => void): InnerKeyframe {\n this.callbackV = callback;\n return this;\n }\n\n reduceMotion(reduceMotionV: ReduceMotion): this {\n this.reduceMotionV = reduceMotionV;\n return this;\n }\n\n private getDelayFunction(): AnimationFunction {\n const delay = this.delayV;\n const reduceMotion = this.reduceMotionV;\n return delay\n ? // eslint-disable-next-line @typescript-eslint/no-shadow\n (delay, animation) => {\n 'worklet';\n return withDelay(delay, animation, reduceMotion);\n }\n : (_, animation) => {\n 'worklet';\n animation.reduceMotion = getReduceMotionFromConfig(reduceMotion);\n return animation;\n };\n }\n\n build = (): EntryExitAnimationFunction => {\n const delay = this.delayV;\n const delayFunction = this.getDelayFunction();\n const { keyframes, initialValues } = this.parseDefinitions();\n const callback = this.callbackV;\n\n return () => {\n 'worklet';\n const animations: StylePropsWithArrayTransform = {};\n\n /* \n For each style property, an animations sequence is created that corresponds with its key points.\n Transform style properties require special handling because of their nested structure.\n */\n const addAnimation = (key: string) => {\n const keyframePoints = keyframes[key];\n // in case if property was only passed as initial value\n if (keyframePoints.length === 0) {\n return;\n }\n const animation = delayFunction(\n delay,\n keyframePoints.length === 1\n ? withTiming(keyframePoints[0].value, {\n duration: keyframePoints[0].duration,\n easing: keyframePoints[0].easing\n ? keyframePoints[0].easing\n : Easing.linear,\n })\n : withSequence(\n ...keyframePoints.map((keyframePoint: KeyframePoint) =>\n withTiming(keyframePoint.value, {\n duration: keyframePoint.duration,\n easing: keyframePoint.easing\n ? keyframePoint.easing\n : Easing.linear,\n })\n )\n )\n );\n if (key.includes('transform')) {\n if (!('transform' in animations)) {\n animations.transform = [];\n }\n animations.transform!.push(<TransformArrayItem>{\n [key.split(':')[1]]: animation,\n });\n } else {\n animations[key] = animation;\n }\n };\n Object.keys(initialValues).forEach((key: string) => {\n if (key.includes('transform')) {\n initialValues[key].forEach(\n (transformProp: Record<string, number | string>, index: number) => {\n Object.keys(transformProp).forEach((transformPropKey: string) => {\n addAnimation(makeKeyframeKey(index, transformPropKey));\n });\n }\n );\n } else {\n addAnimation(key);\n }\n });\n return {\n animations,\n initialValues,\n callback,\n };\n };\n };\n}\n\nfunction makeKeyframeKey(index: number, transformProp: string) {\n 'worklet';\n return `${index}_transform:${transformProp}`;\n}\n\n// TODO TYPESCRIPT This is a temporary type to get rid of .d.ts file.\nexport declare class ReanimatedKeyframe {\n constructor(definitions: Record<string, KeyframeProps>);\n duration(durationMs: number): ReanimatedKeyframe;\n delay(delayMs: number): ReanimatedKeyframe;\n reduceMotion(reduceMotionV: ReduceMotion): ReanimatedKeyframe;\n withCallback(callback: (finished: boolean) => void): ReanimatedKeyframe;\n}\n\n// TODO TYPESCRIPT This temporary cast is to get rid of .d.ts file.\nexport const Keyframe = InnerKeyframe as unknown as typeof ReanimatedKeyframe;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","Easing","withDelay","withSequence","withTiming","ReduceMotion","assertEasingIsWorklet","getReduceMotionFromConfig","InnerKeyframe","constructor","definitions","System","delay","delayV","delayFunction","getDelayFunction","keyframes","initialValues","parseDefinitions","callback","callbackV","animations","addAnimation","keyframePoints","length","animation","duration","easing","linear","map","keyframePoint","includes","transform","push","split","keys","forEach","transformProp","index","transformPropKey","makeKeyframeKey","parsedKeyframes","from","Error","to","styleProp","Array","isArray","transformStyle","durationV","animationKeyPoints","getAnimationDuration","currentKeyPoint","maxDuration","currentDuration","reduce","acc","addKeyPoint","__DEV__","filter","parseInt","sort","a","b","keyPoint","keyframe","addKeyPointWith","durationMs","delayMs","withCallback","reduceMotion","reduceMotionV","_","Keyframe"],"sources":["Keyframe.ts"],"sourcesContent":["'use strict';\nimport type { EasingFunction } from '../../Easing';\nimport { Easing } from '../../Easing';\nimport { withDelay, withSequence, withTiming } from '../../animation';\nimport type {\n AnimationFunction,\n EntryExitAnimationFunction,\n IEntryExitAnimationBuilder,\n KeyframeProps,\n StylePropsWithArrayTransform,\n} from './commonTypes';\nimport type { StyleProps } from '../../commonTypes';\nimport type { TransformArrayItem } from '../../helperTypes';\nimport { ReduceMotion } from '../../commonTypes';\nimport {\n assertEasingIsWorklet,\n getReduceMotionFromConfig,\n} from '../../animation/util';\n\ninterface KeyframePoint {\n duration: number;\n value: number | string;\n easing?: EasingFunction;\n}\ninterface ParsedKeyframesDefinition {\n initialValues: StyleProps;\n keyframes: Record<string, KeyframePoint[]>;\n}\nclass InnerKeyframe implements IEntryExitAnimationBuilder {\n durationV?: number;\n delayV?: number;\n reduceMotionV: ReduceMotion = ReduceMotion.System;\n callbackV?: (finished: boolean) => void;\n definitions: Record<string, KeyframeProps>;\n\n /*\n Keyframe definition should be passed in the constructor as the map\n which keys are between range 0 - 100 (%) and correspond to the point in the animation progress.\n */\n constructor(definitions: Record<string, KeyframeProps>) {\n this.definitions = definitions;\n }\n\n private parseDefinitions(): ParsedKeyframesDefinition {\n /* \n Each style property contain an array with all their key points: \n value, duration of transition to that value, and optional easing function (defaults to Linear)\n */\n const parsedKeyframes: Record<string, KeyframePoint[]> = {};\n /*\n Parsing keyframes 'from' and 'to'.\n */\n if (this.definitions.from) {\n if (this.definitions['0']) {\n throw new Error(\n \"[Reanimated] You cannot provide both keyframe 0 and 'from' as they both specified initial values.\"\n );\n }\n this.definitions['0'] = this.definitions.from;\n delete this.definitions.from;\n }\n if (this.definitions.to) {\n if (this.definitions['100']) {\n throw new Error(\n \"[Reanimated] You cannot provide both keyframe 100 and 'to' as they both specified values at the end of the animation.\"\n );\n }\n this.definitions['100'] = this.definitions.to;\n delete this.definitions.to;\n }\n /* \n One of the assumptions is that keyframe 0 is required to properly set initial values.\n Every other keyframe should contain properties from the set provided as initial values.\n */\n if (!this.definitions['0']) {\n throw new Error(\n \"[Reanimated] Please provide 0 or 'from' keyframe with initial state of your object.\"\n );\n }\n const initialValues: StyleProps = this.definitions['0'] as StyleProps;\n /*\n Initialize parsedKeyframes for properties provided in initial keyframe\n */\n Object.keys(initialValues).forEach((styleProp: string) => {\n if (styleProp === 'transform') {\n if (!Array.isArray(initialValues.transform)) {\n return;\n }\n initialValues.transform.forEach((transformStyle, index) => {\n Object.keys(transformStyle).forEach((transformProp: string) => {\n parsedKeyframes[makeKeyframeKey(index, transformProp)] = [];\n });\n });\n } else {\n parsedKeyframes[styleProp] = [];\n }\n });\n\n const duration: number = this.durationV ? this.durationV : 500;\n const animationKeyPoints: Array<string> = Array.from(\n Object.keys(this.definitions)\n );\n\n const getAnimationDuration = (\n key: string,\n currentKeyPoint: number\n ): number => {\n const maxDuration = (currentKeyPoint / 100) * duration;\n const currentDuration = parsedKeyframes[key].reduce(\n (acc: number, value: KeyframePoint) => acc + value.duration,\n 0\n );\n return maxDuration - currentDuration;\n };\n\n /* \n Other keyframes can't contain properties that were not specified in initial keyframe.\n */\n const addKeyPoint = ({\n key,\n value,\n currentKeyPoint,\n easing,\n }: {\n key: string;\n value: string | number;\n currentKeyPoint: number;\n easing?: EasingFunction;\n }): void => {\n if (!(key in parsedKeyframes)) {\n throw new Error(\n \"[Reanimated] Keyframe can contain only that set of properties that were provide with initial values (keyframe 0 or 'from')\"\n );\n }\n\n if (__DEV__ && easing) {\n assertEasingIsWorklet(easing);\n }\n\n parsedKeyframes[key].push({\n duration: getAnimationDuration(key, currentKeyPoint),\n value,\n easing,\n });\n };\n animationKeyPoints\n .filter((value: string) => parseInt(value) !== 0)\n .sort((a: string, b: string) => parseInt(a) - parseInt(b))\n .forEach((keyPoint: string) => {\n if (parseInt(keyPoint) < 0 || parseInt(keyPoint) > 100) {\n throw new Error(\n '[Reanimated] Keyframe should be in between range 0 - 100.'\n );\n }\n const keyframe: KeyframeProps = this.definitions[keyPoint];\n const easing = keyframe.easing;\n delete keyframe.easing;\n const addKeyPointWith = (key: string, value: string | number) =>\n addKeyPoint({\n key,\n value,\n currentKeyPoint: parseInt(keyPoint),\n easing,\n });\n Object.keys(keyframe).forEach((key: string) => {\n if (key === 'transform') {\n if (!Array.isArray(keyframe.transform)) {\n return;\n }\n keyframe.transform.forEach((transformStyle, index) => {\n Object.keys(transformStyle).forEach((transformProp: string) => {\n addKeyPointWith(\n makeKeyframeKey(index, transformProp),\n transformStyle[\n transformProp as keyof typeof transformStyle\n ] as number | string // Here we assume that user has passed props of proper type.\n // I don't think it's worthwhile to check if he passed i.e. `Animated.Node`.\n );\n });\n });\n } else {\n addKeyPointWith(key, keyframe[key]);\n }\n });\n });\n return { initialValues, keyframes: parsedKeyframes };\n }\n\n duration(durationMs: number): InnerKeyframe {\n this.durationV = durationMs;\n return this;\n }\n\n delay(delayMs: number): InnerKeyframe {\n this.delayV = delayMs;\n return this;\n }\n\n withCallback(callback: (finsihed: boolean) => void): InnerKeyframe {\n this.callbackV = callback;\n return this;\n }\n\n reduceMotion(reduceMotionV: ReduceMotion): this {\n this.reduceMotionV = reduceMotionV;\n return this;\n }\n\n private getDelayFunction(): AnimationFunction {\n const delay = this.delayV;\n const reduceMotion = this.reduceMotionV;\n return delay\n ? // eslint-disable-next-line @typescript-eslint/no-shadow\n (delay, animation) => {\n 'worklet';\n return withDelay(delay, animation, reduceMotion);\n }\n : (_, animation) => {\n 'worklet';\n animation.reduceMotion = getReduceMotionFromConfig(reduceMotion);\n return animation;\n };\n }\n\n build = (): EntryExitAnimationFunction => {\n const delay = this.delayV;\n const delayFunction = this.getDelayFunction();\n const { keyframes, initialValues } = this.parseDefinitions();\n const callback = this.callbackV;\n\n return () => {\n 'worklet';\n const animations: StylePropsWithArrayTransform = {};\n\n /* \n For each style property, an animations sequence is created that corresponds with its key points.\n Transform style properties require special handling because of their nested structure.\n */\n const addAnimation = (key: string) => {\n const keyframePoints = keyframes[key];\n // in case if property was only passed as initial value\n if (keyframePoints.length === 0) {\n return;\n }\n const animation = delayFunction(\n delay,\n keyframePoints.length === 1\n ? withTiming(keyframePoints[0].value, {\n duration: keyframePoints[0].duration,\n easing: keyframePoints[0].easing\n ? keyframePoints[0].easing\n : Easing.linear,\n })\n : withSequence(\n ...keyframePoints.map((keyframePoint: KeyframePoint) =>\n withTiming(keyframePoint.value, {\n duration: keyframePoint.duration,\n easing: keyframePoint.easing\n ? keyframePoint.easing\n : Easing.linear,\n })\n )\n )\n );\n if (key.includes('transform')) {\n if (!('transform' in animations)) {\n animations.transform = [];\n }\n animations.transform!.push(<TransformArrayItem>{\n [key.split(':')[1]]: animation,\n });\n } else {\n animations[key] = animation;\n }\n };\n Object.keys(initialValues).forEach((key: string) => {\n if (key.includes('transform')) {\n initialValues[key].forEach(\n (transformProp: Record<string, number | string>, index: number) => {\n Object.keys(transformProp).forEach((transformPropKey: string) => {\n addAnimation(makeKeyframeKey(index, transformPropKey));\n });\n }\n );\n } else {\n addAnimation(key);\n }\n });\n return {\n animations,\n initialValues,\n callback,\n };\n };\n };\n}\n\nfunction makeKeyframeKey(index: number, transformProp: string) {\n 'worklet';\n return `${index}_transform:${transformProp}`;\n}\n\n// TODO TYPESCRIPT This is a temporary type to get rid of .d.ts file.\nexport declare class ReanimatedKeyframe {\n constructor(definitions: Record<string, KeyframeProps>);\n duration(durationMs: number): ReanimatedKeyframe;\n delay(delayMs: number): ReanimatedKeyframe;\n reduceMotion(reduceMotionV: ReduceMotion): ReanimatedKeyframe;\n withCallback(callback: (finished: boolean) => void): ReanimatedKeyframe;\n}\n\n// TODO TYPESCRIPT This temporary cast is to get rid of .d.ts file.\nexport const Keyframe = InnerKeyframe as unknown as typeof ReanimatedKeyframe;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["LayoutAnimationType","SharedTransitionType"],"sources":["commonTypes.ts"],"sourcesContent":["'use strict';\nimport type { TransformArrayItem } from '../../helperTypes';\nimport type { EasingFunction } from '../../Easing';\nimport type { ShareableRef, StyleProps } from '../../commonTypes';\n\nexport type LayoutAnimationsOptions =\n | 'originX'\n | 'originY'\n | 'width'\n | 'height'\n | 'borderRadius'\n | 'globalOriginX'\n | 'globalOriginY';\n\ntype CurrentLayoutAnimationsValues = {\n [K in LayoutAnimationsOptions as `current${Capitalize<string & K>}`]: number;\n};\n\ntype TargetLayoutAnimationsValues = {\n [K in LayoutAnimationsOptions as `target${Capitalize<string & K>}`]: number;\n};\n\ninterface WindowDimensions {\n windowWidth: number;\n windowHeight: number;\n}\n\nexport interface KeyframeProps extends StyleProps {\n easing?: EasingFunction;\n}\n\nexport type LayoutAnimation = {\n initialValues: StyleProps;\n animations: StyleProps;\n callback?: (finished: boolean) => void;\n};\n\nexport type AnimationFunction = (a?: any, b?: any, c?: any) => any; // this is just a temporary mock\n\nexport type EntryAnimationsValues = TargetLayoutAnimationsValues &\n WindowDimensions;\n\nexport type ExitAnimationsValues = CurrentLayoutAnimationsValues &\n WindowDimensions;\n\nexport type EntryExitAnimationFunction =\n | ((targetValues: EntryAnimationsValues) => LayoutAnimation)\n | ((targetValues: ExitAnimationsValues) => LayoutAnimation)\n | (() => LayoutAnimation);\n\nexport type AnimationConfigFunction<T> = (targetValues: T) => LayoutAnimation;\n\nexport type LayoutAnimationsValues = CurrentLayoutAnimationsValues &\n TargetLayoutAnimationsValues &\n WindowDimensions;\n\nexport interface SharedTransitionAnimationsValues\n extends LayoutAnimationsValues {\n currentTransformMatrix: number[];\n targetTransformMatrix: number[];\n}\n\nexport type SharedTransitionAnimationsFunction = (\n values: SharedTransitionAnimationsValues\n) => LayoutAnimation;\n\nexport enum LayoutAnimationType {\n ENTERING = 1,\n EXITING = 2,\n LAYOUT = 3,\n SHARED_ELEMENT_TRANSITION = 4,\n SHARED_ELEMENT_TRANSITION_PROGRESS = 5,\n}\n\nexport type LayoutAnimationFunction = (\n targetValues: LayoutAnimationsValues\n) => LayoutAnimation;\n\nexport type LayoutAnimationStartFunction = (\n tag: number,\n type: LayoutAnimationType,\n yogaValues: Partial<SharedTransitionAnimationsValues>,\n config: LayoutAnimationFunction\n) => void;\n\nexport interface ILayoutAnimationBuilder {\n build: () => LayoutAnimationFunction;\n}\n\nexport interface BaseLayoutAnimationConfig {\n duration?: number;\n easing?: EasingFunction;\n type?: AnimationFunction;\n damping?: number;\n dampingRatio?: number;\n mass?: number;\n stiffness?: number;\n overshootClamping?: number;\n restDisplacementThreshold?: number;\n restSpeedThreshold?: number;\n}\n\nexport interface BaseBuilderAnimationConfig extends BaseLayoutAnimationConfig {\n rotate?: number | string;\n}\n\nexport type LayoutAnimationAndConfig = [\n AnimationFunction,\n BaseBuilderAnimationConfig\n];\n\nexport interface IEntryExitAnimationBuilder {\n build: () => EntryExitAnimationFunction;\n}\n\nexport interface IEntryAnimationBuilder {\n build: () => AnimationConfigFunction<EntryAnimationsValues>;\n}\n\nexport interface IExitAnimationBuilder {\n build: () => AnimationConfigFunction<ExitAnimationsValues>;\n}\n\nexport type ProgressAnimationCallback = (\n viewTag: number,\n progress: number\n) => void;\n\nexport type ProgressAnimation = (\n viewTag: number,\n values: SharedTransitionAnimationsValues,\n progress: number\n) => void;\n\nexport type CustomProgressAnimation = (\n values: SharedTransitionAnimationsValues,\n progress: number\n) => StyleProps;\n\n/**\n * Used to configure the `.defaultTransitionType()` shared transition modifier.\n * @experimental\n */\nexport enum SharedTransitionType {\n ANIMATION = 'animation',\n PROGRESS_ANIMATION = 'progressAnimation',\n}\n\nexport type EntryExitAnimationsValues =\n | EntryAnimationsValues\n | ExitAnimationsValues;\n\nexport type StylePropsWithArrayTransform = StyleProps & {\n transform?: TransformArrayItem[];\n};\n\nexport interface LayoutAnimationBatchItem {\n viewTag: number;\n type: LayoutAnimationType;\n config: ShareableRef<Keyframe | LayoutAnimationFunction> | undefined;\n}\n"],"mappings":"AAAA,YAAY;;AAqCwD;;AA6BpE,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAyE/B;AACA;AACA;AACA;AACA,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA"}
1
+ {"version":3,"names":["LayoutAnimationType","SharedTransitionType"],"sources":["commonTypes.ts"],"sourcesContent":["'use strict';\nimport type { TransformArrayItem } from '../../helperTypes';\nimport type { EasingFunction } from '../../Easing';\nimport type { ShareableRef, StyleProps } from '../../commonTypes';\n\nexport type LayoutAnimationsOptions =\n | 'originX'\n | 'originY'\n | 'width'\n | 'height'\n | 'borderRadius'\n | 'globalOriginX'\n | 'globalOriginY';\n\ntype CurrentLayoutAnimationsValues = {\n [K in LayoutAnimationsOptions as `current${Capitalize<string & K>}`]: number;\n};\n\ntype TargetLayoutAnimationsValues = {\n [K in LayoutAnimationsOptions as `target${Capitalize<string & K>}`]: number;\n};\n\ninterface WindowDimensions {\n windowWidth: number;\n windowHeight: number;\n}\n\nexport interface KeyframeProps extends StyleProps {\n easing?: EasingFunction;\n}\n\nexport type LayoutAnimation = {\n initialValues: StyleProps;\n animations: StyleProps;\n callback?: (finished: boolean) => void;\n};\n\nexport type AnimationFunction = (a?: any, b?: any, c?: any) => any; // this is just a temporary mock\n\nexport type EntryAnimationsValues = TargetLayoutAnimationsValues &\n WindowDimensions;\n\nexport type ExitAnimationsValues = CurrentLayoutAnimationsValues &\n WindowDimensions;\n\nexport type EntryExitAnimationFunction =\n | ((targetValues: EntryAnimationsValues) => LayoutAnimation)\n | ((targetValues: ExitAnimationsValues) => LayoutAnimation)\n | (() => LayoutAnimation);\n\nexport type AnimationConfigFunction<T> = (targetValues: T) => LayoutAnimation;\n\nexport type LayoutAnimationsValues = CurrentLayoutAnimationsValues &\n TargetLayoutAnimationsValues &\n WindowDimensions;\n\nexport interface SharedTransitionAnimationsValues\n extends LayoutAnimationsValues {\n currentTransformMatrix: number[];\n targetTransformMatrix: number[];\n}\n\nexport type SharedTransitionAnimationsFunction = (\n values: SharedTransitionAnimationsValues\n) => LayoutAnimation;\n\nexport enum LayoutAnimationType {\n ENTERING = 1,\n EXITING = 2,\n LAYOUT = 3,\n SHARED_ELEMENT_TRANSITION = 4,\n SHARED_ELEMENT_TRANSITION_PROGRESS = 5,\n}\n\nexport type LayoutAnimationFunction = (\n targetValues: LayoutAnimationsValues\n) => LayoutAnimation;\n\nexport type LayoutAnimationStartFunction = (\n tag: number,\n type: LayoutAnimationType,\n yogaValues: Partial<SharedTransitionAnimationsValues>,\n config: LayoutAnimationFunction\n) => void;\n\nexport interface ILayoutAnimationBuilder {\n build: () => LayoutAnimationFunction;\n}\n\nexport interface BaseLayoutAnimationConfig {\n duration?: number;\n easing?: EasingFunction;\n type?: AnimationFunction;\n damping?: number;\n dampingRatio?: number;\n mass?: number;\n stiffness?: number;\n overshootClamping?: number;\n restDisplacementThreshold?: number;\n restSpeedThreshold?: number;\n}\n\nexport interface BaseBuilderAnimationConfig extends BaseLayoutAnimationConfig {\n rotate?: number | string;\n}\n\nexport type LayoutAnimationAndConfig = [\n AnimationFunction,\n BaseBuilderAnimationConfig\n];\n\nexport interface IEntryExitAnimationBuilder {\n build: () => EntryExitAnimationFunction;\n}\n\nexport interface IEntryAnimationBuilder {\n build: () => AnimationConfigFunction<EntryAnimationsValues>;\n}\n\nexport interface IExitAnimationBuilder {\n build: () => AnimationConfigFunction<ExitAnimationsValues>;\n}\n\nexport type ProgressAnimationCallback = (\n viewTag: number,\n progress: number\n) => void;\n\nexport type ProgressAnimation = (\n viewTag: number,\n values: SharedTransitionAnimationsValues,\n progress: number\n) => void;\n\nexport type CustomProgressAnimation = (\n values: SharedTransitionAnimationsValues,\n progress: number\n) => StyleProps;\n\n/**\n * Used to configure the `.defaultTransitionType()` shared transition modifier.\n * @experimental\n */\nexport enum SharedTransitionType {\n ANIMATION = 'animation',\n PROGRESS_ANIMATION = 'progressAnimation',\n}\n\nexport type EntryExitAnimationsValues =\n | EntryAnimationsValues\n | ExitAnimationsValues;\n\nexport type StylePropsWithArrayTransform = StyleProps & {\n transform?: TransformArrayItem[];\n};\n\nexport interface LayoutAnimationBatchItem {\n viewTag: number;\n type: LayoutAnimationType;\n config:\n | ShareableRef<\n | Keyframe\n | LayoutAnimationFunction\n | SharedTransitionAnimationsFunction\n | ProgressAnimationCallback\n >\n | undefined;\n sharedTransitionTag?: string;\n}\n"],"mappings":"AAAA,YAAY;;AAqCwD;;AA6BpE,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAyE/B;AACA;AACA;AACA;AACA,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseAnimationBuilder","ComplexAnimationBuilder","Keyframe","LayoutAnimationType","SharedTransitionType"],"sources":["index.ts"],"sourcesContent":["'use strict';\nexport { BaseAnimationBuilder } from './BaseAnimationBuilder';\nexport { ComplexAnimationBuilder } from './ComplexAnimationBuilder';\nexport { Keyframe } from './Keyframe';\nexport { LayoutAnimationType, SharedTransitionType } from './commonTypes';\nexport type {\n LayoutAnimation,\n AnimationFunction,\n EntryAnimationsValues,\n ExitAnimationsValues,\n EntryExitAnimationFunction,\n AnimationConfigFunction,\n IEntryAnimationBuilder,\n IExitAnimationBuilder,\n LayoutAnimationsValues,\n LayoutAnimationFunction,\n LayoutAnimationStartFunction,\n ILayoutAnimationBuilder,\n BaseLayoutAnimationConfig,\n BaseBuilderAnimationConfig,\n LayoutAnimationAndConfig,\n IEntryExitAnimationBuilder,\n} from './commonTypes';\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,eAAe"}
1
+ {"version":3,"names":["BaseAnimationBuilder","ComplexAnimationBuilder","Keyframe","LayoutAnimationType","SharedTransitionType"],"sources":["index.ts"],"sourcesContent":["'use strict';\nexport { BaseAnimationBuilder } from './BaseAnimationBuilder';\nexport { ComplexAnimationBuilder } from './ComplexAnimationBuilder';\nexport { Keyframe } from './Keyframe';\nexport { LayoutAnimationType, SharedTransitionType } from './commonTypes';\nexport type {\n LayoutAnimation,\n AnimationFunction,\n EntryAnimationsValues,\n ExitAnimationsValues,\n EntryExitAnimationFunction,\n AnimationConfigFunction,\n IEntryAnimationBuilder,\n IExitAnimationBuilder,\n LayoutAnimationsValues,\n LayoutAnimationFunction,\n LayoutAnimationStartFunction,\n ILayoutAnimationBuilder,\n BaseLayoutAnimationConfig,\n BaseBuilderAnimationConfig,\n LayoutAnimationAndConfig,\n IEntryExitAnimationBuilder,\n} from './commonTypes';\n"],"mappings":"AAAA,YAAY;;AACZ,SAASA,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ,eAAe","ignoreList":[]}
@@ -4,7 +4,9 @@ import { withStyleAnimation } from '../animation/styleAnimation';
4
4
  import { makeUIMutable } from '../mutables';
5
5
  import { LayoutAnimationType } from './animationBuilder';
6
6
  import { runOnUIImmediately } from '../threads';
7
+ import { isFabric } from '../PlatformChecker';
7
8
  const TAG_OFFSET = 1e9;
9
+ const IS_FABRIC = isFabric();
8
10
  function startObservingProgress(tag, sharedValue, animationType) {
9
11
  'worklet';
10
12
 
@@ -13,10 +15,9 @@ function startObservingProgress(tag, sharedValue, animationType) {
13
15
  global._notifyAboutProgress(tag, sharedValue.value, isSharedTransition);
14
16
  });
15
17
  }
16
- function stopObservingProgress(tag, sharedValue) {
18
+ function stopObservingProgress(tag, sharedValue, removeView = false) {
17
19
  'worklet';
18
20
 
19
- let removeView = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
20
21
  sharedValue.removeListener(tag + TAG_OFFSET);
21
22
  global._notifyAboutEnd(tag, removeView);
22
23
  }
@@ -35,7 +36,10 @@ function createLayoutAnimationManager() {
35
36
  global.ProgressTransitionRegister.onTransitionStart(tag, yogaValues);
36
37
  return;
37
38
  }
39
+ // console.log('start', tag, type, yogaValues, config);
40
+
38
41
  const style = config(yogaValues);
42
+ // console.log(style);
39
43
  let currentAnimation = style.animations;
40
44
 
41
45
  // When layout animation is requested, but a previous one is still running, we merge
@@ -53,7 +57,9 @@ function createLayoutAnimationManager() {
53
57
  value = makeUIMutable(style.initialValues);
54
58
  mutableValuesForTag.set(tag, value);
55
59
  } else {
56
- stopObservingProgress(tag, value);
60
+ if (!IS_FABRIC) {
61
+ stopObservingProgress(tag, value);
62
+ }
57
63
  value._value = style.initialValues;
58
64
  }
59
65
 
@@ -76,7 +82,8 @@ function createLayoutAnimationManager() {
76
82
  if (!value) {
77
83
  return;
78
84
  }
79
- stopObservingProgress(tag, value);
85
+ value.removeListener(tag + TAG_OFFSET);
86
+ // stopObservingProgress(tag, value);
80
87
  }
81
88
  };
82
89
  }
@@ -1 +1 @@
1
- {"version":3,"names":["withStyleAnimation","makeUIMutable","LayoutAnimationType","runOnUIImmediately","TAG_OFFSET","startObservingProgress","tag","sharedValue","animationType","isSharedTransition","SHARED_ELEMENT_TRANSITION","addListener","global","_notifyAboutProgress","value","stopObservingProgress","removeView","arguments","length","undefined","removeListener","_notifyAboutEnd","createLayoutAnimationManager","currentAnimationForTag","Map","mutableValuesForTag","start","type","yogaValues","config","SHARED_ELEMENT_TRANSITION_PROGRESS","ProgressTransitionRegister","onTransitionStart","style","currentAnimation","animations","previousAnimation","get","set","initialValues","_value","animation","callback","finished","delete","shouldRemoveView","EXITING","stop","LayoutAnimationsManager"],"sources":["animationsManager.ts"],"sourcesContent":["'use strict';\nimport { withStyleAnimation } from '../animation/styleAnimation';\nimport type { SharedValue } from '../commonTypes';\nimport { makeUIMutable } from '../mutables';\nimport { LayoutAnimationType } from './animationBuilder';\nimport { runOnUIImmediately } from '../threads';\nimport type {\n SharedTransitionAnimationsValues,\n LayoutAnimation,\n} from './animationBuilder/commonTypes';\n\nconst TAG_OFFSET = 1e9;\n\nfunction startObservingProgress(\n tag: number,\n sharedValue: SharedValue<Record<string, unknown>>,\n animationType: LayoutAnimationType\n): void {\n 'worklet';\n const isSharedTransition =\n animationType === LayoutAnimationType.SHARED_ELEMENT_TRANSITION;\n sharedValue.addListener(tag + TAG_OFFSET, () => {\n global._notifyAboutProgress(tag, sharedValue.value, isSharedTransition);\n });\n}\n\nfunction stopObservingProgress(\n tag: number,\n sharedValue: SharedValue<number>,\n removeView = false\n): void {\n 'worklet';\n sharedValue.removeListener(tag + TAG_OFFSET);\n global._notifyAboutEnd(tag, removeView);\n}\n\nfunction createLayoutAnimationManager() {\n 'worklet';\n const currentAnimationForTag = new Map();\n const mutableValuesForTag = new Map();\n\n return {\n start(\n tag: number,\n type: LayoutAnimationType,\n /**\n * createLayoutAnimationManager creates an animation manager for both Layout animations and Shared Transition Elements animations.\n */\n yogaValues: Partial<SharedTransitionAnimationsValues>,\n config: (\n arg: Partial<SharedTransitionAnimationsValues>\n ) => LayoutAnimation\n ) {\n if (type === LayoutAnimationType.SHARED_ELEMENT_TRANSITION_PROGRESS) {\n global.ProgressTransitionRegister.onTransitionStart(tag, yogaValues);\n return;\n }\n\n const style = config(yogaValues);\n let currentAnimation = style.animations;\n\n // When layout animation is requested, but a previous one is still running, we merge\n // new layout animation targets into the ongoing animation\n const previousAnimation = currentAnimationForTag.get(tag);\n if (previousAnimation) {\n currentAnimation = { ...previousAnimation, ...style.animations };\n }\n currentAnimationForTag.set(tag, currentAnimation);\n\n let value = mutableValuesForTag.get(tag);\n if (value === undefined) {\n value = makeUIMutable(style.initialValues);\n mutableValuesForTag.set(tag, value);\n } else {\n stopObservingProgress(tag, value);\n value._value = style.initialValues;\n }\n\n // @ts-ignore The line below started failing because I added types to the method – don't have time to fix it right now\n const animation = withStyleAnimation(currentAnimation);\n\n animation.callback = (finished?: boolean) => {\n if (finished) {\n currentAnimationForTag.delete(tag);\n mutableValuesForTag.delete(tag);\n const shouldRemoveView = type === LayoutAnimationType.EXITING;\n stopObservingProgress(tag, value, shouldRemoveView);\n }\n style.callback &&\n style.callback(finished === undefined ? false : finished);\n };\n\n startObservingProgress(tag, value, type);\n value.value = animation;\n },\n stop(tag: number) {\n const value = mutableValuesForTag.get(tag);\n if (!value) {\n return;\n }\n stopObservingProgress(tag, value);\n },\n };\n}\n\nrunOnUIImmediately(() => {\n 'worklet';\n global.LayoutAnimationsManager = createLayoutAnimationManager();\n})();\n\nexport type LayoutAnimationsManager = ReturnType<\n typeof createLayoutAnimationManager\n>;\n"],"mappings":"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"}
1
+ {"version":3,"names":["withStyleAnimation","makeUIMutable","LayoutAnimationType","runOnUIImmediately","isFabric","TAG_OFFSET","IS_FABRIC","startObservingProgress","tag","sharedValue","animationType","isSharedTransition","SHARED_ELEMENT_TRANSITION","addListener","global","_notifyAboutProgress","value","stopObservingProgress","removeView","removeListener","_notifyAboutEnd","createLayoutAnimationManager","currentAnimationForTag","Map","mutableValuesForTag","start","type","yogaValues","config","SHARED_ELEMENT_TRANSITION_PROGRESS","ProgressTransitionRegister","onTransitionStart","style","currentAnimation","animations","previousAnimation","get","set","undefined","initialValues","_value","animation","callback","finished","delete","shouldRemoveView","EXITING","stop","LayoutAnimationsManager"],"sources":["animationsManager.ts"],"sourcesContent":["'use strict';\nimport { withStyleAnimation } from '../animation/styleAnimation';\nimport type { SharedValue } from '../commonTypes';\nimport { makeUIMutable } from '../mutables';\nimport { LayoutAnimationType } from './animationBuilder';\nimport { runOnUIImmediately } from '../threads';\nimport type {\n SharedTransitionAnimationsValues,\n LayoutAnimation,\n} from './animationBuilder/commonTypes';\nimport { isFabric } from '../PlatformChecker';\n\nconst TAG_OFFSET = 1e9;\n\nconst IS_FABRIC = isFabric();\n\nfunction startObservingProgress(\n tag: number,\n sharedValue: SharedValue<Record<string, unknown>>,\n animationType: LayoutAnimationType\n): void {\n 'worklet';\n const isSharedTransition =\n animationType === LayoutAnimationType.SHARED_ELEMENT_TRANSITION;\n sharedValue.addListener(tag + TAG_OFFSET, () => {\n global._notifyAboutProgress(tag, sharedValue.value, isSharedTransition);\n });\n}\n\nfunction stopObservingProgress(\n tag: number,\n sharedValue: SharedValue<number>,\n removeView = false\n): void {\n 'worklet';\n sharedValue.removeListener(tag + TAG_OFFSET);\n global._notifyAboutEnd(tag, removeView);\n}\n\nfunction createLayoutAnimationManager() {\n 'worklet';\n const currentAnimationForTag = new Map();\n const mutableValuesForTag = new Map();\n\n return {\n start(\n tag: number,\n type: LayoutAnimationType,\n /**\n * createLayoutAnimationManager creates an animation manager for both Layout animations and Shared Transition Elements animations.\n */\n yogaValues: Partial<SharedTransitionAnimationsValues>,\n config: (\n arg: Partial<SharedTransitionAnimationsValues>\n ) => LayoutAnimation\n ) {\n if (type === LayoutAnimationType.SHARED_ELEMENT_TRANSITION_PROGRESS) {\n global.ProgressTransitionRegister.onTransitionStart(tag, yogaValues);\n return;\n }\n // console.log('start', tag, type, yogaValues, config);\n\n const style = config(yogaValues);\n // console.log(style);\n let currentAnimation = style.animations;\n\n // When layout animation is requested, but a previous one is still running, we merge\n // new layout animation targets into the ongoing animation\n const previousAnimation = currentAnimationForTag.get(tag);\n if (previousAnimation) {\n currentAnimation = { ...previousAnimation, ...style.animations };\n }\n currentAnimationForTag.set(tag, currentAnimation);\n\n let value = mutableValuesForTag.get(tag);\n if (value === undefined) {\n value = makeUIMutable(style.initialValues);\n mutableValuesForTag.set(tag, value);\n } else {\n if (!IS_FABRIC) {\n stopObservingProgress(tag, value);\n }\n value._value = style.initialValues;\n }\n\n // @ts-ignore The line below started failing because I added types to the method – don't have time to fix it right now\n const animation = withStyleAnimation(currentAnimation);\n\n animation.callback = (finished?: boolean) => {\n if (finished) {\n currentAnimationForTag.delete(tag);\n mutableValuesForTag.delete(tag);\n const shouldRemoveView = type === LayoutAnimationType.EXITING;\n stopObservingProgress(tag, value, shouldRemoveView);\n }\n style.callback &&\n style.callback(finished === undefined ? false : finished);\n };\n\n startObservingProgress(tag, value, type);\n value.value = animation;\n },\n stop(tag: number) {\n const value = mutableValuesForTag.get(tag);\n if (!value) {\n return;\n }\n value.removeListener(tag + TAG_OFFSET);\n // stopObservingProgress(tag, value);\n },\n };\n}\n\nrunOnUIImmediately(() => {\n 'worklet';\n global.LayoutAnimationsManager = createLayoutAnimationManager();\n})();\n\nexport type LayoutAnimationsManager = ReturnType<\n typeof createLayoutAnimationManager\n>;\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  import { withSequence, withTiming } from '../../animation';
7
7
  import { ComplexAnimationBuilder } from '../animationBuilder';
8
8
 
@@ -14,8 +14,8 @@ import { ComplexAnimationBuilder } from '../animationBuilder';
14
14
  * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce
15
15
  */
16
16
  export class BounceIn extends ComplexAnimationBuilder {
17
- constructor() {
18
- super(...arguments);
17
+ constructor(...args) {
18
+ super(...args);
19
19
  _defineProperty(this, "build", () => {
20
20
  const delayFunction = this.getDelayFunction();
21
21
  const delay = this.getDelay();
@@ -70,8 +70,8 @@ export class BounceIn extends ComplexAnimationBuilder {
70
70
  */
71
71
  _defineProperty(BounceIn, "presetName", 'BounceIn');
72
72
  export class BounceInDown extends ComplexAnimationBuilder {
73
- constructor() {
74
- super(...arguments);
73
+ constructor(...args) {
74
+ super(...args);
75
75
  _defineProperty(this, "build", () => {
76
76
  const delayFunction = this.getDelayFunction();
77
77
  const delay = this.getDelay();
@@ -126,8 +126,8 @@ export class BounceInDown extends ComplexAnimationBuilder {
126
126
  */
127
127
  _defineProperty(BounceInDown, "presetName", 'BounceInDown');
128
128
  export class BounceInUp extends ComplexAnimationBuilder {
129
- constructor() {
130
- super(...arguments);
129
+ constructor(...args) {
130
+ super(...args);
131
131
  _defineProperty(this, "build", () => {
132
132
  const delayFunction = this.getDelayFunction();
133
133
  const delay = this.getDelay();
@@ -182,8 +182,8 @@ export class BounceInUp extends ComplexAnimationBuilder {
182
182
  */
183
183
  _defineProperty(BounceInUp, "presetName", 'BounceInUp');
184
184
  export class BounceInLeft extends ComplexAnimationBuilder {
185
- constructor() {
186
- super(...arguments);
185
+ constructor(...args) {
186
+ super(...args);
187
187
  _defineProperty(this, "build", () => {
188
188
  const delayFunction = this.getDelayFunction();
189
189
  const delay = this.getDelay();
@@ -238,8 +238,8 @@ export class BounceInLeft extends ComplexAnimationBuilder {
238
238
  */
239
239
  _defineProperty(BounceInLeft, "presetName", 'BounceInLeft');
240
240
  export class BounceInRight extends ComplexAnimationBuilder {
241
- constructor() {
242
- super(...arguments);
241
+ constructor(...args) {
242
+ super(...args);
243
243
  _defineProperty(this, "build", () => {
244
244
  const delayFunction = this.getDelayFunction();
245
245
  const delay = this.getDelay();
@@ -294,8 +294,8 @@ export class BounceInRight extends ComplexAnimationBuilder {
294
294
  */
295
295
  _defineProperty(BounceInRight, "presetName", 'BounceInRight');
296
296
  export class BounceOut extends ComplexAnimationBuilder {
297
- constructor() {
298
- super(...arguments);
297
+ constructor(...args) {
298
+ super(...args);
299
299
  _defineProperty(this, "build", () => {
300
300
  const delayFunction = this.getDelayFunction();
301
301
  const delay = this.getDelay();
@@ -350,8 +350,8 @@ export class BounceOut extends ComplexAnimationBuilder {
350
350
  */
351
351
  _defineProperty(BounceOut, "presetName", 'BounceOut');
352
352
  export class BounceOutDown extends ComplexAnimationBuilder {
353
- constructor() {
354
- super(...arguments);
353
+ constructor(...args) {
354
+ super(...args);
355
355
  _defineProperty(this, "build", () => {
356
356
  const delayFunction = this.getDelayFunction();
357
357
  const delay = this.getDelay();
@@ -406,8 +406,8 @@ export class BounceOutDown extends ComplexAnimationBuilder {
406
406
  */
407
407
  _defineProperty(BounceOutDown, "presetName", 'BounceOutDown');
408
408
  export class BounceOutUp extends ComplexAnimationBuilder {
409
- constructor() {
410
- super(...arguments);
409
+ constructor(...args) {
410
+ super(...args);
411
411
  _defineProperty(this, "build", () => {
412
412
  const delayFunction = this.getDelayFunction();
413
413
  const delay = this.getDelay();
@@ -462,8 +462,8 @@ export class BounceOutUp extends ComplexAnimationBuilder {
462
462
  */
463
463
  _defineProperty(BounceOutUp, "presetName", 'BounceOutUp');
464
464
  export class BounceOutLeft extends ComplexAnimationBuilder {
465
- constructor() {
466
- super(...arguments);
465
+ constructor(...args) {
466
+ super(...args);
467
467
  _defineProperty(this, "build", () => {
468
468
  const delayFunction = this.getDelayFunction();
469
469
  const delay = this.getDelay();
@@ -518,8 +518,8 @@ export class BounceOutLeft extends ComplexAnimationBuilder {
518
518
  */
519
519
  _defineProperty(BounceOutLeft, "presetName", 'BounceOutLeft');
520
520
  export class BounceOutRight extends ComplexAnimationBuilder {
521
- constructor() {
522
- super(...arguments);
521
+ constructor(...args) {
522
+ super(...args);
523
523
  _defineProperty(this, "build", () => {
524
524
  const delayFunction = this.getDelayFunction();
525
525
  const delay = this.getDelay();
@@ -1 +1 @@
1
- {"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","withSequence","withTiming","ComplexAnimationBuilder","BounceIn","constructor","arguments","delayFunction","getDelayFunction","delay","getDelay","duration","getDuration","callback","callbackV","initialValues","animations","transform","scale","createInstance","durationV","BounceInDown","values","translateY","windowHeight","BounceInUp","BounceInLeft","translateX","windowWidth","BounceInRight","BounceOut","BounceOutDown","BounceOutUp","BounceOutLeft","BounceOutRight"],"sources":["Bounce.ts"],"sourcesContent":["'use strict';\nimport type {\n EntryExitAnimationFunction,\n EntryExitAnimationsValues,\n IEntryExitAnimationBuilder,\n} from '../animationBuilder/commonTypes';\nimport { withSequence, withTiming } from '../../animation';\nimport type { BaseAnimationBuilder } from '../animationBuilder';\nimport { ComplexAnimationBuilder } from '../animationBuilder';\n\n/**\n * Bounce entering animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceIn\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceIn';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceIn() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return () => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n scale: delayFunction(\n delay,\n withSequence(\n withTiming(1.2, { duration: duration * 0.55 }),\n withTiming(0.9, { duration: duration * 0.15 }),\n withTiming(1.1, { duration: duration * 0.15 }),\n withTiming(1, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ scale: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from bottom animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInDown\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInDown';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInDown() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(-20, { duration: duration * 0.55 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [\n {\n translateY: values.windowHeight,\n },\n ],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from top animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInUp\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInUp';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInUp() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(20, { duration: duration * 0.55 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateY: -values.windowHeight }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from left animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInLeft\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInLeft';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInLeft() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(20, { duration: duration * 0.55 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: -values.windowWidth }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from right animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInRight\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInRight';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInRight() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(-20, { duration: duration * 0.55 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: values.windowWidth }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce exiting animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOut\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOut';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOut() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return () => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n scale: delayFunction(\n delay,\n withSequence(\n withTiming(1.1, { duration: duration * 0.15 }),\n withTiming(0.9, { duration: duration * 0.15 }),\n withTiming(1.2, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.55 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ scale: 1 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to bottom animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutDown\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutDown';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutDown() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-20, { duration: duration * 0.15 }),\n withTiming(values.windowHeight, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateY: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to top animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutUp\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutUp';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutUp() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(20, { duration: duration * 0.15 }),\n withTiming(-values.windowHeight, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateY: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to left animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutLeft\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutLeft';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutLeft() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(20, { duration: duration * 0.15 }),\n withTiming(-values.windowWidth, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to right animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutRight\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutRight';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutRight() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-20, { duration: duration * 0.15 }),\n withTiming(values.windowWidth, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","withSequence","withTiming","ComplexAnimationBuilder","BounceIn","constructor","args","delayFunction","getDelayFunction","delay","getDelay","duration","getDuration","callback","callbackV","initialValues","animations","transform","scale","createInstance","durationV","BounceInDown","values","translateY","windowHeight","BounceInUp","BounceInLeft","translateX","windowWidth","BounceInRight","BounceOut","BounceOutDown","BounceOutUp","BounceOutLeft","BounceOutRight"],"sources":["Bounce.ts"],"sourcesContent":["'use strict';\nimport type {\n EntryExitAnimationFunction,\n EntryExitAnimationsValues,\n IEntryExitAnimationBuilder,\n} from '../animationBuilder/commonTypes';\nimport { withSequence, withTiming } from '../../animation';\nimport type { BaseAnimationBuilder } from '../animationBuilder';\nimport { ComplexAnimationBuilder } from '../animationBuilder';\n\n/**\n * Bounce entering animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceIn\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceIn';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceIn() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return () => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n scale: delayFunction(\n delay,\n withSequence(\n withTiming(1.2, { duration: duration * 0.55 }),\n withTiming(0.9, { duration: duration * 0.15 }),\n withTiming(1.1, { duration: duration * 0.15 }),\n withTiming(1, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ scale: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from bottom animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInDown\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInDown';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInDown() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(-20, { duration: duration * 0.55 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [\n {\n translateY: values.windowHeight,\n },\n ],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from top animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInUp\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInUp';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInUp() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(20, { duration: duration * 0.55 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateY: -values.windowHeight }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from left animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInLeft\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInLeft';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInLeft() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(20, { duration: duration * 0.55 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: -values.windowWidth }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce from right animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `entering` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceInRight\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceInRight';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceInRight() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(-20, { duration: duration * 0.55 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.15 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: values.windowWidth }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce exiting animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOut\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOut';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOut() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return () => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n scale: delayFunction(\n delay,\n withSequence(\n withTiming(1.1, { duration: duration * 0.15 }),\n withTiming(0.9, { duration: duration * 0.15 }),\n withTiming(1.2, { duration: duration * 0.15 }),\n withTiming(0, { duration: duration * 0.55 })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ scale: 1 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to bottom animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutDown\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutDown';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutDown() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-20, { duration: duration * 0.15 }),\n withTiming(values.windowHeight, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateY: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to top animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutUp\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutUp';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutUp() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateY: delayFunction(\n delay,\n withSequence(\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(20, { duration: duration * 0.15 }),\n withTiming(-values.windowHeight, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateY: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to left animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutLeft\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutLeft';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutLeft() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(20, { duration: duration * 0.15 }),\n withTiming(-values.windowWidth, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n\n/**\n * Bounce to right animation. You can modify the behavior by chaining methods like `.delay(300)` or `.duration(100)`.\n *\n * You pass it to the `exiting` prop on [an Animated component](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#animated-component).\n *\n * @see https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations#bounce\n */\nexport class BounceOutRight\n extends ComplexAnimationBuilder\n implements IEntryExitAnimationBuilder\n{\n static presetName = 'BounceOutRight';\n\n static createInstance<T extends typeof BaseAnimationBuilder>(\n this: T\n ): InstanceType<T> {\n return new BounceOutRight() as InstanceType<T>;\n }\n\n static getDuration(): number {\n return 600;\n }\n\n getDuration(): number {\n return this.durationV ?? 600;\n }\n\n build = (): EntryExitAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const delay = this.getDelay();\n const duration = this.getDuration();\n const callback = this.callbackV;\n const initialValues = this.initialValues;\n\n return (values: EntryExitAnimationsValues) => {\n 'worklet';\n return {\n animations: {\n transform: [\n {\n translateX: delayFunction(\n delay,\n withSequence(\n withTiming(-10, { duration: duration * 0.15 }),\n withTiming(10, { duration: duration * 0.15 }),\n withTiming(-20, { duration: duration * 0.15 }),\n withTiming(values.windowWidth, {\n duration: duration * 0.55,\n })\n )\n ),\n },\n ],\n },\n initialValues: {\n transform: [{ translateX: 0 }],\n ...initialValues,\n },\n callback,\n };\n };\n };\n}\n"],"mappings":"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","ignoreList":[]}