@tamagui/react-native-web-lite 2.7.7 → 3.0.0-beta.1091.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 (506) hide show
  1. package/dist/cjs/AccessibilityInfo/index.cjs +81 -87
  2. package/dist/cjs/ActivityIndicator/index.cjs +82 -103
  3. package/dist/cjs/Alert/index.cjs +16 -20
  4. package/dist/cjs/AppRegistry/AppContainer.cjs +36 -52
  5. package/dist/cjs/AppRegistry/index.cjs +68 -81
  6. package/dist/cjs/AppRegistry/renderApplication.cjs +41 -54
  7. package/dist/cjs/AppState/index.cjs +59 -67
  8. package/dist/cjs/Appearance/index.cjs +39 -49
  9. package/dist/cjs/BackHandler/index.cjs +19 -25
  10. package/dist/cjs/Clipboard/index.cjs +49 -53
  11. package/dist/cjs/DeviceEmitter.cjs +14 -18
  12. package/dist/cjs/DeviceInfo/index.cjs +49 -63
  13. package/dist/cjs/Dimensions/index.cjs +85 -89
  14. package/dist/cjs/FlatList.cjs +176 -211
  15. package/dist/cjs/I18nManager/index.cjs +23 -29
  16. package/dist/cjs/Image/index.cjs +276 -308
  17. package/dist/cjs/Image/types.cjs +9 -11
  18. package/dist/cjs/ImageBackground/index.cjs +34 -48
  19. package/dist/cjs/InteractionManager/TaskQueue.cjs +94 -100
  20. package/dist/cjs/InteractionManager/index.cjs +104 -115
  21. package/dist/cjs/Keyboard/index.cjs +22 -28
  22. package/dist/cjs/KeyboardAvoidingView/index.cjs +40 -54
  23. package/dist/cjs/Libraries/Pressability/Pressability.cjs +14 -18
  24. package/dist/cjs/Libraries/Pressability/usePressability.cjs +14 -18
  25. package/dist/cjs/Linking/index.cjs +85 -89
  26. package/dist/cjs/LogBox/index.cjs +19 -21
  27. package/dist/cjs/Modal/ModalAnimation.cjs +130 -151
  28. package/dist/cjs/Modal/ModalContent.cjs +56 -77
  29. package/dist/cjs/Modal/ModalPortal.cjs +37 -46
  30. package/dist/cjs/Modal/index.cjs +14 -18
  31. package/dist/cjs/NativeModules/index.cjs +14 -20
  32. package/dist/cjs/PanResponder/index.cjs +17 -26
  33. package/dist/cjs/PixelRatio/index.cjs +44 -48
  34. package/dist/cjs/Pressable/index.cjs +129 -142
  35. package/dist/cjs/RefreshControl/index.cjs +17 -35
  36. package/dist/cjs/SafeAreaView/index.cjs +34 -46
  37. package/dist/cjs/ScrollView/WebScrollView.cjs +269 -0
  38. package/dist/cjs/ScrollView/index.cjs +14 -662
  39. package/dist/cjs/SectionList.cjs +18 -25
  40. package/dist/cjs/Share/index.cjs +43 -47
  41. package/dist/cjs/StatusBar/index.cjs +16 -18
  42. package/dist/cjs/Text/index.cjs +132 -171
  43. package/dist/cjs/Text/types.cjs +9 -11
  44. package/dist/cjs/TextInput/index.cjs +280 -359
  45. package/dist/cjs/TextInput/types.cjs +9 -11
  46. package/dist/cjs/TouchableNativeFeedback.cjs +14 -18
  47. package/dist/cjs/TouchableOpacity.cjs +90 -99
  48. package/dist/cjs/TouchableWithoutFeedback.cjs +64 -74
  49. package/dist/cjs/UnimplementedView.cjs +25 -36
  50. package/dist/cjs/Vibration/index.cjs +24 -28
  51. package/dist/cjs/View/index.cjs +88 -121
  52. package/dist/cjs/View/types.cjs +9 -11
  53. package/dist/cjs/VirtualizedList.cjs +18 -25
  54. package/dist/cjs/codegenNativeCommands.cjs +31 -0
  55. package/dist/cjs/codegenNativeComponent.cjs +18 -18
  56. package/dist/cjs/createElement/index.cjs +51 -70
  57. package/dist/cjs/createReactDOMStyle.cjs +15 -17
  58. package/dist/cjs/index.cjs +105 -106
  59. package/dist/cjs/modules/requestIdleCallback.cjs +27 -29
  60. package/dist/cjs/preprocess.cjs +18 -20
  61. package/dist/cjs/render/index.cjs +17 -19
  62. package/dist/cjs/styleTypes.cjs +9 -11
  63. package/dist/cjs/types.cjs +9 -11
  64. package/dist/cjs/useColorScheme/index.cjs +26 -37
  65. package/dist/cjs/useLocaleContext/index.cjs +14 -18
  66. package/dist/cjs/useWindowDimensions/index.cjs +31 -42
  67. package/dist/cjs/vendor/react-native/Animated/Animated.cjs +22 -24
  68. package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.cjs +135 -141
  69. package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.cjs +499 -533
  70. package/dist/cjs/vendor/react-native/Animated/AnimatedMock.cjs +99 -109
  71. package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.cjs +1 -1
  72. package/dist/cjs/vendor/react-native/Animated/Easing.cjs +181 -183
  73. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.cjs +301 -328
  74. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.cjs +47 -56
  75. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.cjs +45 -53
  76. package/dist/cjs/vendor/react-native/Animated/SpringConfig.cjs +62 -64
  77. package/dist/cjs/vendor/react-native/Animated/animations/Animation.cjs +51 -56
  78. package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.cjs +73 -79
  79. package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.cjs +209 -215
  80. package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.cjs +106 -116
  81. package/dist/cjs/vendor/react-native/Animated/bezier.cjs +82 -88
  82. package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.cjs +22 -29
  83. package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.cjs +18 -25
  84. package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.cjs +22 -29
  85. package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.cjs +22 -29
  86. package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.cjs +15 -17
  87. package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.cjs +15 -17
  88. package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.cjs +31 -44
  89. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.cjs +50 -52
  90. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.cjs +243 -247
  91. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.cjs +58 -60
  92. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.cjs +64 -66
  93. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.cjs +184 -188
  94. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.cjs +48 -50
  95. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.cjs +50 -52
  96. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.cjs +151 -156
  97. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.cjs +132 -134
  98. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.cjs +112 -116
  99. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.cjs +50 -52
  100. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.cjs +72 -75
  101. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.cjs +108 -110
  102. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.cjs +211 -216
  103. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.cjs +95 -103
  104. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.cjs +69 -71
  105. package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.cjs +74 -76
  106. package/dist/cjs/vendor/react-native/Batchinator/index.cjs +45 -57
  107. package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.cjs +53 -57
  108. package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.cjs +15 -17
  109. package/dist/cjs/vendor/react-native/FeatureFlags.cjs +20 -24
  110. package/dist/cjs/vendor/react-native/FillRateHelper/index.cjs +164 -173
  111. package/dist/cjs/vendor/react-native/FlatList/index.cjs +258 -294
  112. package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.cjs +65 -69
  113. package/dist/cjs/vendor/react-native/LayoutAnimation/index.cjs +86 -91
  114. package/dist/cjs/vendor/react-native/PanResponder/index.cjs +169 -176
  115. package/dist/cjs/vendor/react-native/PooledClass/index.cjs +41 -43
  116. package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.cjs +20 -22
  117. package/dist/cjs/vendor/react-native/SectionList/index.cjs +94 -110
  118. package/dist/cjs/vendor/react-native/StaticContainer/index.cjs +27 -34
  119. package/dist/cjs/vendor/react-native/StaticRenderer/index.cjs +26 -33
  120. package/dist/cjs/vendor/react-native/TouchHistoryMath/index.cjs +81 -111
  121. package/dist/cjs/vendor/react-native/TurboModule/RCTExport.cjs +16 -22
  122. package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.cjs +19 -21
  123. package/dist/cjs/vendor/react-native/Types/CoreEventTypes.cjs +123 -127
  124. package/dist/cjs/vendor/react-native/Utilities/Platform.cjs +15 -17
  125. package/dist/cjs/vendor/react-native/Utilities/clamp.cjs +22 -24
  126. package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.cjs +25 -30
  127. package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.cjs +26 -30
  128. package/dist/cjs/vendor/react-native/Utilities/useRefEffect.cjs +25 -27
  129. package/dist/cjs/vendor/react-native/ViewabilityHelper/index.cjs +153 -163
  130. package/dist/cjs/vendor/react-native/ViewabilityHelper.cjs +146 -156
  131. package/dist/cjs/vendor/react-native/VirtualizeUtils/index.cjs +123 -125
  132. package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.cjs +99 -99
  133. package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.cjs +62 -64
  134. package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.cjs +65 -75
  135. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.cjs +103 -160
  136. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.cjs +55 -64
  137. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.cjs +50 -52
  138. package/dist/cjs/vendor/react-native/VirtualizedList/index.cjs +221 -284
  139. package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.cjs +123 -144
  140. package/dist/cjs/vendor/react-native/deepDiffer/index.cjs +57 -59
  141. package/dist/cjs/vendor/react-native/emitter/EventEmitter.cjs +15 -17
  142. package/dist/cjs/vendor/react-native/emitter/EventSubscription.cjs +1 -1
  143. package/dist/cjs/vendor/react-native/emitter/_EmitterSubscription.cjs +42 -44
  144. package/dist/cjs/vendor/react-native/emitter/_EventEmitter.cjs +114 -120
  145. package/dist/cjs/vendor/react-native/emitter/_EventSubscription.cjs +30 -32
  146. package/dist/cjs/vendor/react-native/emitter/_EventSubscriptionVendor.cjs +79 -81
  147. package/dist/cjs/vendor/react-native/infoLog/index.cjs +16 -18
  148. package/dist/cjs/vendor/react-native/useRefEffect.cjs +25 -27
  149. package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.cjs +87 -89
  150. package/dist/cjs/without-animated.cjs +254 -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 +14 -14
  439. package/src/AppState/index.tsx +1 -6
  440. package/src/ScrollView/WebScrollView.tsx +383 -0
  441. package/src/ScrollView/index.tsx +6 -892
  442. package/src/codegenNativeCommands.ts +6 -0
  443. package/src/codegenNativeComponent.ts +2 -2
  444. package/src/index.tsx +3 -0
  445. package/src/vendor/react-native/Animated/NativeAnimatedHelper.js +4 -4
  446. package/src/without-animated.tsx +1 -0
  447. package/dist/cjs/ActivityIndicator/__tests__/index-test.cjs +0 -209
  448. package/dist/cjs/AppRegistry/__tests__/index-test.cjs +0 -97
  449. package/dist/cjs/AppRegistry/__tests__/index-test.node.cjs +0 -162
  450. package/dist/cjs/AppState/__tests__/index-test.cjs +0 -38
  451. package/dist/cjs/Dimensions/__tests__/index-test.cjs +0 -67
  452. package/dist/cjs/ImageBackground/__tests__/index-test.cjs +0 -72
  453. package/dist/cjs/Linking/__tests__/index-test.cjs +0 -56
  454. package/dist/cjs/ScrollView/ScrollViewBase.cjs +0 -167
  455. package/dist/cjs/codegenNativeCommand.cjs +0 -31
  456. package/dist/cjs/createElement/__tests__/index-test.cjs +0 -828
  457. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs +0 -186
  458. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs.map +0 -1
  459. package/dist/esm/AppRegistry/__tests__/index-test.mjs +0 -74
  460. package/dist/esm/AppRegistry/__tests__/index-test.mjs.map +0 -1
  461. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs +0 -139
  462. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs.map +0 -1
  463. package/dist/esm/AppState/__tests__/index-test.mjs +0 -15
  464. package/dist/esm/AppState/__tests__/index-test.mjs.map +0 -1
  465. package/dist/esm/Dimensions/__tests__/index-test.mjs +0 -44
  466. package/dist/esm/Dimensions/__tests__/index-test.mjs.map +0 -1
  467. package/dist/esm/Image/types.mjs.map +0 -1
  468. package/dist/esm/ImageBackground/__tests__/index-test.mjs +0 -49
  469. package/dist/esm/ImageBackground/__tests__/index-test.mjs.map +0 -1
  470. package/dist/esm/Linking/__tests__/index-test.mjs +0 -33
  471. package/dist/esm/Linking/__tests__/index-test.mjs.map +0 -1
  472. package/dist/esm/PanResponder/index.mjs.map +0 -1
  473. package/dist/esm/ScrollView/ScrollViewBase.mjs +0 -130
  474. package/dist/esm/ScrollView/ScrollViewBase.mjs.map +0 -1
  475. package/dist/esm/ScrollView/index.mjs.map +0 -1
  476. package/dist/esm/SectionList.mjs.map +0 -1
  477. package/dist/esm/Text/types.mjs.map +0 -1
  478. package/dist/esm/TextInput/types.mjs.map +0 -1
  479. package/dist/esm/TouchableNativeFeedback.mjs.map +0 -1
  480. package/dist/esm/View/types.mjs.map +0 -1
  481. package/dist/esm/VirtualizedList.mjs.map +0 -1
  482. package/dist/esm/codegenNativeCommand.mjs +0 -6
  483. package/dist/esm/codegenNativeCommand.mjs.map +0 -1
  484. package/dist/esm/createElement/__tests__/index-test.mjs +0 -805
  485. package/dist/esm/createElement/__tests__/index-test.mjs.map +0 -1
  486. package/dist/esm/preprocess.mjs.map +0 -1
  487. package/dist/esm/styleTypes.mjs.map +0 -1
  488. package/dist/esm/types.mjs.map +0 -1
  489. package/dist/esm/useLocaleContext/index.mjs.map +0 -1
  490. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs.map +0 -1
  491. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs.map +0 -1
  492. package/src/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap +0 -466
  493. package/src/ActivityIndicator/__tests__/index-test.tsx +0 -147
  494. package/src/AppRegistry/__tests__/index-test.node.tsx +0 -144
  495. package/src/AppRegistry/__tests__/index-test.tsx +0 -94
  496. package/src/AppState/__tests__/index-test.tsx +0 -24
  497. package/src/Dimensions/__tests__/index-test.tsx +0 -54
  498. package/src/ImageBackground/__tests__/index-test.tsx +0 -49
  499. package/src/Linking/__tests__/index-test.tsx +0 -37
  500. package/src/Pressable/__tests__/__snapshots__/index-test.js.snap +0 -196
  501. package/src/ScrollView/ScrollViewBase.tsx +0 -183
  502. package/src/ScrollView/__tests__/__snapshots__/index-test.js.snap +0 -49
  503. package/src/Text/__tests__/__snapshots__/index-test.js.snap +0 -218
  504. package/src/codegenNativeCommand.ts +0 -6
  505. package/src/createElement/__tests__/__snapshots__/index-test.js.snap +0 -13
  506. package/src/createElement/__tests__/index-test.tsx +0 -647
@@ -5,180 +5,170 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
12
  };
13
13
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
21
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
23
  var ViewabilityHelper_exports = {};
26
24
  __export(ViewabilityHelper_exports, {
27
- ViewabilityHelper: () => ViewabilityHelper,
28
- default: () => ViewabilityHelper_default
25
+ ViewabilityHelper: () => ViewabilityHelper,
26
+ default: () => ViewabilityHelper_default
29
27
  });
30
28
  module.exports = __toCommonJS(ViewabilityHelper_exports);
31
29
  var import_react_native_web_internals = require("@tamagui/react-native-web-internals");
32
- class ViewabilityHelper {
33
- _config;
34
- _hasInteracted = false;
35
- _timers = /* @__PURE__ */new Set();
36
- _viewableIndices = [];
37
- _viewableItems = /* @__PURE__ */new Map();
38
- constructor(config = {
39
- viewAreaCoveragePercentThreshold: 0
40
- }) {
41
- this._config = config;
42
- }
43
- /**
44
- * Cleanup, e.g. on unmount. Clears any pending timers.
45
- */
46
- dispose() {
47
- this._timers.forEach(clearTimeout);
48
- }
49
- /**
50
- * Determines which items are viewable based on the current metrics and config.
51
- */
52
- computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
53
- const itemCount = props.getItemCount(props.data);
54
- const {
55
- itemVisiblePercentThreshold,
56
- viewAreaCoveragePercentThreshold
57
- } = this._config;
58
- const viewAreaMode = viewAreaCoveragePercentThreshold != null;
59
- const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
60
- (0, import_react_native_web_internals.invariant)(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
61
- const viewableIndices = [];
62
- if (itemCount === 0) {
63
- return viewableIndices;
64
- }
65
- let firstVisible = -1;
66
- const {
67
- first,
68
- last
69
- } = renderRange || {
70
- first: 0,
71
- last: itemCount - 1
72
- };
73
- if (last >= itemCount) {
74
- console.warn("Invalid render range computing viewability " + JSON.stringify({
75
- renderRange,
76
- itemCount
77
- }));
78
- return [];
79
- }
80
- for (let idx = first; idx <= last; idx++) {
81
- const metrics = getFrameMetrics(idx, props);
82
- if (!metrics) {
83
- continue;
84
- }
85
- const top = metrics.offset - scrollOffset;
86
- const bottom = top + metrics.length;
87
- if (top < viewportHeight && bottom > 0) {
88
- firstVisible = idx;
89
- if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
90
- viewableIndices.push(idx);
91
- }
92
- } else if (firstVisible >= 0) {
93
- break;
94
- }
95
- }
96
- return viewableIndices;
97
- }
98
- /**
99
- * Figures out which items are viewable and how that has changed from before and calls
100
- * `onViewableItemsChanged` as appropriate.
101
- */
102
- onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
103
- const itemCount = props.getItemCount(props.data);
104
- if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
105
- return;
106
- }
107
- let viewableIndices = [];
108
- if (itemCount) {
109
- viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
110
- }
111
- if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
112
- return;
113
- }
114
- this._viewableIndices = viewableIndices;
115
- if (this._config.minimumViewTime) {
116
- const handle = setTimeout(() => {
117
- this._timers.delete(handle);
118
- this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
119
- }, this._config.minimumViewTime);
120
- this._timers.add(handle);
121
- } else {
122
- this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
123
- }
124
- }
125
- /**
126
- * clean-up cached _viewableIndices to evaluate changed items on next update
127
- */
128
- resetViewableIndices() {
129
- this._viewableIndices = [];
130
- }
131
- /**
132
- * Records that an interaction has happened even if there has been no scroll.
133
- */
134
- recordInteraction() {
135
- this._hasInteracted = true;
136
- }
137
- _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
138
- viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));
139
- const prevItems = this._viewableItems;
140
- const nextItems = new Map(viewableIndicesToCheck.map(ii => {
141
- const viewable = createViewToken(ii, true, props);
142
- return [viewable.key, viewable];
143
- }));
144
- const changed = [];
145
- for (const [key, viewable] of nextItems) {
146
- if (!prevItems.has(key)) {
147
- changed.push(viewable);
148
- }
149
- }
150
- for (const [key, viewable] of prevItems) {
151
- if (!nextItems.has(key)) {
152
- changed.push({
153
- ...viewable,
154
- isViewable: false
155
- });
156
- }
157
- }
158
- if (changed.length > 0) {
159
- this._viewableItems = nextItems;
160
- onViewableItemsChanged({
161
- viewableItems: Array.from(nextItems.values()),
162
- changed,
163
- viewabilityConfig: this._config
164
- });
165
- }
166
- }
167
- }
30
+ var ViewabilityHelper = class {
31
+ _config;
32
+ _hasInteracted = false;
33
+ _timers = /* @__PURE__ */ new Set();
34
+ _viewableIndices = [];
35
+ _viewableItems = /* @__PURE__ */ new Map();
36
+ constructor(config = { viewAreaCoveragePercentThreshold: 0 }) {
37
+ this._config = config;
38
+ }
39
+ /**
40
+ * Cleanup, e.g. on unmount. Clears any pending timers.
41
+ */
42
+ dispose() {
43
+ this._timers.forEach(clearTimeout);
44
+ }
45
+ /**
46
+ * Determines which items are viewable based on the current metrics and config.
47
+ */
48
+ computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
49
+ const itemCount = props.getItemCount(props.data);
50
+ const { itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold } = this._config;
51
+ const viewAreaMode = viewAreaCoveragePercentThreshold != null;
52
+ const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
53
+ (0, import_react_native_web_internals.invariant)(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
54
+ const viewableIndices = [];
55
+ if (itemCount === 0) {
56
+ return viewableIndices;
57
+ }
58
+ let firstVisible = -1;
59
+ const { first, last } = renderRange || {
60
+ first: 0,
61
+ last: itemCount - 1
62
+ };
63
+ if (last >= itemCount) {
64
+ console.warn("Invalid render range computing viewability " + JSON.stringify({
65
+ renderRange,
66
+ itemCount
67
+ }));
68
+ return [];
69
+ }
70
+ for (let idx = first; idx <= last; idx++) {
71
+ const metrics = getFrameMetrics(idx, props);
72
+ if (!metrics) {
73
+ continue;
74
+ }
75
+ const top = metrics.offset - scrollOffset;
76
+ const bottom = top + metrics.length;
77
+ if (top < viewportHeight && bottom > 0) {
78
+ firstVisible = idx;
79
+ if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
80
+ viewableIndices.push(idx);
81
+ }
82
+ } else if (firstVisible >= 0) {
83
+ break;
84
+ }
85
+ }
86
+ return viewableIndices;
87
+ }
88
+ /**
89
+ * Figures out which items are viewable and how that has changed from before and calls
90
+ * `onViewableItemsChanged` as appropriate.
91
+ */
92
+ onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
93
+ const itemCount = props.getItemCount(props.data);
94
+ if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
95
+ return;
96
+ }
97
+ let viewableIndices = [];
98
+ if (itemCount) {
99
+ viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
100
+ }
101
+ if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
102
+ return;
103
+ }
104
+ this._viewableIndices = viewableIndices;
105
+ if (this._config.minimumViewTime) {
106
+ const handle = setTimeout(() => {
107
+ this._timers.delete(handle);
108
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
109
+ }, this._config.minimumViewTime);
110
+ this._timers.add(handle);
111
+ } else {
112
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
113
+ }
114
+ }
115
+ /**
116
+ * clean-up cached _viewableIndices to evaluate changed items on next update
117
+ */
118
+ resetViewableIndices() {
119
+ this._viewableIndices = [];
120
+ }
121
+ /**
122
+ * Records that an interaction has happened even if there has been no scroll.
123
+ */
124
+ recordInteraction() {
125
+ this._hasInteracted = true;
126
+ }
127
+ _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
128
+ viewableIndicesToCheck = viewableIndicesToCheck.filter((ii) => this._viewableIndices.includes(ii));
129
+ const prevItems = this._viewableItems;
130
+ const nextItems = new Map(viewableIndicesToCheck.map((ii) => {
131
+ const viewable = createViewToken(ii, true, props);
132
+ return [viewable.key, viewable];
133
+ }));
134
+ const changed = [];
135
+ for (const [key, viewable] of nextItems) {
136
+ if (!prevItems.has(key)) {
137
+ changed.push(viewable);
138
+ }
139
+ }
140
+ for (const [key, viewable] of prevItems) {
141
+ if (!nextItems.has(key)) {
142
+ changed.push({
143
+ ...viewable,
144
+ isViewable: false
145
+ });
146
+ }
147
+ }
148
+ if (changed.length > 0) {
149
+ this._viewableItems = nextItems;
150
+ onViewableItemsChanged({
151
+ viewableItems: Array.from(nextItems.values()),
152
+ changed,
153
+ viewabilityConfig: this._config
154
+ });
155
+ }
156
+ }
157
+ };
168
158
  function _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {
169
- if (_isEntirelyVisible(top, bottom, viewportHeight)) {
170
- return true;
171
- } else {
172
- const pixels = _getPixelsVisible(top, bottom, viewportHeight);
173
- const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
174
- return percent >= viewablePercentThreshold;
175
- }
159
+ if (_isEntirelyVisible(top, bottom, viewportHeight)) {
160
+ return true;
161
+ } else {
162
+ const pixels = _getPixelsVisible(top, bottom, viewportHeight);
163
+ const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
164
+ return percent >= viewablePercentThreshold;
165
+ }
176
166
  }
177
167
  function _getPixelsVisible(top, bottom, viewportHeight) {
178
- const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
179
- return Math.max(0, visibleHeight);
168
+ const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
169
+ return Math.max(0, visibleHeight);
180
170
  }
181
171
  function _isEntirelyVisible(top, bottom, viewportHeight) {
182
- return top >= 0 && bottom <= viewportHeight && bottom > top;
172
+ return top >= 0 && bottom <= viewportHeight && bottom > top;
183
173
  }
184
- var ViewabilityHelper_default = ViewabilityHelper;
174
+ var ViewabilityHelper_default = ViewabilityHelper;