react-native-reanimated 3.0.2 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/Common/cpp/Fabric/FabricUtils.h +1 -1
  2. package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +38 -27
  3. package/Common/cpp/SharedItems/Shareables.h +22 -0
  4. package/Common/cpp/Tools/PlatformDepMethodsHolder.h +2 -0
  5. package/Common/cpp/Tools/RuntimeDecorator.cpp +4 -1
  6. package/Common/cpp/Tools/RuntimeDecorator.h +2 -1
  7. package/Common/cpp/Tools/SingleInstanceChecker.h +14 -2
  8. package/RNReanimated.podspec +5 -2
  9. package/android/CMakeLists.txt +4 -0
  10. package/android/build.gradle +18 -10
  11. package/android/src/main/cpp/NativeProxy.cpp +316 -337
  12. package/android/src/main/cpp/NativeProxy.h +53 -11
  13. package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +7 -12
  14. package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +11 -8
  15. package/android/src/main/java/com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java +21 -14
  16. package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +0 -3
  17. package/ios/Fabric/REAInitializerRCTFabricSurface.mm +1 -0
  18. package/ios/REANodesManager.h +1 -0
  19. package/ios/REANodesManager.mm +30 -4
  20. package/ios/keyboardObserver/REAKeyboardEventObserver.m +51 -130
  21. package/ios/native/NativeMethods.mm +1 -1
  22. package/ios/native/NativeProxy.mm +4 -1
  23. package/ios/native/REAIOSErrorHandler.mm +1 -1
  24. package/ios/native/REAIOSLogger.mm +1 -1
  25. package/ios/native/REAIOSScheduler.mm +1 -1
  26. package/ios/native/REAInitializer.mm +1 -1
  27. package/ios/native/REAMessageThread.mm +2 -2
  28. package/lib/commonjs/Animated.js +0 -8
  29. package/lib/commonjs/Animated.js.map +1 -1
  30. package/lib/commonjs/ConfigHelper.js +8 -19
  31. package/lib/commonjs/ConfigHelper.js.map +1 -1
  32. package/lib/commonjs/createAnimatedComponent.js +20 -158
  33. package/lib/commonjs/createAnimatedComponent.js.map +1 -1
  34. package/lib/commonjs/index.js +0 -9
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/commonjs/index.web.js +0 -7
  37. package/lib/commonjs/index.web.js.map +1 -1
  38. package/lib/commonjs/reanimated2/Bezier.js +14 -34
  39. package/lib/commonjs/reanimated2/Bezier.js.map +1 -1
  40. package/lib/commonjs/reanimated2/Colors.js +60 -132
  41. package/lib/commonjs/reanimated2/Colors.js.map +1 -1
  42. package/lib/commonjs/reanimated2/Easing.js +81 -34
  43. package/lib/commonjs/reanimated2/Easing.js.map +1 -1
  44. package/lib/commonjs/reanimated2/NativeMethods.js +8 -20
  45. package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -1
  46. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +5 -31
  47. package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
  48. package/lib/commonjs/reanimated2/NativeReanimated/index.js +0 -7
  49. package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -1
  50. package/lib/commonjs/reanimated2/PlatformChecker.js +0 -6
  51. package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -1
  52. package/lib/commonjs/reanimated2/PropAdapters.js +10 -12
  53. package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -1
  54. package/lib/commonjs/reanimated2/UpdateProps.js +3 -12
  55. package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -1
  56. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +0 -10
  57. package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -1
  58. package/lib/commonjs/reanimated2/WorkletEventHandler.js +5 -22
  59. package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -1
  60. package/lib/commonjs/reanimated2/animation/decay.js +7 -18
  61. package/lib/commonjs/reanimated2/animation/decay.js.map +1 -1
  62. package/lib/commonjs/reanimated2/animation/delay.js +0 -11
  63. package/lib/commonjs/reanimated2/animation/delay.js.map +1 -1
  64. package/lib/commonjs/reanimated2/animation/index.js +0 -8
  65. package/lib/commonjs/reanimated2/animation/index.js.map +1 -1
  66. package/lib/commonjs/reanimated2/animation/repeat.js +6 -22
  67. package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -1
  68. package/lib/commonjs/reanimated2/animation/sequence.js +3 -20
  69. package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -1
  70. package/lib/commonjs/reanimated2/animation/spring.js +11 -23
  71. package/lib/commonjs/reanimated2/animation/spring.js.map +1 -1
  72. package/lib/commonjs/reanimated2/animation/styleAnimation.js +3 -35
  73. package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -1
  74. package/lib/commonjs/reanimated2/animation/timing.js +0 -11
  75. package/lib/commonjs/reanimated2/animation/timing.js.map +1 -1
  76. package/lib/commonjs/reanimated2/animation/util.js +11 -41
  77. package/lib/commonjs/reanimated2/animation/util.js.map +1 -1
  78. package/lib/commonjs/reanimated2/commonTypes.js +16 -23
  79. package/lib/commonjs/reanimated2/commonTypes.js.map +1 -1
  80. package/lib/commonjs/reanimated2/component/FlatList.js +0 -16
  81. package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -1
  82. package/lib/commonjs/reanimated2/component/Image.js +0 -4
  83. package/lib/commonjs/reanimated2/component/Image.js.map +1 -1
  84. package/lib/commonjs/reanimated2/component/ScrollView.js +0 -4
  85. package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -1
  86. package/lib/commonjs/reanimated2/component/Text.js +0 -4
  87. package/lib/commonjs/reanimated2/component/Text.js.map +1 -1
  88. package/lib/commonjs/reanimated2/component/View.js +0 -4
  89. package/lib/commonjs/reanimated2/component/View.js.map +1 -1
  90. package/lib/commonjs/reanimated2/core.js +6 -48
  91. package/lib/commonjs/reanimated2/core.js.map +1 -1
  92. package/lib/commonjs/reanimated2/errors.js +3 -14
  93. package/lib/commonjs/reanimated2/errors.js.map +1 -1
  94. package/lib/commonjs/reanimated2/fabricUtils.js +3 -5
  95. package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -1
  96. package/lib/commonjs/reanimated2/fabricUtils.web.js +1 -3
  97. package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -1
  98. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -12
  99. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
  100. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -17
  101. package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
  102. package/lib/commonjs/reanimated2/globals.d.js.map +1 -1
  103. package/lib/commonjs/reanimated2/hook/Hooks.js +0 -5
  104. package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -1
  105. package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -1
  106. package/lib/commonjs/reanimated2/hook/index.js +0 -12
  107. package/lib/commonjs/reanimated2/hook/index.js.map +1 -1
  108. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +4 -17
  109. package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
  110. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +2 -9
  111. package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
  112. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +1 -11
  113. package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -1
  114. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +0 -12
  115. package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -1
  116. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +2 -9
  117. package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
  118. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +8 -23
  119. package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -1
  120. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +13 -71
  121. package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -1
  122. package/lib/commonjs/reanimated2/hook/useDerivedValue.js +4 -13
  123. package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -1
  124. package/lib/commonjs/reanimated2/hook/useFrameCallback.js +0 -5
  125. package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -1
  126. package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js +0 -7
  127. package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js.map +1 -1
  128. package/lib/commonjs/reanimated2/hook/useSharedValue.js +2 -7
  129. package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -1
  130. package/lib/commonjs/reanimated2/hook/utils.js +8 -39
  131. package/lib/commonjs/reanimated2/hook/utils.js.map +1 -1
  132. package/lib/commonjs/reanimated2/index.js +0 -26
  133. package/lib/commonjs/reanimated2/index.js.map +1 -1
  134. package/lib/commonjs/reanimated2/initializers.js +21 -43
  135. package/lib/commonjs/reanimated2/initializers.js.map +1 -1
  136. package/lib/commonjs/reanimated2/interpolateColor.js +6 -43
  137. package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -1
  138. package/lib/commonjs/reanimated2/interpolation.js +14 -29
  139. package/lib/commonjs/reanimated2/interpolation.js.map +1 -1
  140. package/lib/commonjs/reanimated2/jestUtils.js +11 -44
  141. package/lib/commonjs/reanimated2/jestUtils.js.map +1 -1
  142. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +15 -39
  143. package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
  144. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +9 -28
  145. package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -1
  146. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +7 -37
  147. package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
  148. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +5 -18
  149. package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -1
  150. package/lib/commonjs/reanimated2/js-reanimated/global.js +2 -9
  151. package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -1
  152. package/lib/commonjs/reanimated2/js-reanimated/index.js +3 -14
  153. package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -1
  154. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -26
  155. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
  156. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -49
  157. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  158. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -43
  159. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
  160. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +4 -5
  161. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
  162. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +0 -4
  163. package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
  164. package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js +4 -23
  165. package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
  166. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -74
  167. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
  168. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -53
  169. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
  170. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -63
  171. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
  172. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -26
  173. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
  174. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -13
  175. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  176. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -23
  177. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
  178. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -43
  179. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
  180. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -43
  181. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
  182. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -23
  183. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
  184. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -83
  185. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  186. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -20
  187. package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
  188. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -22
  189. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  190. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -29
  191. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  192. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -9
  193. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  194. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -11
  195. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  196. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -8
  197. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  198. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -12
  199. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  200. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -12
  201. package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
  202. package/lib/commonjs/reanimated2/layoutReanimation/index.js +0 -9
  203. package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -1
  204. package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -17
  205. package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
  206. package/lib/commonjs/reanimated2/mappers.js +26 -32
  207. package/lib/commonjs/reanimated2/mappers.js.map +1 -1
  208. package/lib/commonjs/reanimated2/mock.js +5 -15
  209. package/lib/commonjs/reanimated2/mock.js.map +1 -1
  210. package/lib/commonjs/reanimated2/mutables.js +2 -28
  211. package/lib/commonjs/reanimated2/mutables.js.map +1 -1
  212. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +0 -2
  213. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -1
  214. package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
  215. package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js +31 -0
  216. package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
  217. package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js +0 -2
  218. package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
  219. package/lib/commonjs/reanimated2/platform-specific/jsVersion.js +14 -0
  220. package/lib/commonjs/reanimated2/platform-specific/jsVersion.js.map +1 -0
  221. package/lib/commonjs/reanimated2/pluginUtils.js +0 -1
  222. package/lib/commonjs/reanimated2/pluginUtils.js.map +1 -1
  223. package/lib/commonjs/reanimated2/shareables.js +92 -49
  224. package/lib/commonjs/reanimated2/shareables.js.map +1 -1
  225. package/lib/commonjs/reanimated2/threads.js +42 -46
  226. package/lib/commonjs/reanimated2/threads.js.map +1 -1
  227. package/lib/commonjs/reanimated2/utils.js +0 -5
  228. package/lib/commonjs/reanimated2/utils.js.map +1 -1
  229. package/lib/commonjs/reanimated2/valueSetter.js +6 -21
  230. package/lib/commonjs/reanimated2/valueSetter.js.map +1 -1
  231. package/lib/commonjs/setAndForwardRef.js +3 -3
  232. package/lib/commonjs/setAndForwardRef.js.map +1 -1
  233. package/lib/module/Animated.js.map +1 -1
  234. package/lib/module/ConfigHelper.js +9 -15
  235. package/lib/module/ConfigHelper.js.map +1 -1
  236. package/lib/module/createAnimatedComponent.js +20 -139
  237. package/lib/module/createAnimatedComponent.js.map +1 -1
  238. package/lib/module/index.js +0 -2
  239. package/lib/module/index.js.map +1 -1
  240. package/lib/module/index.web.js.map +1 -1
  241. package/lib/module/reanimated2/Bezier.js +14 -33
  242. package/lib/module/reanimated2/Bezier.js.map +1 -1
  243. package/lib/module/reanimated2/Colors.js +59 -109
  244. package/lib/module/reanimated2/Colors.js.map +1 -1
  245. package/lib/module/reanimated2/Easing.js +37 -33
  246. package/lib/module/reanimated2/Easing.js.map +1 -1
  247. package/lib/module/reanimated2/NativeMethods.js +8 -15
  248. package/lib/module/reanimated2/NativeMethods.js.map +1 -1
  249. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +5 -27
  250. package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
  251. package/lib/module/reanimated2/NativeReanimated/index.js +0 -2
  252. package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
  253. package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
  254. package/lib/module/reanimated2/PropAdapters.js +12 -10
  255. package/lib/module/reanimated2/PropAdapters.js.map +1 -1
  256. package/lib/module/reanimated2/UpdateProps.js +3 -5
  257. package/lib/module/reanimated2/UpdateProps.js.map +1 -1
  258. package/lib/module/reanimated2/ViewDescriptorsSet.js +0 -6
  259. package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
  260. package/lib/module/reanimated2/WorkletEventHandler.js +5 -18
  261. package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
  262. package/lib/module/reanimated2/animation/decay.js +7 -15
  263. package/lib/module/reanimated2/animation/decay.js.map +1 -1
  264. package/lib/module/reanimated2/animation/delay.js +0 -9
  265. package/lib/module/reanimated2/animation/delay.js.map +1 -1
  266. package/lib/module/reanimated2/animation/index.js.map +1 -1
  267. package/lib/module/reanimated2/animation/repeat.js +6 -20
  268. package/lib/module/reanimated2/animation/repeat.js.map +1 -1
  269. package/lib/module/reanimated2/animation/sequence.js +3 -18
  270. package/lib/module/reanimated2/animation/sequence.js.map +1 -1
  271. package/lib/module/reanimated2/animation/spring.js +11 -21
  272. package/lib/module/reanimated2/animation/spring.js.map +1 -1
  273. package/lib/module/reanimated2/animation/styleAnimation.js +7 -31
  274. package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
  275. package/lib/module/reanimated2/animation/timing.js +0 -8
  276. package/lib/module/reanimated2/animation/timing.js.map +1 -1
  277. package/lib/module/reanimated2/animation/util.js +10 -33
  278. package/lib/module/reanimated2/animation/util.js.map +1 -1
  279. package/lib/module/reanimated2/commonTypes.js +12 -19
  280. package/lib/module/reanimated2/commonTypes.js.map +1 -1
  281. package/lib/module/reanimated2/component/FlatList.js +0 -4
  282. package/lib/module/reanimated2/component/FlatList.js.map +1 -1
  283. package/lib/module/reanimated2/component/Image.js.map +1 -1
  284. package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
  285. package/lib/module/reanimated2/component/Text.js.map +1 -1
  286. package/lib/module/reanimated2/component/View.js.map +1 -1
  287. package/lib/module/reanimated2/core.js +6 -22
  288. package/lib/module/reanimated2/core.js.map +1 -1
  289. package/lib/module/reanimated2/errors.js +3 -13
  290. package/lib/module/reanimated2/errors.js.map +1 -1
  291. package/lib/module/reanimated2/fabricUtils.js +3 -3
  292. package/lib/module/reanimated2/fabricUtils.js.map +1 -1
  293. package/lib/module/reanimated2/fabricUtils.web.js +1 -1
  294. package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
  295. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -8
  296. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
  297. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -15
  298. package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
  299. package/lib/module/reanimated2/globals.d.js.map +1 -1
  300. package/lib/module/reanimated2/hook/Hooks.js +3 -2
  301. package/lib/module/reanimated2/hook/Hooks.js.map +1 -1
  302. package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
  303. package/lib/module/reanimated2/hook/index.js.map +1 -1
  304. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +3 -14
  305. package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
  306. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +2 -5
  307. package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
  308. package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -7
  309. package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
  310. package/lib/module/reanimated2/hook/useAnimatedRef.js +0 -6
  311. package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
  312. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +2 -7
  313. package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
  314. package/lib/module/reanimated2/hook/useAnimatedSensor.js +9 -20
  315. package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
  316. package/lib/module/reanimated2/hook/useAnimatedStyle.js +13 -59
  317. package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
  318. package/lib/module/reanimated2/hook/useDerivedValue.js +4 -8
  319. package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
  320. package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
  321. package/lib/module/reanimated2/hook/useScrollViewOffset.js +0 -1
  322. package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
  323. package/lib/module/reanimated2/hook/useSharedValue.js +2 -3
  324. package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
  325. package/lib/module/reanimated2/hook/utils.js +8 -21
  326. package/lib/module/reanimated2/hook/utils.js.map +1 -1
  327. package/lib/module/reanimated2/index.js.map +1 -1
  328. package/lib/module/reanimated2/initializers.js +23 -37
  329. package/lib/module/reanimated2/initializers.js.map +1 -1
  330. package/lib/module/reanimated2/interpolateColor.js +5 -34
  331. package/lib/module/reanimated2/interpolateColor.js.map +1 -1
  332. package/lib/module/reanimated2/interpolation.js +13 -28
  333. package/lib/module/reanimated2/interpolation.js.map +1 -1
  334. package/lib/module/reanimated2/jestUtils.js +11 -35
  335. package/lib/module/reanimated2/jestUtils.js.map +1 -1
  336. package/lib/module/reanimated2/js-reanimated/JSReanimated.js +15 -35
  337. package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
  338. package/lib/module/reanimated2/js-reanimated/Mapper.js +9 -23
  339. package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -1
  340. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +7 -35
  341. package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
  342. package/lib/module/reanimated2/js-reanimated/MutableValue.js +5 -16
  343. package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -1
  344. package/lib/module/reanimated2/js-reanimated/global.js +2 -6
  345. package/lib/module/reanimated2/js-reanimated/global.js.map +1 -1
  346. package/lib/module/reanimated2/js-reanimated/index.js +3 -9
  347. package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
  348. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -23
  349. package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
  350. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -45
  351. package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  352. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -39
  353. package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
  354. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +3 -3
  355. package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
  356. package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
  357. package/lib/module/reanimated2/layoutReanimation/animationsManager.js +4 -19
  358. package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
  359. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -52
  360. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
  361. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -32
  362. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
  363. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -38
  364. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
  365. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -16
  366. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
  367. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -8
  368. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  369. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -14
  370. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
  371. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -26
  372. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
  373. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -26
  374. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
  375. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -14
  376. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
  377. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -50
  378. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  379. package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
  380. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -17
  381. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  382. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -23
  383. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  384. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -5
  385. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  386. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -6
  387. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  388. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -5
  389. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  390. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -8
  391. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  392. package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
  393. package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
  394. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -13
  395. package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
  396. package/lib/module/reanimated2/mappers.js +26 -25
  397. package/lib/module/reanimated2/mappers.js.map +1 -1
  398. package/lib/module/reanimated2/mock.js +5 -15
  399. package/lib/module/reanimated2/mock.js.map +1 -1
  400. package/lib/module/reanimated2/mutables.js +2 -19
  401. package/lib/module/reanimated2/mutables.js.map +1 -1
  402. package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
  403. package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
  404. package/lib/module/reanimated2/platform-specific/checkCppVersion.js +24 -0
  405. package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
  406. package/lib/module/reanimated2/platform-specific/checkVersion.web.js +0 -1
  407. package/lib/module/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
  408. package/lib/module/reanimated2/platform-specific/jsVersion.js +7 -0
  409. package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -0
  410. package/lib/module/reanimated2/pluginUtils.js.map +1 -1
  411. package/lib/module/reanimated2/shareables.js +96 -44
  412. package/lib/module/reanimated2/shareables.js.map +1 -1
  413. package/lib/module/reanimated2/threads.js +39 -33
  414. package/lib/module/reanimated2/threads.js.map +1 -1
  415. package/lib/module/reanimated2/utils.js +0 -3
  416. package/lib/module/reanimated2/utils.js.map +1 -1
  417. package/lib/module/reanimated2/valueSetter.js +6 -19
  418. package/lib/module/reanimated2/valueSetter.js.map +1 -1
  419. package/lib/module/setAndForwardRef.js +3 -2
  420. package/lib/module/setAndForwardRef.js.map +1 -1
  421. package/package.json +46 -40
  422. package/plugin/.eslintrc.js +7 -0
  423. package/plugin/README.md +241 -0
  424. package/plugin/build/plugin.js +714 -0
  425. package/plugin/build/plugin.js.map +7 -0
  426. package/plugin/index.js +1 -807
  427. package/plugin/package.json +23 -0
  428. package/plugin/src/buildWorkletString.ts +213 -0
  429. package/plugin/src/commonObjects.ts +60 -0
  430. package/plugin/src/injectVersion.ts +37 -0
  431. package/plugin/src/makeWorklet.ts +375 -0
  432. package/plugin/src/plugin.ts +49 -0
  433. package/plugin/src/processForCalleesWorklets.ts +106 -0
  434. package/plugin/src/processIfGestureHandlerEventCallbackFunctionNode.ts +156 -0
  435. package/plugin/src/processIfWorkletFunction.ts +55 -0
  436. package/plugin/src/processIfWorkletNode.ts +44 -0
  437. package/plugin/src/processInlineStylesWarning.ts +129 -0
  438. package/plugin/src/processWorkletObjectMethod.ts +31 -0
  439. package/plugin/src/types.ts +15 -0
  440. package/plugin/src/utils.ts +6 -0
  441. package/plugin/tsconfig.json +15 -0
  442. package/plugin/yarn.lock +2193 -0
  443. package/react-native-reanimated.d.ts +1 -0
  444. package/scripts/reanimated_utils.rb +2 -2
  445. package/src/createAnimatedComponent.tsx +2 -3
  446. package/src/reanimated2/Easing.ts +19 -0
  447. package/src/reanimated2/NativeMethods.ts +9 -4
  448. package/src/reanimated2/NativeReanimated/NativeReanimated.ts +2 -2
  449. package/src/reanimated2/UpdateProps.ts +2 -2
  450. package/src/reanimated2/animation/decay.ts +7 -1
  451. package/src/reanimated2/animation/styleAnimation.ts +5 -1
  452. package/src/reanimated2/core.ts +4 -4
  453. package/src/reanimated2/errors.ts +1 -0
  454. package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +12 -4
  455. package/src/reanimated2/globals.d.ts +71 -112
  456. package/src/reanimated2/hook/commonTypes.ts +1 -1
  457. package/src/reanimated2/hook/useAnimatedReaction.ts +2 -2
  458. package/src/reanimated2/hook/useAnimatedSensor.ts +2 -2
  459. package/src/reanimated2/initializers.ts +11 -8
  460. package/src/reanimated2/jestUtils.ts +0 -1
  461. package/src/reanimated2/js-reanimated/JSReanimated.ts +5 -1
  462. package/src/reanimated2/js-reanimated/index.ts +1 -1
  463. package/src/reanimated2/mappers.ts +26 -4
  464. package/src/reanimated2/mock.ts +1 -0
  465. package/src/reanimated2/platform-specific/checkCppVersion.ts +29 -0
  466. package/src/reanimated2/platform-specific/jsVersion.ts +6 -0
  467. package/src/reanimated2/shareables.ts +107 -8
  468. package/src/reanimated2/threads.ts +36 -17
  469. package/lib/commonjs/reanimated2/platform-specific/checkVersion.js +0 -42
  470. package/lib/commonjs/reanimated2/platform-specific/checkVersion.js.map +0 -1
  471. package/lib/module/reanimated2/platform-specific/checkVersion.js +0 -35
  472. package/lib/module/reanimated2/platform-specific/checkVersion.js.map +0 -1
  473. package/src/reanimated2/platform-specific/checkVersion.ts +0 -39
@@ -1 +1 @@
1
- {"version":3,"names":["BaseAnimationBuilder","withSequence","withTiming","FadeIn","FadeOut","EntryExitTransition","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","enteringAnimation","enteringV","build","exitingAnimation","exitingV","exitingDuration","getDuration","values","enteringValues","exitingValues","animations","transform","prop","Object","keys","forEach","value","index","transformProp","push","initialValues","duration","sequence","undefined","includes","mergedTransform","concat","map","objectKeys","length","console","error","current","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance","entering","animation","instance","exiting","combineTransition"],"sources":["EntryExitTransition.ts"],"sourcesContent":["import {\n ILayoutAnimationBuilder,\n LayoutAnimationsValues,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { BaseAnimationBuilder } from '../animationBuilder';\nimport { withSequence, withTiming } from '../../animation';\nimport { FadeIn, FadeOut } from '../defaultAnimations/Fade';\nimport {\n StyleProps,\n TransformProperty,\n AnimationObject,\n} from '../../commonTypes';\n\nexport class EntryExitTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n enteringV: BaseAnimationBuilder | typeof BaseAnimationBuilder = FadeIn;\n\n exitingV: BaseAnimationBuilder | typeof BaseAnimationBuilder = FadeOut;\n\n static createInstance(): EntryExitTransition {\n return new EntryExitTransition();\n }\n\n static entering(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n const instance = this.createInstance();\n return instance.entering(animation);\n }\n\n entering(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n this.enteringV = animation;\n return this;\n }\n\n static exiting(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n const instance = this.createInstance();\n return instance.exiting(animation);\n }\n\n exiting(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n this.exitingV = animation;\n return this;\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const enteringAnimation = this.enteringV.build();\n const exitingAnimation = this.exitingV.build();\n const exitingDuration = this.exitingV.getDuration();\n\n return (values) => {\n 'worklet';\n const enteringValues = enteringAnimation(values);\n const exitingValues = exitingAnimation(values);\n const animations: StyleProps = {\n transform: [],\n };\n\n for (const prop of Object.keys(exitingValues.animations)) {\n if (prop === 'transform') {\n exitingValues.animations[prop]?.forEach((value, index) => {\n for (const transformProp of Object.keys(value)) {\n animations.transform?.push({\n [transformProp]: delayFunction(\n delay,\n withSequence(\n value[transformProp as keyof TransformProperty],\n withTiming(\n exitingValues.initialValues.transform\n ? exitingValues.initialValues.transform[index][\n transformProp as keyof TransformProperty\n ]\n : 0,\n { duration: 0 }\n )\n )\n ),\n } as TransformProperty);\n }\n });\n } else {\n const sequence =\n enteringValues.animations[prop] !== undefined\n ? [\n exitingValues.animations[prop],\n withTiming(enteringValues.initialValues[prop], {\n duration: 0,\n }),\n enteringValues.animations[prop],\n ]\n : [\n exitingValues.animations[prop],\n withTiming(\n Object.keys(values).includes(prop)\n ? values[prop as keyof LayoutAnimationsValues]\n : exitingValues.initialValues[prop],\n { duration: 0 }\n ),\n ];\n\n animations[prop] = delayFunction(delay, withSequence(...sequence));\n }\n }\n for (const prop of Object.keys(enteringValues.animations)) {\n if (prop === 'transform') {\n enteringValues.animations[prop]?.forEach((value, index) => {\n for (const transformProp of Object.keys(value)) {\n animations.transform?.push({\n [transformProp]: delayFunction(\n delay + exitingDuration,\n withSequence(\n withTiming(\n enteringValues.initialValues.transform\n ? enteringValues.initialValues.transform[index][\n transformProp as keyof TransformProperty\n ]\n : 0,\n { duration: exitingDuration }\n ),\n value[transformProp as keyof TransformProperty]\n )\n ),\n } as TransformProperty);\n }\n });\n } else if (animations[prop] !== undefined) {\n // it was already added in the previous loop\n continue;\n } else {\n animations[prop] = delayFunction(\n delay,\n withSequence(\n withTiming(enteringValues.initialValues[prop], { duration: 0 }),\n enteringValues.animations[prop]\n )\n );\n }\n }\n\n const mergedTransform = (\n exitingValues.initialValues.transform ?? []\n ).concat(\n (enteringValues.animations.transform ?? []).map((value) => {\n const objectKeys = Object.keys(value);\n if (objectKeys?.length < 1) {\n console.error(\n `[Reanimated]: \\${value} is not a valid Transform object`\n );\n return value;\n }\n const transformProp = objectKeys[0];\n const current = (\n value[transformProp as keyof TransformProperty] as AnimationObject\n ).current;\n if (typeof current === 'string') {\n if (current.includes('deg'))\n return {\n [transformProp]: '0deg',\n } as unknown as TransformProperty;\n else\n return {\n [transformProp]: '0',\n } as unknown as TransformProperty;\n } else if (transformProp.includes('translate')) {\n return { [transformProp]: 0 } as unknown as TransformProperty;\n } else {\n return { [transformProp]: 1 } as unknown as TransformProperty;\n }\n return value;\n })\n );\n\n return {\n initialValues: {\n ...exitingValues.initialValues,\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n transform: mergedTransform,\n },\n animations: {\n originX: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetOriginX, { duration: exitingDuration })\n ),\n originY: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetOriginY, { duration: exitingDuration })\n ),\n width: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetWidth, { duration: exitingDuration })\n ),\n height: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetHeight, { duration: exitingDuration })\n ),\n ...animations,\n },\n callback: callback,\n };\n };\n };\n}\n\nexport function combineTransition(\n exiting: BaseAnimationBuilder | typeof BaseAnimationBuilder,\n entering: BaseAnimationBuilder | typeof BaseAnimationBuilder\n): EntryExitTransition {\n return EntryExitTransition.entering(entering).exiting(exiting);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["BaseAnimationBuilder","withSequence","withTiming","FadeIn","FadeOut","EntryExitTransition","constructor","arguments","_defineProperty","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","enteringAnimation","enteringV","build","exitingAnimation","exitingV","exitingDuration","getDuration","values","enteringValues","exitingValues","animations","transform","prop","Object","keys","_exitingValues$animat","forEach","value","index","transformProp","_animations$transform","push","initialValues","duration","sequence","undefined","includes","_enteringValues$anima","_animations$transform2","mergedTransform","concat","map","objectKeys","length","console","error","current","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance","entering","animation","instance","exiting","combineTransition"],"sources":["EntryExitTransition.ts"],"sourcesContent":["import {\n ILayoutAnimationBuilder,\n LayoutAnimationsValues,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { BaseAnimationBuilder } from '../animationBuilder';\nimport { withSequence, withTiming } from '../../animation';\nimport { FadeIn, FadeOut } from '../defaultAnimations/Fade';\nimport {\n StyleProps,\n TransformProperty,\n AnimationObject,\n} from '../../commonTypes';\n\nexport class EntryExitTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n enteringV: BaseAnimationBuilder | typeof BaseAnimationBuilder = FadeIn;\n\n exitingV: BaseAnimationBuilder | typeof BaseAnimationBuilder = FadeOut;\n\n static createInstance(): EntryExitTransition {\n return new EntryExitTransition();\n }\n\n static entering(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n const instance = this.createInstance();\n return instance.entering(animation);\n }\n\n entering(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n this.enteringV = animation;\n return this;\n }\n\n static exiting(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n const instance = this.createInstance();\n return instance.exiting(animation);\n }\n\n exiting(\n animation: BaseAnimationBuilder | typeof BaseAnimationBuilder\n ): EntryExitTransition {\n this.exitingV = animation;\n return this;\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const enteringAnimation = this.enteringV.build();\n const exitingAnimation = this.exitingV.build();\n const exitingDuration = this.exitingV.getDuration();\n\n return (values) => {\n 'worklet';\n const enteringValues = enteringAnimation(values);\n const exitingValues = exitingAnimation(values);\n const animations: StyleProps = {\n transform: [],\n };\n\n for (const prop of Object.keys(exitingValues.animations)) {\n if (prop === 'transform') {\n exitingValues.animations[prop]?.forEach((value, index) => {\n for (const transformProp of Object.keys(value)) {\n animations.transform?.push({\n [transformProp]: delayFunction(\n delay,\n withSequence(\n value[transformProp as keyof TransformProperty],\n withTiming(\n exitingValues.initialValues.transform\n ? exitingValues.initialValues.transform[index][\n transformProp as keyof TransformProperty\n ]\n : 0,\n { duration: 0 }\n )\n )\n ),\n } as TransformProperty);\n }\n });\n } else {\n const sequence =\n enteringValues.animations[prop] !== undefined\n ? [\n exitingValues.animations[prop],\n withTiming(enteringValues.initialValues[prop], {\n duration: 0,\n }),\n enteringValues.animations[prop],\n ]\n : [\n exitingValues.animations[prop],\n withTiming(\n Object.keys(values).includes(prop)\n ? values[prop as keyof LayoutAnimationsValues]\n : exitingValues.initialValues[prop],\n { duration: 0 }\n ),\n ];\n\n animations[prop] = delayFunction(delay, withSequence(...sequence));\n }\n }\n for (const prop of Object.keys(enteringValues.animations)) {\n if (prop === 'transform') {\n enteringValues.animations[prop]?.forEach((value, index) => {\n for (const transformProp of Object.keys(value)) {\n animations.transform?.push({\n [transformProp]: delayFunction(\n delay + exitingDuration,\n withSequence(\n withTiming(\n enteringValues.initialValues.transform\n ? enteringValues.initialValues.transform[index][\n transformProp as keyof TransformProperty\n ]\n : 0,\n { duration: exitingDuration }\n ),\n value[transformProp as keyof TransformProperty]\n )\n ),\n } as TransformProperty);\n }\n });\n } else if (animations[prop] !== undefined) {\n // it was already added in the previous loop\n continue;\n } else {\n animations[prop] = delayFunction(\n delay,\n withSequence(\n withTiming(enteringValues.initialValues[prop], { duration: 0 }),\n enteringValues.animations[prop]\n )\n );\n }\n }\n\n const mergedTransform = (\n exitingValues.initialValues.transform ?? []\n ).concat(\n (enteringValues.animations.transform ?? []).map((value) => {\n const objectKeys = Object.keys(value);\n if (objectKeys?.length < 1) {\n console.error(\n `[Reanimated]: \\${value} is not a valid Transform object`\n );\n return value;\n }\n const transformProp = objectKeys[0];\n const current = (\n value[transformProp as keyof TransformProperty] as AnimationObject\n ).current;\n if (typeof current === 'string') {\n if (current.includes('deg'))\n return {\n [transformProp]: '0deg',\n } as unknown as TransformProperty;\n else\n return {\n [transformProp]: '0',\n } as unknown as TransformProperty;\n } else if (transformProp.includes('translate')) {\n return { [transformProp]: 0 } as unknown as TransformProperty;\n } else {\n return { [transformProp]: 1 } as unknown as TransformProperty;\n }\n return value;\n })\n );\n\n return {\n initialValues: {\n ...exitingValues.initialValues,\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n transform: mergedTransform,\n },\n animations: {\n originX: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetOriginX, { duration: exitingDuration })\n ),\n originY: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetOriginY, { duration: exitingDuration })\n ),\n width: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetWidth, { duration: exitingDuration })\n ),\n height: delayFunction(\n delay + exitingDuration,\n withTiming(values.targetHeight, { duration: exitingDuration })\n ),\n ...animations,\n },\n callback: callback,\n };\n };\n };\n}\n\nexport function combineTransition(\n exiting: BaseAnimationBuilder | typeof BaseAnimationBuilder,\n entering: BaseAnimationBuilder | typeof BaseAnimationBuilder\n): EntryExitTransition {\n return EntryExitTransition.entering(entering).exiting(exiting);\n}\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ 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); }
3
4
  import { withSequence, withTiming } from '../../animation';
4
5
  import { BaseAnimationBuilder } from '../animationBuilder';
5
6
  export class FadingTransition extends BaseAnimationBuilder {
6
7
  constructor() {
7
8
  super(...arguments);
8
-
9
9
  _defineProperty(this, "build", () => {
10
10
  const delayFunction = this.getDelayFunction();
11
11
  const callback = this.callbackV;
@@ -46,10 +46,8 @@ export class FadingTransition extends BaseAnimationBuilder {
46
46
  };
47
47
  });
48
48
  }
49
-
50
49
  static createInstance() {
51
50
  return new FadingTransition();
52
51
  }
53
-
54
52
  }
55
53
  //# sourceMappingURL=FadingTransition.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withSequence","withTiming","BaseAnimationBuilder","FadingTransition","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","duration","durationV","values","initialValues","opacity","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","animations","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance"],"sources":["FadingTransition.ts"],"sourcesContent":["import { withSequence, withTiming } from '../../animation';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { BaseAnimationBuilder } from '../animationBuilder';\n\nexport class FadingTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n static createInstance(): FadingTransition {\n return new FadingTransition();\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const duration = this.durationV ?? 500;\n\n return (values) => {\n 'worklet';\n return {\n initialValues: {\n opacity: 1,\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n opacity: delayFunction(\n delay,\n withSequence(\n withTiming(0, { duration: duration }),\n withTiming(1, { duration: duration })\n )\n ),\n originX: delayFunction(\n delay + duration,\n withTiming(values.targetOriginX, { duration: 50 })\n ),\n originY: delayFunction(\n delay + duration,\n withTiming(values.targetOriginY, { duration: 50 })\n ),\n width: delayFunction(\n delay + duration,\n withTiming(values.targetWidth, { duration: 50 })\n ),\n height: delayFunction(\n delay + duration,\n withTiming(values.targetHeight, { duration: 50 })\n ),\n },\n callback: callback,\n };\n };\n };\n}\n"],"mappings":";;AAAA,SAASA,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AAKA,SAASC,oBAAT,QAAqC,qBAArC;AAEA,OAAO,MAAMC,gBAAN,SACGD,oBADH,CAGP;EAAA;IAAA;;IAAA,+BAKU,MAA+B;MACrC,MAAME,aAAa,GAAG,KAAKC,gBAAL,EAAtB;MACA,MAAMC,QAAQ,GAAG,KAAKC,SAAtB;MACA,MAAMC,KAAK,GAAG,KAAKC,QAAL,EAAd;MACA,MAAMC,QAAQ,GAAG,KAAKC,SAAL,IAAkB,GAAnC;MAEA,OAAQC,MAAD,IAAY;QACjB;;QACA,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAE,CADI;YAEbC,OAAO,EAAEH,MAAM,CAACI,cAFH;YAGbC,OAAO,EAAEL,MAAM,CAACM,cAHH;YAIbC,KAAK,EAAEP,MAAM,CAACQ,YAJD;YAKbC,MAAM,EAAET,MAAM,CAACU;UALF,CADV;UAQLC,UAAU,EAAE;YACVT,OAAO,EAAEV,aAAa,CACpBI,KADoB,EAEpBR,YAAY,CACVC,UAAU,CAAC,CAAD,EAAI;cAAES,QAAQ,EAAEA;YAAZ,CAAJ,CADA,EAEVT,UAAU,CAAC,CAAD,EAAI;cAAES,QAAQ,EAAEA;YAAZ,CAAJ,CAFA,CAFQ,CADZ;YAQVK,OAAO,EAAEX,aAAa,CACpBI,KAAK,GAAGE,QADY,EAEpBT,UAAU,CAACW,MAAM,CAACY,aAAR,EAAuB;cAAEd,QAAQ,EAAE;YAAZ,CAAvB,CAFU,CARZ;YAYVO,OAAO,EAAEb,aAAa,CACpBI,KAAK,GAAGE,QADY,EAEpBT,UAAU,CAACW,MAAM,CAACa,aAAR,EAAuB;cAAEf,QAAQ,EAAE;YAAZ,CAAvB,CAFU,CAZZ;YAgBVS,KAAK,EAAEf,aAAa,CAClBI,KAAK,GAAGE,QADU,EAElBT,UAAU,CAACW,MAAM,CAACc,WAAR,EAAqB;cAAEhB,QAAQ,EAAE;YAAZ,CAArB,CAFQ,CAhBV;YAoBVW,MAAM,EAAEjB,aAAa,CACnBI,KAAK,GAAGE,QADW,EAEnBT,UAAU,CAACW,MAAM,CAACe,YAAR,EAAsB;cAAEjB,QAAQ,EAAE;YAAZ,CAAtB,CAFS;UApBX,CARP;UAiCLJ,QAAQ,EAAEA;QAjCL,CAAP;MAmCD,CArCD;IAsCD,CAjDH;EAAA;;EACuB,OAAdsB,cAAc,GAAqB;IACxC,OAAO,IAAIzB,gBAAJ,EAAP;EACD;;AAHH"}
1
+ {"version":3,"names":["withSequence","withTiming","BaseAnimationBuilder","FadingTransition","constructor","arguments","_defineProperty","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","duration","durationV","values","initialValues","opacity","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","animations","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance"],"sources":["FadingTransition.ts"],"sourcesContent":["import { withSequence, withTiming } from '../../animation';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { BaseAnimationBuilder } from '../animationBuilder';\n\nexport class FadingTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n static createInstance(): FadingTransition {\n return new FadingTransition();\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const duration = this.durationV ?? 500;\n\n return (values) => {\n 'worklet';\n return {\n initialValues: {\n opacity: 1,\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n opacity: delayFunction(\n delay,\n withSequence(\n withTiming(0, { duration: duration }),\n withTiming(1, { duration: duration })\n )\n ),\n originX: delayFunction(\n delay + duration,\n withTiming(values.targetOriginX, { duration: 50 })\n ),\n originY: delayFunction(\n delay + duration,\n withTiming(values.targetOriginY, { duration: 50 })\n ),\n width: delayFunction(\n delay + duration,\n withTiming(values.targetWidth, { duration: 50 })\n ),\n height: delayFunction(\n delay + duration,\n withTiming(values.targetHeight, { duration: 50 })\n ),\n },\n callback: callback,\n };\n };\n };\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAK1D,SAASC,oBAAoB,QAAQ,qBAAqB;AAE1D,OAAO,MAAMC,gBAAgB,SACnBD,oBAAoB,CAE9B;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBAKU,MAA+B;MACrC,MAAMC,aAAa,GAAG,IAAI,CAACC,gBAAgB,EAAE;MAC7C,MAAMC,QAAQ,GAAG,IAAI,CAACC,SAAS;MAC/B,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,EAAE;MAC7B,MAAMC,QAAQ,GAAG,IAAI,CAACC,SAAS,IAAI,GAAG;MAEtC,OAAQC,MAAM,IAAK;QACjB,SAAS;;QACT,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAE,CAAC;YACVC,OAAO,EAAEH,MAAM,CAACI,cAAc;YAC9BC,OAAO,EAAEL,MAAM,CAACM,cAAc;YAC9BC,KAAK,EAAEP,MAAM,CAACQ,YAAY;YAC1BC,MAAM,EAAET,MAAM,CAACU;UACjB,CAAC;UACDC,UAAU,EAAE;YACVT,OAAO,EAAEV,aAAa,CACpBI,KAAK,EACLX,YAAY,CACVC,UAAU,CAAC,CAAC,EAAE;cAAEY,QAAQ,EAAEA;YAAS,CAAC,CAAC,EACrCZ,UAAU,CAAC,CAAC,EAAE;cAAEY,QAAQ,EAAEA;YAAS,CAAC,CAAC,CACtC,CACF;YACDK,OAAO,EAAEX,aAAa,CACpBI,KAAK,GAAGE,QAAQ,EAChBZ,UAAU,CAACc,MAAM,CAACY,aAAa,EAAE;cAAEd,QAAQ,EAAE;YAAG,CAAC,CAAC,CACnD;YACDO,OAAO,EAAEb,aAAa,CACpBI,KAAK,GAAGE,QAAQ,EAChBZ,UAAU,CAACc,MAAM,CAACa,aAAa,EAAE;cAAEf,QAAQ,EAAE;YAAG,CAAC,CAAC,CACnD;YACDS,KAAK,EAAEf,aAAa,CAClBI,KAAK,GAAGE,QAAQ,EAChBZ,UAAU,CAACc,MAAM,CAACc,WAAW,EAAE;cAAEhB,QAAQ,EAAE;YAAG,CAAC,CAAC,CACjD;YACDW,MAAM,EAAEjB,aAAa,CACnBI,KAAK,GAAGE,QAAQ,EAChBZ,UAAU,CAACc,MAAM,CAACe,YAAY,EAAE;cAAEjB,QAAQ,EAAE;YAAG,CAAC,CAAC;UAErD,CAAC;UACDJ,QAAQ,EAAEA;QACZ,CAAC;MACH,CAAC;IACH,CAAC;EAAA;EAhDD,OAAOsB,cAAcA,CAAA,EAAqB;IACxC,OAAO,IAAI5B,gBAAgB,EAAE;EAC/B;AA+CF"}
@@ -1,12 +1,12 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ 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); }
3
4
  import { withSequence, withTiming } from '../../animation';
4
5
  import { Easing } from '../../Easing';
5
6
  import { BaseAnimationBuilder } from '../animationBuilder';
6
7
  export class JumpingTransition extends BaseAnimationBuilder {
7
8
  constructor() {
8
9
  super(...arguments);
9
-
10
10
  _defineProperty(this, "build", () => {
11
11
  const delayFunction = this.getDelayFunction();
12
12
  const callback = this.callbackV;
@@ -31,7 +31,8 @@ export class JumpingTransition extends BaseAnimationBuilder {
31
31
  originY: delayFunction(delay, withSequence(withTiming(Math.min(values.targetOriginY, values.currentOriginY) - d, {
32
32
  duration,
33
33
  easing: Easing.out(Easing.exp)
34
- }), withTiming(values.targetOriginY, { ...config,
34
+ }), withTiming(values.targetOriginY, {
35
+ ...config,
35
36
  duration,
36
37
  easing: Easing.bounce
37
38
  }))),
@@ -43,10 +44,8 @@ export class JumpingTransition extends BaseAnimationBuilder {
43
44
  };
44
45
  });
45
46
  }
46
-
47
47
  static createInstance() {
48
48
  return new JumpingTransition();
49
49
  }
50
-
51
50
  }
52
51
  //# sourceMappingURL=JumpingTransition.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withSequence","withTiming","Easing","BaseAnimationBuilder","JumpingTransition","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","duration","durationV","config","values","d","Math","max","abs","targetOriginX","currentOriginX","targetOriginY","currentOriginY","initialValues","originX","originY","width","currentWidth","height","currentHeight","animations","min","easing","out","exp","bounce","targetWidth","targetHeight","createInstance"],"sources":["JumpingTransition.ts"],"sourcesContent":["import {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { withSequence, withTiming } from '../../animation';\nimport { Easing } from '../../Easing';\nimport { BaseAnimationBuilder } from '../animationBuilder';\nexport class JumpingTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n static createInstance(): JumpingTransition {\n return new JumpingTransition();\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const duration = (this.durationV ?? 300) / 2;\n const config = { duration: duration * 2 };\n\n return (values) => {\n 'worklet';\n const d = Math.max(\n Math.abs(values.targetOriginX - values.currentOriginX),\n Math.abs(values.targetOriginY - values.currentOriginY)\n );\n return {\n initialValues: {\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n originX: delayFunction(\n delay,\n withTiming(values.targetOriginX, config)\n ),\n originY: delayFunction(\n delay,\n withSequence(\n withTiming(\n Math.min(values.targetOriginY, values.currentOriginY) - d,\n {\n duration,\n easing: Easing.out(Easing.exp),\n }\n ),\n withTiming(values.targetOriginY, {\n ...config,\n duration,\n easing: Easing.bounce,\n })\n )\n ),\n width: delayFunction(delay, withTiming(values.targetWidth, config)),\n height: delayFunction(delay, withTiming(values.targetHeight, config)),\n },\n callback: callback,\n };\n };\n };\n}\n"],"mappings":";;AAIA,SAASA,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,MAAT,QAAuB,cAAvB;AACA,SAASC,oBAAT,QAAqC,qBAArC;AACA,OAAO,MAAMC,iBAAN,SACGD,oBADH,CAGP;EAAA;IAAA;;IAAA,+BAKU,MAA+B;MACrC,MAAME,aAAa,GAAG,KAAKC,gBAAL,EAAtB;MACA,MAAMC,QAAQ,GAAG,KAAKC,SAAtB;MACA,MAAMC,KAAK,GAAG,KAAKC,QAAL,EAAd;MACA,MAAMC,QAAQ,GAAG,CAAC,KAAKC,SAAL,IAAkB,GAAnB,IAA0B,CAA3C;MACA,MAAMC,MAAM,GAAG;QAAEF,QAAQ,EAAEA,QAAQ,GAAG;MAAvB,CAAf;MAEA,OAAQG,MAAD,IAAY;QACjB;;QACA,MAAMC,CAAC,GAAGC,IAAI,CAACC,GAAL,CACRD,IAAI,CAACE,GAAL,CAASJ,MAAM,CAACK,aAAP,GAAuBL,MAAM,CAACM,cAAvC,CADQ,EAERJ,IAAI,CAACE,GAAL,CAASJ,MAAM,CAACO,aAAP,GAAuBP,MAAM,CAACQ,cAAvC,CAFQ,CAAV;QAIA,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAEV,MAAM,CAACM,cADH;YAEbK,OAAO,EAAEX,MAAM,CAACQ,cAFH;YAGbI,KAAK,EAAEZ,MAAM,CAACa,YAHD;YAIbC,MAAM,EAAEd,MAAM,CAACe;UAJF,CADV;UAOLC,UAAU,EAAE;YACVN,OAAO,EAAEnB,aAAa,CACpBI,KADoB,EAEpBR,UAAU,CAACa,MAAM,CAACK,aAAR,EAAuBN,MAAvB,CAFU,CADZ;YAKVY,OAAO,EAAEpB,aAAa,CACpBI,KADoB,EAEpBT,YAAY,CACVC,UAAU,CACRe,IAAI,CAACe,GAAL,CAASjB,MAAM,CAACO,aAAhB,EAA+BP,MAAM,CAACQ,cAAtC,IAAwDP,CADhD,EAER;cACEJ,QADF;cAEEqB,MAAM,EAAE9B,MAAM,CAAC+B,GAAP,CAAW/B,MAAM,CAACgC,GAAlB;YAFV,CAFQ,CADA,EAQVjC,UAAU,CAACa,MAAM,CAACO,aAAR,EAAuB,EAC/B,GAAGR,MAD4B;cAE/BF,QAF+B;cAG/BqB,MAAM,EAAE9B,MAAM,CAACiC;YAHgB,CAAvB,CARA,CAFQ,CALZ;YAsBVT,KAAK,EAAErB,aAAa,CAACI,KAAD,EAAQR,UAAU,CAACa,MAAM,CAACsB,WAAR,EAAqBvB,MAArB,CAAlB,CAtBV;YAuBVe,MAAM,EAAEvB,aAAa,CAACI,KAAD,EAAQR,UAAU,CAACa,MAAM,CAACuB,YAAR,EAAsBxB,MAAtB,CAAlB;UAvBX,CAPP;UAgCLN,QAAQ,EAAEA;QAhCL,CAAP;MAkCD,CAxCD;IAyCD,CArDH;EAAA;;EACuB,OAAd+B,cAAc,GAAsB;IACzC,OAAO,IAAIlC,iBAAJ,EAAP;EACD;;AAHH"}
1
+ {"version":3,"names":["withSequence","withTiming","Easing","BaseAnimationBuilder","JumpingTransition","constructor","arguments","_defineProperty","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","duration","durationV","config","values","d","Math","max","abs","targetOriginX","currentOriginX","targetOriginY","currentOriginY","initialValues","originX","originY","width","currentWidth","height","currentHeight","animations","min","easing","out","exp","bounce","targetWidth","targetHeight","createInstance"],"sources":["JumpingTransition.ts"],"sourcesContent":["import {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { withSequence, withTiming } from '../../animation';\nimport { Easing } from '../../Easing';\nimport { BaseAnimationBuilder } from '../animationBuilder';\nexport class JumpingTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n static createInstance(): JumpingTransition {\n return new JumpingTransition();\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const duration = (this.durationV ?? 300) / 2;\n const config = { duration: duration * 2 };\n\n return (values) => {\n 'worklet';\n const d = Math.max(\n Math.abs(values.targetOriginX - values.currentOriginX),\n Math.abs(values.targetOriginY - values.currentOriginY)\n );\n return {\n initialValues: {\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n originX: delayFunction(\n delay,\n withTiming(values.targetOriginX, config)\n ),\n originY: delayFunction(\n delay,\n withSequence(\n withTiming(\n Math.min(values.targetOriginY, values.currentOriginY) - d,\n {\n duration,\n easing: Easing.out(Easing.exp),\n }\n ),\n withTiming(values.targetOriginY, {\n ...config,\n duration,\n easing: Easing.bounce,\n })\n )\n ),\n width: delayFunction(delay, withTiming(values.targetWidth, config)),\n height: delayFunction(delay, withTiming(values.targetHeight, config)),\n },\n callback: callback,\n };\n };\n };\n}\n"],"mappings":";;;AAIA,SAASA,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAC1D,SAASC,MAAM,QAAQ,cAAc;AACrC,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,OAAO,MAAMC,iBAAiB,SACpBD,oBAAoB,CAE9B;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBAKU,MAA+B;MACrC,MAAMC,aAAa,GAAG,IAAI,CAACC,gBAAgB,EAAE;MAC7C,MAAMC,QAAQ,GAAG,IAAI,CAACC,SAAS;MAC/B,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,EAAE;MAC7B,MAAMC,QAAQ,GAAG,CAAC,IAAI,CAACC,SAAS,IAAI,GAAG,IAAI,CAAC;MAC5C,MAAMC,MAAM,GAAG;QAAEF,QAAQ,EAAEA,QAAQ,GAAG;MAAE,CAAC;MAEzC,OAAQG,MAAM,IAAK;QACjB,SAAS;;QACT,MAAMC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAChBD,IAAI,CAACE,GAAG,CAACJ,MAAM,CAACK,aAAa,GAAGL,MAAM,CAACM,cAAc,CAAC,EACtDJ,IAAI,CAACE,GAAG,CAACJ,MAAM,CAACO,aAAa,GAAGP,MAAM,CAACQ,cAAc,CAAC,CACvD;QACD,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAEV,MAAM,CAACM,cAAc;YAC9BK,OAAO,EAAEX,MAAM,CAACQ,cAAc;YAC9BI,KAAK,EAAEZ,MAAM,CAACa,YAAY;YAC1BC,MAAM,EAAEd,MAAM,CAACe;UACjB,CAAC;UACDC,UAAU,EAAE;YACVN,OAAO,EAAEnB,aAAa,CACpBI,KAAK,EACLX,UAAU,CAACgB,MAAM,CAACK,aAAa,EAAEN,MAAM,CAAC,CACzC;YACDY,OAAO,EAAEpB,aAAa,CACpBI,KAAK,EACLZ,YAAY,CACVC,UAAU,CACRkB,IAAI,CAACe,GAAG,CAACjB,MAAM,CAACO,aAAa,EAAEP,MAAM,CAACQ,cAAc,CAAC,GAAGP,CAAC,EACzD;cACEJ,QAAQ;cACRqB,MAAM,EAAEjC,MAAM,CAACkC,GAAG,CAAClC,MAAM,CAACmC,GAAG;YAC/B,CAAC,CACF,EACDpC,UAAU,CAACgB,MAAM,CAACO,aAAa,EAAE;cAC/B,GAAGR,MAAM;cACTF,QAAQ;cACRqB,MAAM,EAAEjC,MAAM,CAACoC;YACjB,CAAC,CAAC,CACH,CACF;YACDT,KAAK,EAAErB,aAAa,CAACI,KAAK,EAAEX,UAAU,CAACgB,MAAM,CAACsB,WAAW,EAAEvB,MAAM,CAAC,CAAC;YACnEe,MAAM,EAAEvB,aAAa,CAACI,KAAK,EAAEX,UAAU,CAACgB,MAAM,CAACuB,YAAY,EAAExB,MAAM,CAAC;UACtE,CAAC;UACDN,QAAQ,EAAEA;QACZ,CAAC;MACH,CAAC;IACH,CAAC;EAAA;EApDD,OAAO+B,cAAcA,CAAA,EAAsB;IACzC,OAAO,IAAIrC,iBAAiB,EAAE;EAChC;AAmDF"}
@@ -1,10 +1,10 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ 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); }
3
4
  import { ComplexAnimationBuilder } from '../animationBuilder/ComplexAnimationBuilder';
4
5
  export class LinearTransition extends ComplexAnimationBuilder {
5
6
  constructor() {
6
7
  super(...arguments);
7
-
8
8
  _defineProperty(this, "build", () => {
9
9
  const delayFunction = this.getDelayFunction();
10
10
  const [animation, config] = this.getAnimationAndConfig();
@@ -31,11 +31,9 @@ export class LinearTransition extends ComplexAnimationBuilder {
31
31
  };
32
32
  });
33
33
  }
34
-
35
34
  static createInstance() {
36
35
  return new LinearTransition();
37
36
  }
38
-
39
37
  }
40
38
  export const Layout = LinearTransition;
41
39
  //# sourceMappingURL=LinearTransition.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ComplexAnimationBuilder","LinearTransition","delayFunction","getDelayFunction","animation","config","getAnimationAndConfig","callback","callbackV","delay","getDelay","values","initialValues","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","animations","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance","Layout"],"sources":["LinearTransition.ts"],"sourcesContent":["import { ComplexAnimationBuilder } from '../animationBuilder/ComplexAnimationBuilder';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\n\nexport class LinearTransition\n extends ComplexAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n static createInstance(): LinearTransition {\n return new LinearTransition();\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const [animation, config] = this.getAnimationAndConfig();\n const callback = this.callbackV;\n const delay = this.getDelay();\n\n return (values) => {\n 'worklet';\n return {\n initialValues: {\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n originX: delayFunction(\n delay,\n animation(values.targetOriginX, config)\n ),\n originY: delayFunction(\n delay,\n animation(values.targetOriginY, config)\n ),\n width: delayFunction(delay, animation(values.targetWidth, config)),\n height: delayFunction(delay, animation(values.targetHeight, config)),\n },\n callback: callback,\n };\n };\n };\n}\n\nexport const Layout = LinearTransition;\n"],"mappings":";;AAAA,SAASA,uBAAT,QAAwC,6CAAxC;AAMA,OAAO,MAAMC,gBAAN,SACGD,uBADH,CAGP;EAAA;IAAA;;IAAA,+BAKU,MAA+B;MACrC,MAAME,aAAa,GAAG,KAAKC,gBAAL,EAAtB;MACA,MAAM,CAACC,SAAD,EAAYC,MAAZ,IAAsB,KAAKC,qBAAL,EAA5B;MACA,MAAMC,QAAQ,GAAG,KAAKC,SAAtB;MACA,MAAMC,KAAK,GAAG,KAAKC,QAAL,EAAd;MAEA,OAAQC,MAAD,IAAY;QACjB;;QACA,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAEF,MAAM,CAACG,cADH;YAEbC,OAAO,EAAEJ,MAAM,CAACK,cAFH;YAGbC,KAAK,EAAEN,MAAM,CAACO,YAHD;YAIbC,MAAM,EAAER,MAAM,CAACS;UAJF,CADV;UAOLC,UAAU,EAAE;YACVR,OAAO,EAAEX,aAAa,CACpBO,KADoB,EAEpBL,SAAS,CAACO,MAAM,CAACW,aAAR,EAAuBjB,MAAvB,CAFW,CADZ;YAKVU,OAAO,EAAEb,aAAa,CACpBO,KADoB,EAEpBL,SAAS,CAACO,MAAM,CAACY,aAAR,EAAuBlB,MAAvB,CAFW,CALZ;YASVY,KAAK,EAAEf,aAAa,CAACO,KAAD,EAAQL,SAAS,CAACO,MAAM,CAACa,WAAR,EAAqBnB,MAArB,CAAjB,CATV;YAUVc,MAAM,EAAEjB,aAAa,CAACO,KAAD,EAAQL,SAAS,CAACO,MAAM,CAACc,YAAR,EAAsBpB,MAAtB,CAAjB;UAVX,CAPP;UAmBLE,QAAQ,EAAEA;QAnBL,CAAP;MAqBD,CAvBD;IAwBD,CAnCH;EAAA;;EACuB,OAAdmB,cAAc,GAAqB;IACxC,OAAO,IAAIzB,gBAAJ,EAAP;EACD;;AAHH;AAsCA,OAAO,MAAM0B,MAAM,GAAG1B,gBAAf"}
1
+ {"version":3,"names":["ComplexAnimationBuilder","LinearTransition","constructor","arguments","_defineProperty","delayFunction","getDelayFunction","animation","config","getAnimationAndConfig","callback","callbackV","delay","getDelay","values","initialValues","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","animations","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance","Layout"],"sources":["LinearTransition.ts"],"sourcesContent":["import { ComplexAnimationBuilder } from '../animationBuilder/ComplexAnimationBuilder';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\n\nexport class LinearTransition\n extends ComplexAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n static createInstance(): LinearTransition {\n return new LinearTransition();\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const [animation, config] = this.getAnimationAndConfig();\n const callback = this.callbackV;\n const delay = this.getDelay();\n\n return (values) => {\n 'worklet';\n return {\n initialValues: {\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n originX: delayFunction(\n delay,\n animation(values.targetOriginX, config)\n ),\n originY: delayFunction(\n delay,\n animation(values.targetOriginY, config)\n ),\n width: delayFunction(delay, animation(values.targetWidth, config)),\n height: delayFunction(delay, animation(values.targetHeight, config)),\n },\n callback: callback,\n };\n };\n };\n}\n\nexport const Layout = LinearTransition;\n"],"mappings":";;;AAAA,SAASA,uBAAuB,QAAQ,6CAA6C;AAMrF,OAAO,MAAMC,gBAAgB,SACnBD,uBAAuB,CAEjC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBAKU,MAA+B;MACrC,MAAMC,aAAa,GAAG,IAAI,CAACC,gBAAgB,EAAE;MAC7C,MAAM,CAACC,SAAS,EAAEC,MAAM,CAAC,GAAG,IAAI,CAACC,qBAAqB,EAAE;MACxD,MAAMC,QAAQ,GAAG,IAAI,CAACC,SAAS;MAC/B,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,EAAE;MAE7B,OAAQC,MAAM,IAAK;QACjB,SAAS;;QACT,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAEF,MAAM,CAACG,cAAc;YAC9BC,OAAO,EAAEJ,MAAM,CAACK,cAAc;YAC9BC,KAAK,EAAEN,MAAM,CAACO,YAAY;YAC1BC,MAAM,EAAER,MAAM,CAACS;UACjB,CAAC;UACDC,UAAU,EAAE;YACVR,OAAO,EAAEX,aAAa,CACpBO,KAAK,EACLL,SAAS,CAACO,MAAM,CAACW,aAAa,EAAEjB,MAAM,CAAC,CACxC;YACDU,OAAO,EAAEb,aAAa,CACpBO,KAAK,EACLL,SAAS,CAACO,MAAM,CAACY,aAAa,EAAElB,MAAM,CAAC,CACxC;YACDY,KAAK,EAAEf,aAAa,CAACO,KAAK,EAAEL,SAAS,CAACO,MAAM,CAACa,WAAW,EAAEnB,MAAM,CAAC,CAAC;YAClEc,MAAM,EAAEjB,aAAa,CAACO,KAAK,EAAEL,SAAS,CAACO,MAAM,CAACc,YAAY,EAAEpB,MAAM,CAAC;UACrE,CAAC;UACDE,QAAQ,EAAEA;QACZ,CAAC;MACH,CAAC;IACH,CAAC;EAAA;EAlCD,OAAOmB,cAAcA,CAAA,EAAqB;IACxC,OAAO,IAAI5B,gBAAgB,EAAE;EAC/B;AAiCF;AAEA,OAAO,MAAM6B,MAAM,GAAG7B,gBAAgB"}
@@ -1,13 +1,12 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ 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); }
3
4
  import { withSequence, withTiming } from '../../animation';
4
5
  import { BaseAnimationBuilder } from '../animationBuilder';
5
6
  export class SequencedTransition extends BaseAnimationBuilder {
6
7
  constructor() {
7
8
  super(...arguments);
8
-
9
9
  _defineProperty(this, "reversed", false);
10
-
11
10
  _defineProperty(this, "build", () => {
12
11
  const delayFunction = this.getDelayFunction();
13
12
  const callback = this.callbackV;
@@ -38,20 +37,16 @@ export class SequencedTransition extends BaseAnimationBuilder {
38
37
  };
39
38
  });
40
39
  }
41
-
42
40
  static createInstance() {
43
41
  return new SequencedTransition();
44
42
  }
45
-
46
43
  static reverse() {
47
44
  const instance = SequencedTransition.createInstance();
48
45
  return instance.reverse();
49
46
  }
50
-
51
47
  reverse() {
52
48
  this.reversed = !this.reversed;
53
49
  return this;
54
50
  }
55
-
56
51
  }
57
52
  //# sourceMappingURL=SequencedTransition.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withSequence","withTiming","BaseAnimationBuilder","SequencedTransition","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","sequenceDuration","durationV","config","duration","reverse","reversed","values","initialValues","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","animations","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance","instance"],"sources":["SequencedTransition.ts"],"sourcesContent":["import { withSequence, withTiming } from '../../animation';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { BaseAnimationBuilder } from '../animationBuilder';\n\nexport class SequencedTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n reversed = false;\n\n static createInstance(): SequencedTransition {\n return new SequencedTransition();\n }\n\n static reverse(): SequencedTransition {\n const instance = SequencedTransition.createInstance();\n return instance.reverse();\n }\n\n reverse(): SequencedTransition {\n this.reversed = !this.reversed;\n return this;\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const sequenceDuration = (this.durationV ?? 500) / 2;\n const config = { duration: sequenceDuration };\n const reverse = this.reversed;\n\n return (values) => {\n 'worklet';\n return {\n initialValues: {\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n originX: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.currentOriginX : values.targetOriginX,\n config\n ),\n withTiming(values.targetOriginX, config)\n )\n ),\n originY: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.targetOriginY : values.currentOriginY,\n config\n ),\n withTiming(values.targetOriginY, config)\n )\n ),\n width: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.currentWidth : values.targetWidth,\n config\n ),\n withTiming(values.targetWidth, config)\n )\n ),\n height: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.targetHeight : values.currentHeight,\n config\n ),\n withTiming(values.targetHeight, config)\n )\n ),\n },\n callback: callback,\n };\n };\n };\n}\n"],"mappings":";;AAAA,SAASA,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AAKA,SAASC,oBAAT,QAAqC,qBAArC;AAEA,OAAO,MAAMC,mBAAN,SACGD,oBADH,CAGP;EAAA;IAAA;;IAAA,kCACa,KADb;;IAAA,+BAiBU,MAA+B;MACrC,MAAME,aAAa,GAAG,KAAKC,gBAAL,EAAtB;MACA,MAAMC,QAAQ,GAAG,KAAKC,SAAtB;MACA,MAAMC,KAAK,GAAG,KAAKC,QAAL,EAAd;MACA,MAAMC,gBAAgB,GAAG,CAAC,KAAKC,SAAL,IAAkB,GAAnB,IAA0B,CAAnD;MACA,MAAMC,MAAM,GAAG;QAAEC,QAAQ,EAAEH;MAAZ,CAAf;MACA,MAAMI,OAAO,GAAG,KAAKC,QAArB;MAEA,OAAQC,MAAD,IAAY;QACjB;;QACA,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAEF,MAAM,CAACG,cADH;YAEbC,OAAO,EAAEJ,MAAM,CAACK,cAFH;YAGbC,KAAK,EAAEN,MAAM,CAACO,YAHD;YAIbC,MAAM,EAAER,MAAM,CAACS;UAJF,CADV;UAOLC,UAAU,EAAE;YACVR,OAAO,EAAEd,aAAa,CACpBI,KADoB,EAEpBR,YAAY,CACVC,UAAU,CACRa,OAAO,GAAGE,MAAM,CAACG,cAAV,GAA2BH,MAAM,CAACW,aADjC,EAERf,MAFQ,CADA,EAKVX,UAAU,CAACe,MAAM,CAACW,aAAR,EAAuBf,MAAvB,CALA,CAFQ,CADZ;YAWVQ,OAAO,EAAEhB,aAAa,CACpBI,KADoB,EAEpBR,YAAY,CACVC,UAAU,CACRa,OAAO,GAAGE,MAAM,CAACY,aAAV,GAA0BZ,MAAM,CAACK,cADhC,EAERT,MAFQ,CADA,EAKVX,UAAU,CAACe,MAAM,CAACY,aAAR,EAAuBhB,MAAvB,CALA,CAFQ,CAXZ;YAqBVU,KAAK,EAAElB,aAAa,CAClBI,KADkB,EAElBR,YAAY,CACVC,UAAU,CACRa,OAAO,GAAGE,MAAM,CAACO,YAAV,GAAyBP,MAAM,CAACa,WAD/B,EAERjB,MAFQ,CADA,EAKVX,UAAU,CAACe,MAAM,CAACa,WAAR,EAAqBjB,MAArB,CALA,CAFM,CArBV;YA+BVY,MAAM,EAAEpB,aAAa,CACnBI,KADmB,EAEnBR,YAAY,CACVC,UAAU,CACRa,OAAO,GAAGE,MAAM,CAACc,YAAV,GAAyBd,MAAM,CAACS,aAD/B,EAERb,MAFQ,CADA,EAKVX,UAAU,CAACe,MAAM,CAACc,YAAR,EAAsBlB,MAAtB,CALA,CAFO;UA/BX,CAPP;UAiDLN,QAAQ,EAAEA;QAjDL,CAAP;MAmDD,CArDD;IAsDD,CA/EH;EAAA;;EAGuB,OAAdyB,cAAc,GAAwB;IAC3C,OAAO,IAAI5B,mBAAJ,EAAP;EACD;;EAEa,OAAPW,OAAO,GAAwB;IACpC,MAAMkB,QAAQ,GAAG7B,mBAAmB,CAAC4B,cAApB,EAAjB;IACA,OAAOC,QAAQ,CAAClB,OAAT,EAAP;EACD;;EAEDA,OAAO,GAAwB;IAC7B,KAAKC,QAAL,GAAgB,CAAC,KAAKA,QAAtB;IACA,OAAO,IAAP;EACD;;AAfH"}
1
+ {"version":3,"names":["withSequence","withTiming","BaseAnimationBuilder","SequencedTransition","constructor","arguments","_defineProperty","delayFunction","getDelayFunction","callback","callbackV","delay","getDelay","sequenceDuration","durationV","config","duration","reverse","reversed","values","initialValues","originX","currentOriginX","originY","currentOriginY","width","currentWidth","height","currentHeight","animations","targetOriginX","targetOriginY","targetWidth","targetHeight","createInstance","instance"],"sources":["SequencedTransition.ts"],"sourcesContent":["import { withSequence, withTiming } from '../../animation';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n} from '../animationBuilder/commonTypes';\nimport { BaseAnimationBuilder } from '../animationBuilder';\n\nexport class SequencedTransition\n extends BaseAnimationBuilder\n implements ILayoutAnimationBuilder\n{\n reversed = false;\n\n static createInstance(): SequencedTransition {\n return new SequencedTransition();\n }\n\n static reverse(): SequencedTransition {\n const instance = SequencedTransition.createInstance();\n return instance.reverse();\n }\n\n reverse(): SequencedTransition {\n this.reversed = !this.reversed;\n return this;\n }\n\n build = (): LayoutAnimationFunction => {\n const delayFunction = this.getDelayFunction();\n const callback = this.callbackV;\n const delay = this.getDelay();\n const sequenceDuration = (this.durationV ?? 500) / 2;\n const config = { duration: sequenceDuration };\n const reverse = this.reversed;\n\n return (values) => {\n 'worklet';\n return {\n initialValues: {\n originX: values.currentOriginX,\n originY: values.currentOriginY,\n width: values.currentWidth,\n height: values.currentHeight,\n },\n animations: {\n originX: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.currentOriginX : values.targetOriginX,\n config\n ),\n withTiming(values.targetOriginX, config)\n )\n ),\n originY: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.targetOriginY : values.currentOriginY,\n config\n ),\n withTiming(values.targetOriginY, config)\n )\n ),\n width: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.currentWidth : values.targetWidth,\n config\n ),\n withTiming(values.targetWidth, config)\n )\n ),\n height: delayFunction(\n delay,\n withSequence(\n withTiming(\n reverse ? values.targetHeight : values.currentHeight,\n config\n ),\n withTiming(values.targetHeight, config)\n )\n ),\n },\n callback: callback,\n };\n };\n };\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAK1D,SAASC,oBAAoB,QAAQ,qBAAqB;AAE1D,OAAO,MAAMC,mBAAmB,SACtBD,oBAAoB,CAE9B;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,mBACa,KAAK;IAAAA,eAAA,gBAgBR,MAA+B;MACrC,MAAMC,aAAa,GAAG,IAAI,CAACC,gBAAgB,EAAE;MAC7C,MAAMC,QAAQ,GAAG,IAAI,CAACC,SAAS;MAC/B,MAAMC,KAAK,GAAG,IAAI,CAACC,QAAQ,EAAE;MAC7B,MAAMC,gBAAgB,GAAG,CAAC,IAAI,CAACC,SAAS,IAAI,GAAG,IAAI,CAAC;MACpD,MAAMC,MAAM,GAAG;QAAEC,QAAQ,EAAEH;MAAiB,CAAC;MAC7C,MAAMI,OAAO,GAAG,IAAI,CAACC,QAAQ;MAE7B,OAAQC,MAAM,IAAK;QACjB,SAAS;;QACT,OAAO;UACLC,aAAa,EAAE;YACbC,OAAO,EAAEF,MAAM,CAACG,cAAc;YAC9BC,OAAO,EAAEJ,MAAM,CAACK,cAAc;YAC9BC,KAAK,EAAEN,MAAM,CAACO,YAAY;YAC1BC,MAAM,EAAER,MAAM,CAACS;UACjB,CAAC;UACDC,UAAU,EAAE;YACVR,OAAO,EAAEd,aAAa,CACpBI,KAAK,EACLX,YAAY,CACVC,UAAU,CACRgB,OAAO,GAAGE,MAAM,CAACG,cAAc,GAAGH,MAAM,CAACW,aAAa,EACtDf,MAAM,CACP,EACDd,UAAU,CAACkB,MAAM,CAACW,aAAa,EAAEf,MAAM,CAAC,CACzC,CACF;YACDQ,OAAO,EAAEhB,aAAa,CACpBI,KAAK,EACLX,YAAY,CACVC,UAAU,CACRgB,OAAO,GAAGE,MAAM,CAACY,aAAa,GAAGZ,MAAM,CAACK,cAAc,EACtDT,MAAM,CACP,EACDd,UAAU,CAACkB,MAAM,CAACY,aAAa,EAAEhB,MAAM,CAAC,CACzC,CACF;YACDU,KAAK,EAAElB,aAAa,CAClBI,KAAK,EACLX,YAAY,CACVC,UAAU,CACRgB,OAAO,GAAGE,MAAM,CAACO,YAAY,GAAGP,MAAM,CAACa,WAAW,EAClDjB,MAAM,CACP,EACDd,UAAU,CAACkB,MAAM,CAACa,WAAW,EAAEjB,MAAM,CAAC,CACvC,CACF;YACDY,MAAM,EAAEpB,aAAa,CACnBI,KAAK,EACLX,YAAY,CACVC,UAAU,CACRgB,OAAO,GAAGE,MAAM,CAACc,YAAY,GAAGd,MAAM,CAACS,aAAa,EACpDb,MAAM,CACP,EACDd,UAAU,CAACkB,MAAM,CAACc,YAAY,EAAElB,MAAM,CAAC,CACxC;UAEL,CAAC;UACDN,QAAQ,EAAEA;QACZ,CAAC;MACH,CAAC;IACH,CAAC;EAAA;EA5ED,OAAOyB,cAAcA,CAAA,EAAwB;IAC3C,OAAO,IAAI/B,mBAAmB,EAAE;EAClC;EAEA,OAAOc,OAAOA,CAAA,EAAwB;IACpC,MAAMkB,QAAQ,GAAGhC,mBAAmB,CAAC+B,cAAc,EAAE;IACrD,OAAOC,QAAQ,CAAClB,OAAO,EAAE;EAC3B;EAEAA,OAAOA,CAAA,EAAwB;IAC7B,IAAI,CAACC,QAAQ,GAAG,CAAC,IAAI,CAACA,QAAQ;IAC9B,OAAO,IAAI;EACb;AAiEF"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './LinearTransition';\nexport * from './FadingTransition';\nexport * from './SequencedTransition';\nexport * from './JumpingTransition';\nexport * from './CurvedTransition';\nexport * from './EntryExitTransition';\n"],"mappings":"AAAA,cAAc,oBAAd;AACA,cAAc,oBAAd;AACA,cAAc,uBAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd;AACA,cAAc,uBAAd"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './LinearTransition';\nexport * from './FadingTransition';\nexport * from './SequencedTransition';\nexport * from './JumpingTransition';\nexport * from './CurvedTransition';\nexport * from './EntryExitTransition';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,uBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import './animationsManager';\nexport * from './animationBuilder';\nexport * from './defaultAnimations';\nexport * from './defaultTransitions';\nexport * from './sharedTransitions';\n"],"mappings":"AAAA,OAAO,qBAAP;AACA,cAAc,oBAAd;AACA,cAAc,qBAAd;AACA,cAAc,sBAAd;AACA,cAAc,qBAAd"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import './animationsManager';\nexport * from './animationBuilder';\nexport * from './defaultAnimations';\nexport * from './defaultTransitions';\nexport * from './sharedTransitions';\n"],"mappings":"AAAA,OAAO,qBAAqB;AAC5B,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,qBAAqB"}
@@ -1,31 +1,26 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ 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); }
3
4
  import { withTiming } from '../../animation';
4
5
  const supportedProps = ['width', 'height', 'originX', 'originY', 'transform'];
5
6
  export class SharedTransition {
6
7
  constructor() {
7
8
  _defineProperty(this, "animationFactory", null);
8
-
9
9
  _defineProperty(this, "defaultDuration", 500);
10
10
  }
11
-
12
11
  static createInstance() {
13
12
  return new SharedTransition();
14
13
  }
15
-
16
14
  static custom(animationFactory) {
17
15
  return this.createInstance().custom(animationFactory);
18
16
  }
19
-
20
17
  custom(animationFactory) {
21
18
  this.animationFactory = animationFactory;
22
19
  return this;
23
20
  }
24
-
25
21
  static build() {
26
22
  return this.createInstance().build();
27
23
  }
28
-
29
24
  build() {
30
25
  const animationFactory = this.animationFactory;
31
26
  const animationDuration = this.defaultDuration;
@@ -34,10 +29,8 @@ export class SharedTransition {
34
29
 
35
30
  let animations = {};
36
31
  const initialValues = {};
37
-
38
32
  if (animationFactory) {
39
33
  animations = animationFactory(values);
40
-
41
34
  for (const key in animations) {
42
35
  if (!supportedProps.includes(key)) {
43
36
  throw Error(`The prop '${key}' is not supported yet.`);
@@ -60,7 +53,6 @@ export class SharedTransition {
60
53
  }
61
54
  }
62
55
  }
63
-
64
56
  for (const propName in animations) {
65
57
  if (propName === 'transform') {
66
58
  initialValues.transformMatrix = values.currentTransformMatrix;
@@ -69,14 +61,12 @@ export class SharedTransition {
69
61
  initialValues[propName] = values[keyToCurrentValue];
70
62
  }
71
63
  }
72
-
73
64
  return {
74
65
  initialValues,
75
66
  animations
76
67
  };
77
68
  };
78
69
  }
79
-
80
70
  }
81
71
  export const DefaultSharedTransition = SharedTransition;
82
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withTiming","supportedProps","SharedTransition","createInstance","custom","animationFactory","build","animationDuration","defaultDuration","values","animations","initialValues","key","includes","Error","propName","matrix","targetTransformMatrix","transformMatrix","duration","keyToTargetValue","charAt","toUpperCase","slice","currentTransformMatrix","keyToCurrentValue","DefaultSharedTransition"],"sources":["index.ts"],"sourcesContent":["import { withTiming } from '../../animation';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n LayoutAnimationsValues,\n} from '../animationBuilder/commonTypes';\nimport { StyleProps } from '../../commonTypes';\n\nconst supportedProps = ['width', 'height', 'originX', 'originY', 'transform'];\n\ntype AnimationFactoryType = (values: LayoutAnimationsValues) => StyleProps;\n\nexport class SharedTransition implements ILayoutAnimationBuilder {\n animationFactory: AnimationFactoryType | null = null;\n defaultDuration = 500;\n\n static createInstance(): SharedTransition {\n return new SharedTransition();\n }\n\n static custom(animationFactory: AnimationFactoryType): SharedTransition {\n return this.createInstance().custom(animationFactory);\n }\n\n custom(animationFactory: AnimationFactoryType): SharedTransition {\n this.animationFactory = animationFactory;\n return this;\n }\n\n static build(): LayoutAnimationFunction {\n return this.createInstance().build();\n }\n\n build(): LayoutAnimationFunction {\n const animationFactory = this.animationFactory;\n const animationDuration = this.defaultDuration;\n return (values: LayoutAnimationsValues) => {\n 'worklet';\n let animations: {\n [key: string]: any;\n } = {};\n const initialValues: {\n [key: string]: any;\n } = {};\n\n if (animationFactory) {\n animations = animationFactory(values);\n for (const key in animations) {\n if (!supportedProps.includes(key)) {\n throw Error(`The prop '${key}' is not supported yet.`);\n }\n }\n } else {\n for (const propName of supportedProps) {\n if (propName === 'transform') {\n const matrix = values.targetTransformMatrix;\n animations.transformMatrix = withTiming(matrix, {\n // native screen transition takes around 500ms\n duration: animationDuration,\n });\n } else {\n const keyToTargetValue =\n 'target' + propName.charAt(0).toUpperCase() + propName.slice(1);\n animations[propName] = withTiming(values[keyToTargetValue], {\n // native screen transition takes around 500ms\n duration: animationDuration,\n });\n }\n }\n }\n\n for (const propName in animations) {\n if (propName === 'transform') {\n initialValues.transformMatrix = values.currentTransformMatrix;\n } else {\n const keyToCurrentValue =\n 'current' + propName.charAt(0).toUpperCase() + propName.slice(1);\n initialValues[propName] = values[keyToCurrentValue];\n }\n }\n\n return { initialValues, animations };\n };\n }\n}\n\nexport const DefaultSharedTransition = SharedTransition;\n"],"mappings":";;AAAA,SAASA,UAAT,QAA2B,iBAA3B;AAQA,MAAMC,cAAc,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,EAA+B,SAA/B,EAA0C,WAA1C,CAAvB;AAIA,OAAO,MAAMC,gBAAN,CAA0D;EAAA;IAAA,0CACf,IADe;;IAAA,yCAE7C,GAF6C;EAAA;;EAI1C,OAAdC,cAAc,GAAqB;IACxC,OAAO,IAAID,gBAAJ,EAAP;EACD;;EAEY,OAANE,MAAM,CAACC,gBAAD,EAA2D;IACtE,OAAO,KAAKF,cAAL,GAAsBC,MAAtB,CAA6BC,gBAA7B,CAAP;EACD;;EAEDD,MAAM,CAACC,gBAAD,EAA2D;IAC/D,KAAKA,gBAAL,GAAwBA,gBAAxB;IACA,OAAO,IAAP;EACD;;EAEW,OAALC,KAAK,GAA4B;IACtC,OAAO,KAAKH,cAAL,GAAsBG,KAAtB,EAAP;EACD;;EAEDA,KAAK,GAA4B;IAC/B,MAAMD,gBAAgB,GAAG,KAAKA,gBAA9B;IACA,MAAME,iBAAiB,GAAG,KAAKC,eAA/B;IACA,OAAQC,MAAD,IAAoC;MACzC;;MACA,IAAIC,UAEH,GAAG,EAFJ;MAGA,MAAMC,aAEL,GAAG,EAFJ;;MAIA,IAAIN,gBAAJ,EAAsB;QACpBK,UAAU,GAAGL,gBAAgB,CAACI,MAAD,CAA7B;;QACA,KAAK,MAAMG,GAAX,IAAkBF,UAAlB,EAA8B;UAC5B,IAAI,CAACT,cAAc,CAACY,QAAf,CAAwBD,GAAxB,CAAL,EAAmC;YACjC,MAAME,KAAK,CAAE,aAAYF,GAAI,yBAAlB,CAAX;UACD;QACF;MACF,CAPD,MAOO;QACL,KAAK,MAAMG,QAAX,IAAuBd,cAAvB,EAAuC;UACrC,IAAIc,QAAQ,KAAK,WAAjB,EAA8B;YAC5B,MAAMC,MAAM,GAAGP,MAAM,CAACQ,qBAAtB;YACAP,UAAU,CAACQ,eAAX,GAA6BlB,UAAU,CAACgB,MAAD,EAAS;cAC9C;cACAG,QAAQ,EAAEZ;YAFoC,CAAT,CAAvC;UAID,CAND,MAMO;YACL,MAAMa,gBAAgB,GACpB,WAAWL,QAAQ,CAACM,MAAT,CAAgB,CAAhB,EAAmBC,WAAnB,EAAX,GAA8CP,QAAQ,CAACQ,KAAT,CAAe,CAAf,CADhD;YAEAb,UAAU,CAACK,QAAD,CAAV,GAAuBf,UAAU,CAACS,MAAM,CAACW,gBAAD,CAAP,EAA2B;cAC1D;cACAD,QAAQ,EAAEZ;YAFgD,CAA3B,CAAjC;UAID;QACF;MACF;;MAED,KAAK,MAAMQ,QAAX,IAAuBL,UAAvB,EAAmC;QACjC,IAAIK,QAAQ,KAAK,WAAjB,EAA8B;UAC5BJ,aAAa,CAACO,eAAd,GAAgCT,MAAM,CAACe,sBAAvC;QACD,CAFD,MAEO;UACL,MAAMC,iBAAiB,GACrB,YAAYV,QAAQ,CAACM,MAAT,CAAgB,CAAhB,EAAmBC,WAAnB,EAAZ,GAA+CP,QAAQ,CAACQ,KAAT,CAAe,CAAf,CADjD;UAEAZ,aAAa,CAACI,QAAD,CAAb,GAA0BN,MAAM,CAACgB,iBAAD,CAAhC;QACD;MACF;;MAED,OAAO;QAAEd,aAAF;QAAiBD;MAAjB,CAAP;IACD,CA9CD;EA+CD;;AAvE8D;AA0EjE,OAAO,MAAMgB,uBAAuB,GAAGxB,gBAAhC"}
1
+ {"version":3,"names":["withTiming","supportedProps","SharedTransition","constructor","_defineProperty","createInstance","custom","animationFactory","build","animationDuration","defaultDuration","values","animations","initialValues","key","includes","Error","propName","matrix","targetTransformMatrix","transformMatrix","duration","keyToTargetValue","charAt","toUpperCase","slice","currentTransformMatrix","keyToCurrentValue","DefaultSharedTransition"],"sources":["index.ts"],"sourcesContent":["import { withTiming } from '../../animation';\nimport {\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n LayoutAnimationsValues,\n} from '../animationBuilder/commonTypes';\nimport { StyleProps } from '../../commonTypes';\n\nconst supportedProps = ['width', 'height', 'originX', 'originY', 'transform'];\n\ntype AnimationFactoryType = (values: LayoutAnimationsValues) => StyleProps;\n\nexport class SharedTransition implements ILayoutAnimationBuilder {\n animationFactory: AnimationFactoryType | null = null;\n defaultDuration = 500;\n\n static createInstance(): SharedTransition {\n return new SharedTransition();\n }\n\n static custom(animationFactory: AnimationFactoryType): SharedTransition {\n return this.createInstance().custom(animationFactory);\n }\n\n custom(animationFactory: AnimationFactoryType): SharedTransition {\n this.animationFactory = animationFactory;\n return this;\n }\n\n static build(): LayoutAnimationFunction {\n return this.createInstance().build();\n }\n\n build(): LayoutAnimationFunction {\n const animationFactory = this.animationFactory;\n const animationDuration = this.defaultDuration;\n return (values: LayoutAnimationsValues) => {\n 'worklet';\n let animations: {\n [key: string]: any;\n } = {};\n const initialValues: {\n [key: string]: any;\n } = {};\n\n if (animationFactory) {\n animations = animationFactory(values);\n for (const key in animations) {\n if (!supportedProps.includes(key)) {\n throw Error(`The prop '${key}' is not supported yet.`);\n }\n }\n } else {\n for (const propName of supportedProps) {\n if (propName === 'transform') {\n const matrix = values.targetTransformMatrix;\n animations.transformMatrix = withTiming(matrix, {\n // native screen transition takes around 500ms\n duration: animationDuration,\n });\n } else {\n const keyToTargetValue =\n 'target' + propName.charAt(0).toUpperCase() + propName.slice(1);\n animations[propName] = withTiming(values[keyToTargetValue], {\n // native screen transition takes around 500ms\n duration: animationDuration,\n });\n }\n }\n }\n\n for (const propName in animations) {\n if (propName === 'transform') {\n initialValues.transformMatrix = values.currentTransformMatrix;\n } else {\n const keyToCurrentValue =\n 'current' + propName.charAt(0).toUpperCase() + propName.slice(1);\n initialValues[propName] = values[keyToCurrentValue];\n }\n }\n\n return { initialValues, animations };\n };\n }\n}\n\nexport const DefaultSharedTransition = SharedTransition;\n"],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAQ5C,MAAMC,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;AAI7E,OAAO,MAAMC,gBAAgB,CAAoC;EAAAC,YAAA;IAAAC,eAAA,2BACf,IAAI;IAAAA,eAAA,0BAClC,GAAG;EAAA;EAErB,OAAOC,cAAcA,CAAA,EAAqB;IACxC,OAAO,IAAIH,gBAAgB,EAAE;EAC/B;EAEA,OAAOI,MAAMA,CAACC,gBAAsC,EAAoB;IACtE,OAAO,IAAI,CAACF,cAAc,EAAE,CAACC,MAAM,CAACC,gBAAgB,CAAC;EACvD;EAEAD,MAAMA,CAACC,gBAAsC,EAAoB;IAC/D,IAAI,CAACA,gBAAgB,GAAGA,gBAAgB;IACxC,OAAO,IAAI;EACb;EAEA,OAAOC,KAAKA,CAAA,EAA4B;IACtC,OAAO,IAAI,CAACH,cAAc,EAAE,CAACG,KAAK,EAAE;EACtC;EAEAA,KAAKA,CAAA,EAA4B;IAC/B,MAAMD,gBAAgB,GAAG,IAAI,CAACA,gBAAgB;IAC9C,MAAME,iBAAiB,GAAG,IAAI,CAACC,eAAe;IAC9C,OAAQC,MAA8B,IAAK;MACzC,SAAS;;MACT,IAAIC,UAEH,GAAG,CAAC,CAAC;MACN,MAAMC,aAEL,GAAG,CAAC,CAAC;MAEN,IAAIN,gBAAgB,EAAE;QACpBK,UAAU,GAAGL,gBAAgB,CAACI,MAAM,CAAC;QACrC,KAAK,MAAMG,GAAG,IAAIF,UAAU,EAAE;UAC5B,IAAI,CAACX,cAAc,CAACc,QAAQ,CAACD,GAAG,CAAC,EAAE;YACjC,MAAME,KAAK,CAAE,aAAYF,GAAI,yBAAwB,CAAC;UACxD;QACF;MACF,CAAC,MAAM;QACL,KAAK,MAAMG,QAAQ,IAAIhB,cAAc,EAAE;UACrC,IAAIgB,QAAQ,KAAK,WAAW,EAAE;YAC5B,MAAMC,MAAM,GAAGP,MAAM,CAACQ,qBAAqB;YAC3CP,UAAU,CAACQ,eAAe,GAAGpB,UAAU,CAACkB,MAAM,EAAE;cAC9C;cACAG,QAAQ,EAAEZ;YACZ,CAAC,CAAC;UACJ,CAAC,MAAM;YACL,MAAMa,gBAAgB,GACpB,QAAQ,GAAGL,QAAQ,CAACM,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGP,QAAQ,CAACQ,KAAK,CAAC,CAAC,CAAC;YACjEb,UAAU,CAACK,QAAQ,CAAC,GAAGjB,UAAU,CAACW,MAAM,CAACW,gBAAgB,CAAC,EAAE;cAC1D;cACAD,QAAQ,EAAEZ;YACZ,CAAC,CAAC;UACJ;QACF;MACF;MAEA,KAAK,MAAMQ,QAAQ,IAAIL,UAAU,EAAE;QACjC,IAAIK,QAAQ,KAAK,WAAW,EAAE;UAC5BJ,aAAa,CAACO,eAAe,GAAGT,MAAM,CAACe,sBAAsB;QAC/D,CAAC,MAAM;UACL,MAAMC,iBAAiB,GACrB,SAAS,GAAGV,QAAQ,CAACM,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGP,QAAQ,CAACQ,KAAK,CAAC,CAAC,CAAC;UAClEZ,aAAa,CAACI,QAAQ,CAAC,GAAGN,MAAM,CAACgB,iBAAiB,CAAC;QACrD;MACF;MAEA,OAAO;QAAEd,aAAa;QAAED;MAAW,CAAC;IACtC,CAAC;EACH;AACF;AAEA,OAAO,MAAMgB,uBAAuB,GAAG1B,gBAAgB"}
@@ -1,5 +1,6 @@
1
1
  import { isJest } from './PlatformChecker';
2
2
  import { runOnUI } from './threads';
3
+ import { isSharedValue } from './utils';
3
4
  const IS_JEST = isJest();
4
5
  export function createMapperRegistry() {
5
6
  'worklet';
@@ -7,7 +8,7 @@ export function createMapperRegistry() {
7
8
  const mappers = new Map();
8
9
  let sortedMappers = [];
9
10
  let runRequested = false;
10
-
11
+ let processingMappers = false;
11
12
  function updateMappersOrder() {
12
13
  // sort mappers topologically
13
14
  // the algorithm here takes adventage of a fact that the topological order
@@ -30,12 +31,10 @@ export function createMapperRegistry() {
30
31
  // instead of reversing that order we can use a normal array and push processed
31
32
  // mappers to the end. There is no need to reverse that array after we are done.
32
33
  const pre = new Map(); // map from sv -> mapper that outputs that sv
33
-
34
34
  mappers.forEach(mapper => {
35
35
  if (mapper.outputs) {
36
36
  for (const output of mapper.outputs) {
37
37
  const preMappers = pre.get(output);
38
-
39
38
  if (preMappers === undefined) {
40
39
  pre.set(output, [mapper]);
41
40
  } else {
@@ -46,13 +45,10 @@ export function createMapperRegistry() {
46
45
  });
47
46
  const visited = new Set();
48
47
  const newOrder = [];
49
-
50
48
  function dfs(mapper) {
51
49
  visited.add(mapper);
52
-
53
50
  for (const input of mapper.inputs) {
54
51
  const preMappers = pre.get(input);
55
-
56
52
  if (preMappers) {
57
53
  for (const preMapper of preMappers) {
58
54
  if (!visited.has(preMapper)) {
@@ -61,10 +57,8 @@ export function createMapperRegistry() {
61
57
  }
62
58
  }
63
59
  }
64
-
65
60
  newOrder.push(mapper);
66
61
  }
67
-
68
62
  mappers.forEach(mapper => {
69
63
  if (!visited.has(mapper)) {
70
64
  dfs(mapper);
@@ -72,25 +66,23 @@ export function createMapperRegistry() {
72
66
  });
73
67
  sortedMappers = newOrder;
74
68
  }
75
-
76
69
  function mapperRun() {
70
+ processingMappers = true;
77
71
  runRequested = false;
78
-
79
72
  if (mappers.size !== sortedMappers.length) {
80
73
  updateMappersOrder();
81
74
  }
82
-
83
75
  for (const mapper of sortedMappers) {
84
76
  if (mapper.dirty) {
85
77
  mapper.dirty = false;
86
78
  mapper.worklet();
87
79
  }
88
80
  }
81
+ processingMappers = false;
89
82
  }
90
-
91
83
  function maybeRequestUpdates() {
92
84
  if (IS_JEST) {
93
- // On Jest environment we avoid using setImmediate as that'd require test
85
+ // On Jest environment we avoid using queueMicrotask as that'd require test
94
86
  // to advance the clock manually. This on other hand would require tests
95
87
  // to know how many times mappers need to run. As we don't want tests to
96
88
  // make any assumptions on that number it is easier to execute mappers
@@ -98,27 +90,42 @@ export function createMapperRegistry() {
98
90
  // if they want to make any assertions on the effects of animations being run.
99
91
  mapperRun();
100
92
  } else if (!runRequested) {
101
- setImmediate(mapperRun);
93
+ if (processingMappers) {
94
+ // In general, we should avoid having mappers trigger updates as this may
95
+ // result in unpredictable behavior. Specifically, the updated value can
96
+ // be read by mappers that run later in the same frame but previous mappers
97
+ // would access the old value. Updating mappers during the mapper-run phase
98
+ // breaks the order in which we should execute the mappers. However, doing
99
+ // that is still a possibility and there are some instances where people use
100
+ // the API in that way, hence we need to prevent mapper-run phase falling into
101
+ // an infinite loop. We do that by detecting when mapper-run is requested while
102
+ // we are already in mapper-run phase, and in that case we use `requestAnimationFrame`
103
+ // instead of `queueMicrotask` which will schedule mapper run for the next
104
+ // frame instead of queuing another set of updates in the same frame.
105
+ requestAnimationFrame(mapperRun);
106
+ } else {
107
+ queueMicrotask(mapperRun);
108
+ }
102
109
  runRequested = true;
103
110
  }
104
111
  }
105
-
106
112
  function extractInputs(inputs, resultArray) {
107
113
  if (Array.isArray(inputs)) {
108
114
  for (const input of inputs) {
109
115
  input && extractInputs(input, resultArray);
110
116
  }
111
- } else if (inputs.addListener) {
117
+ } else if (isSharedValue(inputs)) {
112
118
  resultArray.push(inputs);
113
- } else if (typeof inputs === 'object') {
119
+ } else if (Object.getPrototypeOf(inputs) === Object.prototype) {
120
+ // we only extract inputs recursively from "plain" objects here, if object
121
+ // is of a derivative class (e.g. HostObject on web, or Map) we don't scan
122
+ // it recursively
114
123
  for (const element of Object.values(inputs)) {
115
124
  element && extractInputs(element, resultArray);
116
125
  }
117
126
  }
118
-
119
127
  return resultArray;
120
128
  }
121
-
122
129
  return {
123
130
  start: (mapperID, worklet, inputs, outputs) => {
124
131
  const mapper = {
@@ -130,23 +137,19 @@ export function createMapperRegistry() {
130
137
  };
131
138
  mappers.set(mapper.id, mapper);
132
139
  sortedMappers = [];
133
-
134
140
  for (const sv of mapper.inputs) {
135
141
  sv.addListener(mapper.id, () => {
136
142
  mapper.dirty = true;
137
143
  maybeRequestUpdates();
138
144
  });
139
145
  }
140
-
141
146
  maybeRequestUpdates();
142
147
  },
143
148
  stop: mapperID => {
144
149
  const mapper = mappers.get(mapperID);
145
-
146
150
  if (mapper) {
147
151
  mappers.delete(mapper.id);
148
152
  sortedMappers = [];
149
-
150
153
  for (const sv of mapper.inputs) {
151
154
  sv.removeListener(mapper.id);
152
155
  }
@@ -163,11 +166,9 @@ export function startMapper(worklet) {
163
166
  'worklet';
164
167
 
165
168
  let mapperRegistry = global.__mapperRegistry;
166
-
167
169
  if (mapperRegistry === undefined) {
168
170
  mapperRegistry = global.__mapperRegistry = createMapperRegistry();
169
171
  }
170
-
171
172
  mapperRegistry.start(mapperID, worklet, inputs, outputs);
172
173
  })();
173
174
  return mapperID;