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":["dummyListener","maybeBuild","layoutAnimationOrBuilder","isAnimationBuilder","value","build","flattenArray","array","Array","isArray","resultArr","_flattenArray","arr","forEach","item","push","onlyAnimatedStyles","styles","filter","style","viewDescriptors","isSameAnimatedStyle","style1","style2","viewsRef","isSameAnimatedProps","has","key","x","undefined","isInlineStyleTransform","transform","some","t","hasInlineStyles","Object","keys","styleValue","isSharedValue","extractSharedValuesMapFromProps","props","inlineProps","entries","inlinePropsHasChanged","styles1","styles2","length","getInlinePropsUpdate","update","map","createAnimatedComponent","Component","options","invariant","prototype","isReactComponent","AnimatedComponent","React","constructor","setAndForwardRef","getForwardedRef","forwardedRef","setLocalRef","ref","tag","findNodeHandle","layout","entering","exiting","sharedTransitionTag","shouldBeUseWeb","enableLayoutAnimations","configureLayoutAnimations","LayoutAnimationType","LAYOUT","ENTERING","EXITING","sharedElementTransition","sharedTransitionStyle","DefaultSharedTransition","SHARED_ELEMENT_TRANSITION","_component","isJest","animatedStyle","componentWillUnmount","_detachNativeEvents","_detachStyles","_detachInlineProps","componentDidMount","_attachNativeEvents","_attachAnimatedStyles","_attachInlineProps","_getEventViewRef","getScrollableNode","node","viewTag","setNativeProps","prop","current","WorkletEventHandler","registerForEvents","unregisterFromEvents","Platform","OS","_styles","remove","_viewTag","animatedProps","global","_IS_FABRIC","runOnUI","_removeShadowNodeFromRegistry","_reattachNativeEvents","prevProps","reattachNeeded","_updateFromNative","_getViewInfo","viewName","shadowNodeWrapper","viewConfig","hostInstance","RNRenderer","findHostInstance_DEPRECATED","Error","_nativeTag","uiViewClassName","getShadowNodeWrapperFromRef","prevStyles","prevAnimatedProps","_animatedProps","hasReanimated2Props","adaptViewConfig","hasOneSameStyle","prevStyle","isPresent","add","name","initial","newInlineProps","hasChanged","_inlineProps","_inlinePropsViewDescriptors","makeViewDescriptorsSet","sharableViewDescriptors","maybeViewRef","NativeReanimatedModule","native","items","Set","updaterFunction","updateProps","_inlinePropsMapperId","stopMapper","startMapper","values","componentDidUpdate","_filterNonAnimatedProps","inputProps","styleProp","processedStyle","_isFirstRender","initialStyle","initialUpdaterRun","updater","newStyle","StyleSheet","flatten","animatedProp","eventNames","eventName","listeners","isChromeDebugger","render","platformProps","select","web","default","collapsable","_setComponentRef","displayName","forwardRef"],"sources":["createAnimatedComponent.tsx"],"sourcesContent":["import React, { Component, ComponentType, MutableRefObject, Ref } from 'react';\nimport { findNodeHandle, Platform, StyleSheet } from 'react-native';\nimport WorkletEventHandler from './reanimated2/WorkletEventHandler';\nimport setAndForwardRef from './setAndForwardRef';\nimport './reanimated2/layoutReanimation/animationsManager';\nimport invariant from 'invariant';\nimport { adaptViewConfig } from './ConfigHelper';\nimport { RNRenderer } from './reanimated2/platform-specific/RNRenderer';\nimport {\n configureLayoutAnimations,\n enableLayoutAnimations,\n runOnUI,\n startMapper,\n stopMapper,\n} from './reanimated2/core';\nimport {\n isJest,\n isChromeDebugger,\n shouldBeUseWeb,\n} from './reanimated2/PlatformChecker';\nimport { initialUpdaterRun } from './reanimated2/animation';\nimport {\n BaseAnimationBuilder,\n DefaultSharedTransition,\n EntryExitAnimationFunction,\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n LayoutAnimationType,\n} from './reanimated2/layoutReanimation';\nimport {\n SharedValue,\n StyleProps,\n ShadowNodeWrapper,\n} from './reanimated2/commonTypes';\nimport {\n makeViewDescriptorsSet,\n ViewDescriptorsSet,\n ViewRefSet,\n} from './reanimated2/ViewDescriptorsSet';\nimport { getShadowNodeWrapperFromRef } from './reanimated2/fabricUtils';\nimport updateProps from './reanimated2/UpdateProps';\nimport NativeReanimatedModule from './reanimated2/NativeReanimated';\nimport { isSharedValue } from './reanimated2';\n\nfunction dummyListener() {\n // empty listener we use to assign to listener properties for which animated\n // event is used.\n}\n\nfunction maybeBuild(\n layoutAnimationOrBuilder:\n | ILayoutAnimationBuilder\n | LayoutAnimationFunction\n | Keyframe\n): LayoutAnimationFunction | Keyframe {\n const isAnimationBuilder = (\n value: ILayoutAnimationBuilder | LayoutAnimationFunction | Keyframe\n ): value is ILayoutAnimationBuilder =>\n 'build' in layoutAnimationOrBuilder &&\n typeof layoutAnimationOrBuilder.build === 'function';\n\n if (isAnimationBuilder(layoutAnimationOrBuilder)) {\n return layoutAnimationOrBuilder.build();\n } else {\n return layoutAnimationOrBuilder;\n }\n}\n\ntype NestedArray<T> = T | NestedArray<T>[];\nfunction flattenArray<T>(array: NestedArray<T>): T[] {\n if (!Array.isArray(array)) {\n return [array];\n }\n const resultArr: T[] = [];\n\n const _flattenArray = (arr: NestedArray<T>[]): void => {\n arr.forEach((item) => {\n if (Array.isArray(item)) {\n _flattenArray(item);\n } else {\n resultArr.push(item);\n }\n });\n };\n _flattenArray(array);\n return resultArr;\n}\n\nfunction onlyAnimatedStyles(styles: StyleProps[]) {\n return styles.filter((style) => style?.viewDescriptors);\n}\n\nfunction isSameAnimatedStyle(\n style1?: StyleProps,\n style2?: StyleProps\n): boolean {\n // We cannot use equality check to compare useAnimatedStyle outputs directly.\n // Instead, we can compare its viewsRefs.\n return style1?.viewsRef === style2?.viewsRef;\n}\n\nconst isSameAnimatedProps = isSameAnimatedStyle;\n\nconst has = <K extends string>(\n key: K,\n x: unknown\n): x is { [key in K]: unknown } => {\n if (typeof x === 'function' || typeof x === 'object') {\n if (x === null || x === undefined) {\n return false;\n } else {\n return key in x;\n }\n }\n return false;\n};\n\nfunction isInlineStyleTransform(transform: any): boolean {\n if (!transform) {\n return false;\n }\n return transform.some((t: Record<string, any>) => hasInlineStyles(t));\n}\n\nfunction hasInlineStyles(style: StyleProps): boolean {\n if (!style) {\n return false;\n }\n return Object.keys(style).some((key) => {\n const styleValue = style[key];\n return (\n isSharedValue(styleValue) ||\n (key === 'transform' && isInlineStyleTransform(styleValue))\n );\n });\n}\n\nfunction extractSharedValuesMapFromProps(\n props: AnimatedComponentProps<InitialComponentProps>\n): Record<string, any> {\n const inlineProps: Record<string, any> = {};\n\n for (const key in props) {\n const value = props[key];\n if (key === 'style') {\n const styles = flattenArray<StyleProps>(props.style ?? []);\n styles.forEach((style) => {\n if (!style) {\n return;\n }\n for (const [key, styleValue] of Object.entries(style)) {\n if (isSharedValue(styleValue)) {\n inlineProps[key] = styleValue;\n } else if (\n key === 'transform' &&\n isInlineStyleTransform(styleValue)\n ) {\n inlineProps[key] = styleValue;\n }\n }\n });\n } else if (isSharedValue(value)) {\n inlineProps[key] = value;\n }\n }\n\n return inlineProps;\n}\n\nfunction inlinePropsHasChanged(styles1: StyleProps, styles2: StyleProps) {\n if (Object.keys(styles1).length !== Object.keys(styles2).length) {\n return true;\n }\n\n for (const key of Object.keys(styles1)) {\n if (styles1[key] !== styles2[key]) return true;\n }\n\n return false;\n}\n\nfunction getInlinePropsUpdate(inlineProps: Record<string, any>) {\n 'worklet';\n const update: Record<string, any> = {};\n for (const [key, styleValue] of Object.entries(inlineProps)) {\n if (key === 'transform') {\n update[key] = styleValue.map((transform: Record<string, any>) => {\n return getInlinePropsUpdate(transform);\n });\n } else if (isSharedValue(styleValue)) {\n update[key] = styleValue.value;\n } else {\n update[key] = styleValue;\n }\n }\n return update;\n}\n\ninterface AnimatedProps extends Record<string, unknown> {\n viewDescriptors?: ViewDescriptorsSet;\n viewsRef?: ViewRefSet<unknown>;\n initial?: SharedValue<StyleProps>;\n}\n\nexport type AnimatedComponentProps<P extends Record<string, unknown>> = P & {\n forwardedRef?: Ref<Component>;\n style?: NestedArray<StyleProps>;\n animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n animatedStyle?: StyleProps;\n layout?:\n | BaseAnimationBuilder\n | ILayoutAnimationBuilder\n | typeof BaseAnimationBuilder;\n entering?:\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe;\n exiting?:\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe;\n sharedTransitionTag?: string;\n sharedTransitionStyle?: ILayoutAnimationBuilder;\n};\n\ntype Options<P> = {\n setNativeProps: (ref: ComponentRef, props: P) => void;\n};\n\ninterface ComponentRef extends Component {\n setNativeProps?: (props: Record<string, unknown>) => void;\n getScrollableNode?: () => ComponentRef;\n}\n\nexport interface InitialComponentProps extends Record<string, unknown> {\n ref?: Ref<Component>;\n collapsable?: boolean;\n}\n\nexport default function createAnimatedComponent(\n Component: ComponentType<InitialComponentProps>,\n options?: Options<InitialComponentProps>\n): ComponentType<AnimatedComponentProps<InitialComponentProps>> {\n invariant(\n typeof Component !== 'function' ||\n (Component.prototype && Component.prototype.isReactComponent),\n '`createAnimatedComponent` does not support stateless functional components; ' +\n 'use a class component instead.'\n );\n\n class AnimatedComponent extends React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > {\n _styles: StyleProps[] | null = null;\n _animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n _viewTag = -1;\n _isFirstRender = true;\n animatedStyle: { value: StyleProps } = { value: {} };\n initialStyle = {};\n _component: ComponentRef | null = null;\n _inlinePropsViewDescriptors: ViewDescriptorsSet | null = null;\n _inlinePropsMapperId: number | null = null;\n _inlineProps: StyleProps = {};\n static displayName: string;\n\n constructor(props: AnimatedComponentProps<InitialComponentProps>) {\n super(props);\n if (isJest()) {\n this.animatedStyle = { value: {} };\n }\n }\n\n componentWillUnmount() {\n this._detachNativeEvents();\n this._detachStyles();\n this._detachInlineProps();\n }\n\n componentDidMount() {\n this._attachNativeEvents();\n this._attachAnimatedStyles();\n this._attachInlineProps();\n }\n\n _getEventViewRef() {\n // Make sure to get the scrollable node for components that implement\n // `ScrollResponder.Mixin`.\n return this._component?.getScrollableNode\n ? this._component.getScrollableNode()\n : this._component;\n }\n\n _attachNativeEvents() {\n const node = this._getEventViewRef();\n const viewTag = findNodeHandle(options?.setNativeProps ? this : node);\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n prop.current.registerForEvents(viewTag as number, key);\n }\n }\n }\n\n _detachNativeEvents() {\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n prop.current.unregisterFromEvents();\n }\n }\n }\n\n _detachStyles() {\n if (Platform.OS === 'web' && this._styles !== null) {\n for (const style of this._styles) {\n if (style?.viewsRef) {\n style.viewsRef.remove(this);\n }\n }\n } else if (this._viewTag !== -1 && this._styles !== null) {\n for (const style of this._styles) {\n style.viewDescriptors.remove(this._viewTag);\n }\n if (this.props.animatedProps?.viewDescriptors) {\n this.props.animatedProps.viewDescriptors.remove(this._viewTag);\n }\n if (global._IS_FABRIC) {\n const viewTag = this._viewTag;\n runOnUI(() => {\n 'worklet';\n _removeShadowNodeFromRegistry(viewTag);\n })();\n }\n }\n }\n\n _reattachNativeEvents(\n prevProps: AnimatedComponentProps<InitialComponentProps>\n ) {\n let viewTag: number | undefined;\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n if (viewTag === undefined) {\n viewTag = prop.current.viewTag;\n }\n }\n }\n for (const key in prevProps) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler &&\n prop.current.reattachNeeded\n ) {\n prop.current.unregisterFromEvents();\n }\n }\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler &&\n prop.current.reattachNeeded\n ) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n prop.current.registerForEvents(viewTag!, key);\n prop.current.reattachNeeded = false;\n }\n }\n }\n\n _updateFromNative(props: StyleProps) {\n if (options?.setNativeProps) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.setNativeProps(this._component!, props);\n } else {\n // eslint-disable-next-line no-unused-expressions\n this._component?.setNativeProps?.(props);\n }\n }\n\n _getViewInfo() {\n let viewTag: number | null;\n let viewName: string | null;\n let shadowNodeWrapper: ShadowNodeWrapper | null = null;\n let viewConfig;\n if (Platform.OS === 'web') {\n viewTag = findNodeHandle(this);\n viewName = null;\n shadowNodeWrapper = null;\n viewConfig = null;\n } else {\n // hostInstance can be null for a component that doesn't render anything (render function returns null). Example: svg Stop: https://github.com/react-native-svg/react-native-svg/blob/develop/src/elements/Stop.tsx\n const hostInstance = RNRenderer.findHostInstance_DEPRECATED(this);\n if (!hostInstance) {\n throw new Error(\n 'Cannot find host instance for this component. Maybe it renders nothing?'\n );\n }\n // we can access view tag in the same way it's accessed here https://github.com/facebook/react/blob/e3f4eb7272d4ca0ee49f27577156b57eeb07cf73/packages/react-native-renderer/src/ReactFabric.js#L146\n viewTag = hostInstance?._nativeTag;\n /**\n * RN uses viewConfig for components for storing different properties of the component(example: https://github.com/facebook/react-native/blob/master/Libraries/Components/ScrollView/ScrollViewViewConfig.js#L16).\n * The name we're looking for is in the field named uiViewClassName.\n */\n viewName = hostInstance?.viewConfig?.uiViewClassName;\n\n viewConfig = hostInstance?.viewConfig;\n\n if (global._IS_FABRIC) {\n shadowNodeWrapper = getShadowNodeWrapperFromRef(this);\n }\n }\n return { viewTag, viewName, shadowNodeWrapper, viewConfig };\n }\n\n _attachAnimatedStyles() {\n const styles = this.props.style\n ? onlyAnimatedStyles(flattenArray<StyleProps>(this.props.style))\n : [];\n const prevStyles = this._styles;\n this._styles = styles;\n\n const prevAnimatedProps = this._animatedProps;\n this._animatedProps = this.props.animatedProps;\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } =\n this._getViewInfo();\n\n // update UI props whitelist for this view\n const hasReanimated2Props =\n this.props.animatedProps?.viewDescriptors || styles.length;\n if (hasReanimated2Props && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._viewTag = viewTag as number;\n\n // remove old styles\n if (prevStyles) {\n // in most of the cases, views have only a single animated style and it remains unchanged\n const hasOneSameStyle =\n styles.length === 1 &&\n prevStyles.length === 1 &&\n isSameAnimatedStyle(styles[0], prevStyles[0]);\n\n if (!hasOneSameStyle) {\n // otherwise, remove each style that is not present in new styles\n for (const prevStyle of prevStyles) {\n const isPresent = styles.some((style) =>\n isSameAnimatedStyle(style, prevStyle)\n );\n if (!isPresent) {\n prevStyle.viewDescriptors.remove(viewTag);\n }\n }\n }\n }\n\n styles.forEach((style) => {\n style.viewDescriptors.add({\n tag: viewTag,\n name: viewName,\n shadowNodeWrapper,\n });\n if (isJest()) {\n /**\n * We need to connect Jest's TestObject instance whose contains just props object\n * with the updateProps() function where we update the properties of the component.\n * We can't update props object directly because TestObject contains a copy of props - look at render function:\n * const props = this._filterNonAnimatedProps(this.props);\n */\n this.animatedStyle.value = {\n ...this.animatedStyle.value,\n ...style.initial.value,\n };\n style.animatedStyle.current = this.animatedStyle;\n }\n });\n\n // detach old animatedProps\n if (\n prevAnimatedProps &&\n !isSameAnimatedProps(prevAnimatedProps, this.props.animatedProps)\n ) {\n prevAnimatedProps.viewDescriptors!.remove(viewTag as number);\n }\n\n // attach animatedProps property\n if (this.props.animatedProps?.viewDescriptors) {\n this.props.animatedProps.viewDescriptors.add({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n tag: viewTag!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: viewName!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n }\n\n _attachInlineProps() {\n const newInlineProps: Record<string, any> =\n extractSharedValuesMapFromProps(this.props);\n const hasChanged = inlinePropsHasChanged(\n newInlineProps,\n this._inlineProps\n );\n\n if (hasChanged) {\n if (!this._inlinePropsViewDescriptors) {\n this._inlinePropsViewDescriptors = makeViewDescriptorsSet();\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } =\n this._getViewInfo();\n\n if (Object.keys(newInlineProps).length && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._inlinePropsViewDescriptors.add({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n tag: viewTag!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: viewName!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n const sharableViewDescriptors =\n this._inlinePropsViewDescriptors.sharableViewDescriptors;\n\n const maybeViewRef = NativeReanimatedModule.native\n ? undefined\n : ({ items: new Set([this]) } as ViewRefSet<any>); // see makeViewsRefSet\n\n const updaterFunction = () => {\n 'worklet';\n const update = getInlinePropsUpdate(newInlineProps);\n updateProps(sharableViewDescriptors, update, maybeViewRef);\n };\n this._inlineProps = newInlineProps;\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n this._inlinePropsMapperId = null;\n if (Object.keys(newInlineProps).length) {\n this._inlinePropsMapperId = startMapper(\n updaterFunction,\n Object.values(newInlineProps)\n );\n }\n }\n }\n\n _detachInlineProps() {\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n }\n\n componentDidUpdate(\n prevProps: AnimatedComponentProps<InitialComponentProps>\n ) {\n this._reattachNativeEvents(prevProps);\n this._attachAnimatedStyles();\n this._attachInlineProps();\n }\n\n _setComponentRef = setAndForwardRef<Component>({\n getForwardedRef: () =>\n this.props.forwardedRef as MutableRefObject<\n Component<Record<string, unknown>, Record<string, unknown>, unknown>\n >,\n setLocalRef: (ref) => {\n // TODO update config\n const tag = findNodeHandle(ref);\n const { layout, entering, exiting, sharedTransitionTag } = this.props;\n if (\n (layout || entering || exiting || sharedTransitionTag) &&\n tag != null\n ) {\n if (!shouldBeUseWeb()) {\n enableLayoutAnimations(true, false);\n }\n if (layout) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.LAYOUT,\n maybeBuild(layout)\n );\n }\n if (entering) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.ENTERING,\n maybeBuild(entering)\n );\n }\n if (exiting) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.EXITING,\n maybeBuild(exiting)\n );\n }\n if (sharedTransitionTag) {\n const sharedElementTransition =\n this.props.sharedTransitionStyle ?? DefaultSharedTransition;\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.SHARED_ELEMENT_TRANSITION,\n maybeBuild(sharedElementTransition),\n sharedTransitionTag\n );\n }\n }\n\n if (ref !== this._component) {\n this._component = ref;\n }\n },\n });\n\n _filterNonAnimatedProps(\n inputProps: AnimatedComponentProps<InitialComponentProps>\n ): Record<string, unknown> {\n const props: Record<string, unknown> = {};\n for (const key in inputProps) {\n const value = inputProps[key];\n if (key === 'style') {\n const styleProp = inputProps.style;\n const styles = flattenArray<StyleProps>(styleProp ?? []);\n const processedStyle: StyleProps = styles.map((style) => {\n if (style && style.viewDescriptors) {\n // this is how we recognize styles returned by useAnimatedStyle\n style.viewsRef.add(this);\n if (this._isFirstRender) {\n this.initialStyle = {\n ...style.initial.value,\n ...initialUpdaterRun<StyleProps>(style.initial.updater),\n };\n }\n return this.initialStyle;\n } else if (hasInlineStyles(style)) {\n if (this._isFirstRender) {\n return getInlinePropsUpdate(style);\n }\n const newStyle: StyleProps = {};\n for (const [key, styleValue] of Object.entries(style)) {\n if (\n !isSharedValue(styleValue) &&\n !(key === 'transform' && isInlineStyleTransform(styleValue))\n ) {\n newStyle[key] = styleValue;\n }\n }\n return newStyle;\n } else {\n return style;\n }\n });\n props[key] = StyleSheet.flatten(processedStyle);\n } else if (key === 'animatedProps') {\n const animatedProp = inputProps.animatedProps as Partial<\n AnimatedComponentProps<AnimatedProps>\n >;\n if (animatedProp.initial !== undefined) {\n Object.keys(animatedProp.initial.value).forEach((key) => {\n props[key] = animatedProp.initial?.value[key];\n animatedProp.viewsRef?.add(this);\n });\n }\n } else if (\n has('current', value) &&\n value.current instanceof WorkletEventHandler\n ) {\n if (value.current.eventNames.length > 0) {\n value.current.eventNames.forEach((eventName) => {\n props[eventName] = has('listeners', value.current)\n ? (value.current.listeners as Record<string, unknown>)[\n eventName\n ]\n : dummyListener;\n });\n } else {\n props[key] = dummyListener;\n }\n } else if (isSharedValue(value)) {\n if (this._isFirstRender) {\n props[key] = (value as SharedValue<any>).value;\n }\n } else if (\n key !== 'onGestureHandlerStateChange' ||\n !isChromeDebugger()\n ) {\n props[key] = value;\n }\n }\n return props;\n }\n\n render() {\n const props = this._filterNonAnimatedProps(this.props);\n if (isJest()) {\n props.animatedStyle = this.animatedStyle;\n }\n\n if (this._isFirstRender) {\n this._isFirstRender = false;\n }\n\n const platformProps = Platform.select({\n web: {},\n default: { collapsable: false },\n });\n return (\n <Component {...props} ref={this._setComponentRef} {...platformProps} />\n );\n }\n }\n\n AnimatedComponent.displayName = `AnimatedComponent(${\n Component.displayName || Component.name || 'Component'\n })`;\n\n return React.forwardRef<Component>((props, ref) => {\n return (\n <AnimatedComponent\n {...props}\n {...(ref === null ? null : { forwardedRef: ref })}\n />\n );\n });\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA;;AAKA;;AACA;;AAaA;;AAKA;;AACA;;AACA;;AACA;;;;;;;;AAEA,SAASA,aAAT,GAAyB,CACvB;EACA;AACD;;AAED,SAASC,UAAT,CACEC,wBADF,EAKsC;EACpC,MAAMC,kBAAkB,GACtBC,KADyB,IAGzB,WAAWF,wBAAX,IACA,OAAOA,wBAAwB,CAACG,KAAhC,KAA0C,UAJ5C;;EAMA,IAAIF,kBAAkB,CAACD,wBAAD,CAAtB,EAAkD;IAChD,OAAOA,wBAAwB,CAACG,KAAzB,EAAP;EACD,CAFD,MAEO;IACL,OAAOH,wBAAP;EACD;AACF;;AAGD,SAASI,YAAT,CAAyBC,KAAzB,EAAqD;EACnD,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAL,EAA2B;IACzB,OAAO,CAACA,KAAD,CAAP;EACD;;EACD,MAAMG,SAAc,GAAG,EAAvB;;EAEA,MAAMC,aAAa,GAAIC,GAAD,IAAiC;IACrDA,GAAG,CAACC,OAAJ,CAAaC,IAAD,IAAU;MACpB,IAAIN,KAAK,CAACC,OAAN,CAAcK,IAAd,CAAJ,EAAyB;QACvBH,aAAa,CAACG,IAAD,CAAb;MACD,CAFD,MAEO;QACLJ,SAAS,CAACK,IAAV,CAAeD,IAAf;MACD;IACF,CAND;EAOD,CARD;;EASAH,aAAa,CAACJ,KAAD,CAAb;;EACA,OAAOG,SAAP;AACD;;AAED,SAASM,kBAAT,CAA4BC,MAA5B,EAAkD;EAChD,OAAOA,MAAM,CAACC,MAAP,CAAeC,KAAD,IAAWA,KAAX,aAAWA,KAAX,uBAAWA,KAAK,CAAEC,eAAhC,CAAP;AACD;;AAED,SAASC,mBAAT,CACEC,MADF,EAEEC,MAFF,EAGW;EACT;EACA;EACA,OAAO,CAAAD,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEE,QAAR,OAAqBD,MAArB,aAAqBA,MAArB,uBAAqBA,MAAM,CAAEC,QAA7B,CAAP;AACD;;AAED,MAAMC,mBAAmB,GAAGJ,mBAA5B;;AAEA,MAAMK,GAAG,GAAG,CACVC,GADU,EAEVC,CAFU,KAGuB;EACjC,IAAI,OAAOA,CAAP,KAAa,UAAb,IAA2B,OAAOA,CAAP,KAAa,QAA5C,EAAsD;IACpD,IAAIA,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAKC,SAAxB,EAAmC;MACjC,OAAO,KAAP;IACD,CAFD,MAEO;MACL,OAAOF,GAAG,IAAIC,CAAd;IACD;EACF;;EACD,OAAO,KAAP;AACD,CAZD;;AAcA,SAASE,sBAAT,CAAgCC,SAAhC,EAAyD;EACvD,IAAI,CAACA,SAAL,EAAgB;IACd,OAAO,KAAP;EACD;;EACD,OAAOA,SAAS,CAACC,IAAV,CAAgBC,CAAD,IAA4BC,eAAe,CAACD,CAAD,CAA1D,CAAP;AACD;;AAED,SAASC,eAAT,CAAyBf,KAAzB,EAAqD;EACnD,IAAI,CAACA,KAAL,EAAY;IACV,OAAO,KAAP;EACD;;EACD,OAAOgB,MAAM,CAACC,IAAP,CAAYjB,KAAZ,EAAmBa,IAAnB,CAAyBL,GAAD,IAAS;IACtC,MAAMU,UAAU,GAAGlB,KAAK,CAACQ,GAAD,CAAxB;IACA,OACE,IAAAW,yBAAA,EAAcD,UAAd,KACCV,GAAG,KAAK,WAAR,IAAuBG,sBAAsB,CAACO,UAAD,CAFhD;EAID,CANM,CAAP;AAOD;;AAED,SAASE,+BAAT,CACEC,KADF,EAEuB;EACrB,MAAMC,WAAgC,GAAG,EAAzC;;EAEA,KAAK,MAAMd,GAAX,IAAkBa,KAAlB,EAAyB;IACvB,MAAMpC,KAAK,GAAGoC,KAAK,CAACb,GAAD,CAAnB;;IACA,IAAIA,GAAG,KAAK,OAAZ,EAAqB;MACnB,MAAMV,MAAM,GAAGX,YAAY,CAAakC,KAAK,CAACrB,KAAN,IAAe,EAA5B,CAA3B;MACAF,MAAM,CAACJ,OAAP,CAAgBM,KAAD,IAAW;QACxB,IAAI,CAACA,KAAL,EAAY;UACV;QACD;;QACD,KAAK,MAAM,CAACQ,GAAD,EAAMU,UAAN,CAAX,IAAgCF,MAAM,CAACO,OAAP,CAAevB,KAAf,CAAhC,EAAuD;UACrD,IAAI,IAAAmB,yBAAA,EAAcD,UAAd,CAAJ,EAA+B;YAC7BI,WAAW,CAACd,GAAD,CAAX,GAAmBU,UAAnB;UACD,CAFD,MAEO,IACLV,GAAG,KAAK,WAAR,IACAG,sBAAsB,CAACO,UAAD,CAFjB,EAGL;YACAI,WAAW,CAACd,GAAD,CAAX,GAAmBU,UAAnB;UACD;QACF;MACF,CAdD;IAeD,CAjBD,MAiBO,IAAI,IAAAC,yBAAA,EAAclC,KAAd,CAAJ,EAA0B;MAC/BqC,WAAW,CAACd,GAAD,CAAX,GAAmBvB,KAAnB;IACD;EACF;;EAED,OAAOqC,WAAP;AACD;;AAED,SAASE,qBAAT,CAA+BC,OAA/B,EAAoDC,OAApD,EAAyE;EACvE,IAAIV,MAAM,CAACC,IAAP,CAAYQ,OAAZ,EAAqBE,MAArB,KAAgCX,MAAM,CAACC,IAAP,CAAYS,OAAZ,EAAqBC,MAAzD,EAAiE;IAC/D,OAAO,IAAP;EACD;;EAED,KAAK,MAAMnB,GAAX,IAAkBQ,MAAM,CAACC,IAAP,CAAYQ,OAAZ,CAAlB,EAAwC;IACtC,IAAIA,OAAO,CAACjB,GAAD,CAAP,KAAiBkB,OAAO,CAAClB,GAAD,CAA5B,EAAmC,OAAO,IAAP;EACpC;;EAED,OAAO,KAAP;AACD;;AAED,SAASoB,oBAAT,CAA8BN,WAA9B,EAAgE;EAC9D;;EACA,MAAMO,MAA2B,GAAG,EAApC;;EACA,KAAK,MAAM,CAACrB,GAAD,EAAMU,UAAN,CAAX,IAAgCF,MAAM,CAACO,OAAP,CAAeD,WAAf,CAAhC,EAA6D;IAC3D,IAAId,GAAG,KAAK,WAAZ,EAAyB;MACvBqB,MAAM,CAACrB,GAAD,CAAN,GAAcU,UAAU,CAACY,GAAX,CAAgBlB,SAAD,IAAoC;QAC/D,OAAOgB,oBAAoB,CAAChB,SAAD,CAA3B;MACD,CAFa,CAAd;IAGD,CAJD,MAIO,IAAI,IAAAO,yBAAA,EAAcD,UAAd,CAAJ,EAA+B;MACpCW,MAAM,CAACrB,GAAD,CAAN,GAAcU,UAAU,CAACjC,KAAzB;IACD,CAFM,MAEA;MACL4C,MAAM,CAACrB,GAAD,CAAN,GAAcU,UAAd;IACD;EACF;;EACD,OAAOW,MAAP;AACD;;AA6Cc,SAASE,uBAAT,CACbC,SADa,EAEbC,OAFa,EAGiD;EAC9D,IAAAC,kBAAA,EACE,OAAOF,SAAP,KAAqB,UAArB,IACGA,SAAS,CAACG,SAAV,IAAuBH,SAAS,CAACG,SAAV,CAAoBC,gBAFhD,EAGE,iFACE,gCAJJ;;EAOA,MAAMC,iBAAN,SAAgCC,cAAA,CAAMN,SAAtC,CAEE;IAaAO,WAAW,CAAClB,KAAD,EAAuD;MAChE,MAAMA,KAAN;;MADgE,iCAZnC,IAYmC;;MAAA;;MAAA,kCAVvD,CAAC,CAUsD;;MAAA,wCATjD,IASiD;;MAAA,uCAR3B;QAAEpC,KAAK,EAAE;MAAT,CAQ2B;;MAAA,sCAPnD,EAOmD;;MAAA,oCANhC,IAMgC;;MAAA,qDALT,IAKS;;MAAA,8CAJ5B,IAI4B;;MAAA,sCAHvC,EAGuC;;MAAA,0CA6T/C,IAAAuD,yBAAA,EAA4B;QAC7CC,eAAe,EAAE,MACf,KAAKpB,KAAL,CAAWqB,YAFgC;QAK7CC,WAAW,EAAGC,GAAD,IAAS;UACpB;UACA,MAAMC,GAAG,GAAG,IAAAC,2BAAA,EAAeF,GAAf,CAAZ;UACA,MAAM;YAAEG,MAAF;YAAUC,QAAV;YAAoBC,OAApB;YAA6BC;UAA7B,IAAqD,KAAK7B,KAAhE;;UACA,IACE,CAAC0B,MAAM,IAAIC,QAAV,IAAsBC,OAAtB,IAAiCC,mBAAlC,KACAL,GAAG,IAAI,IAFT,EAGE;YACA,IAAI,CAAC,IAAAM,+BAAA,GAAL,EAAuB;cACrB,IAAAC,4BAAA,EAAuB,IAAvB,EAA6B,KAA7B;YACD;;YACD,IAAIL,MAAJ,EAAY;cACV,IAAAM,+BAAA,EACER,GADF,EAEES,sCAAA,CAAoBC,MAFtB,EAGEzE,UAAU,CAACiE,MAAD,CAHZ;YAKD;;YACD,IAAIC,QAAJ,EAAc;cACZ,IAAAK,+BAAA,EACER,GADF,EAEES,sCAAA,CAAoBE,QAFtB,EAGE1E,UAAU,CAACkE,QAAD,CAHZ;YAKD;;YACD,IAAIC,OAAJ,EAAa;cACX,IAAAI,+BAAA,EACER,GADF,EAEES,sCAAA,CAAoBG,OAFtB,EAGE3E,UAAU,CAACmE,OAAD,CAHZ;YAKD;;YACD,IAAIC,mBAAJ,EAAyB;cACvB,MAAMQ,uBAAuB,GAC3B,KAAKrC,KAAL,CAAWsC,qBAAX,IAAoCC,0CADtC;cAEA,IAAAP,+BAAA,EACER,GADF,EAEES,sCAAA,CAAoBO,yBAFtB,EAGE/E,UAAU,CAAC4E,uBAAD,CAHZ,EAIER,mBAJF;YAMD;UACF;;UAED,IAAIN,GAAG,KAAK,KAAKkB,UAAjB,EAA6B;YAC3B,KAAKA,UAAL,GAAkBlB,GAAlB;UACD;QACF;MApD4C,CAA5B,CA7T+C;;MAEhE,IAAI,IAAAmB,uBAAA,GAAJ,EAAc;QACZ,KAAKC,aAAL,GAAqB;UAAE/E,KAAK,EAAE;QAAT,CAArB;MACD;IACF;;IAEDgF,oBAAoB,GAAG;MACrB,KAAKC,mBAAL;;MACA,KAAKC,aAAL;;MACA,KAAKC,kBAAL;IACD;;IAEDC,iBAAiB,GAAG;MAClB,KAAKC,mBAAL;;MACA,KAAKC,qBAAL;;MACA,KAAKC,kBAAL;IACD;;IAEDC,gBAAgB,GAAG;MAAA;;MACjB;MACA;MACA,OAAO,yBAAKX,UAAL,8DAAiBY,iBAAjB,GACH,KAAKZ,UAAL,CAAgBY,iBAAhB,EADG,GAEH,KAAKZ,UAFT;IAGD;;IAEDQ,mBAAmB,GAAG;MACpB,MAAMK,IAAI,GAAG,KAAKF,gBAAL,EAAb;;MACA,MAAMG,OAAO,GAAG,IAAA9B,2BAAA,EAAeb,OAAO,SAAP,IAAAA,OAAO,WAAP,IAAAA,OAAO,CAAE4C,cAAT,GAA0B,IAA1B,GAAiCF,IAAhD,CAAhB;;MAEA,KAAK,MAAMnE,GAAX,IAAkB,KAAKa,KAAvB,EAA8B;QAC5B,MAAMyD,IAAI,GAAG,KAAKzD,KAAL,CAAWb,GAAX,CAAb;;QACA,IACED,GAAG,CAAC,SAAD,EAAYuE,IAAZ,CAAH,IACAA,IAAI,CAACC,OAAL,YAAwBC,4BAF1B,EAGE;UACAF,IAAI,CAACC,OAAL,CAAaE,iBAAb,CAA+BL,OAA/B,EAAkDpE,GAAlD;QACD;MACF;IACF;;IAED0D,mBAAmB,GAAG;MACpB,KAAK,MAAM1D,GAAX,IAAkB,KAAKa,KAAvB,EAA8B;QAC5B,MAAMyD,IAAI,GAAG,KAAKzD,KAAL,CAAWb,GAAX,CAAb;;QACA,IACED,GAAG,CAAC,SAAD,EAAYuE,IAAZ,CAAH,IACAA,IAAI,CAACC,OAAL,YAAwBC,4BAF1B,EAGE;UACAF,IAAI,CAACC,OAAL,CAAaG,oBAAb;QACD;MACF;IACF;;IAEDf,aAAa,GAAG;MACd,IAAIgB,qBAAA,CAASC,EAAT,KAAgB,KAAhB,IAAyB,KAAKC,OAAL,KAAiB,IAA9C,EAAoD;QAClD,KAAK,MAAMrF,KAAX,IAAoB,KAAKqF,OAAzB,EAAkC;UAChC,IAAIrF,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAEK,QAAX,EAAqB;YACnBL,KAAK,CAACK,QAAN,CAAeiF,MAAf,CAAsB,IAAtB;UACD;QACF;MACF,CAND,MAMO,IAAI,KAAKC,QAAL,KAAkB,CAAC,CAAnB,IAAwB,KAAKF,OAAL,KAAiB,IAA7C,EAAmD;QAAA;;QACxD,KAAK,MAAMrF,KAAX,IAAoB,KAAKqF,OAAzB,EAAkC;UAChCrF,KAAK,CAACC,eAAN,CAAsBqF,MAAtB,CAA6B,KAAKC,QAAlC;QACD;;QACD,6BAAI,KAAKlE,KAAL,CAAWmE,aAAf,kDAAI,sBAA0BvF,eAA9B,EAA+C;UAC7C,KAAKoB,KAAL,CAAWmE,aAAX,CAAyBvF,eAAzB,CAAyCqF,MAAzC,CAAgD,KAAKC,QAArD;QACD;;QACD,IAAIE,MAAM,CAACC,UAAX,EAAuB;UACrB,MAAMd,OAAO,GAAG,KAAKW,QAArB;UACA,IAAAI,aAAA,EAAQ,MAAM;YACZ;;YACAC,6BAA6B,CAAChB,OAAD,CAA7B;UACD,CAHD;QAID;MACF;IACF;;IAEDiB,qBAAqB,CACnBC,SADmB,EAEnB;MACA,IAAIlB,OAAJ;;MAEA,KAAK,MAAMpE,GAAX,IAAkB,KAAKa,KAAvB,EAA8B;QAC5B,MAAMyD,IAAI,GAAG,KAAKzD,KAAL,CAAWb,GAAX,CAAb;;QACA,IACED,GAAG,CAAC,SAAD,EAAYuE,IAAZ,CAAH,IACAA,IAAI,CAACC,OAAL,YAAwBC,4BAF1B,EAGE;UACA,IAAIJ,OAAO,KAAKlE,SAAhB,EAA2B;YACzBkE,OAAO,GAAGE,IAAI,CAACC,OAAL,CAAaH,OAAvB;UACD;QACF;MACF;;MACD,KAAK,MAAMpE,GAAX,IAAkBsF,SAAlB,EAA6B;QAC3B,MAAMhB,IAAI,GAAG,KAAKzD,KAAL,CAAWb,GAAX,CAAb;;QACA,IACED,GAAG,CAAC,SAAD,EAAYuE,IAAZ,CAAH,IACAA,IAAI,CAACC,OAAL,YAAwBC,4BADxB,IAEAF,IAAI,CAACC,OAAL,CAAagB,cAHf,EAIE;UACAjB,IAAI,CAACC,OAAL,CAAaG,oBAAb;QACD;MACF;;MAED,KAAK,MAAM1E,GAAX,IAAkB,KAAKa,KAAvB,EAA8B;QAC5B,MAAMyD,IAAI,GAAG,KAAKzD,KAAL,CAAWb,GAAX,CAAb;;QACA,IACED,GAAG,CAAC,SAAD,EAAYuE,IAAZ,CAAH,IACAA,IAAI,CAACC,OAAL,YAAwBC,4BADxB,IAEAF,IAAI,CAACC,OAAL,CAAagB,cAHf,EAIE;UACA;UACAjB,IAAI,CAACC,OAAL,CAAaE,iBAAb,CAA+BL,OAA/B,EAAyCpE,GAAzC;UACAsE,IAAI,CAACC,OAAL,CAAagB,cAAb,GAA8B,KAA9B;QACD;MACF;IACF;;IAEDC,iBAAiB,CAAC3E,KAAD,EAAoB;MACnC,IAAIY,OAAJ,aAAIA,OAAJ,eAAIA,OAAO,CAAE4C,cAAb,EAA6B;QAC3B;QACA5C,OAAO,CAAC4C,cAAR,CAAuB,KAAKf,UAA5B,EAAyCzC,KAAzC;MACD,CAHD,MAGO;QAAA;;QACL;QACA,0BAAKyC,UAAL,iGAAiBe,cAAjB,wGAAkCxD,KAAlC;MACD;IACF;;IAED4E,YAAY,GAAG;MACb,IAAIrB,OAAJ;MACA,IAAIsB,QAAJ;MACA,IAAIC,iBAA2C,GAAG,IAAlD;MACA,IAAIC,UAAJ;;MACA,IAAIjB,qBAAA,CAASC,EAAT,KAAgB,KAApB,EAA2B;QACzBR,OAAO,GAAG,IAAA9B,2BAAA,EAAe,IAAf,CAAV;QACAoD,QAAQ,GAAG,IAAX;QACAC,iBAAiB,GAAG,IAApB;QACAC,UAAU,GAAG,IAAb;MACD,CALD,MAKO;QAAA;;QACL;QACA,MAAMC,YAAY,GAAGC,sBAAA,CAAWC,2BAAX,CAAuC,IAAvC,CAArB;;QACA,IAAI,CAACF,YAAL,EAAmB;UACjB,MAAM,IAAIG,KAAJ,CACJ,yEADI,CAAN;QAGD,CAPI,CAQL;;;QACA5B,OAAO,GAAGyB,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEI,UAAxB;QACA;AACR;AACA;AACA;;QACQP,QAAQ,GAAGG,YAAH,aAAGA,YAAH,gDAAGA,YAAY,CAAED,UAAjB,0DAAG,sBAA0BM,eAArC;QAEAN,UAAU,GAAGC,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAED,UAA3B;;QAEA,IAAIX,MAAM,CAACC,UAAX,EAAuB;UACrBS,iBAAiB,GAAG,IAAAQ,wCAAA,EAA4B,IAA5B,CAApB;QACD;MACF;;MACD,OAAO;QAAE/B,OAAF;QAAWsB,QAAX;QAAqBC,iBAArB;QAAwCC;MAAxC,CAAP;IACD;;IAED7B,qBAAqB,GAAG;MAAA;;MACtB,MAAMzE,MAAM,GAAG,KAAKuB,KAAL,CAAWrB,KAAX,GACXH,kBAAkB,CAACV,YAAY,CAAa,KAAKkC,KAAL,CAAWrB,KAAxB,CAAb,CADP,GAEX,EAFJ;MAGA,MAAM4G,UAAU,GAAG,KAAKvB,OAAxB;MACA,KAAKA,OAAL,GAAevF,MAAf;MAEA,MAAM+G,iBAAiB,GAAG,KAAKC,cAA/B;MACA,KAAKA,cAAL,GAAsB,KAAKzF,KAAL,CAAWmE,aAAjC;;MAEA,MAAM;QAAEZ,OAAF;QAAWsB,QAAX;QAAqBC,iBAArB;QAAwCC;MAAxC,IACJ,KAAKH,YAAL,EADF,CAVsB,CAatB;;;MACA,MAAMc,mBAAmB,GACvB,gCAAK1F,KAAL,CAAWmE,aAAX,kFAA0BvF,eAA1B,KAA6CH,MAAM,CAAC6B,MADtD;;MAEA,IAAIoF,mBAAmB,IAAIX,UAA3B,EAAuC;QACrC,IAAAY,6BAAA,EAAgBZ,UAAhB;MACD;;MAED,KAAKb,QAAL,GAAgBX,OAAhB,CApBsB,CAsBtB;;MACA,IAAIgC,UAAJ,EAAgB;QACd;QACA,MAAMK,eAAe,GACnBnH,MAAM,CAAC6B,MAAP,KAAkB,CAAlB,IACAiF,UAAU,CAACjF,MAAX,KAAsB,CADtB,IAEAzB,mBAAmB,CAACJ,MAAM,CAAC,CAAD,CAAP,EAAY8G,UAAU,CAAC,CAAD,CAAtB,CAHrB;;QAKA,IAAI,CAACK,eAAL,EAAsB;UACpB;UACA,KAAK,MAAMC,SAAX,IAAwBN,UAAxB,EAAoC;YAClC,MAAMO,SAAS,GAAGrH,MAAM,CAACe,IAAP,CAAab,KAAD,IAC5BE,mBAAmB,CAACF,KAAD,EAAQkH,SAAR,CADH,CAAlB;;YAGA,IAAI,CAACC,SAAL,EAAgB;cACdD,SAAS,CAACjH,eAAV,CAA0BqF,MAA1B,CAAiCV,OAAjC;YACD;UACF;QACF;MACF;;MAED9E,MAAM,CAACJ,OAAP,CAAgBM,KAAD,IAAW;QACxBA,KAAK,CAACC,eAAN,CAAsBmH,GAAtB,CAA0B;UACxBvE,GAAG,EAAE+B,OADmB;UAExByC,IAAI,EAAEnB,QAFkB;UAGxBC;QAHwB,CAA1B;;QAKA,IAAI,IAAApC,uBAAA,GAAJ,EAAc;UACZ;AACV;AACA;AACA;AACA;AACA;UACU,KAAKC,aAAL,CAAmB/E,KAAnB,GAA2B,EACzB,GAAG,KAAK+E,aAAL,CAAmB/E,KADG;YAEzB,GAAGe,KAAK,CAACsH,OAAN,CAAcrI;UAFQ,CAA3B;UAIAe,KAAK,CAACgE,aAAN,CAAoBe,OAApB,GAA8B,KAAKf,aAAnC;QACD;MACF,CAnBD,EA3CsB,CAgEtB;;MACA,IACE6C,iBAAiB,IACjB,CAACvG,mBAAmB,CAACuG,iBAAD,EAAoB,KAAKxF,KAAL,CAAWmE,aAA/B,CAFtB,EAGE;QACAqB,iBAAiB,CAAC5G,eAAlB,CAAmCqF,MAAnC,CAA0CV,OAA1C;MACD,CAtEqB,CAwEtB;;;MACA,8BAAI,KAAKvD,KAAL,CAAWmE,aAAf,mDAAI,uBAA0BvF,eAA9B,EAA+C;QAC7C,KAAKoB,KAAL,CAAWmE,aAAX,CAAyBvF,eAAzB,CAAyCmH,GAAzC,CAA6C;UAC3C;UACAvE,GAAG,EAAE+B,OAFsC;UAG3C;UACAyC,IAAI,EAAEnB,QAJqC;UAK3C;UACAC,iBAAiB,EAAEA;QANwB,CAA7C;MAQD;IACF;;IAED3B,kBAAkB,GAAG;MACnB,MAAM+C,cAAmC,GACvCnG,+BAA+B,CAAC,KAAKC,KAAN,CADjC;MAEA,MAAMmG,UAAU,GAAGhG,qBAAqB,CACtC+F,cADsC,EAEtC,KAAKE,YAFiC,CAAxC;;MAKA,IAAID,UAAJ,EAAgB;QACd,IAAI,CAAC,KAAKE,2BAAV,EAAuC;UACrC,KAAKA,2BAAL,GAAmC,IAAAC,0CAAA,GAAnC;;UAEA,MAAM;YAAE/C,OAAF;YAAWsB,QAAX;YAAqBC,iBAArB;YAAwCC;UAAxC,IACJ,KAAKH,YAAL,EADF;;UAGA,IAAIjF,MAAM,CAACC,IAAP,CAAYsG,cAAZ,EAA4B5F,MAA5B,IAAsCyE,UAA1C,EAAsD;YACpD,IAAAY,6BAAA,EAAgBZ,UAAhB;UACD;;UAED,KAAKsB,2BAAL,CAAiCN,GAAjC,CAAqC;YACnC;YACAvE,GAAG,EAAE+B,OAF8B;YAGnC;YACAyC,IAAI,EAAEnB,QAJ6B;YAKnC;YACAC,iBAAiB,EAAEA;UANgB,CAArC;QAQD;;QACD,MAAMyB,uBAAuB,GAC3B,KAAKF,2BAAL,CAAiCE,uBADnC;QAGA,MAAMC,YAAY,GAAGC,yBAAA,CAAuBC,MAAvB,GACjBrH,SADiB,GAEhB;UAAEsH,KAAK,EAAE,IAAIC,GAAJ,CAAQ,CAAC,IAAD,CAAR;QAAT,CAFL,CAvBc,CAyBuC;;QAErD,MAAMC,eAAe,GAAG,MAAM;UAC5B;;UACA,MAAMrG,MAAM,GAAGD,oBAAoB,CAAC2F,cAAD,CAAnC;UACA,IAAAY,oBAAA,EAAYP,uBAAZ,EAAqC/F,MAArC,EAA6CgG,YAA7C;QACD,CAJD;;QAKA,KAAKJ,YAAL,GAAoBF,cAApB;;QACA,IAAI,KAAKa,oBAAT,EAA+B;UAC7B,IAAAC,gBAAA,EAAW,KAAKD,oBAAhB;QACD;;QACD,KAAKA,oBAAL,GAA4B,IAA5B;;QACA,IAAIpH,MAAM,CAACC,IAAP,CAAYsG,cAAZ,EAA4B5F,MAAhC,EAAwC;UACtC,KAAKyG,oBAAL,GAA4B,IAAAE,iBAAA,EAC1BJ,eAD0B,EAE1BlH,MAAM,CAACuH,MAAP,CAAchB,cAAd,CAF0B,CAA5B;QAID;MACF;IACF;;IAEDnD,kBAAkB,GAAG;MACnB,IAAI,KAAKgE,oBAAT,EAA+B;QAC7B,IAAAC,gBAAA,EAAW,KAAKD,oBAAhB;MACD;IACF;;IAEDI,kBAAkB,CAChB1C,SADgB,EAEhB;MACA,KAAKD,qBAAL,CAA2BC,SAA3B;;MACA,KAAKvB,qBAAL;;MACA,KAAKC,kBAAL;IACD;;IAyDDiE,uBAAuB,CACrBC,UADqB,EAEI;MACzB,MAAMrH,KAA8B,GAAG,EAAvC;;MACA,KAAK,MAAMb,GAAX,IAAkBkI,UAAlB,EAA8B;QAC5B,MAAMzJ,KAAK,GAAGyJ,UAAU,CAAClI,GAAD,CAAxB;;QACA,IAAIA,GAAG,KAAK,OAAZ,EAAqB;UACnB,MAAMmI,SAAS,GAAGD,UAAU,CAAC1I,KAA7B;UACA,MAAMF,MAAM,GAAGX,YAAY,CAAawJ,SAAS,IAAI,EAA1B,CAA3B;UACA,MAAMC,cAA0B,GAAG9I,MAAM,CAACgC,GAAP,CAAY9B,KAAD,IAAW;YACvD,IAAIA,KAAK,IAAIA,KAAK,CAACC,eAAnB,EAAoC;cAClC;cACAD,KAAK,CAACK,QAAN,CAAe+G,GAAf,CAAmB,IAAnB;;cACA,IAAI,KAAKyB,cAAT,EAAyB;gBACvB,KAAKC,YAAL,GAAoB,EAClB,GAAG9I,KAAK,CAACsH,OAAN,CAAcrI,KADC;kBAElB,GAAG,IAAA8J,4BAAA,EAA8B/I,KAAK,CAACsH,OAAN,CAAc0B,OAA5C;gBAFe,CAApB;cAID;;cACD,OAAO,KAAKF,YAAZ;YACD,CAVD,MAUO,IAAI/H,eAAe,CAACf,KAAD,CAAnB,EAA4B;cACjC,IAAI,KAAK6I,cAAT,EAAyB;gBACvB,OAAOjH,oBAAoB,CAAC5B,KAAD,CAA3B;cACD;;cACD,MAAMiJ,QAAoB,GAAG,EAA7B;;cACA,KAAK,MAAM,CAACzI,GAAD,EAAMU,UAAN,CAAX,IAAgCF,MAAM,CAACO,OAAP,CAAevB,KAAf,CAAhC,EAAuD;gBACrD,IACE,CAAC,IAAAmB,yBAAA,EAAcD,UAAd,CAAD,IACA,EAAEV,GAAG,KAAK,WAAR,IAAuBG,sBAAsB,CAACO,UAAD,CAA/C,CAFF,EAGE;kBACA+H,QAAQ,CAACzI,GAAD,CAAR,GAAgBU,UAAhB;gBACD;cACF;;cACD,OAAO+H,QAAP;YACD,CAdM,MAcA;cACL,OAAOjJ,KAAP;YACD;UACF,CA5BkC,CAAnC;UA6BAqB,KAAK,CAACb,GAAD,CAAL,GAAa0I,uBAAA,CAAWC,OAAX,CAAmBP,cAAnB,CAAb;QACD,CAjCD,MAiCO,IAAIpI,GAAG,KAAK,eAAZ,EAA6B;UAClC,MAAM4I,YAAY,GAAGV,UAAU,CAAClD,aAAhC;;UAGA,IAAI4D,YAAY,CAAC9B,OAAb,KAAyB5G,SAA7B,EAAwC;YACtCM,MAAM,CAACC,IAAP,CAAYmI,YAAY,CAAC9B,OAAb,CAAqBrI,KAAjC,EAAwCS,OAAxC,CAAiDc,GAAD,IAAS;cAAA;;cACvDa,KAAK,CAACb,GAAD,CAAL,4BAAa4I,YAAY,CAAC9B,OAA1B,0DAAa,sBAAsBrI,KAAtB,CAA4BuB,GAA5B,CAAb;cACA,yBAAA4I,YAAY,CAAC/I,QAAb,gFAAuB+G,GAAvB,CAA2B,IAA3B;YACD,CAHD;UAID;QACF,CAVM,MAUA,IACL7G,GAAG,CAAC,SAAD,EAAYtB,KAAZ,CAAH,IACAA,KAAK,CAAC8F,OAAN,YAAyBC,4BAFpB,EAGL;UACA,IAAI/F,KAAK,CAAC8F,OAAN,CAAcsE,UAAd,CAAyB1H,MAAzB,GAAkC,CAAtC,EAAyC;YACvC1C,KAAK,CAAC8F,OAAN,CAAcsE,UAAd,CAAyB3J,OAAzB,CAAkC4J,SAAD,IAAe;cAC9CjI,KAAK,CAACiI,SAAD,CAAL,GAAmB/I,GAAG,CAAC,WAAD,EAActB,KAAK,CAAC8F,OAApB,CAAH,GACd9F,KAAK,CAAC8F,OAAN,CAAcwE,SAAf,CACED,SADF,CADe,GAIfzK,aAJJ;YAKD,CAND;UAOD,CARD,MAQO;YACLwC,KAAK,CAACb,GAAD,CAAL,GAAa3B,aAAb;UACD;QACF,CAfM,MAeA,IAAI,IAAAsC,yBAAA,EAAclC,KAAd,CAAJ,EAA0B;UAC/B,IAAI,KAAK4J,cAAT,EAAyB;YACvBxH,KAAK,CAACb,GAAD,CAAL,GAAcvB,KAAD,CAA4BA,KAAzC;UACD;QACF,CAJM,MAIA,IACLuB,GAAG,KAAK,6BAAR,IACA,CAAC,IAAAgJ,iCAAA,GAFI,EAGL;UACAnI,KAAK,CAACb,GAAD,CAAL,GAAavB,KAAb;QACD;MACF;;MACD,OAAOoC,KAAP;IACD;;IAEDoI,MAAM,GAAG;MACP,MAAMpI,KAAK,GAAG,KAAKoH,uBAAL,CAA6B,KAAKpH,KAAlC,CAAd;;MACA,IAAI,IAAA0C,uBAAA,GAAJ,EAAc;QACZ1C,KAAK,CAAC2C,aAAN,GAAsB,KAAKA,aAA3B;MACD;;MAED,IAAI,KAAK6E,cAAT,EAAyB;QACvB,KAAKA,cAAL,GAAsB,KAAtB;MACD;;MAED,MAAMa,aAAa,GAAGvE,qBAAA,CAASwE,MAAT,CAAgB;QACpCC,GAAG,EAAE,EAD+B;QAEpCC,OAAO,EAAE;UAAEC,WAAW,EAAE;QAAf;MAF2B,CAAhB,CAAtB;;MAIA,oBACE,6BAAC,SAAD,eAAezI,KAAf;QAAsB,GAAG,EAAE,KAAK0I;MAAhC,GAAsDL,aAAtD,EADF;IAGD;;EAheD;;EAV4D,gBAQxDrH,iBARwD;;EA6e9DA,iBAAiB,CAAC2H,WAAlB,GAAiC,qBAC/BhI,SAAS,CAACgI,WAAV,IAAyBhI,SAAS,CAACqF,IAAnC,IAA2C,WAC5C,GAFD;EAIA,oBAAO/E,cAAA,CAAM2H,UAAN,CAA4B,CAAC5I,KAAD,EAAQuB,GAAR,KAAgB;IACjD,oBACE,6BAAC,iBAAD,eACMvB,KADN,EAEOuB,GAAG,KAAK,IAAR,GAAe,IAAf,GAAsB;MAAEF,YAAY,EAAEE;IAAhB,CAF7B,EADF;EAMD,CAPM,CAAP;AAQD"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_WorkletEventHandler","_setAndForwardRef","_invariant","_ConfigHelper","_RNRenderer","_core","_PlatformChecker","_animation","_layoutReanimation","_ViewDescriptorsSet","_fabricUtils","_UpdateProps","_NativeReanimated","_reanimated","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","dummyListener","maybeBuild","layoutAnimationOrBuilder","isAnimationBuilder","build","flattenArray","array","Array","isArray","resultArr","_flattenArray","arr","forEach","item","push","onlyAnimatedStyles","styles","filter","style","viewDescriptors","isSameAnimatedStyle","style1","style2","viewsRef","isSameAnimatedProps","has","x","isInlineStyleTransform","transform","some","t","hasInlineStyles","keys","styleValue","isSharedValue","extractSharedValuesMapFromProps","props","inlineProps","entries","inlinePropsHasChanged","styles1","styles2","getInlinePropsUpdate","update","map","createAnimatedComponent","Component","options","invariant","isReactComponent","name","AnimatedComponent","React","constructor","setAndForwardRef","getForwardedRef","forwardedRef","setLocalRef","ref","tag","findNodeHandle","layout","entering","exiting","sharedTransitionTag","shouldBeUseWeb","enableLayoutAnimations","configureLayoutAnimations","LayoutAnimationType","LAYOUT","ENTERING","EXITING","sharedElementTransition","sharedTransitionStyle","DefaultSharedTransition","SHARED_ELEMENT_TRANSITION","_component","isJest","animatedStyle","componentWillUnmount","_detachNativeEvents","_detachStyles","_detachInlineProps","componentDidMount","_attachNativeEvents","_attachAnimatedStyles","_attachInlineProps","_getEventViewRef","_this$_component","getScrollableNode","node","viewTag","setNativeProps","prop","current","WorkletEventHandler","registerForEvents","unregisterFromEvents","Platform","OS","_styles","remove","_viewTag","_this$props$animatedP","animatedProps","global","_IS_FABRIC","runOnUI","_removeShadowNodeFromRegistry","_reattachNativeEvents","prevProps","reattachNeeded","_updateFromNative","_this$_component2","_this$_component2$set","_getViewInfo","viewName","shadowNodeWrapper","viewConfig","_hostInstance$viewCon","hostInstance","RNRenderer","findHostInstance_DEPRECATED","Error","_nativeTag","uiViewClassName","getShadowNodeWrapperFromRef","_this$props$animatedP2","_this$props$animatedP3","prevStyles","prevAnimatedProps","_animatedProps","hasReanimated2Props","adaptViewConfig","hasOneSameStyle","prevStyle","isPresent","add","initial","newInlineProps","hasChanged","_inlineProps","_inlinePropsViewDescriptors","makeViewDescriptorsSet","sharableViewDescriptors","maybeViewRef","NativeReanimatedModule","native","items","Set","updaterFunction","updateProps","_inlinePropsMapperId","stopMapper","startMapper","values","componentDidUpdate","_filterNonAnimatedProps","inputProps","styleProp","processedStyle","_isFirstRender","initialStyle","initialUpdaterRun","updater","newStyle","StyleSheet","flatten","animatedProp","_animatedProp$initial","_animatedProp$viewsRe","eventNames","eventName","listeners","isChromeDebugger","render","platformProps","select","web","collapsable","createElement","_setComponentRef","displayName","forwardRef"],"sources":["createAnimatedComponent.tsx"],"sourcesContent":["import React, { Component, ComponentType, MutableRefObject, Ref } from 'react';\nimport { findNodeHandle, Platform, StyleSheet } from 'react-native';\nimport WorkletEventHandler from './reanimated2/WorkletEventHandler';\nimport setAndForwardRef from './setAndForwardRef';\nimport './reanimated2/layoutReanimation/animationsManager';\nimport invariant from 'invariant';\nimport { adaptViewConfig } from './ConfigHelper';\nimport { RNRenderer } from './reanimated2/platform-specific/RNRenderer';\nimport {\n configureLayoutAnimations,\n enableLayoutAnimations,\n runOnUI,\n startMapper,\n stopMapper,\n} from './reanimated2/core';\nimport {\n isJest,\n isChromeDebugger,\n shouldBeUseWeb,\n} from './reanimated2/PlatformChecker';\nimport { initialUpdaterRun } from './reanimated2/animation';\nimport {\n BaseAnimationBuilder,\n DefaultSharedTransition,\n EntryExitAnimationFunction,\n ILayoutAnimationBuilder,\n LayoutAnimationFunction,\n LayoutAnimationType,\n} from './reanimated2/layoutReanimation';\nimport {\n SharedValue,\n StyleProps,\n ShadowNodeWrapper,\n} from './reanimated2/commonTypes';\nimport {\n makeViewDescriptorsSet,\n ViewDescriptorsSet,\n ViewRefSet,\n} from './reanimated2/ViewDescriptorsSet';\nimport { getShadowNodeWrapperFromRef } from './reanimated2/fabricUtils';\nimport updateProps from './reanimated2/UpdateProps';\nimport NativeReanimatedModule from './reanimated2/NativeReanimated';\nimport { isSharedValue } from './reanimated2';\n\nfunction dummyListener() {\n // empty listener we use to assign to listener properties for which animated\n // event is used.\n}\n\nfunction maybeBuild(\n layoutAnimationOrBuilder:\n | ILayoutAnimationBuilder\n | LayoutAnimationFunction\n | Keyframe\n): LayoutAnimationFunction | Keyframe {\n const isAnimationBuilder = (\n value: ILayoutAnimationBuilder | LayoutAnimationFunction | Keyframe\n ): value is ILayoutAnimationBuilder =>\n 'build' in layoutAnimationOrBuilder &&\n typeof layoutAnimationOrBuilder.build === 'function';\n\n if (isAnimationBuilder(layoutAnimationOrBuilder)) {\n return layoutAnimationOrBuilder.build();\n } else {\n return layoutAnimationOrBuilder;\n }\n}\n\ntype NestedArray<T> = T | NestedArray<T>[];\nfunction flattenArray<T>(array: NestedArray<T>): T[] {\n if (!Array.isArray(array)) {\n return [array];\n }\n const resultArr: T[] = [];\n\n const _flattenArray = (arr: NestedArray<T>[]): void => {\n arr.forEach((item) => {\n if (Array.isArray(item)) {\n _flattenArray(item);\n } else {\n resultArr.push(item);\n }\n });\n };\n _flattenArray(array);\n return resultArr;\n}\n\nfunction onlyAnimatedStyles(styles: StyleProps[]) {\n return styles.filter((style) => style?.viewDescriptors);\n}\n\nfunction isSameAnimatedStyle(\n style1?: StyleProps,\n style2?: StyleProps\n): boolean {\n // We cannot use equality check to compare useAnimatedStyle outputs directly.\n // Instead, we can compare its viewsRefs.\n return style1?.viewsRef === style2?.viewsRef;\n}\n\nconst isSameAnimatedProps = isSameAnimatedStyle;\n\nconst has = <K extends string>(\n key: K,\n x: unknown\n): x is { [key in K]: unknown } => {\n if (typeof x === 'function' || typeof x === 'object') {\n if (x === null || x === undefined) {\n return false;\n } else {\n return key in x;\n }\n }\n return false;\n};\n\nfunction isInlineStyleTransform(transform: any): boolean {\n if (!transform) {\n return false;\n }\n return transform.some((t: Record<string, any>) => hasInlineStyles(t));\n}\n\nfunction hasInlineStyles(style: StyleProps): boolean {\n if (!style) {\n return false;\n }\n return Object.keys(style).some((key) => {\n const styleValue = style[key];\n return (\n isSharedValue(styleValue) ||\n (key === 'transform' && isInlineStyleTransform(styleValue))\n );\n });\n}\n\nfunction extractSharedValuesMapFromProps(\n props: AnimatedComponentProps<InitialComponentProps>\n): Record<string, any> {\n const inlineProps: Record<string, any> = {};\n\n for (const key in props) {\n const value = props[key];\n if (key === 'style') {\n const styles = flattenArray<StyleProps>(props.style ?? []);\n styles.forEach((style) => {\n if (!style) {\n return;\n }\n for (const [key, styleValue] of Object.entries(style)) {\n if (isSharedValue(styleValue)) {\n inlineProps[key] = styleValue;\n } else if (\n key === 'transform' &&\n isInlineStyleTransform(styleValue)\n ) {\n inlineProps[key] = styleValue;\n }\n }\n });\n } else if (isSharedValue(value)) {\n inlineProps[key] = value;\n }\n }\n\n return inlineProps;\n}\n\nfunction inlinePropsHasChanged(styles1: StyleProps, styles2: StyleProps) {\n if (Object.keys(styles1).length !== Object.keys(styles2).length) {\n return true;\n }\n\n for (const key of Object.keys(styles1)) {\n if (styles1[key] !== styles2[key]) return true;\n }\n\n return false;\n}\n\nfunction getInlinePropsUpdate(inlineProps: Record<string, any>) {\n 'worklet';\n const update: Record<string, any> = {};\n for (const [key, styleValue] of Object.entries(inlineProps)) {\n if (key === 'transform') {\n update[key] = styleValue.map((transform: Record<string, any>) => {\n return getInlinePropsUpdate(transform);\n });\n } else if (isSharedValue(styleValue)) {\n update[key] = styleValue.value;\n } else {\n update[key] = styleValue;\n }\n }\n return update;\n}\n\ninterface AnimatedProps extends Record<string, unknown> {\n viewDescriptors?: ViewDescriptorsSet;\n viewsRef?: ViewRefSet<unknown>;\n initial?: SharedValue<StyleProps>;\n}\n\nexport type AnimatedComponentProps<P extends Record<string, unknown>> = P & {\n forwardedRef?: Ref<Component>;\n style?: NestedArray<StyleProps>;\n animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n animatedStyle?: StyleProps;\n layout?:\n | BaseAnimationBuilder\n | ILayoutAnimationBuilder\n | typeof BaseAnimationBuilder;\n entering?:\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe;\n exiting?:\n | BaseAnimationBuilder\n | typeof BaseAnimationBuilder\n | EntryExitAnimationFunction\n | Keyframe;\n sharedTransitionTag?: string;\n sharedTransitionStyle?: ILayoutAnimationBuilder;\n};\n\ntype Options<P> = {\n setNativeProps: (ref: ComponentRef, props: P) => void;\n};\n\ninterface ComponentRef extends Component {\n setNativeProps?: (props: Record<string, unknown>) => void;\n getScrollableNode?: () => ComponentRef;\n}\n\nexport interface InitialComponentProps extends Record<string, unknown> {\n ref?: Ref<Component>;\n collapsable?: boolean;\n}\n\nexport default function createAnimatedComponent(\n Component: ComponentType<InitialComponentProps>,\n options?: Options<InitialComponentProps>\n): ComponentType<AnimatedComponentProps<InitialComponentProps>> {\n invariant(\n typeof Component !== 'function' ||\n (Component.prototype && Component.prototype.isReactComponent),\n `Looks like you're passing a function component \\`${Component.name}\\` to \\`createAnimatedComponent\\` function which supports only class components. Please wrap your function component with \\`React.forwardRef()\\` or use a class component instead.`\n );\n\n class AnimatedComponent extends React.Component<\n AnimatedComponentProps<InitialComponentProps>\n > {\n _styles: StyleProps[] | null = null;\n _animatedProps?: Partial<AnimatedComponentProps<AnimatedProps>>;\n _viewTag = -1;\n _isFirstRender = true;\n animatedStyle: { value: StyleProps } = { value: {} };\n initialStyle = {};\n _component: ComponentRef | null = null;\n _inlinePropsViewDescriptors: ViewDescriptorsSet | null = null;\n _inlinePropsMapperId: number | null = null;\n _inlineProps: StyleProps = {};\n static displayName: string;\n\n constructor(props: AnimatedComponentProps<InitialComponentProps>) {\n super(props);\n if (isJest()) {\n this.animatedStyle = { value: {} };\n }\n }\n\n componentWillUnmount() {\n this._detachNativeEvents();\n this._detachStyles();\n this._detachInlineProps();\n }\n\n componentDidMount() {\n this._attachNativeEvents();\n this._attachAnimatedStyles();\n this._attachInlineProps();\n }\n\n _getEventViewRef() {\n // Make sure to get the scrollable node for components that implement\n // `ScrollResponder.Mixin`.\n return this._component?.getScrollableNode\n ? this._component.getScrollableNode()\n : this._component;\n }\n\n _attachNativeEvents() {\n const node = this._getEventViewRef();\n const viewTag = findNodeHandle(options?.setNativeProps ? this : node);\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n prop.current.registerForEvents(viewTag as number, key);\n }\n }\n }\n\n _detachNativeEvents() {\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n prop.current.unregisterFromEvents();\n }\n }\n }\n\n _detachStyles() {\n if (Platform.OS === 'web' && this._styles !== null) {\n for (const style of this._styles) {\n if (style?.viewsRef) {\n style.viewsRef.remove(this);\n }\n }\n } else if (this._viewTag !== -1 && this._styles !== null) {\n for (const style of this._styles) {\n style.viewDescriptors.remove(this._viewTag);\n }\n if (this.props.animatedProps?.viewDescriptors) {\n this.props.animatedProps.viewDescriptors.remove(this._viewTag);\n }\n if (global._IS_FABRIC) {\n const viewTag = this._viewTag;\n runOnUI(() => {\n 'worklet';\n _removeShadowNodeFromRegistry!(viewTag);\n })();\n }\n }\n }\n\n _reattachNativeEvents(\n prevProps: AnimatedComponentProps<InitialComponentProps>\n ) {\n let viewTag: number | undefined;\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler\n ) {\n if (viewTag === undefined) {\n viewTag = prop.current.viewTag;\n }\n }\n }\n for (const key in prevProps) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler &&\n prop.current.reattachNeeded\n ) {\n prop.current.unregisterFromEvents();\n }\n }\n\n for (const key in this.props) {\n const prop = this.props[key];\n if (\n has('current', prop) &&\n prop.current instanceof WorkletEventHandler &&\n prop.current.reattachNeeded\n ) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n prop.current.registerForEvents(viewTag!, key);\n prop.current.reattachNeeded = false;\n }\n }\n }\n\n _updateFromNative(props: StyleProps) {\n if (options?.setNativeProps) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.setNativeProps(this._component!, props);\n } else {\n // eslint-disable-next-line no-unused-expressions\n this._component?.setNativeProps?.(props);\n }\n }\n\n _getViewInfo() {\n let viewTag: number | null;\n let viewName: string | null;\n let shadowNodeWrapper: ShadowNodeWrapper | null = null;\n let viewConfig;\n if (Platform.OS === 'web') {\n viewTag = findNodeHandle(this);\n viewName = null;\n shadowNodeWrapper = null;\n viewConfig = null;\n } else {\n // hostInstance can be null for a component that doesn't render anything (render function returns null). Example: svg Stop: https://github.com/react-native-svg/react-native-svg/blob/develop/src/elements/Stop.tsx\n const hostInstance = RNRenderer.findHostInstance_DEPRECATED(this);\n if (!hostInstance) {\n throw new Error(\n 'Cannot find host instance for this component. Maybe it renders nothing?'\n );\n }\n // we can access view tag in the same way it's accessed here https://github.com/facebook/react/blob/e3f4eb7272d4ca0ee49f27577156b57eeb07cf73/packages/react-native-renderer/src/ReactFabric.js#L146\n viewTag = hostInstance?._nativeTag;\n /**\n * RN uses viewConfig for components for storing different properties of the component(example: https://github.com/facebook/react-native/blob/master/Libraries/Components/ScrollView/ScrollViewViewConfig.js#L16).\n * The name we're looking for is in the field named uiViewClassName.\n */\n viewName = hostInstance?.viewConfig?.uiViewClassName;\n\n viewConfig = hostInstance?.viewConfig;\n\n if (global._IS_FABRIC) {\n shadowNodeWrapper = getShadowNodeWrapperFromRef(this);\n }\n }\n return { viewTag, viewName, shadowNodeWrapper, viewConfig };\n }\n\n _attachAnimatedStyles() {\n const styles = this.props.style\n ? onlyAnimatedStyles(flattenArray<StyleProps>(this.props.style))\n : [];\n const prevStyles = this._styles;\n this._styles = styles;\n\n const prevAnimatedProps = this._animatedProps;\n this._animatedProps = this.props.animatedProps;\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } =\n this._getViewInfo();\n\n // update UI props whitelist for this view\n const hasReanimated2Props =\n this.props.animatedProps?.viewDescriptors || styles.length;\n if (hasReanimated2Props && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._viewTag = viewTag as number;\n\n // remove old styles\n if (prevStyles) {\n // in most of the cases, views have only a single animated style and it remains unchanged\n const hasOneSameStyle =\n styles.length === 1 &&\n prevStyles.length === 1 &&\n isSameAnimatedStyle(styles[0], prevStyles[0]);\n\n if (!hasOneSameStyle) {\n // otherwise, remove each style that is not present in new styles\n for (const prevStyle of prevStyles) {\n const isPresent = styles.some((style) =>\n isSameAnimatedStyle(style, prevStyle)\n );\n if (!isPresent) {\n prevStyle.viewDescriptors.remove(viewTag);\n }\n }\n }\n }\n\n styles.forEach((style) => {\n style.viewDescriptors.add({\n tag: viewTag,\n name: viewName,\n shadowNodeWrapper,\n });\n if (isJest()) {\n /**\n * We need to connect Jest's TestObject instance whose contains just props object\n * with the updateProps() function where we update the properties of the component.\n * We can't update props object directly because TestObject contains a copy of props - look at render function:\n * const props = this._filterNonAnimatedProps(this.props);\n */\n this.animatedStyle.value = {\n ...this.animatedStyle.value,\n ...style.initial.value,\n };\n style.animatedStyle.current = this.animatedStyle;\n }\n });\n\n // detach old animatedProps\n if (\n prevAnimatedProps &&\n !isSameAnimatedProps(prevAnimatedProps, this.props.animatedProps)\n ) {\n prevAnimatedProps.viewDescriptors!.remove(viewTag as number);\n }\n\n // attach animatedProps property\n if (this.props.animatedProps?.viewDescriptors) {\n this.props.animatedProps.viewDescriptors.add({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n tag: viewTag!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: viewName!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n }\n\n _attachInlineProps() {\n const newInlineProps: Record<string, any> =\n extractSharedValuesMapFromProps(this.props);\n const hasChanged = inlinePropsHasChanged(\n newInlineProps,\n this._inlineProps\n );\n\n if (hasChanged) {\n if (!this._inlinePropsViewDescriptors) {\n this._inlinePropsViewDescriptors = makeViewDescriptorsSet();\n\n const { viewTag, viewName, shadowNodeWrapper, viewConfig } =\n this._getViewInfo();\n\n if (Object.keys(newInlineProps).length && viewConfig) {\n adaptViewConfig(viewConfig);\n }\n\n this._inlinePropsViewDescriptors.add({\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n tag: viewTag!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: viewName!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n shadowNodeWrapper: shadowNodeWrapper!,\n });\n }\n const sharableViewDescriptors =\n this._inlinePropsViewDescriptors.sharableViewDescriptors;\n\n const maybeViewRef = NativeReanimatedModule.native\n ? undefined\n : ({ items: new Set([this]) } as ViewRefSet<any>); // see makeViewsRefSet\n\n const updaterFunction = () => {\n 'worklet';\n const update = getInlinePropsUpdate(newInlineProps);\n updateProps(sharableViewDescriptors, update, maybeViewRef);\n };\n this._inlineProps = newInlineProps;\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n this._inlinePropsMapperId = null;\n if (Object.keys(newInlineProps).length) {\n this._inlinePropsMapperId = startMapper(\n updaterFunction,\n Object.values(newInlineProps)\n );\n }\n }\n }\n\n _detachInlineProps() {\n if (this._inlinePropsMapperId) {\n stopMapper(this._inlinePropsMapperId);\n }\n }\n\n componentDidUpdate(\n prevProps: AnimatedComponentProps<InitialComponentProps>\n ) {\n this._reattachNativeEvents(prevProps);\n this._attachAnimatedStyles();\n this._attachInlineProps();\n }\n\n _setComponentRef = setAndForwardRef<Component>({\n getForwardedRef: () =>\n this.props.forwardedRef as MutableRefObject<\n Component<Record<string, unknown>, Record<string, unknown>, unknown>\n >,\n setLocalRef: (ref) => {\n // TODO update config\n const tag = findNodeHandle(ref);\n const { layout, entering, exiting, sharedTransitionTag } = this.props;\n if (\n (layout || entering || exiting || sharedTransitionTag) &&\n tag != null\n ) {\n if (!shouldBeUseWeb()) {\n enableLayoutAnimations(true, false);\n }\n if (layout) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.LAYOUT,\n maybeBuild(layout)\n );\n }\n if (entering) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.ENTERING,\n maybeBuild(entering)\n );\n }\n if (exiting) {\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.EXITING,\n maybeBuild(exiting)\n );\n }\n if (sharedTransitionTag) {\n const sharedElementTransition =\n this.props.sharedTransitionStyle ?? DefaultSharedTransition;\n configureLayoutAnimations(\n tag,\n LayoutAnimationType.SHARED_ELEMENT_TRANSITION,\n maybeBuild(sharedElementTransition),\n sharedTransitionTag\n );\n }\n }\n\n if (ref !== this._component) {\n this._component = ref;\n }\n },\n });\n\n _filterNonAnimatedProps(\n inputProps: AnimatedComponentProps<InitialComponentProps>\n ): Record<string, unknown> {\n const props: Record<string, unknown> = {};\n for (const key in inputProps) {\n const value = inputProps[key];\n if (key === 'style') {\n const styleProp = inputProps.style;\n const styles = flattenArray<StyleProps>(styleProp ?? []);\n const processedStyle: StyleProps = styles.map((style) => {\n if (style && style.viewDescriptors) {\n // this is how we recognize styles returned by useAnimatedStyle\n style.viewsRef.add(this);\n if (this._isFirstRender) {\n this.initialStyle = {\n ...style.initial.value,\n ...initialUpdaterRun<StyleProps>(style.initial.updater),\n };\n }\n return this.initialStyle;\n } else if (hasInlineStyles(style)) {\n if (this._isFirstRender) {\n return getInlinePropsUpdate(style);\n }\n const newStyle: StyleProps = {};\n for (const [key, styleValue] of Object.entries(style)) {\n if (\n !isSharedValue(styleValue) &&\n !(key === 'transform' && isInlineStyleTransform(styleValue))\n ) {\n newStyle[key] = styleValue;\n }\n }\n return newStyle;\n } else {\n return style;\n }\n });\n props[key] = StyleSheet.flatten(processedStyle);\n } else if (key === 'animatedProps') {\n const animatedProp = inputProps.animatedProps as Partial<\n AnimatedComponentProps<AnimatedProps>\n >;\n if (animatedProp.initial !== undefined) {\n Object.keys(animatedProp.initial.value).forEach((key) => {\n props[key] = animatedProp.initial?.value[key];\n animatedProp.viewsRef?.add(this);\n });\n }\n } else if (\n has('current', value) &&\n value.current instanceof WorkletEventHandler\n ) {\n if (value.current.eventNames.length > 0) {\n value.current.eventNames.forEach((eventName) => {\n props[eventName] = has('listeners', value.current)\n ? (value.current.listeners as Record<string, unknown>)[\n eventName\n ]\n : dummyListener;\n });\n } else {\n props[key] = dummyListener;\n }\n } else if (isSharedValue(value)) {\n if (this._isFirstRender) {\n props[key] = (value as SharedValue<any>).value;\n }\n } else if (\n key !== 'onGestureHandlerStateChange' ||\n !isChromeDebugger()\n ) {\n props[key] = value;\n }\n }\n return props;\n }\n\n render() {\n const props = this._filterNonAnimatedProps(this.props);\n if (isJest()) {\n props.animatedStyle = this.animatedStyle;\n }\n\n if (this._isFirstRender) {\n this._isFirstRender = false;\n }\n\n const platformProps = Platform.select({\n web: {},\n default: { collapsable: false },\n });\n return (\n <Component {...props} ref={this._setComponentRef} {...platformProps} />\n );\n }\n }\n\n AnimatedComponent.displayName = `AnimatedComponent(${\n Component.displayName || Component.name || 'Component'\n })`;\n\n return React.forwardRef<Component>((props, ref) => {\n return (\n <AnimatedComponent\n {...props}\n {...(ref === null ? null : { forwardedRef: ref })}\n />\n );\n });\n}\n"],"mappings":"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"}
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {};
7
7
  exports.default = void 0;
8
-
9
8
  var Animated = _interopRequireWildcard(require("./Animated"));
10
-
11
9
  var _global = _interopRequireDefault(require("./reanimated2/js-reanimated/global"));
12
-
13
10
  var _reanimated = require("./reanimated2");
14
-
15
11
  Object.keys(_reanimated).forEach(function (key) {
16
12
  if (key === "default" || key === "__esModule") return;
17
13
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -23,13 +19,9 @@ Object.keys(_reanimated).forEach(function (key) {
23
19
  }
24
20
  });
25
21
  });
26
-
27
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
-
29
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
-
31
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
-
33
25
  if (!_global.default) {
34
26
  /*
35
27
  `webGlobalIsInitialized` should always be `true`,
@@ -38,7 +30,6 @@ if (!_global.default) {
38
30
  */
39
31
  console.error('[Reanimated] Unable to initialize global objects for web.');
40
32
  }
41
-
42
33
  var _default = Animated;
43
34
  exports.default = _default;
44
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["webGlobalIsInitialized","console","error","Animated"],"sources":["index.ts"],"sourcesContent":["import * as Animated from './Animated';\nimport webGlobalIsInitialized from './reanimated2/js-reanimated/global';\nif (!webGlobalIsInitialized) {\n /* \n `webGlobalIsInitialized` should always be `true`, \n but we need to use `webGlobalIsInitialized` somewhere to ensure function execution, \n in another way, the bundler can remove unused variables. \n */\n console.error('[Reanimated] Unable to initialize global objects for web.');\n}\n\nexport * from './reanimated2';\nexport default Animated;\n"],"mappings":";;;;;;;;AAAA;;AACA;;AAUA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;;;AATA,IAAI,CAACA,eAAL,EAA6B;EAC3B;AACF;AACA;AACA;AACA;EACEC,OAAO,CAACC,KAAR,CAAc,2DAAd;AACD;;eAGcC,Q"}
1
+ {"version":3,"names":["Animated","_interopRequireWildcard","require","_global","_interopRequireDefault","_reanimated","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","webGlobalIsInitialized","console","error","_default"],"sources":["index.ts"],"sourcesContent":["import * as Animated from './Animated';\nimport webGlobalIsInitialized from './reanimated2/js-reanimated/global';\nif (!webGlobalIsInitialized) {\n /* \n `webGlobalIsInitialized` should always be `true`, \n but we need to use `webGlobalIsInitialized` somewhere to ensure function execution, \n in another way, the bundler can remove unused variables. \n */\n console.error('[Reanimated] Unable to initialize global objects for web.');\n}\n\nexport * from './reanimated2';\nexport default Animated;\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAUA,IAAAG,WAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA8B,SAAAL,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAArB,wBAAAiB,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAT,GAAA,CAAAC,GAAA,SAAAU,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAS,GAAA,QAAAT,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAM,GAAA,EAAAT,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAZ,GAAA,EAAAT,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAS,GAAA,CAAAT,GAAA,SAAAmB,MAAA,CAAAR,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAd,GAAA,EAAAU,MAAA,YAAAA,MAAA;AAT9B,IAAI,CAACK,eAAsB,EAAE;EAC3B;AACF;AACA;AACA;AACA;EACEC,OAAO,CAACC,KAAK,CAAC,2DAA2D,CAAC;AAC5E;AAAC,IAAAC,QAAA,GAGcpC,QAAQ;AAAAc,OAAA,CAAAM,OAAA,GAAAgB,QAAA"}
@@ -5,11 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {};
7
7
  exports.default = void 0;
8
-
9
8
  require("./reanimated2/js-reanimated/global");
10
-
11
9
  var _reanimated = require("./reanimated2");
12
-
13
10
  Object.keys(_reanimated).forEach(function (key) {
14
11
  if (key === "default" || key === "__esModule") return;
15
12
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -21,12 +18,8 @@ Object.keys(_reanimated).forEach(function (key) {
21
18
  }
22
19
  });
23
20
  });
24
-
25
21
  var _default = _interopRequireWildcard(require("./Animated"));
26
-
27
22
  exports.default = _default;
28
-
29
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
-
31
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
25
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.web.ts"],"sourcesContent":["// tree-shaken side effects\nimport './reanimated2/js-reanimated/global';\n\nexport * from './reanimated2';\nexport * as default from './Animated'; // If this line fails, you probably forgot some installation steps. Check out the installation guide here: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/ 1) Make sure reanimated's babel plugin is installed in your babel.config.js (you should have 'react-native-reanimated/plugin' listed there - also see the above link for details) 2) Make sure you reset build cache after updating the config, run: yarn start --reset-cache\n"],"mappings":";;;;;;;;AACA;;AAEA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["require","_reanimated","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_default","_interopRequireWildcard","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["index.web.ts"],"sourcesContent":["// tree-shaken side effects\nimport './reanimated2/js-reanimated/global';\n\nexport * from './reanimated2';\nexport * as default from './Animated'; // If this line fails, you probably forgot some installation steps. Check out the installation guide here: https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/ 1) Make sure reanimated's babel plugin is installed in your babel.config.js (you should have 'react-native-reanimated/plugin' listed there - also see the above link for details) 2) Make sure you reset build cache after updating the config, run: yarn start --reset-cache\n"],"mappings":";;;;;;;AACAA,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA8B,IAAAS,QAAA,GAAAC,uBAAA,CAAAf,OAAA;AAAAU,OAAA,CAAAM,OAAA,GAAAF,QAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAN,OAAA,EAAAM,GAAA,UAAAE,KAAA,GAAAP,wBAAA,CAAAC,WAAA,OAAAM,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAH,GAAA,YAAAE,KAAA,CAAAX,GAAA,CAAAS,GAAA,SAAAI,MAAA,WAAAC,qBAAA,GAAAzB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAA0B,wBAAA,WAAAvB,GAAA,IAAAiB,GAAA,QAAAjB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAc,GAAA,EAAAjB,GAAA,SAAAwB,IAAA,GAAAF,qBAAA,GAAAzB,MAAA,CAAA0B,wBAAA,CAAAN,GAAA,EAAAjB,GAAA,cAAAwB,IAAA,KAAAA,IAAA,CAAAhB,GAAA,IAAAgB,IAAA,CAAAC,GAAA,KAAA5B,MAAA,CAAAS,cAAA,CAAAe,MAAA,EAAArB,GAAA,EAAAwB,IAAA,YAAAH,MAAA,CAAArB,GAAA,IAAAiB,GAAA,CAAAjB,GAAA,SAAAqB,MAAA,CAAAV,OAAA,GAAAM,GAAA,MAAAE,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAR,GAAA,EAAAI,MAAA,YAAAA,MAAA"}
@@ -4,13 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Bezier = Bezier;
7
-
8
7
  /**
9
8
  * https://github.com/gre/bezier-easing
10
9
  * BezierEasing - use bezier curve for transition easing function
11
10
  * by Gaëtan Renaudeau 2014 - 2015 – MIT License
12
11
  */
12
+
13
13
  // These values are established by empiricism with tests (tradeoff: performance VS precision)
14
+
14
15
  function Bezier(mX1, mY1, mX2, mY2) {
15
16
  'worklet';
16
17
 
@@ -20,121 +21,104 @@ function Bezier(mX1, mY1, mX2, mY2) {
20
21
  const SUBDIVISION_MAX_ITERATIONS = 10;
21
22
  const kSplineTableSize = 11;
22
23
  const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
23
-
24
24
  function A(aA1, aA2) {
25
25
  'worklet';
26
26
 
27
27
  return 1.0 - 3.0 * aA2 + 3.0 * aA1;
28
28
  }
29
-
30
29
  function B(aA1, aA2) {
31
30
  'worklet';
32
31
 
33
32
  return 3.0 * aA2 - 6.0 * aA1;
34
33
  }
35
-
36
34
  function C(aA1) {
37
35
  'worklet';
38
36
 
39
37
  return 3.0 * aA1;
40
- } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.
41
-
38
+ }
42
39
 
40
+ // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.
43
41
  function calcBezier(aT, aA1, aA2) {
44
42
  'worklet';
45
43
 
46
44
  return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
47
- } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.
48
-
45
+ }
49
46
 
47
+ // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.
50
48
  function getSlope(aT, aA1, aA2) {
51
49
  'worklet';
52
50
 
53
51
  return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
54
52
  }
55
-
56
53
  function binarySubdivide(aX, aA, aB, mX1, mX2) {
57
54
  'worklet';
58
55
 
59
56
  let currentX;
60
57
  let currentT;
61
58
  let i = 0;
62
-
63
59
  do {
64
60
  currentT = aA + (aB - aA) / 2.0;
65
61
  currentX = calcBezier(currentT, mX1, mX2) - aX;
66
-
67
62
  if (currentX > 0.0) {
68
63
  aB = currentT;
69
64
  } else {
70
65
  aA = currentT;
71
66
  }
72
67
  } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
73
-
74
68
  return currentT;
75
69
  }
76
-
77
70
  function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
78
71
  'worklet';
79
72
 
80
73
  for (let i = 0; i < NEWTON_ITERATIONS; ++i) {
81
74
  const currentSlope = getSlope(aGuessT, mX1, mX2);
82
-
83
75
  if (currentSlope === 0.0) {
84
76
  return aGuessT;
85
77
  }
86
-
87
78
  const currentX = calcBezier(aGuessT, mX1, mX2) - aX;
88
79
  aGuessT -= currentX / currentSlope;
89
80
  }
90
-
91
81
  return aGuessT;
92
82
  }
93
-
94
83
  function LinearEasing(x) {
95
84
  'worklet';
96
85
 
97
86
  return x;
98
87
  }
99
-
100
88
  if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {
101
89
  throw new Error('bezier x values must be in [0, 1] range');
102
90
  }
103
-
104
91
  if (mX1 === mY1 && mX2 === mY2) {
105
92
  return LinearEasing;
106
- } // FIXME: Float32Array is not available in Hermes right now
93
+ }
94
+
95
+ // FIXME: Float32Array is not available in Hermes right now
107
96
  //
108
97
  // var float32ArraySupported = typeof Float32Array === 'function';
109
98
  // const sampleValues = float32ArraySupported
110
99
  // ? new Float32Array(kSplineTableSize)
111
100
  // : new Array(kSplineTableSize);
112
- // Precompute samples table
113
-
114
101
 
102
+ // Precompute samples table
115
103
  const sampleValues = new Array(kSplineTableSize);
116
-
117
104
  for (let i = 0; i < kSplineTableSize; ++i) {
118
105
  sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
119
106
  }
120
-
121
107
  function getTForX(aX) {
122
108
  'worklet';
123
109
 
124
110
  let intervalStart = 0.0;
125
111
  let currentSample = 1;
126
112
  const lastSample = kSplineTableSize - 1;
127
-
128
113
  for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
129
114
  intervalStart += kSampleStepSize;
130
115
  }
116
+ --currentSample;
131
117
 
132
- --currentSample; // Interpolate to provide an initial guess for t
133
-
118
+ // Interpolate to provide an initial guess for t
134
119
  const dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
135
120
  const guessForT = intervalStart + dist * kSampleStepSize;
136
121
  const initialSlope = getSlope(guessForT, mX1, mX2);
137
-
138
122
  if (initialSlope >= NEWTON_MIN_SLOPE) {
139
123
  return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
140
124
  } else if (initialSlope === 0.0) {
@@ -143,23 +127,19 @@ function Bezier(mX1, mY1, mX2, mY2) {
143
127
  return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
144
128
  }
145
129
  }
146
-
147
130
  return function BezierEasing(x) {
148
131
  'worklet';
149
132
 
150
133
  if (mX1 === mY1 && mX2 === mY2) {
151
134
  return x; // linear
152
- } // Because JavaScript number are imprecise, we should guarantee the extremes are right.
153
-
154
-
135
+ }
136
+ // Because JavaScript number are imprecise, we should guarantee the extremes are right.
155
137
  if (x === 0) {
156
138
  return 0;
157
139
  }
158
-
159
140
  if (x === 1) {
160
141
  return 1;
161
142
  }
162
-
163
143
  return calcBezier(getTForX(x), mY1, mY2);
164
144
  };
165
145
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Bezier","mX1","mY1","mX2","mY2","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","currentX","currentT","i","Math","abs","newtonRaphsonIterate","aGuessT","currentSlope","LinearEasing","x","Error","sampleValues","Array","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","BezierEasing"],"sources":["Bezier.ts"],"sourcesContent":["/**\n * https://github.com/gre/bezier-easing\n * BezierEasing - use bezier curve for transition easing function\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\n */\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\n\nexport function Bezier(\n mX1: number,\n mY1: number,\n mX2: number,\n mY2: number\n): (x: number) => number {\n 'worklet';\n\n const NEWTON_ITERATIONS = 4;\n const NEWTON_MIN_SLOPE = 0.001;\n const SUBDIVISION_PRECISION = 0.0000001;\n const SUBDIVISION_MAX_ITERATIONS = 10;\n\n const kSplineTableSize = 11;\n const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1: number, aA2: number): number {\n 'worklet';\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n function B(aA1: number, aA2: number): number {\n 'worklet';\n return 3.0 * aA2 - 6.0 * aA1;\n }\n function C(aA1: number) {\n 'worklet';\n return 3.0 * aA1;\n }\n\n // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n function calcBezier(aT: number, aA1: number, aA2: number): number {\n 'worklet';\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n\n // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n function getSlope(aT: number, aA1: number, aA2: number): number {\n 'worklet';\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(\n aX: number,\n aA: number,\n aB: number,\n mX1: number,\n mX2: number\n ): number {\n 'worklet';\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (\n Math.abs(currentX) > SUBDIVISION_PRECISION &&\n ++i < SUBDIVISION_MAX_ITERATIONS\n );\n return currentT;\n }\n\n function newtonRaphsonIterate(\n aX: number,\n aGuessT: number,\n mX1: number,\n mX2: number\n ): number {\n 'worklet';\n for (let i = 0; i < NEWTON_ITERATIONS; ++i) {\n const currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n const currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function LinearEasing(x: number): number {\n 'worklet';\n return x;\n }\n\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n if (mX1 === mY1 && mX2 === mY2) {\n return LinearEasing;\n }\n\n // FIXME: Float32Array is not available in Hermes right now\n //\n // var float32ArraySupported = typeof Float32Array === 'function';\n // const sampleValues = float32ArraySupported\n // ? new Float32Array(kSplineTableSize)\n // : new Array(kSplineTableSize);\n\n // Precompute samples table\n const sampleValues = new Array(kSplineTableSize);\n\n for (let i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n\n function getTForX(aX: number): number {\n 'worklet';\n let intervalStart = 0.0;\n let currentSample = 1;\n const lastSample = kSplineTableSize - 1;\n\n for (\n ;\n currentSample !== lastSample && sampleValues[currentSample] <= aX;\n ++currentSample\n ) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n const dist =\n (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n const guessForT = intervalStart + dist * kSampleStepSize;\n\n const initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(\n aX,\n intervalStart,\n intervalStart + kSampleStepSize,\n mX1,\n mX2\n );\n }\n }\n\n return function BezierEasing(x) {\n 'worklet';\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Bezier","mX1","mY1","mX2","mY2","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","currentX","currentT","i","Math","abs","newtonRaphsonIterate","aGuessT","currentSlope","LinearEasing","x","Error","sampleValues","Array","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","BezierEasing"],"sources":["Bezier.ts"],"sourcesContent":["/**\n * https://github.com/gre/bezier-easing\n * BezierEasing - use bezier curve for transition easing function\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\n */\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\n\nexport function Bezier(\n mX1: number,\n mY1: number,\n mX2: number,\n mY2: number\n): (x: number) => number {\n 'worklet';\n\n const NEWTON_ITERATIONS = 4;\n const NEWTON_MIN_SLOPE = 0.001;\n const SUBDIVISION_PRECISION = 0.0000001;\n const SUBDIVISION_MAX_ITERATIONS = 10;\n\n const kSplineTableSize = 11;\n const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1: number, aA2: number): number {\n 'worklet';\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n function B(aA1: number, aA2: number): number {\n 'worklet';\n return 3.0 * aA2 - 6.0 * aA1;\n }\n function C(aA1: number) {\n 'worklet';\n return 3.0 * aA1;\n }\n\n // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n function calcBezier(aT: number, aA1: number, aA2: number): number {\n 'worklet';\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n\n // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n function getSlope(aT: number, aA1: number, aA2: number): number {\n 'worklet';\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(\n aX: number,\n aA: number,\n aB: number,\n mX1: number,\n mX2: number\n ): number {\n 'worklet';\n let currentX;\n let currentT;\n let i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (\n Math.abs(currentX) > SUBDIVISION_PRECISION &&\n ++i < SUBDIVISION_MAX_ITERATIONS\n );\n return currentT;\n }\n\n function newtonRaphsonIterate(\n aX: number,\n aGuessT: number,\n mX1: number,\n mX2: number\n ): number {\n 'worklet';\n for (let i = 0; i < NEWTON_ITERATIONS; ++i) {\n const currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n const currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function LinearEasing(x: number): number {\n 'worklet';\n return x;\n }\n\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n if (mX1 === mY1 && mX2 === mY2) {\n return LinearEasing;\n }\n\n // FIXME: Float32Array is not available in Hermes right now\n //\n // var float32ArraySupported = typeof Float32Array === 'function';\n // const sampleValues = float32ArraySupported\n // ? new Float32Array(kSplineTableSize)\n // : new Array(kSplineTableSize);\n\n // Precompute samples table\n const sampleValues = new Array(kSplineTableSize);\n\n for (let i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n\n function getTForX(aX: number): number {\n 'worklet';\n let intervalStart = 0.0;\n let currentSample = 1;\n const lastSample = kSplineTableSize - 1;\n\n for (\n ;\n currentSample !== lastSample && sampleValues[currentSample] <= aX;\n ++currentSample\n ) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n const dist =\n (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n const guessForT = intervalStart + dist * kSampleStepSize;\n\n const initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(\n aX,\n intervalStart,\n intervalStart + kSampleStepSize,\n mX1,\n mX2\n );\n }\n }\n\n return function BezierEasing(x) {\n 'worklet';\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;;AAEO,SAASA,MAAMA,CACpBC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACY;EACvB,SAAS;;EAET,MAAMC,iBAAiB,GAAG,CAAC;EAC3B,MAAMC,gBAAgB,GAAG,KAAK;EAC9B,MAAMC,qBAAqB,GAAG,SAAS;EACvC,MAAMC,0BAA0B,GAAG,EAAE;EAErC,MAAMC,gBAAgB,GAAG,EAAE;EAC3B,MAAMC,eAAe,GAAG,GAAG,IAAID,gBAAgB,GAAG,GAAG,CAAC;EAEtD,SAASE,CAACA,CAACC,GAAW,EAAEC,GAAW,EAAU;IAC3C,SAAS;;IACT,OAAO,GAAG,GAAG,GAAG,GAAGA,GAAG,GAAG,GAAG,GAAGD,GAAG;EACpC;EACA,SAASE,CAACA,CAACF,GAAW,EAAEC,GAAW,EAAU;IAC3C,SAAS;;IACT,OAAO,GAAG,GAAGA,GAAG,GAAG,GAAG,GAAGD,GAAG;EAC9B;EACA,SAASG,CAACA,CAACH,GAAW,EAAE;IACtB,SAAS;;IACT,OAAO,GAAG,GAAGA,GAAG;EAClB;;EAEA;EACA,SAASI,UAAUA,CAACC,EAAU,EAAEL,GAAW,EAAEC,GAAW,EAAU;IAChE,SAAS;;IACT,OAAO,CAAC,CAACF,CAAC,CAACC,GAAG,EAAEC,GAAG,CAAC,GAAGI,EAAE,GAAGH,CAAC,CAACF,GAAG,EAAEC,GAAG,CAAC,IAAII,EAAE,GAAGF,CAAC,CAACH,GAAG,CAAC,IAAIK,EAAE;EAC9D;;EAEA;EACA,SAASC,QAAQA,CAACD,EAAU,EAAEL,GAAW,EAAEC,GAAW,EAAU;IAC9D,SAAS;;IACT,OAAO,GAAG,GAAGF,CAAC,CAACC,GAAG,EAAEC,GAAG,CAAC,GAAGI,EAAE,GAAGA,EAAE,GAAG,GAAG,GAAGH,CAAC,CAACF,GAAG,EAAEC,GAAG,CAAC,GAAGI,EAAE,GAAGF,CAAC,CAACH,GAAG,CAAC;EACtE;EAEA,SAASO,eAAeA,CACtBC,EAAU,EACVC,EAAU,EACVC,EAAU,EACVrB,GAAW,EACXE,GAAW,EACH;IACR,SAAS;;IACT,IAAIoB,QAAQ;IACZ,IAAIC,QAAQ;IACZ,IAAIC,CAAC,GAAG,CAAC;IACT,GAAG;MACDD,QAAQ,GAAGH,EAAE,GAAG,CAACC,EAAE,GAAGD,EAAE,IAAI,GAAG;MAC/BE,QAAQ,GAAGP,UAAU,CAACQ,QAAQ,EAAEvB,GAAG,EAAEE,GAAG,CAAC,GAAGiB,EAAE;MAC9C,IAAIG,QAAQ,GAAG,GAAG,EAAE;QAClBD,EAAE,GAAGE,QAAQ;MACf,CAAC,MAAM;QACLH,EAAE,GAAGG,QAAQ;MACf;IACF,CAAC,QACCE,IAAI,CAACC,GAAG,CAACJ,QAAQ,CAAC,GAAGhB,qBAAqB,IAC1C,EAAEkB,CAAC,GAAGjB,0BAA0B;IAElC,OAAOgB,QAAQ;EACjB;EAEA,SAASI,oBAAoBA,CAC3BR,EAAU,EACVS,OAAe,EACf5B,GAAW,EACXE,GAAW,EACH;IACR,SAAS;;IACT,KAAK,IAAIsB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGpB,iBAAiB,EAAE,EAAEoB,CAAC,EAAE;MAC1C,MAAMK,YAAY,GAAGZ,QAAQ,CAACW,OAAO,EAAE5B,GAAG,EAAEE,GAAG,CAAC;MAChD,IAAI2B,YAAY,KAAK,GAAG,EAAE;QACxB,OAAOD,OAAO;MAChB;MACA,MAAMN,QAAQ,GAAGP,UAAU,CAACa,OAAO,EAAE5B,GAAG,EAAEE,GAAG,CAAC,GAAGiB,EAAE;MACnDS,OAAO,IAAIN,QAAQ,GAAGO,YAAY;IACpC;IACA,OAAOD,OAAO;EAChB;EAEA,SAASE,YAAYA,CAACC,CAAS,EAAU;IACvC,SAAS;;IACT,OAAOA,CAAC;EACV;EAEA,IAAI,EAAE/B,GAAG,IAAI,CAAC,IAAIA,GAAG,IAAI,CAAC,IAAIE,GAAG,IAAI,CAAC,IAAIA,GAAG,IAAI,CAAC,CAAC,EAAE;IACnD,MAAM,IAAI8B,KAAK,CAAC,yCAAyC,CAAC;EAC5D;EAEA,IAAIhC,GAAG,KAAKC,GAAG,IAAIC,GAAG,KAAKC,GAAG,EAAE;IAC9B,OAAO2B,YAAY;EACrB;;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA,MAAMG,YAAY,GAAG,IAAIC,KAAK,CAAC1B,gBAAgB,CAAC;EAEhD,KAAK,IAAIgB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,gBAAgB,EAAE,EAAEgB,CAAC,EAAE;IACzCS,YAAY,CAACT,CAAC,CAAC,GAAGT,UAAU,CAACS,CAAC,GAAGf,eAAe,EAAET,GAAG,EAAEE,GAAG,CAAC;EAC7D;EAEA,SAASiC,QAAQA,CAAChB,EAAU,EAAU;IACpC,SAAS;;IACT,IAAIiB,aAAa,GAAG,GAAG;IACvB,IAAIC,aAAa,GAAG,CAAC;IACrB,MAAMC,UAAU,GAAG9B,gBAAgB,GAAG,CAAC;IAEvC,OAEE6B,aAAa,KAAKC,UAAU,IAAIL,YAAY,CAACI,aAAa,CAAC,IAAIlB,EAAE,EACjE,EAAEkB,aAAa,EACf;MACAD,aAAa,IAAI3B,eAAe;IAClC;IACA,EAAE4B,aAAa;;IAEf;IACA,MAAME,IAAI,GACR,CAACpB,EAAE,GAAGc,YAAY,CAACI,aAAa,CAAC,KAChCJ,YAAY,CAACI,aAAa,GAAG,CAAC,CAAC,GAAGJ,YAAY,CAACI,aAAa,CAAC,CAAC;IACjE,MAAMG,SAAS,GAAGJ,aAAa,GAAGG,IAAI,GAAG9B,eAAe;IAExD,MAAMgC,YAAY,GAAGxB,QAAQ,CAACuB,SAAS,EAAExC,GAAG,EAAEE,GAAG,CAAC;IAClD,IAAIuC,YAAY,IAAIpC,gBAAgB,EAAE;MACpC,OAAOsB,oBAAoB,CAACR,EAAE,EAAEqB,SAAS,EAAExC,GAAG,EAAEE,GAAG,CAAC;IACtD,CAAC,MAAM,IAAIuC,YAAY,KAAK,GAAG,EAAE;MAC/B,OAAOD,SAAS;IAClB,CAAC,MAAM;MACL,OAAOtB,eAAe,CACpBC,EAAE,EACFiB,aAAa,EACbA,aAAa,GAAG3B,eAAe,EAC/BT,GAAG,EACHE,GAAG,CACJ;IACH;EACF;EAEA,OAAO,SAASwC,YAAYA,CAACX,CAAC,EAAE;IAC9B,SAAS;;IACT,IAAI/B,GAAG,KAAKC,GAAG,IAAIC,GAAG,KAAKC,GAAG,EAAE;MAC9B,OAAO4B,CAAC,CAAC,CAAC;IACZ;IACA;IACA,IAAIA,CAAC,KAAK,CAAC,EAAE;MACX,OAAO,CAAC;IACV;IACA,IAAIA,CAAC,KAAK,CAAC,EAAE;MACX,OAAO,CAAC;IACV;IACA,OAAOhB,UAAU,CAACoB,QAAQ,CAACJ,CAAC,CAAC,EAAE9B,GAAG,EAAEE,GAAG,CAAC;EAC1C,CAAC;AACH"}