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":["NUMBER","PERCENTAGE","call","args","join","jsCachedMatchers","uiCachedMatchers","isConfigured","makeRemote","getMatchers","cachedMatchers","_WORKLET","rgb","undefined","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","p","q","t","hslToRgb","h","s","l","r","g","b","Math","round","parse255","str","int","Number","parseInt","parse360","parseFloat","parse1","num","parsePercentage","names","makeShareable","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","normalizeColor","color","matchers","match","exec","opacity","c","rgbaColor","alpha","Platform","OS","RGBtoHSV","arguments","length","max","min","d","v","HSVtoRGB","i","f","floor","hsvToColor","a","processColorInitially","normalizedColor","isColor","value","processColor","convertToRGBA","processedColor","rgbaArrayToRGBAColor","RGBA","toLinearSpace","gamma","res","push","pow","toGammaSpace"],"sources":["Colors.ts"],"sourcesContent":["/* global _WORKLET */\n/**\n * Copied from:\n * react-native/Libraries/StyleSheet/normalizeColor.js\n * react-native/Libraries/StyleSheet/processColor.js\n * https://github.com/wcandillon/react-native-redash/blob/master/src/Colors.ts\n */\n\n/* eslint no-bitwise: 0 */\nimport { Platform } from 'react-native';\nimport { makeRemote, makeShareable, isConfigured } from './core';\n\ninterface RGB {\n r: number;\n g: number;\n b: number;\n}\n\ninterface HSV {\n h: number;\n s: number;\n v: number;\n}\n\n// var INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args: unknown[]): string {\n 'worklet';\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\n// matchers use RegExp objects which needs to be created separately on JS and on\n// the UI thread. We keep separate cache of Regexes for UI and JS using the below\n// objects, then pick the right cache in getMatchers() method.\nconst jsCachedMatchers: Matchers = {};\nconst uiCachedMatchers: Matchers = !isConfigured() ? {} : makeRemote({});\ntype Matchers = {\n rgb?: RegExp;\n rgba?: RegExp;\n hsl?: RegExp;\n hsla?: RegExp;\n hex3?: RegExp;\n hex4?: RegExp;\n hex5?: RegExp;\n hex6?: RegExp;\n hex8?: RegExp;\n};\nfunction getMatchers(): Matchers {\n 'worklet';\n const cachedMatchers: Matchers = _WORKLET\n ? uiCachedMatchers\n : jsCachedMatchers;\n if (cachedMatchers.rgb === undefined) {\n cachedMatchers.rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\n cachedMatchers.rgba = new RegExp(\n 'rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)\n );\n cachedMatchers.hsl = new RegExp(\n 'hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)\n );\n cachedMatchers.hsla = new RegExp(\n 'hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)\n );\n cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex4 =\n /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;\n cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;\n }\n return cachedMatchers;\n}\n// cachedMatchers is lazy loaded and it is frozen when worklet is being created,\n// it is possible to call getMatchers() when the object is frozen, then cachedMatchers\n// has no assigned regexes\ngetMatchers();\n\nfunction hue2rgb(p: number, q: number, t: number): number {\n 'worklet';\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h: number, s: number, l: number): number {\n 'worklet';\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction parse255(str: string): number {\n 'worklet';\n const int = Number.parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str: string): number {\n 'worklet';\n const int = Number.parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str: string): number {\n 'worklet';\n const num = Number.parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str: string): number {\n 'worklet';\n // parseFloat conveniently ignores the final %\n const int = Number.parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nconst names: any = !isConfigured()\n ? null\n : makeShareable({\n transparent: 0x00000000,\n\n // http://www.w3.org/TR/css3-color/#svg-color\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n });\n\nfunction normalizeColor(color: unknown): number | null {\n 'worklet';\n\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n\n let match: RegExpExecArray | null | undefined;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers?.hex6?.exec(color))) {\n return Number.parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n if (names[color] !== undefined) {\n return names[color];\n }\n\n if ((match = matchers?.rgb?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.rgba?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hex3?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers?.hex8?.exec(color))) {\n return Number.parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers?.hex4?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16\n ) >>> 0\n );\n }\n\n if ((match = matchers?.hsl?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hsla?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nexport const opacity = (c: number): number => {\n 'worklet';\n return ((c >> 24) & 255) / 255;\n};\n\nexport const red = (c: number): number => {\n 'worklet';\n return (c >> 16) & 255;\n};\n\nexport const green = (c: number): number => {\n 'worklet';\n return (c >> 8) & 255;\n};\n\nexport const blue = (c: number): number => {\n 'worklet';\n return c & 255;\n};\n\nexport const rgbaColor = (\n r: number,\n g: number,\n b: number,\n alpha = 1\n): number | string => {\n 'worklet';\n if (Platform.OS === 'web' || !_WORKLET) {\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n }\n\n const c =\n Math.round(alpha * 255) * (1 << 24) +\n Math.round(r) * (1 << 16) +\n Math.round(g) * (1 << 8) +\n Math.round(b);\n if (Platform.OS === 'android') {\n // on Android color is represented as signed 32 bit int\n return c < (1 << 31) >>> 0 ? c : c - 4294967296; // 4294967296 == Math.pow(2, 32);\n }\n return c;\n};\n\n/* accepts parameters\n * r Object = {r:x, g:y, b:z}\n * OR\n * r, g, b\n * 0 <= r, g, b <= 255\n * returns 0 <= h, s, v <= 1\n */\nexport function RGBtoHSV(rgb: RGB): HSV;\nexport function RGBtoHSV(r: number, g: number, b: number): HSV;\nexport function RGBtoHSV(r: any, g?: any, b?: any): HSV {\n 'worklet';\n /* eslint-disable */\n if (arguments.length === 1) {\n g = r.g;\n b = r.b;\n r = r.r;\n }\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n const v = max / 255;\n\n let h;\n\n switch (max) {\n default:\n /* fallthrough */\n case min:\n h = 0;\n break;\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n }\n\n return {\n h: h,\n s: s,\n v: v,\n };\n /* eslint-enable */\n}\n\n/* accepts parameters\n * h Object = {h:x, s:y, v:z}\n * OR\n * h, s, v\n * 0 <= h, s, v <= 1\n * returns 0 <= r, g, b <= 255\n */\nfunction HSVtoRGB(hsv: HSV): RGB;\nfunction HSVtoRGB(h: number, s: number, v: number): RGB;\nfunction HSVtoRGB(h: any, s?: any, v?: any) {\n 'worklet';\n /* eslint-disable */\n var r, g, b, i, f, p, q, t;\n if (arguments.length === 1) {\n s = h.s;\n v = h.v;\n h = h.h;\n }\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n (r = v), (g = t), (b = p);\n break;\n case 1:\n (r = q), (g = v), (b = p);\n break;\n case 2:\n (r = p), (g = v), (b = t);\n break;\n case 3:\n (r = p), (g = q), (b = v);\n break;\n case 4:\n (r = t), (g = p), (b = v);\n break;\n case 5:\n (r = v), (g = p), (b = q);\n break;\n }\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n };\n /* eslint-enable */\n}\n\nexport const hsvToColor = (\n h: number,\n s: number,\n v: number,\n a: number\n): number | string => {\n 'worklet';\n const { r, g, b } = HSVtoRGB(h, s, v);\n return rgbaColor(r, g, b, a);\n};\n\nexport function processColorInitially(\n color: unknown\n): number | null | undefined {\n 'worklet';\n if (color === null || color === undefined || typeof color === 'number') {\n return color;\n }\n\n let normalizedColor = normalizeColor(color);\n\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0; // argb\n return normalizedColor;\n}\n\nexport function isColor(value: unknown): boolean {\n 'worklet';\n if (typeof value !== 'string') {\n return false;\n }\n return processColorInitially(value) != null;\n}\n\nexport function processColor(color: unknown): number | null | undefined {\n 'worklet';\n let normalizedColor = processColorInitially(color);\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n if (Platform.OS === 'android') {\n // Android use 32 bit *signed* integer to represent the color\n // We utilize the fact that bitwise operations in JS also operates on\n // signed 32 bit integers, so that we can use those to convert from\n // *unsigned* to *signed* 32bit int that way.\n normalizedColor = normalizedColor | 0x0;\n }\n\n return normalizedColor;\n}\n\nexport type ParsedColorArray = [number, number, number, number];\n\nexport function convertToRGBA(color: unknown): ParsedColorArray {\n 'worklet';\n const processedColor = processColorInitially(color)!; // argb;\n const a = (processedColor >>> 24) / 255;\n const r = ((processedColor << 8) >>> 24) / 255;\n const g = ((processedColor << 16) >>> 24) / 255;\n const b = ((processedColor << 24) >>> 24) / 255;\n return [r, g, b, a];\n}\n\nexport function rgbaArrayToRGBAColor(RGBA: ParsedColorArray): string {\n 'worklet';\n return `rgba(${Math.round(RGBA[0] * 255)}, ${Math.round(\n RGBA[1] * 255\n )}, ${Math.round(RGBA[2] * 255)}, ${RGBA[3]})`;\n}\n\nexport function toLinearSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n\nexport function toGammaSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], 1 / gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_core","NUMBER","PERCENTAGE","call","_len","arguments","length","args","Array","_key","join","jsCachedMatchers","uiCachedMatchers","isConfigured","makeRemote","getMatchers","cachedMatchers","_WORKLET","rgb","undefined","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","p","q","t","hslToRgb","h","s","l","r","g","b","Math","round","parse255","str","int","Number","parseInt","parse360","parseFloat","parse1","num","parsePercentage","names","makeShareable","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","normalizeColor","color","_matchers$hex","_matchers$rgb","_matchers$rgba","_matchers$hex2","_matchers$hex3","_matchers$hex4","_matchers$hsl","_matchers$hsla","matchers","match","exec","opacity","c","exports","rgbaColor","alpha","Platform","OS","RGBtoHSV","max","min","d","v","HSVtoRGB","i","f","floor","hsvToColor","a","processColorInitially","normalizedColor","isColor","value","processColor","convertToRGBA","processedColor","rgbaArrayToRGBAColor","RGBA","toLinearSpace","gamma","res","push","pow","toGammaSpace"],"sources":["Colors.ts"],"sourcesContent":["/* global _WORKLET */\n/**\n * Copied from:\n * react-native/Libraries/StyleSheet/normalizeColor.js\n * react-native/Libraries/StyleSheet/processColor.js\n * https://github.com/wcandillon/react-native-redash/blob/master/src/Colors.ts\n */\n\n/* eslint no-bitwise: 0 */\nimport { Platform } from 'react-native';\nimport { makeRemote, makeShareable, isConfigured } from './core';\n\ninterface RGB {\n r: number;\n g: number;\n b: number;\n}\n\ninterface HSV {\n h: number;\n s: number;\n v: number;\n}\n\n// var INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args: unknown[]): string {\n 'worklet';\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\n// matchers use RegExp objects which needs to be created separately on JS and on\n// the UI thread. We keep separate cache of Regexes for UI and JS using the below\n// objects, then pick the right cache in getMatchers() method.\nconst jsCachedMatchers: Matchers = {};\nconst uiCachedMatchers: Matchers = !isConfigured() ? {} : makeRemote({});\ntype Matchers = {\n rgb?: RegExp;\n rgba?: RegExp;\n hsl?: RegExp;\n hsla?: RegExp;\n hex3?: RegExp;\n hex4?: RegExp;\n hex5?: RegExp;\n hex6?: RegExp;\n hex8?: RegExp;\n};\nfunction getMatchers(): Matchers {\n 'worklet';\n const cachedMatchers: Matchers = _WORKLET\n ? uiCachedMatchers\n : jsCachedMatchers;\n if (cachedMatchers.rgb === undefined) {\n cachedMatchers.rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\n cachedMatchers.rgba = new RegExp(\n 'rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)\n );\n cachedMatchers.hsl = new RegExp(\n 'hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)\n );\n cachedMatchers.hsla = new RegExp(\n 'hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)\n );\n cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex4 =\n /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;\n cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;\n }\n return cachedMatchers;\n}\n// cachedMatchers is lazy loaded and it is frozen when worklet is being created,\n// it is possible to call getMatchers() when the object is frozen, then cachedMatchers\n// has no assigned regexes\ngetMatchers();\n\nfunction hue2rgb(p: number, q: number, t: number): number {\n 'worklet';\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h: number, s: number, l: number): number {\n 'worklet';\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction parse255(str: string): number {\n 'worklet';\n const int = Number.parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str: string): number {\n 'worklet';\n const int = Number.parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str: string): number {\n 'worklet';\n const num = Number.parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str: string): number {\n 'worklet';\n // parseFloat conveniently ignores the final %\n const int = Number.parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nconst names: any = !isConfigured()\n ? null\n : makeShareable({\n transparent: 0x00000000,\n\n // http://www.w3.org/TR/css3-color/#svg-color\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n });\n\nfunction normalizeColor(color: unknown): number | null {\n 'worklet';\n\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n\n let match: RegExpExecArray | null | undefined;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers?.hex6?.exec(color))) {\n return Number.parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n if (names[color] !== undefined) {\n return names[color];\n }\n\n if ((match = matchers?.rgb?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.rgba?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hex3?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers?.hex8?.exec(color))) {\n return Number.parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers?.hex4?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16\n ) >>> 0\n );\n }\n\n if ((match = matchers?.hsl?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hsla?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nexport const opacity = (c: number): number => {\n 'worklet';\n return ((c >> 24) & 255) / 255;\n};\n\nexport const red = (c: number): number => {\n 'worklet';\n return (c >> 16) & 255;\n};\n\nexport const green = (c: number): number => {\n 'worklet';\n return (c >> 8) & 255;\n};\n\nexport const blue = (c: number): number => {\n 'worklet';\n return c & 255;\n};\n\nexport const rgbaColor = (\n r: number,\n g: number,\n b: number,\n alpha = 1\n): number | string => {\n 'worklet';\n if (Platform.OS === 'web' || !_WORKLET) {\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n }\n\n const c =\n Math.round(alpha * 255) * (1 << 24) +\n Math.round(r) * (1 << 16) +\n Math.round(g) * (1 << 8) +\n Math.round(b);\n if (Platform.OS === 'android') {\n // on Android color is represented as signed 32 bit int\n return c < (1 << 31) >>> 0 ? c : c - 4294967296; // 4294967296 == Math.pow(2, 32);\n }\n return c;\n};\n\n/* accepts parameters\n * r Object = {r:x, g:y, b:z}\n * OR\n * r, g, b\n * 0 <= r, g, b <= 255\n * returns 0 <= h, s, v <= 1\n */\nexport function RGBtoHSV(rgb: RGB): HSV;\nexport function RGBtoHSV(r: number, g: number, b: number): HSV;\nexport function RGBtoHSV(r: any, g?: any, b?: any): HSV {\n 'worklet';\n /* eslint-disable */\n if (arguments.length === 1) {\n g = r.g;\n b = r.b;\n r = r.r;\n }\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n const v = max / 255;\n\n let h;\n\n switch (max) {\n default:\n /* fallthrough */\n case min:\n h = 0;\n break;\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n }\n\n return {\n h: h,\n s: s,\n v: v,\n };\n /* eslint-enable */\n}\n\n/* accepts parameters\n * h Object = {h:x, s:y, v:z}\n * OR\n * h, s, v\n * 0 <= h, s, v <= 1\n * returns 0 <= r, g, b <= 255\n */\nfunction HSVtoRGB(hsv: HSV): RGB;\nfunction HSVtoRGB(h: number, s: number, v: number): RGB;\nfunction HSVtoRGB(h: any, s?: any, v?: any) {\n 'worklet';\n /* eslint-disable */\n var r, g, b, i, f, p, q, t;\n if (arguments.length === 1) {\n s = h.s;\n v = h.v;\n h = h.h;\n }\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n (r = v), (g = t), (b = p);\n break;\n case 1:\n (r = q), (g = v), (b = p);\n break;\n case 2:\n (r = p), (g = v), (b = t);\n break;\n case 3:\n (r = p), (g = q), (b = v);\n break;\n case 4:\n (r = t), (g = p), (b = v);\n break;\n case 5:\n (r = v), (g = p), (b = q);\n break;\n }\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n };\n /* eslint-enable */\n}\n\nexport const hsvToColor = (\n h: number,\n s: number,\n v: number,\n a: number\n): number | string => {\n 'worklet';\n const { r, g, b } = HSVtoRGB(h, s, v);\n return rgbaColor(r, g, b, a);\n};\n\nexport function processColorInitially(\n color: unknown\n): number | null | undefined {\n 'worklet';\n if (color === null || color === undefined || typeof color === 'number') {\n return color;\n }\n\n let normalizedColor = normalizeColor(color);\n\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0; // argb\n return normalizedColor;\n}\n\nexport function isColor(value: unknown): boolean {\n 'worklet';\n if (typeof value !== 'string') {\n return false;\n }\n return processColorInitially(value) != null;\n}\n\nexport function processColor(color: unknown): number | null | undefined {\n 'worklet';\n let normalizedColor = processColorInitially(color);\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n if (Platform.OS === 'android') {\n // Android use 32 bit *signed* integer to represent the color\n // We utilize the fact that bitwise operations in JS also operates on\n // signed 32 bit integers, so that we can use those to convert from\n // *unsigned* to *signed* 32bit int that way.\n normalizedColor = normalizedColor | 0x0;\n }\n\n return normalizedColor;\n}\n\nexport type ParsedColorArray = [number, number, number, number];\n\nexport function convertToRGBA(color: unknown): ParsedColorArray {\n 'worklet';\n const processedColor = processColorInitially(color)!; // argb;\n const a = (processedColor >>> 24) / 255;\n const r = ((processedColor << 8) >>> 24) / 255;\n const g = ((processedColor << 16) >>> 24) / 255;\n const b = ((processedColor << 24) >>> 24) / 255;\n return [r, g, b, a];\n}\n\nexport function rgbaArrayToRGBAColor(RGBA: ParsedColorArray): string {\n 'worklet';\n return `rgba(${Math.round(RGBA[0] * 255)}, ${Math.round(\n RGBA[1] * 255\n )}, ${Math.round(RGBA[2] * 255)}, ${RGBA[3]})`;\n}\n\nexport function toLinearSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n\nexport function toGammaSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], 1 / gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n"],"mappings":"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"}
@@ -4,8 +4,52 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Easing = void 0;
7
-
8
7
  var _Bezier = require("./Bezier");
8
+ /**
9
+ * The `Easing` module implements common easing functions. This module is used
10
+ * by [Animate.timing()](docs/animate.html#timing) to convey physically
11
+ * believable motion in animations.
12
+ *
13
+ * You can find a visualization of some common easing functions at
14
+ * http://easings.net/
15
+ *
16
+ * ### Predefined animations
17
+ *
18
+ * The `Easing` module provides several predefined animations through the
19
+ * following methods:
20
+ *
21
+ * - [`back`](docs/easing.html#back) provides a simple animation where the
22
+ * object goes slightly back before moving forward
23
+ * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation
24
+ * - [`ease`](docs/easing.html#ease) provides a simple inertial animation
25
+ * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction
26
+ *
27
+ * ### Standard functions
28
+ *
29
+ * Three standard easing functions are provided:
30
+ *
31
+ * - [`linear`](docs/easing.html#linear)
32
+ * - [`quad`](docs/easing.html#quad)
33
+ * - [`cubic`](docs/easing.html#cubic)
34
+ *
35
+ * The [`poly`](docs/easing.html#poly) function can be used to implement
36
+ * quartic, quintic, and other higher power functions.
37
+ *
38
+ * ### Additional functions
39
+ *
40
+ * Additional mathematical functions are provided by the following methods:
41
+ *
42
+ * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve
43
+ * - [`circle`](docs/easing.html#circle) provides a circular function
44
+ * - [`sin`](docs/easing.html#sin) provides a sinusoidal function
45
+ * - [`exp`](docs/easing.html#exp) provides an exponential function
46
+ *
47
+ * The following helpers are used to modify other easing functions.
48
+ *
49
+ * - [`in`](docs/easing.html#in) runs an easing function forwards
50
+ * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical
51
+ * - [`out`](docs/easing.html#out) runs an easing function backwards
52
+ */
9
53
 
10
54
  /**
11
55
  * A linear function, `f(t) = t`. Position correlates to elapsed time one to
@@ -18,53 +62,49 @@ function linear(t) {
18
62
 
19
63
  return t;
20
64
  }
65
+
21
66
  /**
22
67
  * A simple inertial interaction, similar to an object slowly accelerating to
23
68
  * speed.
24
69
  *
25
70
  * http://cubic-bezier.com/#.42,0,1,1
26
71
  */
27
-
28
-
29
72
  function ease(t) {
30
73
  'worklet';
31
74
 
32
75
  return (0, _Bezier.Bezier)(0.42, 0, 1, 1)(t);
33
76
  }
77
+
34
78
  /**
35
79
  * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed
36
80
  * time.
37
81
  *
38
82
  * http://easings.net/#easeInQuad
39
83
  */
40
-
41
-
42
84
  function quad(t) {
43
85
  'worklet';
44
86
 
45
87
  return t * t;
46
88
  }
89
+
47
90
  /**
48
91
  * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed
49
92
  * time.
50
93
  *
51
94
  * http://easings.net/#easeInCubic
52
95
  */
53
-
54
-
55
96
  function cubic(t) {
56
97
  'worklet';
57
98
 
58
99
  return t * t * t;
59
100
  }
101
+
60
102
  /**
61
103
  * A power function. Position is equal to the Nth power of elapsed time.
62
104
  *
63
105
  * n = 4: http://easings.net/#easeInQuart
64
106
  * n = 5: http://easings.net/#easeInQuint
65
107
  */
66
-
67
-
68
108
  function poly(n) {
69
109
  'worklet';
70
110
 
@@ -74,42 +114,40 @@ function poly(n) {
74
114
  return Math.pow(t, n);
75
115
  };
76
116
  }
117
+
77
118
  /**
78
119
  * A sinusoidal function.
79
120
  *
80
121
  * http://easings.net/#easeInSine
81
122
  */
82
-
83
-
84
123
  function sin(t) {
85
124
  'worklet';
86
125
 
87
126
  return 1 - Math.cos(t * Math.PI / 2);
88
127
  }
128
+
89
129
  /**
90
130
  * A circular function.
91
131
  *
92
132
  * http://easings.net/#easeInCirc
93
133
  */
94
-
95
-
96
134
  function circle(t) {
97
135
  'worklet';
98
136
 
99
137
  return 1 - Math.sqrt(1 - t * t);
100
138
  }
139
+
101
140
  /**
102
141
  * An exponential function.
103
142
  *
104
143
  * http://easings.net/#easeInExpo
105
144
  */
106
-
107
-
108
145
  function exp(t) {
109
146
  'worklet';
110
147
 
111
148
  return Math.pow(2, 10 * (t - 1));
112
149
  }
150
+
113
151
  /**
114
152
  * A simple elastic interaction, similar to a spring oscillating back and
115
153
  * forth.
@@ -120,8 +158,6 @@ function exp(t) {
120
158
  *
121
159
  * http://easings.net/#easeInElastic
122
160
  */
123
-
124
-
125
161
  function elastic() {
126
162
  'worklet';
127
163
 
@@ -133,6 +169,7 @@ function elastic() {
133
169
  return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);
134
170
  };
135
171
  }
172
+
136
173
  /**
137
174
  * Use with `Animated.parallel()` to create a simple effect where the object
138
175
  * animates back slightly as the animation starts.
@@ -141,8 +178,6 @@ function elastic() {
141
178
  *
142
179
  * - http://tiny.cc/back_default (s = 1.70158, default)
143
180
  */
144
-
145
-
146
181
  function back() {
147
182
  'worklet';
148
183
 
@@ -153,33 +188,30 @@ function back() {
153
188
  return t * t * ((s + 1) * t - s);
154
189
  };
155
190
  }
191
+
156
192
  /**
157
193
  * Provides a simple bouncing effect.
158
194
  *
159
195
  * http://easings.net/#easeInBounce
160
196
  */
161
-
162
-
163
197
  function bounce(t) {
164
198
  'worklet';
165
199
 
166
200
  if (t < 1 / 2.75) {
167
201
  return 7.5625 * t * t;
168
202
  }
169
-
170
203
  if (t < 2 / 2.75) {
171
204
  const t2 = t - 1.5 / 2.75;
172
205
  return 7.5625 * t2 * t2 + 0.75;
173
206
  }
174
-
175
207
  if (t < 2.5 / 2.75) {
176
208
  const t2 = t - 2.25 / 2.75;
177
209
  return 7.5625 * t2 * t2 + 0.9375;
178
210
  }
179
-
180
211
  const t2 = t - 2.625 / 2.75;
181
212
  return 7.5625 * t2 * t2 + 0.984375;
182
213
  }
214
+
183
215
  /**
184
216
  * Provides a cubic bezier curve, equivalent to CSS Transitions'
185
217
  * `transition-timing-function`.
@@ -187,8 +219,6 @@ function bounce(t) {
187
219
  * A useful tool to visualize cubic bezier curves can be found at
188
220
  * http://cubic-bezier.com/
189
221
  */
190
-
191
-
192
222
  function bezier(x1, y1, x2, y2) {
193
223
  'worklet';
194
224
 
@@ -200,27 +230,24 @@ function bezier(x1, y1, x2, y2) {
200
230
  }
201
231
  };
202
232
  }
203
-
204
233
  function bezierFn(x1, y1, x2, y2) {
205
234
  'worklet';
206
235
 
207
236
  return (0, _Bezier.Bezier)(x1, y1, x2, y2);
208
237
  }
238
+
209
239
  /**
210
240
  * Runs an easing function forwards.
211
241
  */
212
-
213
-
214
242
  function in_(easing) {
215
243
  'worklet';
216
244
 
217
245
  return easing;
218
246
  }
247
+
219
248
  /**
220
249
  * Runs an easing function backwards.
221
250
  */
222
-
223
-
224
251
  function out(easing) {
225
252
  'worklet';
226
253
 
@@ -230,13 +257,12 @@ function out(easing) {
230
257
  return 1 - easing(1 - t);
231
258
  };
232
259
  }
260
+
233
261
  /**
234
262
  * Makes any easing function symmetrical. The easing function will run
235
263
  * forwards for half of the duration, then backwards for the rest of the
236
264
  * duration.
237
265
  */
238
-
239
-
240
266
  function inOut(easing) {
241
267
  'worklet';
242
268
 
@@ -246,11 +272,31 @@ function inOut(easing) {
246
272
  if (t < 0.5) {
247
273
  return easing(t * 2) / 2;
248
274
  }
249
-
250
275
  return 1 - easing((1 - t) * 2) / 2;
251
276
  };
252
277
  }
253
278
 
279
+ /**
280
+ * The `steps` easing function jumps between discrete values at regular intervals,
281
+ * creating a stepped animation effect. The `n` parameter determines the number of
282
+ * steps in the animation, and the `roundToNextStep` parameter determines whether the animation
283
+ * should start at the beginning or end of each step.
284
+ */
285
+ function steps() {
286
+ 'worklet';
287
+
288
+ let n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
289
+ let roundToNextStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
290
+ return t => {
291
+ 'worklet';
292
+
293
+ const value = Math.min(Math.max(t, 0), 1) * n;
294
+ if (roundToNextStep) {
295
+ return Math.ceil(value) / n;
296
+ }
297
+ return Math.floor(value) / n;
298
+ };
299
+ }
254
300
  const EasingObject = {
255
301
  linear,
256
302
  ease,
@@ -265,6 +311,7 @@ const EasingObject = {
265
311
  bounce,
266
312
  bezier,
267
313
  bezierFn,
314
+ steps,
268
315
  in: in_,
269
316
  out,
270
317
  inOut
@@ -1 +1 @@
1
- {"version":3,"names":["linear","t","ease","Bezier","quad","cubic","poly","n","Math","pow","sin","cos","PI","circle","sqrt","exp","elastic","bounciness","p","back","s","bounce","t2","bezier","x1","y1","x2","y2","factory","bezierFn","in_","easing","out","inOut","EasingObject","in","Easing"],"sources":["Easing.ts"],"sourcesContent":["import { Bezier } from './Bezier';\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\n\nexport type EasingFn = (t: number) => number;\n\nexport type EasingFactoryFn = { factory: () => EasingFn };\n/**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\nfunction linear(t: number): number {\n 'worklet';\n return t;\n}\n\n/**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\nfunction ease(t: number): number {\n 'worklet';\n return Bezier(0.42, 0, 1, 1)(t);\n}\n\n/**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\nfunction quad(t: number): number {\n 'worklet';\n return t * t;\n}\n\n/**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\nfunction cubic(t: number): number {\n 'worklet';\n return t * t * t;\n}\n\n/**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\nfunction poly(n: number): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return Math.pow(t, n);\n };\n}\n\n/**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\nfunction sin(t: number): number {\n 'worklet';\n return 1 - Math.cos((t * Math.PI) / 2);\n}\n\n/**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\nfunction circle(t: number): number {\n 'worklet';\n return 1 - Math.sqrt(1 - t * t);\n}\n\n/**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\nfunction exp(t: number): number {\n 'worklet';\n return Math.pow(2, 10 * (t - 1));\n}\n\n/**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\nfunction elastic(bounciness = 1): EasingFn {\n 'worklet';\n const p = bounciness * Math.PI;\n return (t) => {\n 'worklet';\n return 1 - Math.pow(Math.cos((t * Math.PI) / 2), 3) * Math.cos(t * p);\n };\n}\n\n/**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\nfunction back(s = 1.70158): (t: number) => number {\n 'worklet';\n return (t) => {\n 'worklet';\n return t * t * ((s + 1) * t - s);\n };\n}\n\n/**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\nfunction bounce(t: number): number {\n 'worklet';\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n const t2 = t - 1.5 / 2.75;\n return 7.5625 * t2 * t2 + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n const t2 = t - 2.25 / 2.75;\n return 7.5625 * t2 * t2 + 0.9375;\n }\n\n const t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n}\n\n/**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\nfunction bezier(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): { factory: () => (x: number) => number } {\n 'worklet';\n return {\n factory: () => {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n },\n };\n}\n\nfunction bezierFn(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): (x: number) => number {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n}\n\n/**\n * Runs an easing function forwards.\n */\nfunction in_(easing: EasingFn): EasingFn {\n 'worklet';\n return easing;\n}\n\n/**\n * Runs an easing function backwards.\n */\nfunction out(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return 1 - easing(1 - t);\n };\n}\n\n/**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\nfunction inOut(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n}\n\nconst EasingObject = {\n linear,\n ease,\n quad,\n cubic,\n poly,\n sin,\n circle,\n exp,\n elastic,\n back,\n bounce,\n bezier,\n bezierFn,\n in: in_,\n out,\n inOut,\n};\n\nexport const Easing = EasingObject;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_Bezier","require","linear","t","ease","Bezier","quad","cubic","poly","n","Math","pow","sin","cos","PI","circle","sqrt","exp","elastic","bounciness","arguments","length","undefined","p","back","s","bounce","t2","bezier","x1","y1","x2","y2","factory","bezierFn","in_","easing","out","inOut","steps","roundToNextStep","value","min","max","ceil","floor","EasingObject","in","Easing","exports"],"sources":["Easing.ts"],"sourcesContent":["import { Bezier } from './Bezier';\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\n\nexport type EasingFn = (t: number) => number;\n\nexport type EasingFactoryFn = { factory: () => EasingFn };\n/**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\nfunction linear(t: number): number {\n 'worklet';\n return t;\n}\n\n/**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\nfunction ease(t: number): number {\n 'worklet';\n return Bezier(0.42, 0, 1, 1)(t);\n}\n\n/**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\nfunction quad(t: number): number {\n 'worklet';\n return t * t;\n}\n\n/**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\nfunction cubic(t: number): number {\n 'worklet';\n return t * t * t;\n}\n\n/**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\nfunction poly(n: number): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return Math.pow(t, n);\n };\n}\n\n/**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\nfunction sin(t: number): number {\n 'worklet';\n return 1 - Math.cos((t * Math.PI) / 2);\n}\n\n/**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\nfunction circle(t: number): number {\n 'worklet';\n return 1 - Math.sqrt(1 - t * t);\n}\n\n/**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\nfunction exp(t: number): number {\n 'worklet';\n return Math.pow(2, 10 * (t - 1));\n}\n\n/**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\nfunction elastic(bounciness = 1): EasingFn {\n 'worklet';\n const p = bounciness * Math.PI;\n return (t) => {\n 'worklet';\n return 1 - Math.pow(Math.cos((t * Math.PI) / 2), 3) * Math.cos(t * p);\n };\n}\n\n/**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\nfunction back(s = 1.70158): (t: number) => number {\n 'worklet';\n return (t) => {\n 'worklet';\n return t * t * ((s + 1) * t - s);\n };\n}\n\n/**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\nfunction bounce(t: number): number {\n 'worklet';\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n const t2 = t - 1.5 / 2.75;\n return 7.5625 * t2 * t2 + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n const t2 = t - 2.25 / 2.75;\n return 7.5625 * t2 * t2 + 0.9375;\n }\n\n const t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n}\n\n/**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\nfunction bezier(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): { factory: () => (x: number) => number } {\n 'worklet';\n return {\n factory: () => {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n },\n };\n}\n\nfunction bezierFn(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): (x: number) => number {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n}\n\n/**\n * Runs an easing function forwards.\n */\nfunction in_(easing: EasingFn): EasingFn {\n 'worklet';\n return easing;\n}\n\n/**\n * Runs an easing function backwards.\n */\nfunction out(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return 1 - easing(1 - t);\n };\n}\n\n/**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\nfunction inOut(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n}\n\n/**\n * The `steps` easing function jumps between discrete values at regular intervals,\n * creating a stepped animation effect. The `n` parameter determines the number of\n * steps in the animation, and the `roundToNextStep` parameter determines whether the animation\n * should start at the beginning or end of each step.\n */\nfunction steps(n = 10, roundToNextStep = true): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n const value = Math.min(Math.max(t, 0), 1) * n;\n if (roundToNextStep) {\n return Math.ceil(value) / n;\n }\n return Math.floor(value) / n;\n };\n}\n\nconst EasingObject = {\n linear,\n ease,\n quad,\n cubic,\n poly,\n sin,\n circle,\n exp,\n elastic,\n back,\n bounce,\n bezier,\n bezierFn,\n steps,\n in: in_,\n out,\n inOut,\n};\n\nexport const Easing = EasingObject;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,CAAS,EAAU;EACjC,SAAS;;EACT,OAAOA,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,IAAIA,CAACD,CAAS,EAAU;EAC/B,SAAS;;EACT,OAAO,IAAAE,cAAM,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACF,CAAC,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,IAAIA,CAACH,CAAS,EAAU;EAC/B,SAAS;;EACT,OAAOA,CAAC,GAAGA,CAAC;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,KAAKA,CAACJ,CAAS,EAAU;EAChC,SAAS;;EACT,OAAOA,CAAC,GAAGA,CAAC,GAAGA,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,IAAIA,CAACC,CAAS,EAAY;EACjC,SAAS;;EACT,OAAQN,CAAC,IAAK;IACZ,SAAS;;IACT,OAAOO,IAAI,CAACC,GAAG,CAACR,CAAC,EAAEM,CAAC,CAAC;EACvB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASG,GAAGA,CAACT,CAAS,EAAU;EAC9B,SAAS;;EACT,OAAO,CAAC,GAAGO,IAAI,CAACG,GAAG,CAAEV,CAAC,GAAGO,IAAI,CAACI,EAAE,GAAI,CAAC,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACZ,CAAS,EAAU;EACjC,SAAS;;EACT,OAAO,CAAC,GAAGO,IAAI,CAACM,IAAI,CAAC,CAAC,GAAGb,CAAC,GAAGA,CAAC,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASc,GAAGA,CAACd,CAAS,EAAU;EAC9B,SAAS;;EACT,OAAOO,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAIR,CAAC,GAAG,CAAC,CAAC,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASe,OAAOA,CAAA,EAA2B;EACzC,SAAS;;EAAC,IADKC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAE7B,MAAMG,CAAC,GAAGJ,UAAU,GAAGT,IAAI,CAACI,EAAE;EAC9B,OAAQX,CAAC,IAAK;IACZ,SAAS;;IACT,OAAO,CAAC,GAAGO,IAAI,CAACC,GAAG,CAACD,IAAI,CAACG,GAAG,CAAEV,CAAC,GAAGO,IAAI,CAACI,EAAE,GAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGJ,IAAI,CAACG,GAAG,CAACV,CAAC,GAAGoB,CAAC,CAAC;EACvE,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,IAAIA,CAAA,EAAqC;EAChD,SAAS;;EAAC,IADEC,CAAC,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAEvB,OAAQjB,CAAC,IAAK;IACZ,SAAS;;IACT,OAAOA,CAAC,GAAGA,CAAC,IAAI,CAACsB,CAAC,GAAG,CAAC,IAAItB,CAAC,GAAGsB,CAAC,CAAC;EAClC,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACvB,CAAS,EAAU;EACjC,SAAS;;EACT,IAAIA,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE;IAChB,OAAO,MAAM,GAAGA,CAAC,GAAGA,CAAC;EACvB;EAEA,IAAIA,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE;IAChB,MAAMwB,EAAE,GAAGxB,CAAC,GAAG,GAAG,GAAG,IAAI;IACzB,OAAO,MAAM,GAAGwB,EAAE,GAAGA,EAAE,GAAG,IAAI;EAChC;EAEA,IAAIxB,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE;IAClB,MAAMwB,EAAE,GAAGxB,CAAC,GAAG,IAAI,GAAG,IAAI;IAC1B,OAAO,MAAM,GAAGwB,EAAE,GAAGA,EAAE,GAAG,MAAM;EAClC;EAEA,MAAMA,EAAE,GAAGxB,CAAC,GAAG,KAAK,GAAG,IAAI;EAC3B,OAAO,MAAM,GAAGwB,EAAE,GAAGA,EAAE,GAAG,QAAQ;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CACbC,EAAU,EACVC,EAAU,EACVC,EAAU,EACVC,EAAU,EACgC;EAC1C,SAAS;;EACT,OAAO;IACLC,OAAO,EAAEA,CAAA,KAAM;MACb,SAAS;;MACT,OAAO,IAAA5B,cAAM,EAACwB,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;IAC/B;EACF,CAAC;AACH;AAEA,SAASE,QAAQA,CACfL,EAAU,EACVC,EAAU,EACVC,EAAU,EACVC,EAAU,EACa;EACvB,SAAS;;EACT,OAAO,IAAA3B,cAAM,EAACwB,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;AAC/B;;AAEA;AACA;AACA;AACA,SAASG,GAAGA,CAACC,MAAgB,EAAY;EACvC,SAAS;;EACT,OAAOA,MAAM;AACf;;AAEA;AACA;AACA;AACA,SAASC,GAAGA,CAACD,MAAgB,EAAY;EACvC,SAAS;;EACT,OAAQjC,CAAC,IAAK;IACZ,SAAS;;IACT,OAAO,CAAC,GAAGiC,MAAM,CAAC,CAAC,GAAGjC,CAAC,CAAC;EAC1B,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASmC,KAAKA,CAACF,MAAgB,EAAY;EACzC,SAAS;;EACT,OAAQjC,CAAC,IAAK;IACZ,SAAS;;IACT,IAAIA,CAAC,GAAG,GAAG,EAAE;MACX,OAAOiC,MAAM,CAACjC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC1B;IACA,OAAO,CAAC,GAAGiC,MAAM,CAAC,CAAC,CAAC,GAAGjC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;EACpC,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASoC,KAAKA,CAAA,EAA2C;EACvD,SAAS;;EAAC,IADG9B,CAAC,GAAAW,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEoB,eAAe,GAAApB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAE3C,OAAQjB,CAAC,IAAK;IACZ,SAAS;;IACT,MAAMsC,KAAK,GAAG/B,IAAI,CAACgC,GAAG,CAAChC,IAAI,CAACiC,GAAG,CAACxC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGM,CAAC;IAC7C,IAAI+B,eAAe,EAAE;MACnB,OAAO9B,IAAI,CAACkC,IAAI,CAACH,KAAK,CAAC,GAAGhC,CAAC;IAC7B;IACA,OAAOC,IAAI,CAACmC,KAAK,CAACJ,KAAK,CAAC,GAAGhC,CAAC;EAC9B,CAAC;AACH;AAEA,MAAMqC,YAAY,GAAG;EACnB5C,MAAM;EACNE,IAAI;EACJE,IAAI;EACJC,KAAK;EACLC,IAAI;EACJI,GAAG;EACHG,MAAM;EACNE,GAAG;EACHC,OAAO;EACPM,IAAI;EACJE,MAAM;EACNE,MAAM;EACNM,QAAQ;EACRK,KAAK;EACLQ,EAAE,EAAEZ,GAAG;EACPE,GAAG;EACHC;AACF,CAAC;AAEM,MAAMU,MAAM,GAAGF,YAAY;AAACG,OAAA,CAAAD,MAAA,GAAAA,MAAA"}
@@ -7,24 +7,19 @@ exports.dispatchCommand = dispatchCommand;
7
7
  exports.getTag = getTag;
8
8
  exports.scrollTo = exports.measure = void 0;
9
9
  exports.setGestureState = setGestureState;
10
-
11
10
  var _reactNative = require("react-native");
12
-
13
11
  var _PlatformChecker = require("./PlatformChecker");
14
-
15
12
  /* global _WORKLET _measure _scrollTo _dispatchCommand _setGestureState */
13
+
16
14
  function getTag(view) {
17
15
  return (0, _reactNative.findNodeHandle)(view);
18
16
  }
19
-
20
17
  const isNative = !(0, _PlatformChecker.shouldBeUseWeb)();
21
18
  let measure;
22
19
  exports.measure = measure;
23
-
24
20
  if ((0, _PlatformChecker.isWeb)()) {
25
21
  exports.measure = measure = animatedRef => {
26
22
  const element = animatedRef(); // TODO: fix typing of animated refs on web
27
-
28
23
  const viewportOffset = element.getBoundingClientRect();
29
24
  return {
30
25
  width: element.offsetWidth,
@@ -48,16 +43,12 @@ if ((0, _PlatformChecker.isWeb)()) {
48
43
  console.warn('[Reanimated] measure() was called from the main JS context. Measure is ' + 'only available in the UI runtime. This may also happen if measure() ' + 'was called by a worklet in the useAnimatedStyle hook, because useAnimatedStyle ' + 'calls the given worklet on the JS runtime during render. If you want to ' + 'prevent this warning then wrap the call with `if (_WORKLET)`. Then it will ' + 'only be called on the UI runtime after the render has been completed.');
49
44
  return null;
50
45
  }
51
-
52
46
  const viewTag = animatedRef();
53
-
54
47
  if (viewTag === -1) {
55
48
  console.warn(`[Reanimated] The view with tag ${viewTag} is not a valid argument for measure(). This may be because the view is not currently rendered, which may not be a bug (e.g. an off-screen FlatList item).`);
56
49
  return null;
57
50
  }
58
-
59
51
  const measured = _measure(viewTag);
60
-
61
52
  if (measured === null) {
62
53
  console.warn(`[Reanimated] The view with tag ${viewTag} has some undefined, not-yet-computed or meaningless value of \`LayoutMetrics\` type. This may be because the view is not currently rendered, which may not be a bug (e.g. an off-screen FlatList item).`);
63
54
  return null;
@@ -72,7 +63,6 @@ if ((0, _PlatformChecker.isWeb)()) {
72
63
  }
73
64
  };
74
65
  }
75
-
76
66
  function dispatchCommand(animatedRef, commandName, args) {
77
67
  'worklet';
78
68
 
@@ -80,20 +70,19 @@ function dispatchCommand(animatedRef, commandName, args) {
80
70
  return;
81
71
  }
82
72
 
73
+ // dispatchCommand works only on Fabric where animatedRef returns
74
+ // an object (ShadowNodeWrapper) and not a number
83
75
  const shadowNodeWrapper = animatedRef();
84
-
85
76
  _dispatchCommand(shadowNodeWrapper, commandName, args);
86
77
  }
87
-
88
78
  let scrollTo;
89
79
  exports.scrollTo = scrollTo;
90
-
91
80
  if ((0, _PlatformChecker.isWeb)()) {
92
81
  exports.scrollTo = scrollTo = (animatedRef, x, y, animated) => {
93
82
  'worklet';
94
83
 
95
- const element = animatedRef(); // @ts-ignore same call as in react-native-web
96
-
84
+ const element = animatedRef();
85
+ // @ts-ignore same call as in react-native-web
97
86
  element.scrollTo({
98
87
  x,
99
88
  y,
@@ -114,15 +103,15 @@ if ((0, _PlatformChecker.isWeb)()) {
114
103
  return;
115
104
  }
116
105
 
106
+ // Calling animatedRef on Paper returns a number (nativeTag)
117
107
  const viewTag = animatedRef();
118
-
119
108
  _scrollTo(viewTag, x, y, animated);
120
109
  };
121
110
  } else {
122
- exports.scrollTo = scrollTo = (_animatedRef, _x, _y) => {// no-op
111
+ exports.scrollTo = scrollTo = (_animatedRef, _x, _y) => {
112
+ // no-op
123
113
  };
124
114
  }
125
-
126
115
  function setGestureState(handlerTag, newState) {
127
116
  'worklet';
128
117
 
@@ -130,7 +119,6 @@ function setGestureState(handlerTag, newState) {
130
119
  console.warn('[Reanimated] You can not use setGestureState in non-worklet function.');
131
120
  return;
132
121
  }
133
-
134
122
  _setGestureState(handlerTag, newState);
135
123
  }
136
124
  //# sourceMappingURL=NativeMethods.js.map