@tamagui/react-native-web-lite 2.7.7 → 3.0.0-beta.643.1

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 (504) hide show
  1. package/dist/cjs/AccessibilityInfo/index.cjs +82 -87
  2. package/dist/cjs/ActivityIndicator/index.cjs +83 -103
  3. package/dist/cjs/Alert/index.cjs +17 -20
  4. package/dist/cjs/AppRegistry/AppContainer.cjs +37 -52
  5. package/dist/cjs/AppRegistry/index.cjs +69 -81
  6. package/dist/cjs/AppRegistry/renderApplication.cjs +42 -54
  7. package/dist/cjs/AppState/index.cjs +60 -67
  8. package/dist/cjs/Appearance/index.cjs +40 -49
  9. package/dist/cjs/BackHandler/index.cjs +20 -25
  10. package/dist/cjs/Clipboard/index.cjs +50 -53
  11. package/dist/cjs/DeviceEmitter.cjs +15 -18
  12. package/dist/cjs/DeviceInfo/index.cjs +50 -63
  13. package/dist/cjs/Dimensions/index.cjs +86 -89
  14. package/dist/cjs/FlatList.cjs +177 -211
  15. package/dist/cjs/I18nManager/index.cjs +24 -29
  16. package/dist/cjs/Image/index.cjs +277 -308
  17. package/dist/cjs/Image/types.cjs +10 -11
  18. package/dist/cjs/ImageBackground/index.cjs +35 -48
  19. package/dist/cjs/InteractionManager/TaskQueue.cjs +95 -100
  20. package/dist/cjs/InteractionManager/index.cjs +105 -115
  21. package/dist/cjs/Keyboard/index.cjs +23 -28
  22. package/dist/cjs/KeyboardAvoidingView/index.cjs +41 -54
  23. package/dist/cjs/Libraries/Pressability/Pressability.cjs +15 -18
  24. package/dist/cjs/Libraries/Pressability/usePressability.cjs +15 -18
  25. package/dist/cjs/Linking/index.cjs +86 -89
  26. package/dist/cjs/LogBox/index.cjs +20 -21
  27. package/dist/cjs/Modal/ModalAnimation.cjs +131 -151
  28. package/dist/cjs/Modal/ModalContent.cjs +57 -77
  29. package/dist/cjs/Modal/ModalPortal.cjs +38 -46
  30. package/dist/cjs/Modal/index.cjs +15 -18
  31. package/dist/cjs/NativeModules/index.cjs +15 -20
  32. package/dist/cjs/PanResponder/index.cjs +18 -26
  33. package/dist/cjs/PixelRatio/index.cjs +45 -48
  34. package/dist/cjs/Pressable/index.cjs +130 -142
  35. package/dist/cjs/RefreshControl/index.cjs +18 -35
  36. package/dist/cjs/SafeAreaView/index.cjs +35 -46
  37. package/dist/cjs/ScrollView/WebScrollView.cjs +270 -0
  38. package/dist/cjs/ScrollView/index.cjs +15 -662
  39. package/dist/cjs/SectionList.cjs +19 -25
  40. package/dist/cjs/Share/index.cjs +44 -47
  41. package/dist/cjs/StatusBar/index.cjs +17 -18
  42. package/dist/cjs/Text/index.cjs +133 -171
  43. package/dist/cjs/Text/types.cjs +10 -11
  44. package/dist/cjs/TextInput/index.cjs +281 -359
  45. package/dist/cjs/TextInput/types.cjs +10 -11
  46. package/dist/cjs/TouchableNativeFeedback.cjs +15 -18
  47. package/dist/cjs/TouchableOpacity.cjs +91 -99
  48. package/dist/cjs/TouchableWithoutFeedback.cjs +65 -74
  49. package/dist/cjs/UnimplementedView.cjs +26 -36
  50. package/dist/cjs/Vibration/index.cjs +25 -28
  51. package/dist/cjs/View/index.cjs +89 -121
  52. package/dist/cjs/View/types.cjs +10 -11
  53. package/dist/cjs/VirtualizedList.cjs +19 -25
  54. package/dist/cjs/codegenNativeCommands.cjs +32 -0
  55. package/dist/cjs/codegenNativeComponent.cjs +19 -18
  56. package/dist/cjs/createElement/index.cjs +52 -70
  57. package/dist/cjs/createReactDOMStyle.cjs +16 -17
  58. package/dist/cjs/index.cjs +106 -106
  59. package/dist/cjs/modules/requestIdleCallback.cjs +28 -29
  60. package/dist/cjs/preprocess.cjs +19 -20
  61. package/dist/cjs/render/index.cjs +18 -19
  62. package/dist/cjs/styleTypes.cjs +10 -11
  63. package/dist/cjs/types.cjs +10 -11
  64. package/dist/cjs/useColorScheme/index.cjs +27 -37
  65. package/dist/cjs/useLocaleContext/index.cjs +15 -18
  66. package/dist/cjs/useWindowDimensions/index.cjs +32 -42
  67. package/dist/cjs/vendor/react-native/Animated/Animated.cjs +23 -24
  68. package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.cjs +136 -141
  69. package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.cjs +500 -533
  70. package/dist/cjs/vendor/react-native/Animated/AnimatedMock.cjs +100 -109
  71. package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.cjs +2 -1
  72. package/dist/cjs/vendor/react-native/Animated/Easing.cjs +182 -183
  73. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.cjs +302 -328
  74. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.cjs +48 -56
  75. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.cjs +46 -53
  76. package/dist/cjs/vendor/react-native/Animated/SpringConfig.cjs +63 -64
  77. package/dist/cjs/vendor/react-native/Animated/animations/Animation.cjs +52 -56
  78. package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.cjs +74 -79
  79. package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.cjs +210 -215
  80. package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.cjs +107 -116
  81. package/dist/cjs/vendor/react-native/Animated/bezier.cjs +83 -88
  82. package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.cjs +23 -29
  83. package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.cjs +19 -25
  84. package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.cjs +23 -29
  85. package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.cjs +23 -29
  86. package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.cjs +16 -17
  87. package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.cjs +16 -17
  88. package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.cjs +32 -44
  89. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.cjs +51 -52
  90. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.cjs +244 -247
  91. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.cjs +59 -60
  92. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.cjs +65 -66
  93. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.cjs +185 -188
  94. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.cjs +49 -50
  95. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.cjs +51 -52
  96. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.cjs +152 -156
  97. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.cjs +133 -134
  98. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.cjs +113 -116
  99. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.cjs +51 -52
  100. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.cjs +73 -75
  101. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.cjs +109 -110
  102. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.cjs +212 -216
  103. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.cjs +96 -103
  104. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.cjs +70 -71
  105. package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.cjs +75 -76
  106. package/dist/cjs/vendor/react-native/Batchinator/index.cjs +46 -57
  107. package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.cjs +54 -57
  108. package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.cjs +16 -17
  109. package/dist/cjs/vendor/react-native/FeatureFlags.cjs +21 -24
  110. package/dist/cjs/vendor/react-native/FillRateHelper/index.cjs +165 -173
  111. package/dist/cjs/vendor/react-native/FlatList/index.cjs +259 -294
  112. package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.cjs +66 -69
  113. package/dist/cjs/vendor/react-native/LayoutAnimation/index.cjs +87 -91
  114. package/dist/cjs/vendor/react-native/PanResponder/index.cjs +170 -176
  115. package/dist/cjs/vendor/react-native/PooledClass/index.cjs +42 -43
  116. package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.cjs +21 -22
  117. package/dist/cjs/vendor/react-native/SectionList/index.cjs +95 -110
  118. package/dist/cjs/vendor/react-native/StaticContainer/index.cjs +28 -34
  119. package/dist/cjs/vendor/react-native/StaticRenderer/index.cjs +27 -33
  120. package/dist/cjs/vendor/react-native/TouchHistoryMath/index.cjs +82 -111
  121. package/dist/cjs/vendor/react-native/TurboModule/RCTExport.cjs +17 -22
  122. package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.cjs +20 -21
  123. package/dist/cjs/vendor/react-native/Types/CoreEventTypes.cjs +124 -127
  124. package/dist/cjs/vendor/react-native/Utilities/Platform.cjs +16 -17
  125. package/dist/cjs/vendor/react-native/Utilities/clamp.cjs +23 -24
  126. package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.cjs +26 -30
  127. package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.cjs +27 -30
  128. package/dist/cjs/vendor/react-native/Utilities/useRefEffect.cjs +26 -27
  129. package/dist/cjs/vendor/react-native/ViewabilityHelper/index.cjs +154 -163
  130. package/dist/cjs/vendor/react-native/ViewabilityHelper.cjs +147 -156
  131. package/dist/cjs/vendor/react-native/VirtualizeUtils/index.cjs +124 -125
  132. package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.cjs +100 -99
  133. package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.cjs +63 -64
  134. package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.cjs +66 -75
  135. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.cjs +104 -160
  136. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.cjs +56 -64
  137. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.cjs +51 -52
  138. package/dist/cjs/vendor/react-native/VirtualizedList/index.cjs +222 -284
  139. package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.cjs +124 -144
  140. package/dist/cjs/vendor/react-native/deepDiffer/index.cjs +58 -59
  141. package/dist/cjs/vendor/react-native/emitter/EventEmitter.cjs +16 -17
  142. package/dist/cjs/vendor/react-native/emitter/EventSubscription.cjs +2 -1
  143. package/dist/cjs/vendor/react-native/emitter/_EmitterSubscription.cjs +43 -44
  144. package/dist/cjs/vendor/react-native/emitter/_EventEmitter.cjs +115 -120
  145. package/dist/cjs/vendor/react-native/emitter/_EventSubscription.cjs +31 -32
  146. package/dist/cjs/vendor/react-native/emitter/_EventSubscriptionVendor.cjs +80 -81
  147. package/dist/cjs/vendor/react-native/infoLog/index.cjs +17 -18
  148. package/dist/cjs/vendor/react-native/useRefEffect.cjs +26 -27
  149. package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.cjs +88 -89
  150. package/dist/cjs/without-animated.cjs +255 -267
  151. package/dist/esm/AccessibilityInfo/index.mjs +69 -69
  152. package/dist/esm/AccessibilityInfo/index.mjs.map +1 -1
  153. package/dist/esm/ActivityIndicator/index.mjs +66 -78
  154. package/dist/esm/ActivityIndicator/index.mjs.map +1 -1
  155. package/dist/esm/Alert/index.mjs +4 -3
  156. package/dist/esm/Alert/index.mjs.map +1 -1
  157. package/dist/esm/AppRegistry/AppContainer.mjs +21 -28
  158. package/dist/esm/AppRegistry/AppContainer.mjs.map +1 -1
  159. package/dist/esm/AppRegistry/index.mjs +58 -65
  160. package/dist/esm/AppRegistry/index.mjs.map +1 -1
  161. package/dist/esm/AppRegistry/renderApplication.mjs +30 -40
  162. package/dist/esm/AppRegistry/renderApplication.mjs.map +1 -1
  163. package/dist/esm/AppState/index.mjs +48 -50
  164. package/dist/esm/AppState/index.mjs.map +1 -1
  165. package/dist/esm/Appearance/index.mjs +27 -31
  166. package/dist/esm/Appearance/index.mjs.map +1 -1
  167. package/dist/esm/BackHandler/index.mjs +6 -7
  168. package/dist/esm/BackHandler/index.mjs.map +1 -1
  169. package/dist/esm/Clipboard/index.mjs +37 -36
  170. package/dist/esm/Clipboard/index.mjs.map +1 -1
  171. package/dist/esm/DeviceEmitter.mjs +2 -0
  172. package/dist/esm/DeviceEmitter.mjs.map +1 -1
  173. package/dist/esm/DeviceInfo/index.mjs +37 -45
  174. package/dist/esm/DeviceInfo/index.mjs.map +1 -1
  175. package/dist/esm/Dimensions/index.mjs +72 -72
  176. package/dist/esm/Dimensions/index.mjs.map +1 -1
  177. package/dist/esm/FlatList.mjs +162 -188
  178. package/dist/esm/FlatList.mjs.map +1 -1
  179. package/dist/esm/I18nManager/index.mjs +10 -11
  180. package/dist/esm/I18nManager/index.mjs.map +1 -1
  181. package/dist/esm/Image/index.mjs +261 -285
  182. package/dist/esm/Image/index.mjs.map +1 -1
  183. package/dist/esm/Image/types.mjs +0 -2
  184. package/dist/esm/ImageBackground/index.mjs +21 -31
  185. package/dist/esm/ImageBackground/index.mjs.map +1 -1
  186. package/dist/esm/InteractionManager/TaskQueue.mjs +83 -83
  187. package/dist/esm/InteractionManager/TaskQueue.mjs.map +1 -1
  188. package/dist/esm/InteractionManager/index.mjs +89 -89
  189. package/dist/esm/InteractionManager/index.mjs.map +1 -1
  190. package/dist/esm/Keyboard/index.mjs +10 -10
  191. package/dist/esm/Keyboard/index.mjs.map +1 -1
  192. package/dist/esm/KeyboardAvoidingView/index.mjs +24 -29
  193. package/dist/esm/KeyboardAvoidingView/index.mjs.map +1 -1
  194. package/dist/esm/Libraries/Pressability/Pressability.mjs +1 -0
  195. package/dist/esm/Libraries/Pressability/Pressability.mjs.map +1 -1
  196. package/dist/esm/Libraries/Pressability/usePressability.mjs +2 -1
  197. package/dist/esm/Libraries/Pressability/usePressability.mjs.map +1 -1
  198. package/dist/esm/Linking/index.mjs +73 -71
  199. package/dist/esm/Linking/index.mjs.map +1 -1
  200. package/dist/esm/LogBox/index.mjs +5 -4
  201. package/dist/esm/LogBox/index.mjs.map +1 -1
  202. package/dist/esm/Modal/ModalAnimation.mjs +116 -126
  203. package/dist/esm/Modal/ModalAnimation.mjs.map +1 -1
  204. package/dist/esm/Modal/ModalContent.mjs +41 -51
  205. package/dist/esm/Modal/ModalContent.mjs.map +1 -1
  206. package/dist/esm/Modal/ModalPortal.mjs +22 -20
  207. package/dist/esm/Modal/ModalPortal.mjs.map +1 -1
  208. package/dist/esm/Modal/index.mjs +1 -0
  209. package/dist/esm/Modal/index.mjs.map +1 -1
  210. package/dist/esm/NativeModules/index.mjs +3 -3
  211. package/dist/esm/NativeModules/index.mjs.map +1 -1
  212. package/dist/esm/PanResponder/index.mjs +3 -3
  213. package/dist/esm/PixelRatio/index.mjs +33 -31
  214. package/dist/esm/PixelRatio/index.mjs.map +1 -1
  215. package/dist/esm/Pressable/index.mjs +114 -119
  216. package/dist/esm/Pressable/index.mjs.map +1 -1
  217. package/dist/esm/RefreshControl/index.mjs +4 -18
  218. package/dist/esm/RefreshControl/index.mjs.map +1 -1
  219. package/dist/esm/SafeAreaView/index.mjs +18 -21
  220. package/dist/esm/SafeAreaView/index.mjs.map +1 -1
  221. package/dist/esm/ScrollView/WebScrollView.mjs +244 -0
  222. package/dist/esm/ScrollView/WebScrollView.mjs.map +1 -0
  223. package/dist/esm/ScrollView/index.mjs +3 -635
  224. package/dist/esm/SectionList.mjs +3 -4
  225. package/dist/esm/Share/index.mjs +32 -30
  226. package/dist/esm/Share/index.mjs.map +1 -1
  227. package/dist/esm/StatusBar/index.mjs +2 -1
  228. package/dist/esm/StatusBar/index.mjs.map +1 -1
  229. package/dist/esm/Text/index.mjs +116 -146
  230. package/dist/esm/Text/index.mjs.map +1 -1
  231. package/dist/esm/Text/types.mjs +0 -2
  232. package/dist/esm/TextInput/index.mjs +265 -336
  233. package/dist/esm/TextInput/index.mjs.map +1 -1
  234. package/dist/esm/TextInput/types.mjs +0 -2
  235. package/dist/esm/TouchableNativeFeedback.mjs +2 -2
  236. package/dist/esm/TouchableOpacity.mjs +75 -73
  237. package/dist/esm/TouchableOpacity.mjs.map +1 -1
  238. package/dist/esm/TouchableWithoutFeedback.mjs +49 -48
  239. package/dist/esm/TouchableWithoutFeedback.mjs.map +1 -1
  240. package/dist/esm/UnimplementedView.mjs +11 -11
  241. package/dist/esm/UnimplementedView.mjs.map +1 -1
  242. package/dist/esm/Vibration/index.mjs +11 -10
  243. package/dist/esm/Vibration/index.mjs.map +1 -1
  244. package/dist/esm/View/index.mjs +73 -97
  245. package/dist/esm/View/index.mjs.map +1 -1
  246. package/dist/esm/View/types.mjs +0 -2
  247. package/dist/esm/VirtualizedList.mjs +3 -4
  248. package/dist/esm/codegenNativeCommands.mjs +8 -0
  249. package/dist/esm/codegenNativeCommands.mjs.map +1 -0
  250. package/dist/esm/codegenNativeComponent.mjs +5 -3
  251. package/dist/esm/codegenNativeComponent.mjs.map +1 -1
  252. package/dist/esm/createElement/index.mjs +35 -45
  253. package/dist/esm/createElement/index.mjs.map +1 -1
  254. package/dist/esm/createReactDOMStyle.mjs +2 -0
  255. package/dist/esm/createReactDOMStyle.mjs.map +1 -1
  256. package/dist/esm/index.js +15 -10
  257. package/dist/esm/index.js.map +1 -1
  258. package/dist/esm/index.mjs +15 -10
  259. package/dist/esm/index.mjs.map +1 -1
  260. package/dist/esm/modules/requestIdleCallback.mjs +13 -12
  261. package/dist/esm/modules/requestIdleCallback.mjs.map +1 -1
  262. package/dist/esm/preprocess.mjs +3 -3
  263. package/dist/esm/render/index.mjs +1 -0
  264. package/dist/esm/render/index.mjs.map +1 -1
  265. package/dist/esm/styleTypes.mjs +0 -2
  266. package/dist/esm/types.mjs +0 -2
  267. package/dist/esm/useColorScheme/index.mjs +11 -11
  268. package/dist/esm/useColorScheme/index.mjs.map +1 -1
  269. package/dist/esm/useLocaleContext/index.mjs +2 -2
  270. package/dist/esm/useWindowDimensions/index.mjs +16 -16
  271. package/dist/esm/useWindowDimensions/index.mjs.map +1 -1
  272. package/dist/esm/vendor/react-native/Animated/Animated.mjs +12 -10
  273. package/dist/esm/vendor/react-native/Animated/Animated.mjs.map +1 -1
  274. package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs +124 -127
  275. package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs.map +1 -1
  276. package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs +485 -515
  277. package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs.map +1 -1
  278. package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs +85 -91
  279. package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs.map +1 -1
  280. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs +0 -2
  281. package/dist/esm/vendor/react-native/Animated/Easing.mjs +169 -167
  282. package/dist/esm/vendor/react-native/Animated/Easing.mjs.map +1 -1
  283. package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs +273 -296
  284. package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs.map +1 -1
  285. package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs +26 -26
  286. package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs.map +1 -1
  287. package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs +24 -23
  288. package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs.map +1 -1
  289. package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs +48 -47
  290. package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs.map +1 -1
  291. package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs +38 -39
  292. package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs.map +1 -1
  293. package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs +60 -62
  294. package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs.map +1 -1
  295. package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs +196 -198
  296. package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs.map +1 -1
  297. package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs +93 -99
  298. package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs.map +1 -1
  299. package/dist/esm/vendor/react-native/Animated/bezier.mjs +68 -71
  300. package/dist/esm/vendor/react-native/Animated/bezier.mjs.map +1 -1
  301. package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs +7 -5
  302. package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs.map +1 -1
  303. package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs +3 -1
  304. package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs.map +1 -1
  305. package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs +7 -5
  306. package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs.map +1 -1
  307. package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs +7 -5
  308. package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs.map +1 -1
  309. package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs +2 -0
  310. package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs.map +1 -1
  311. package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs +2 -0
  312. package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs.map +1 -1
  313. package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs +15 -19
  314. package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs.map +1 -1
  315. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs +37 -35
  316. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs.map +1 -1
  317. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs +230 -230
  318. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs.map +1 -1
  319. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs +45 -43
  320. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs.map +1 -1
  321. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs +51 -49
  322. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs.map +1 -1
  323. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs +172 -172
  324. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs.map +1 -1
  325. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs +35 -33
  326. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs.map +1 -1
  327. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs +37 -35
  328. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs.map +1 -1
  329. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs +138 -139
  330. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs.map +1 -1
  331. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs +119 -117
  332. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs.map +1 -1
  333. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs +99 -99
  334. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs.map +1 -1
  335. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs +37 -35
  336. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs.map +1 -1
  337. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs +60 -59
  338. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs.map +1 -1
  339. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs +95 -93
  340. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs.map +1 -1
  341. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs +198 -199
  342. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs.map +1 -1
  343. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs +82 -86
  344. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs.map +1 -1
  345. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs +56 -54
  346. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs.map +1 -1
  347. package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs +61 -59
  348. package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs.map +1 -1
  349. package/dist/esm/vendor/react-native/Batchinator/index.mjs +32 -40
  350. package/dist/esm/vendor/react-native/Batchinator/index.mjs.map +1 -1
  351. package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs +40 -40
  352. package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs.map +1 -1
  353. package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs +2 -0
  354. package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs.map +1 -1
  355. package/dist/esm/vendor/react-native/FeatureFlags.mjs +7 -6
  356. package/dist/esm/vendor/react-native/FeatureFlags.mjs.map +1 -1
  357. package/dist/esm/vendor/react-native/FillRateHelper/index.mjs +150 -156
  358. package/dist/esm/vendor/react-native/FillRateHelper/index.mjs.map +1 -1
  359. package/dist/esm/vendor/react-native/FlatList/index.mjs +244 -271
  360. package/dist/esm/vendor/react-native/FlatList/index.mjs.map +1 -1
  361. package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs +52 -52
  362. package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs.map +1 -1
  363. package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs +73 -74
  364. package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs.map +1 -1
  365. package/dist/esm/vendor/react-native/PanResponder/index.mjs +153 -151
  366. package/dist/esm/vendor/react-native/PanResponder/index.mjs.map +1 -1
  367. package/dist/esm/vendor/react-native/PooledClass/index.mjs +27 -26
  368. package/dist/esm/vendor/react-native/PooledClass/index.mjs.map +1 -1
  369. package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs +6 -5
  370. package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs.map +1 -1
  371. package/dist/esm/vendor/react-native/SectionList/index.mjs +78 -85
  372. package/dist/esm/vendor/react-native/SectionList/index.mjs.map +1 -1
  373. package/dist/esm/vendor/react-native/StaticContainer/index.mjs +11 -9
  374. package/dist/esm/vendor/react-native/StaticContainer/index.mjs.map +1 -1
  375. package/dist/esm/vendor/react-native/StaticRenderer/index.mjs +10 -8
  376. package/dist/esm/vendor/react-native/StaticRenderer/index.mjs.map +1 -1
  377. package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs +67 -94
  378. package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs.map +1 -1
  379. package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs +3 -6
  380. package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs.map +1 -1
  381. package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs +6 -4
  382. package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs.map +1 -1
  383. package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs +105 -106
  384. package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs.map +1 -1
  385. package/dist/esm/vendor/react-native/Utilities/Platform.mjs +2 -0
  386. package/dist/esm/vendor/react-native/Utilities/Platform.mjs.map +1 -1
  387. package/dist/esm/vendor/react-native/Utilities/clamp.mjs +8 -7
  388. package/dist/esm/vendor/react-native/Utilities/clamp.mjs.map +1 -1
  389. package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs +11 -13
  390. package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs.map +1 -1
  391. package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs +13 -13
  392. package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs.map +1 -1
  393. package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs +12 -10
  394. package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs.map +1 -1
  395. package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs +140 -146
  396. package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs.map +1 -1
  397. package/dist/esm/vendor/react-native/ViewabilityHelper.mjs +133 -139
  398. package/dist/esm/vendor/react-native/ViewabilityHelper.mjs.map +1 -1
  399. package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs +107 -106
  400. package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs.map +1 -1
  401. package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs +88 -82
  402. package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs.map +1 -1
  403. package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs +49 -47
  404. package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs.map +1 -1
  405. package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs +49 -50
  406. package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs.map +1 -1
  407. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs +87 -135
  408. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs.map +1 -1
  409. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs +38 -38
  410. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs.map +1 -1
  411. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs +36 -35
  412. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs.map +1 -1
  413. package/dist/esm/vendor/react-native/VirtualizedList/index.mjs +207 -266
  414. package/dist/esm/vendor/react-native/VirtualizedList/index.mjs.map +1 -1
  415. package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs +107 -119
  416. package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs.map +1 -1
  417. package/dist/esm/vendor/react-native/deepDiffer/index.mjs +43 -42
  418. package/dist/esm/vendor/react-native/deepDiffer/index.mjs.map +1 -1
  419. package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs +2 -0
  420. package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs.map +1 -1
  421. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs +0 -2
  422. package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs +29 -27
  423. package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs.map +1 -1
  424. package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs +101 -103
  425. package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs.map +1 -1
  426. package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs +16 -15
  427. package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs.map +1 -1
  428. package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs +66 -64
  429. package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs.map +1 -1
  430. package/dist/esm/vendor/react-native/infoLog/index.mjs +2 -1
  431. package/dist/esm/vendor/react-native/infoLog/index.mjs.map +1 -1
  432. package/dist/esm/vendor/react-native/useRefEffect.mjs +12 -10
  433. package/dist/esm/vendor/react-native/useRefEffect.mjs.map +1 -1
  434. package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs +71 -70
  435. package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs.map +1 -1
  436. package/dist/esm/without-animated.mjs +172 -187
  437. package/dist/esm/without-animated.mjs.map +1 -1
  438. package/package.json +12 -12
  439. package/src/ScrollView/WebScrollView.tsx +383 -0
  440. package/src/ScrollView/index.tsx +6 -892
  441. package/src/codegenNativeCommands.ts +6 -0
  442. package/src/codegenNativeComponent.ts +2 -2
  443. package/src/index.tsx +3 -0
  444. package/src/without-animated.tsx +1 -0
  445. package/dist/cjs/ActivityIndicator/__tests__/index-test.cjs +0 -209
  446. package/dist/cjs/AppRegistry/__tests__/index-test.cjs +0 -97
  447. package/dist/cjs/AppRegistry/__tests__/index-test.node.cjs +0 -162
  448. package/dist/cjs/AppState/__tests__/index-test.cjs +0 -38
  449. package/dist/cjs/Dimensions/__tests__/index-test.cjs +0 -67
  450. package/dist/cjs/ImageBackground/__tests__/index-test.cjs +0 -72
  451. package/dist/cjs/Linking/__tests__/index-test.cjs +0 -56
  452. package/dist/cjs/ScrollView/ScrollViewBase.cjs +0 -167
  453. package/dist/cjs/codegenNativeCommand.cjs +0 -31
  454. package/dist/cjs/createElement/__tests__/index-test.cjs +0 -828
  455. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs +0 -186
  456. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs.map +0 -1
  457. package/dist/esm/AppRegistry/__tests__/index-test.mjs +0 -74
  458. package/dist/esm/AppRegistry/__tests__/index-test.mjs.map +0 -1
  459. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs +0 -139
  460. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs.map +0 -1
  461. package/dist/esm/AppState/__tests__/index-test.mjs +0 -15
  462. package/dist/esm/AppState/__tests__/index-test.mjs.map +0 -1
  463. package/dist/esm/Dimensions/__tests__/index-test.mjs +0 -44
  464. package/dist/esm/Dimensions/__tests__/index-test.mjs.map +0 -1
  465. package/dist/esm/Image/types.mjs.map +0 -1
  466. package/dist/esm/ImageBackground/__tests__/index-test.mjs +0 -49
  467. package/dist/esm/ImageBackground/__tests__/index-test.mjs.map +0 -1
  468. package/dist/esm/Linking/__tests__/index-test.mjs +0 -33
  469. package/dist/esm/Linking/__tests__/index-test.mjs.map +0 -1
  470. package/dist/esm/PanResponder/index.mjs.map +0 -1
  471. package/dist/esm/ScrollView/ScrollViewBase.mjs +0 -130
  472. package/dist/esm/ScrollView/ScrollViewBase.mjs.map +0 -1
  473. package/dist/esm/ScrollView/index.mjs.map +0 -1
  474. package/dist/esm/SectionList.mjs.map +0 -1
  475. package/dist/esm/Text/types.mjs.map +0 -1
  476. package/dist/esm/TextInput/types.mjs.map +0 -1
  477. package/dist/esm/TouchableNativeFeedback.mjs.map +0 -1
  478. package/dist/esm/View/types.mjs.map +0 -1
  479. package/dist/esm/VirtualizedList.mjs.map +0 -1
  480. package/dist/esm/codegenNativeCommand.mjs +0 -6
  481. package/dist/esm/codegenNativeCommand.mjs.map +0 -1
  482. package/dist/esm/createElement/__tests__/index-test.mjs +0 -805
  483. package/dist/esm/createElement/__tests__/index-test.mjs.map +0 -1
  484. package/dist/esm/preprocess.mjs.map +0 -1
  485. package/dist/esm/styleTypes.mjs.map +0 -1
  486. package/dist/esm/types.mjs.map +0 -1
  487. package/dist/esm/useLocaleContext/index.mjs.map +0 -1
  488. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs.map +0 -1
  489. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs.map +0 -1
  490. package/src/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap +0 -466
  491. package/src/ActivityIndicator/__tests__/index-test.tsx +0 -147
  492. package/src/AppRegistry/__tests__/index-test.node.tsx +0 -144
  493. package/src/AppRegistry/__tests__/index-test.tsx +0 -94
  494. package/src/AppState/__tests__/index-test.tsx +0 -24
  495. package/src/Dimensions/__tests__/index-test.tsx +0 -54
  496. package/src/ImageBackground/__tests__/index-test.tsx +0 -49
  497. package/src/Linking/__tests__/index-test.tsx +0 -37
  498. package/src/Pressable/__tests__/__snapshots__/index-test.js.snap +0 -196
  499. package/src/ScrollView/ScrollViewBase.tsx +0 -183
  500. package/src/ScrollView/__tests__/__snapshots__/index-test.js.snap +0 -49
  501. package/src/Text/__tests__/__snapshots__/index-test.js.snap +0 -218
  502. package/src/codegenNativeCommand.ts +0 -6
  503. package/src/createElement/__tests__/__snapshots__/index-test.js.snap +0 -13
  504. package/src/createElement/__tests__/index-test.tsx +0 -647
@@ -1,67 +1,65 @@
1
1
  import { Animation } from "./Animation.mjs";
2
2
  import { shouldUseNativeDriver } from "../NativeAnimatedHelper.mjs";
3
- class DecayAnimation extends Animation {
4
- _startTime;
5
- _lastValue;
6
- _fromValue;
7
- _deceleration;
8
- _velocity;
9
- _onUpdate;
10
- _animationFrame;
11
- _useNativeDriver;
12
- constructor(config) {
13
- super();
14
- this._deceleration = config.deceleration ?? 0.998;
15
- this._velocity = config.velocity;
16
- this._useNativeDriver = shouldUseNativeDriver(config);
17
- this.__isInteraction = config.isInteraction ?? !this._useNativeDriver;
18
- this.__iterations = config.iterations ?? 1;
19
- }
20
- __getNativeAnimationConfig() {
21
- return {
22
- type: "decay",
23
- deceleration: this._deceleration,
24
- velocity: this._velocity,
25
- iterations: this.__iterations
26
- };
27
- }
28
- start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
29
- this.__active = true;
30
- this._lastValue = fromValue;
31
- this._fromValue = fromValue;
32
- this._onUpdate = onUpdate;
33
- this.__onEnd = onEnd;
34
- this._startTime = Date.now();
35
- if (this._useNativeDriver) {
36
- this.__startNativeAnimation(animatedValue);
37
- } else {
38
- this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
39
- }
40
- }
41
- onUpdate() {
42
- const now = Date.now();
43
- const value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));
44
- this._onUpdate(value);
45
- if (Math.abs(this._lastValue - value) < 0.1) {
46
- this.__debouncedOnEnd({
47
- finished: true
48
- });
49
- return;
50
- }
51
- this._lastValue = value;
52
- if (this.__active) {
53
- this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
54
- }
55
- }
56
- stop() {
57
- super.stop();
58
- this.__active = false;
59
- global.cancelAnimationFrame(this._animationFrame);
60
- this.__debouncedOnEnd({
61
- finished: false
62
- });
63
- }
64
- }
3
+
4
+ var DecayAnimation = class extends Animation {
5
+ _startTime;
6
+ _lastValue;
7
+ _fromValue;
8
+ _deceleration;
9
+ _velocity;
10
+ _onUpdate;
11
+ _animationFrame;
12
+ _useNativeDriver;
13
+ constructor(config) {
14
+ super();
15
+ this._deceleration = config.deceleration ?? .998;
16
+ this._velocity = config.velocity;
17
+ this._useNativeDriver = shouldUseNativeDriver(config);
18
+ this.__isInteraction = config.isInteraction ?? !this._useNativeDriver;
19
+ this.__iterations = config.iterations ?? 1;
20
+ }
21
+ __getNativeAnimationConfig() {
22
+ return {
23
+ type: "decay",
24
+ deceleration: this._deceleration,
25
+ velocity: this._velocity,
26
+ iterations: this.__iterations
27
+ };
28
+ }
29
+ start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
30
+ this.__active = true;
31
+ this._lastValue = fromValue;
32
+ this._fromValue = fromValue;
33
+ this._onUpdate = onUpdate;
34
+ this.__onEnd = onEnd;
35
+ this._startTime = Date.now();
36
+ if (this._useNativeDriver) {
37
+ this.__startNativeAnimation(animatedValue);
38
+ } else {
39
+ this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
40
+ }
41
+ }
42
+ onUpdate() {
43
+ const now = Date.now();
44
+ const value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));
45
+ this._onUpdate(value);
46
+ if (Math.abs(this._lastValue - value) < .1) {
47
+ this.__debouncedOnEnd({ finished: true });
48
+ return;
49
+ }
50
+ this._lastValue = value;
51
+ if (this.__active) {
52
+ this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
53
+ }
54
+ }
55
+ stop() {
56
+ super.stop();
57
+ this.__active = false;
58
+ global.cancelAnimationFrame(this._animationFrame);
59
+ this.__debouncedOnEnd({ finished: false });
60
+ }
61
+ };
65
62
  var DecayAnimation_default = DecayAnimation;
63
+
66
64
  export { DecayAnimation, DecayAnimation_default as default };
67
65
  //# sourceMappingURL=DecayAnimation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["Animation","shouldUseNativeDriver","DecayAnimation","_startTime","_lastValue","_fromValue","_deceleration","_velocity","_onUpdate","_animationFrame","_useNativeDriver","constructor","config","deceleration","velocity","__isInteraction","isInteraction","__iterations","iterations","__getNativeAnimationConfig","type","start","fromValue","onUpdate","onEnd","previousAnimation","animatedValue","__active","__onEnd","Date","now","__startNativeAnimation","requestAnimationFrame","bind","value","Math","exp","abs","__debouncedOnEnd","finished","stop","global","cancelAnimationFrame","DecayAnimation_default"],"sources":["../../../../../../src/vendor/react-native/Animated/animations/DecayAnimation.js"],"sourcesContent":[null],"mappings":"AAWA,SAASA,SAAA,QAAiB;AAE1B,SAASC,qBAAA,QAA6B;AAEtC,MAAMC,cAAA,SAAuBF,SAAA,CAAU;EACrCG,UAAA;EACAC,UAAA;EACAC,UAAA;EACAC,aAAA;EACAC,SAAA;EACAC,SAAA;EACAC,eAAA;EACAC,gBAAA;EAEAC,YAAYC,MAAA,EAAQ;IAClB,MAAM;IACN,KAAKN,aAAA,GAAgBM,MAAA,CAAOC,YAAA,IAAgB;IAC5C,KAAKN,SAAA,GAAYK,MAAA,CAAOE,QAAA;IACxB,KAAKJ,gBAAA,GAAmBT,qBAAA,CAAsBW,MAAM;IACpD,KAAKG,eAAA,GAAkBH,MAAA,CAAOI,aAAA,IAAiB,CAAC,KAAKN,gBAAA;IACrD,KAAKO,YAAA,GAAeL,MAAA,CAAOM,UAAA,IAAc;EAC3C;EAEAC,2BAAA,EAA6B;IAC3B,OAAO;MACLC,IAAA,EAAM;MACNP,YAAA,EAAc,KAAKP,aAAA;MACnBQ,QAAA,EAAU,KAAKP,SAAA;MACfW,UAAA,EAAY,KAAKD;IACnB;EACF;EAEAI,MAAMC,SAAA,EAAWC,QAAA,EAAUC,KAAA,EAAOC,iBAAA,EAAmBC,aAAA,EAAe;IAClE,KAAKC,QAAA,GAAW;IAChB,KAAKvB,UAAA,GAAakB,SAAA;IAClB,KAAKjB,UAAA,GAAaiB,SAAA;IAClB,KAAKd,SAAA,GAAYe,QAAA;IACjB,KAAKK,OAAA,GAAUJ,KAAA;IACf,KAAKrB,UAAA,GAAa0B,IAAA,CAAKC,GAAA,CAAI;IAC3B,IAAI,KAAKpB,gBAAA,EAAkB;MACzB,KAAKqB,sBAAA,CAAuBL,aAAa;IAC3C,OAAO;MACL,KAAKjB,eAAA,GAAkBuB,qBAAA,CAAsB,KAAKT,QAAA,CAASU,IAAA,CAAK,IAAI,CAAC;IACvE;EACF;EAEAV,SAAA,EAAW;IACT,MAAMO,GAAA,GAAMD,IAAA,CAAKC,GAAA,CAAI;IAErB,MAAMI,KAAA,GACJ,KAAK7B,UAAA,GACJ,KAAKE,SAAA,IAAa,IAAI,KAAKD,aAAA,KACzB,IAAI6B,IAAA,CAAKC,GAAA,CAAI,EAAE,IAAI,KAAK9B,aAAA,KAAkBwB,GAAA,GAAM,KAAK3B,UAAA,CAAW;IAErE,KAAKK,SAAA,CAAU0B,KAAK;IAEpB,IAAIC,IAAA,CAAKE,GAAA,CAAI,KAAKjC,UAAA,GAAa8B,KAAK,IAAI,KAAK;MAC3C,KAAKI,gBAAA,CAAiB;QAAEC,QAAA,EAAU;MAAK,CAAC;MACxC;IACF;IAEA,KAAKnC,UAAA,GAAa8B,KAAA;IAClB,IAAI,KAAKP,QAAA,EAAU;MACjB,KAAKlB,eAAA,GAAkBuB,qBAAA,CAAsB,KAAKT,QAAA,CAASU,IAAA,CAAK,IAAI,CAAC;IACvE;EACF;EAEAO,KAAA,EAAO;IACL,MAAMA,IAAA,CAAK;IACX,KAAKb,QAAA,GAAW;IAChBc,MAAA,CAAOC,oBAAA,CAAqB,KAAKjC,eAAe;IAChD,KAAK6B,gBAAA,CAAiB;MAAEC,QAAA,EAAU;IAAM,CAAC;EAC3C;AACF;AAGA,IAAOI,sBAAA,GAAQzC,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"DecayAnimation.js","names":[],"sources":["esm/vendor/react-native/Animated/animations/DecayAnimation.js"],"sourcesContent":["import { Animation } from \"./Animation\";\nimport { shouldUseNativeDriver } from \"../NativeAnimatedHelper\";\nclass DecayAnimation extends Animation {\n _startTime;\n _lastValue;\n _fromValue;\n _deceleration;\n _velocity;\n _onUpdate;\n _animationFrame;\n _useNativeDriver;\n constructor(config) {\n super();\n this._deceleration = config.deceleration ?? 0.998;\n this._velocity = config.velocity;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = config.isInteraction ?? !this._useNativeDriver;\n this.__iterations = config.iterations ?? 1;\n }\n __getNativeAnimationConfig() {\n return {\n type: \"decay\",\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n onUpdate() {\n const now = Date.now();\n const value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n this._onUpdate(value);\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({ finished: true });\n return;\n }\n this._lastValue = value;\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({ finished: false });\n }\n}\nvar DecayAnimation_default = DecayAnimation;\nexport {\n DecayAnimation,\n DecayAnimation_default as default\n};\n//# sourceMappingURL=DecayAnimation.js.map\n"],"mappings":";;;;AAEA,IAAM,iBAAN,cAA6B,UAAU;CACrC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,YAAY,QAAQ;EAClB,MAAM;EACN,KAAK,gBAAgB,OAAO,gBAAgB;EAC5C,KAAK,YAAY,OAAO;EACxB,KAAK,mBAAmB,sBAAsB,MAAM;EACpD,KAAK,kBAAkB,OAAO,iBAAiB,CAAC,KAAK;EACrD,KAAK,eAAe,OAAO,cAAc;CAC3C;CACA,6BAA6B;EAC3B,OAAO;GACL,MAAM;GACN,cAAc,KAAK;GACnB,UAAU,KAAK;GACf,YAAY,KAAK;EACnB;CACF;CACA,MAAM,WAAW,UAAU,OAAO,mBAAmB,eAAe;EAClE,KAAK,WAAW;EAChB,KAAK,aAAa;EAClB,KAAK,aAAa;EAClB,KAAK,YAAY;EACjB,KAAK,UAAU;EACf,KAAK,aAAa,KAAK,IAAI;EAC3B,IAAI,KAAK,kBAAkB;GACzB,KAAK,uBAAuB,aAAa;EAC3C,OAAO;GACL,KAAK,kBAAkB,sBAAsB,KAAK,SAAS,KAAK,IAAI,CAAC;EACvE;CACF;CACA,WAAW;EACT,MAAM,MAAM,KAAK,IAAI;EACrB,MAAM,QAAQ,KAAK,aAAa,KAAK,aAAa,IAAI,KAAK,kBAAkB,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,kBAAkB,MAAM,KAAK,WAAW;EAC7I,KAAK,UAAU,KAAK;EACpB,IAAI,KAAK,IAAI,KAAK,aAAa,KAAK,IAAI,IAAK;GAC3C,KAAK,iBAAiB,EAAE,UAAU,KAAK,CAAC;GACxC;EACF;EACA,KAAK,aAAa;EAClB,IAAI,KAAK,UAAU;GACjB,KAAK,kBAAkB,sBAAsB,KAAK,SAAS,KAAK,IAAI,CAAC;EACvE;CACF;CACA,OAAO;EACL,MAAM,KAAK;EACX,KAAK,WAAW;EAChB,OAAO,qBAAqB,KAAK,eAAe;EAChD,KAAK,iBAAiB,EAAE,UAAU,MAAM,CAAC;CAC3C;AACF;AACA,IAAI,yBAAyB"}
@@ -2,204 +2,202 @@ import { Animation } from "./Animation.mjs";
2
2
  import { SpringConfig } from "../SpringConfig.mjs";
3
3
  import { invariant } from "@tamagui/react-native-web-internals";
4
4
  import { shouldUseNativeDriver } from "../NativeAnimatedHelper.mjs";
5
- class SpringAnimation extends Animation {
6
- _overshootClamping;
7
- _restDisplacementThreshold;
8
- _restSpeedThreshold;
9
- _lastVelocity;
10
- _startPosition;
11
- _lastPosition;
12
- _fromValue;
13
- _toValue;
14
- _stiffness;
15
- _damping;
16
- _mass;
17
- _initialVelocity;
18
- _delay;
19
- _timeout;
20
- _startTime;
21
- _lastTime;
22
- _frameTime;
23
- _onUpdate;
24
- _animationFrame;
25
- _useNativeDriver;
26
- _platformConfig;
27
- constructor(config) {
28
- super();
29
- this._overshootClamping = config.overshootClamping ?? false;
30
- this._restDisplacementThreshold = config.restDisplacementThreshold ?? 1e-3;
31
- this._restSpeedThreshold = config.restSpeedThreshold ?? 1e-3;
32
- this._initialVelocity = config.velocity ?? 0;
33
- this._lastVelocity = config.velocity ?? 0;
34
- this._toValue = config.toValue;
35
- this._delay = config.delay ?? 0;
36
- this._useNativeDriver = shouldUseNativeDriver(config);
37
- this._platformConfig = config.platformConfig;
38
- this.__isInteraction = config.isInteraction ?? !this._useNativeDriver;
39
- this.__iterations = config.iterations ?? 1;
40
- if (config.stiffness !== void 0 || config.damping !== void 0 || config.mass !== void 0) {
41
- invariant(config.bounciness === void 0 && config.speed === void 0 && config.tension === void 0 && config.friction === void 0, "You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one");
42
- this._stiffness = config.stiffness ?? 100;
43
- this._damping = config.damping ?? 10;
44
- this._mass = config.mass ?? 1;
45
- } else if (config.bounciness !== void 0 || config.speed !== void 0) {
46
- invariant(config.tension === void 0 && config.friction === void 0 && config.stiffness === void 0 && config.damping === void 0 && config.mass === void 0, "You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one");
47
- const springConfig = SpringConfig.fromBouncinessAndSpeed(config.bounciness ?? 8, config.speed ?? 12);
48
- this._stiffness = springConfig.stiffness;
49
- this._damping = springConfig.damping;
50
- this._mass = 1;
51
- } else {
52
- const springConfig = SpringConfig.fromOrigamiTensionAndFriction(config.tension ?? 40, config.friction ?? 7);
53
- this._stiffness = springConfig.stiffness;
54
- this._damping = springConfig.damping;
55
- this._mass = 1;
56
- }
57
- invariant(this._stiffness > 0, "Stiffness value must be greater than 0");
58
- invariant(this._damping > 0, "Damping value must be greater than 0");
59
- invariant(this._mass > 0, "Mass value must be greater than 0");
60
- }
61
- __getNativeAnimationConfig() {
62
- return {
63
- type: "spring",
64
- overshootClamping: this._overshootClamping,
65
- restDisplacementThreshold: this._restDisplacementThreshold,
66
- restSpeedThreshold: this._restSpeedThreshold,
67
- stiffness: this._stiffness,
68
- damping: this._damping,
69
- mass: this._mass,
70
- initialVelocity: this._initialVelocity ?? this._lastVelocity,
71
- toValue: this._toValue,
72
- iterations: this.__iterations,
73
- platformConfig: this._platformConfig
74
- };
75
- }
76
- start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
77
- this.__active = true;
78
- this._startPosition = fromValue;
79
- this._lastPosition = this._startPosition;
80
- this._onUpdate = onUpdate;
81
- this.__onEnd = onEnd;
82
- this._lastTime = Date.now();
83
- this._frameTime = 0;
84
- if (previousAnimation instanceof SpringAnimation) {
85
- const internalState = previousAnimation.getInternalState();
86
- this._lastPosition = internalState.lastPosition;
87
- this._lastVelocity = internalState.lastVelocity;
88
- this._initialVelocity = this._lastVelocity;
89
- this._lastTime = internalState.lastTime;
90
- }
91
- const start = () => {
92
- if (this._useNativeDriver) {
93
- this.__startNativeAnimation(animatedValue);
94
- } else {
95
- this.onUpdate();
96
- }
97
- };
98
- if (this._delay) {
99
- this._timeout = setTimeout(start, this._delay);
100
- } else {
101
- start();
102
- }
103
- }
104
- getInternalState() {
105
- return {
106
- lastPosition: this._lastPosition,
107
- lastVelocity: this._lastVelocity,
108
- lastTime: this._lastTime
109
- };
110
- }
111
- /**
112
- * This spring model is based off of a damped harmonic oscillator
113
- * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).
114
- *
115
- * We use the closed form of the second order differential equation:
116
- *
117
- * x'' + (2ζ⍵_0)x' + ⍵^2x = 0
118
- *
119
- * where
120
- * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),
121
- * ζ = c / 2√mk (damping ratio),
122
- * c = damping constant
123
- * k = stiffness
124
- * m = mass
125
- *
126
- * The derivation of the closed form is described in detail here:
127
- * http://planetmath.org/sites/default/files/texpdf/39745.pdf
128
- *
129
- * This algorithm happens to match the algorithm used by CASpringAnimation,
130
- * a QuartzCore (iOS) API that creates spring animations.
131
- */
132
- onUpdate() {
133
- const MAX_STEPS = 64;
134
- let now = Date.now();
135
- if (now > this._lastTime + MAX_STEPS) {
136
- now = this._lastTime + MAX_STEPS;
137
- }
138
- const deltaTime = (now - this._lastTime) / 1e3;
139
- this._frameTime += deltaTime;
140
- const c = this._damping;
141
- const m = this._mass;
142
- const k = this._stiffness;
143
- const v0 = -this._initialVelocity;
144
- const zeta = c / (2 * Math.sqrt(k * m));
145
- const omega0 = Math.sqrt(k / m);
146
- const omega1 = omega0 * Math.sqrt(1 - zeta * zeta);
147
- const x0 = this._toValue - this._startPosition;
148
- let position = 0;
149
- let velocity = 0;
150
- const t = this._frameTime;
151
- if (zeta < 1) {
152
- const envelope = Math.exp(-zeta * omega0 * t);
153
- position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));
154
- velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));
155
- } else {
156
- const envelope = Math.exp(-omega0 * t);
157
- position = this._toValue - envelope * (x0 + (v0 + omega0 * x0) * t);
158
- velocity = envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));
159
- }
160
- this._lastTime = now;
161
- this._lastPosition = position;
162
- this._lastVelocity = velocity;
163
- this._onUpdate(position);
164
- if (!this.__active) {
165
- return;
166
- }
167
- let isOvershooting = false;
168
- if (this._overshootClamping && this._stiffness !== 0) {
169
- if (this._startPosition < this._toValue) {
170
- isOvershooting = position > this._toValue;
171
- } else {
172
- isOvershooting = position < this._toValue;
173
- }
174
- }
175
- const isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;
176
- let isDisplacement = true;
177
- if (this._stiffness !== 0) {
178
- isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;
179
- }
180
- if (isOvershooting || isVelocity && isDisplacement) {
181
- if (this._stiffness !== 0) {
182
- this._lastPosition = this._toValue;
183
- this._lastVelocity = 0;
184
- this._onUpdate(this._toValue);
185
- }
186
- this.__debouncedOnEnd({
187
- finished: true
188
- });
189
- return;
190
- }
191
- this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
192
- }
193
- stop() {
194
- super.stop();
195
- this.__active = false;
196
- clearTimeout(this._timeout);
197
- global.cancelAnimationFrame(this._animationFrame);
198
- this.__debouncedOnEnd({
199
- finished: false
200
- });
201
- }
202
- }
5
+
6
+ var SpringAnimation = class SpringAnimation extends Animation {
7
+ _overshootClamping;
8
+ _restDisplacementThreshold;
9
+ _restSpeedThreshold;
10
+ _lastVelocity;
11
+ _startPosition;
12
+ _lastPosition;
13
+ _fromValue;
14
+ _toValue;
15
+ _stiffness;
16
+ _damping;
17
+ _mass;
18
+ _initialVelocity;
19
+ _delay;
20
+ _timeout;
21
+ _startTime;
22
+ _lastTime;
23
+ _frameTime;
24
+ _onUpdate;
25
+ _animationFrame;
26
+ _useNativeDriver;
27
+ _platformConfig;
28
+ constructor(config) {
29
+ super();
30
+ this._overshootClamping = config.overshootClamping ?? false;
31
+ this._restDisplacementThreshold = config.restDisplacementThreshold ?? .001;
32
+ this._restSpeedThreshold = config.restSpeedThreshold ?? .001;
33
+ this._initialVelocity = config.velocity ?? 0;
34
+ this._lastVelocity = config.velocity ?? 0;
35
+ this._toValue = config.toValue;
36
+ this._delay = config.delay ?? 0;
37
+ this._useNativeDriver = shouldUseNativeDriver(config);
38
+ this._platformConfig = config.platformConfig;
39
+ this.__isInteraction = config.isInteraction ?? !this._useNativeDriver;
40
+ this.__iterations = config.iterations ?? 1;
41
+ if (config.stiffness !== void 0 || config.damping !== void 0 || config.mass !== void 0) {
42
+ invariant(config.bounciness === void 0 && config.speed === void 0 && config.tension === void 0 && config.friction === void 0, "You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one");
43
+ this._stiffness = config.stiffness ?? 100;
44
+ this._damping = config.damping ?? 10;
45
+ this._mass = config.mass ?? 1;
46
+ } else if (config.bounciness !== void 0 || config.speed !== void 0) {
47
+ invariant(config.tension === void 0 && config.friction === void 0 && config.stiffness === void 0 && config.damping === void 0 && config.mass === void 0, "You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one");
48
+ const springConfig = SpringConfig.fromBouncinessAndSpeed(config.bounciness ?? 8, config.speed ?? 12);
49
+ this._stiffness = springConfig.stiffness;
50
+ this._damping = springConfig.damping;
51
+ this._mass = 1;
52
+ } else {
53
+ const springConfig = SpringConfig.fromOrigamiTensionAndFriction(config.tension ?? 40, config.friction ?? 7);
54
+ this._stiffness = springConfig.stiffness;
55
+ this._damping = springConfig.damping;
56
+ this._mass = 1;
57
+ }
58
+ invariant(this._stiffness > 0, "Stiffness value must be greater than 0");
59
+ invariant(this._damping > 0, "Damping value must be greater than 0");
60
+ invariant(this._mass > 0, "Mass value must be greater than 0");
61
+ }
62
+ __getNativeAnimationConfig() {
63
+ return {
64
+ type: "spring",
65
+ overshootClamping: this._overshootClamping,
66
+ restDisplacementThreshold: this._restDisplacementThreshold,
67
+ restSpeedThreshold: this._restSpeedThreshold,
68
+ stiffness: this._stiffness,
69
+ damping: this._damping,
70
+ mass: this._mass,
71
+ initialVelocity: this._initialVelocity ?? this._lastVelocity,
72
+ toValue: this._toValue,
73
+ iterations: this.__iterations,
74
+ platformConfig: this._platformConfig
75
+ };
76
+ }
77
+ start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
78
+ this.__active = true;
79
+ this._startPosition = fromValue;
80
+ this._lastPosition = this._startPosition;
81
+ this._onUpdate = onUpdate;
82
+ this.__onEnd = onEnd;
83
+ this._lastTime = Date.now();
84
+ this._frameTime = 0;
85
+ if (previousAnimation instanceof SpringAnimation) {
86
+ const internalState = previousAnimation.getInternalState();
87
+ this._lastPosition = internalState.lastPosition;
88
+ this._lastVelocity = internalState.lastVelocity;
89
+ this._initialVelocity = this._lastVelocity;
90
+ this._lastTime = internalState.lastTime;
91
+ }
92
+ const start = () => {
93
+ if (this._useNativeDriver) {
94
+ this.__startNativeAnimation(animatedValue);
95
+ } else {
96
+ this.onUpdate();
97
+ }
98
+ };
99
+ if (this._delay) {
100
+ this._timeout = setTimeout(start, this._delay);
101
+ } else {
102
+ start();
103
+ }
104
+ }
105
+ getInternalState() {
106
+ return {
107
+ lastPosition: this._lastPosition,
108
+ lastVelocity: this._lastVelocity,
109
+ lastTime: this._lastTime
110
+ };
111
+ }
112
+ /**
113
+ * This spring model is based off of a damped harmonic oscillator
114
+ * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).
115
+ *
116
+ * We use the closed form of the second order differential equation:
117
+ *
118
+ * x'' + (2ζ⍵_0)x' + ⍵^2x = 0
119
+ *
120
+ * where
121
+ * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),
122
+ * ζ = c / 2√mk (damping ratio),
123
+ * c = damping constant
124
+ * k = stiffness
125
+ * m = mass
126
+ *
127
+ * The derivation of the closed form is described in detail here:
128
+ * http://planetmath.org/sites/default/files/texpdf/39745.pdf
129
+ *
130
+ * This algorithm happens to match the algorithm used by CASpringAnimation,
131
+ * a QuartzCore (iOS) API that creates spring animations.
132
+ */
133
+ onUpdate() {
134
+ const MAX_STEPS = 64;
135
+ let now = Date.now();
136
+ if (now > this._lastTime + MAX_STEPS) {
137
+ now = this._lastTime + MAX_STEPS;
138
+ }
139
+ const deltaTime = (now - this._lastTime) / 1e3;
140
+ this._frameTime += deltaTime;
141
+ const c = this._damping;
142
+ const m = this._mass;
143
+ const k = this._stiffness;
144
+ const v0 = -this._initialVelocity;
145
+ const zeta = c / (2 * Math.sqrt(k * m));
146
+ const omega0 = Math.sqrt(k / m);
147
+ const omega1 = omega0 * Math.sqrt(1 - zeta * zeta);
148
+ const x0 = this._toValue - this._startPosition;
149
+ let position = 0;
150
+ let velocity = 0;
151
+ const t = this._frameTime;
152
+ if (zeta < 1) {
153
+ const envelope = Math.exp(-zeta * omega0 * t);
154
+ position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));
155
+ velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));
156
+ } else {
157
+ const envelope = Math.exp(-omega0 * t);
158
+ position = this._toValue - envelope * (x0 + (v0 + omega0 * x0) * t);
159
+ velocity = envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));
160
+ }
161
+ this._lastTime = now;
162
+ this._lastPosition = position;
163
+ this._lastVelocity = velocity;
164
+ this._onUpdate(position);
165
+ if (!this.__active) {
166
+ return;
167
+ }
168
+ let isOvershooting = false;
169
+ if (this._overshootClamping && this._stiffness !== 0) {
170
+ if (this._startPosition < this._toValue) {
171
+ isOvershooting = position > this._toValue;
172
+ } else {
173
+ isOvershooting = position < this._toValue;
174
+ }
175
+ }
176
+ const isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;
177
+ let isDisplacement = true;
178
+ if (this._stiffness !== 0) {
179
+ isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;
180
+ }
181
+ if (isOvershooting || isVelocity && isDisplacement) {
182
+ if (this._stiffness !== 0) {
183
+ this._lastPosition = this._toValue;
184
+ this._lastVelocity = 0;
185
+ this._onUpdate(this._toValue);
186
+ }
187
+ this.__debouncedOnEnd({ finished: true });
188
+ return;
189
+ }
190
+ this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
191
+ }
192
+ stop() {
193
+ super.stop();
194
+ this.__active = false;
195
+ clearTimeout(this._timeout);
196
+ global.cancelAnimationFrame(this._animationFrame);
197
+ this.__debouncedOnEnd({ finished: false });
198
+ }
199
+ };
203
200
  var SpringAnimation_default = SpringAnimation;
201
+
204
202
  export { SpringAnimation, SpringAnimation_default as default };
205
203
  //# sourceMappingURL=SpringAnimation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["Animation","SpringConfig","invariant","shouldUseNativeDriver","SpringAnimation","_overshootClamping","_restDisplacementThreshold","_restSpeedThreshold","_lastVelocity","_startPosition","_lastPosition","_fromValue","_toValue","_stiffness","_damping","_mass","_initialVelocity","_delay","_timeout","_startTime","_lastTime","_frameTime","_onUpdate","_animationFrame","_useNativeDriver","_platformConfig","constructor","config","overshootClamping","restDisplacementThreshold","restSpeedThreshold","velocity","toValue","delay","platformConfig","__isInteraction","isInteraction","__iterations","iterations","stiffness","damping","mass","bounciness","speed","tension","friction","springConfig","fromBouncinessAndSpeed","fromOrigamiTensionAndFriction","__getNativeAnimationConfig","type","initialVelocity","start","fromValue","onUpdate","onEnd","previousAnimation","animatedValue","__active","__onEnd","Date","now","internalState","getInternalState","lastPosition","lastVelocity","lastTime","__startNativeAnimation","setTimeout","MAX_STEPS","deltaTime","c","m","k","v0","zeta","Math","sqrt","omega0","omega1","x0","position","t","envelope","exp","sin","cos","isOvershooting","isVelocity","abs","isDisplacement","__debouncedOnEnd","finished","requestAnimationFrame","bind","stop","clearTimeout","global","cancelAnimationFrame","SpringAnimation_default"],"sources":["../../../../../../src/vendor/react-native/Animated/animations/SpringAnimation.js"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SpringAnimation.js","names":[],"sources":["esm/vendor/react-native/Animated/animations/SpringAnimation.js"],"sourcesContent":["import { Animation } from \"./Animation\";\nimport { SpringConfig } from \"../SpringConfig\";\nimport { invariant } from \"@tamagui/react-native-web-internals\";\nimport { shouldUseNativeDriver } from \"../NativeAnimatedHelper\";\nclass SpringAnimation extends Animation {\n _overshootClamping;\n _restDisplacementThreshold;\n _restSpeedThreshold;\n _lastVelocity;\n _startPosition;\n _lastPosition;\n _fromValue;\n _toValue;\n _stiffness;\n _damping;\n _mass;\n _initialVelocity;\n _delay;\n _timeout;\n _startTime;\n _lastTime;\n _frameTime;\n _onUpdate;\n _animationFrame;\n _useNativeDriver;\n _platformConfig;\n constructor(config) {\n super();\n this._overshootClamping = config.overshootClamping ?? false;\n this._restDisplacementThreshold = config.restDisplacementThreshold ?? 1e-3;\n this._restSpeedThreshold = config.restSpeedThreshold ?? 1e-3;\n this._initialVelocity = config.velocity ?? 0;\n this._lastVelocity = config.velocity ?? 0;\n this._toValue = config.toValue;\n this._delay = config.delay ?? 0;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = config.isInteraction ?? !this._useNativeDriver;\n this.__iterations = config.iterations ?? 1;\n if (config.stiffness !== void 0 || config.damping !== void 0 || config.mass !== void 0) {\n invariant(\n config.bounciness === void 0 && config.speed === void 0 && config.tension === void 0 && config.friction === void 0,\n \"You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one\"\n );\n this._stiffness = config.stiffness ?? 100;\n this._damping = config.damping ?? 10;\n this._mass = config.mass ?? 1;\n } else if (config.bounciness !== void 0 || config.speed !== void 0) {\n invariant(\n config.tension === void 0 && config.friction === void 0 && config.stiffness === void 0 && config.damping === void 0 && config.mass === void 0,\n \"You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one\"\n );\n const springConfig = SpringConfig.fromBouncinessAndSpeed(\n config.bounciness ?? 8,\n config.speed ?? 12\n );\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n const springConfig = SpringConfig.fromOrigamiTensionAndFriction(\n config.tension ?? 40,\n config.friction ?? 7\n );\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n }\n invariant(this._stiffness > 0, \"Stiffness value must be greater than 0\");\n invariant(this._damping > 0, \"Damping value must be greater than 0\");\n invariant(this._mass > 0, \"Mass value must be greater than 0\");\n }\n __getNativeAnimationConfig() {\n return {\n type: \"spring\",\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: this._initialVelocity ?? this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0;\n if (previousAnimation instanceof SpringAnimation) {\n const internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n const start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this.onUpdate();\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n }\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n onUpdate() {\n const MAX_STEPS = 64;\n let now = Date.now();\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n const deltaTime = (now - this._lastTime) / 1e3;\n this._frameTime += deltaTime;\n const c = this._damping;\n const m = this._mass;\n const k = this._stiffness;\n const v0 = -this._initialVelocity;\n const zeta = c / (2 * Math.sqrt(k * m));\n const omega0 = Math.sqrt(k / m);\n const omega1 = omega0 * Math.sqrt(1 - zeta * zeta);\n const x0 = this._toValue - this._startPosition;\n let position = 0;\n let velocity = 0;\n const t = this._frameTime;\n if (zeta < 1) {\n const envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n const envelope = Math.exp(-omega0 * t);\n position = this._toValue - envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n this._onUpdate(position);\n if (!this.__active) {\n return;\n }\n let isOvershooting = false;\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n const isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n let isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n this._onUpdate(this._toValue);\n }\n this.__debouncedOnEnd({ finished: true });\n return;\n }\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({ finished: false });\n }\n}\nvar SpringAnimation_default = SpringAnimation;\nexport {\n SpringAnimation,\n SpringAnimation_default as default\n};\n//# sourceMappingURL=SpringAnimation.js.map\n"],"mappings":"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"}