@tamagui/react-native-web-lite 2.7.7 → 3.0.0-beta.637.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,156 +1,150 @@
1
1
  import { invariant } from "@tamagui/react-native-web-internals";
2
- class ViewabilityHelper {
3
- _config;
4
- _hasInteracted = false;
5
- _timers = /* @__PURE__ */new Set();
6
- _viewableIndices = [];
7
- _viewableItems = /* @__PURE__ */new Map();
8
- constructor(config = {
9
- viewAreaCoveragePercentThreshold: 0
10
- }) {
11
- this._config = config;
12
- }
13
- /**
14
- * Cleanup, e.g. on unmount. Clears any pending timers.
15
- */
16
- dispose() {
17
- this._timers.forEach(clearTimeout);
18
- }
19
- /**
20
- * Determines which items are viewable based on the current metrics and config.
21
- */
22
- computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
23
- const itemCount = props.getItemCount(props.data);
24
- const {
25
- itemVisiblePercentThreshold,
26
- viewAreaCoveragePercentThreshold
27
- } = this._config;
28
- const viewAreaMode = viewAreaCoveragePercentThreshold != null;
29
- const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
30
- invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
31
- const viewableIndices = [];
32
- if (itemCount === 0) {
33
- return viewableIndices;
34
- }
35
- let firstVisible = -1;
36
- const {
37
- first,
38
- last
39
- } = renderRange || {
40
- first: 0,
41
- last: itemCount - 1
42
- };
43
- if (last >= itemCount) {
44
- console.warn("Invalid render range computing viewability " + JSON.stringify({
45
- renderRange,
46
- itemCount
47
- }));
48
- return [];
49
- }
50
- for (let idx = first; idx <= last; idx++) {
51
- const metrics = getFrameMetrics(idx, props);
52
- if (!metrics) {
53
- continue;
54
- }
55
- const top = metrics.offset - scrollOffset;
56
- const bottom = top + metrics.length;
57
- if (top < viewportHeight && bottom > 0) {
58
- firstVisible = idx;
59
- if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
60
- viewableIndices.push(idx);
61
- }
62
- } else if (firstVisible >= 0) {
63
- break;
64
- }
65
- }
66
- return viewableIndices;
67
- }
68
- /**
69
- * Figures out which items are viewable and how that has changed from before and calls
70
- * `onViewableItemsChanged` as appropriate.
71
- */
72
- onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
73
- const itemCount = props.getItemCount(props.data);
74
- if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
75
- return;
76
- }
77
- let viewableIndices = [];
78
- if (itemCount) {
79
- viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
80
- }
81
- if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
82
- return;
83
- }
84
- this._viewableIndices = viewableIndices;
85
- if (this._config.minimumViewTime) {
86
- const handle = setTimeout(() => {
87
- this._timers.delete(handle);
88
- this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
89
- }, this._config.minimumViewTime);
90
- this._timers.add(handle);
91
- } else {
92
- this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
93
- }
94
- }
95
- /**
96
- * clean-up cached _viewableIndices to evaluate changed items on next update
97
- */
98
- resetViewableIndices() {
99
- this._viewableIndices = [];
100
- }
101
- /**
102
- * Records that an interaction has happened even if there has been no scroll.
103
- */
104
- recordInteraction() {
105
- this._hasInteracted = true;
106
- }
107
- _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
108
- viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));
109
- const prevItems = this._viewableItems;
110
- const nextItems = new Map(viewableIndicesToCheck.map(ii => {
111
- const viewable = createViewToken(ii, true, props);
112
- return [viewable.key, viewable];
113
- }));
114
- const changed = [];
115
- for (const [key, viewable] of nextItems) {
116
- if (!prevItems.has(key)) {
117
- changed.push(viewable);
118
- }
119
- }
120
- for (const [key, viewable] of prevItems) {
121
- if (!nextItems.has(key)) {
122
- changed.push({
123
- ...viewable,
124
- isViewable: false
125
- });
126
- }
127
- }
128
- if (changed.length > 0) {
129
- this._viewableItems = nextItems;
130
- onViewableItemsChanged({
131
- viewableItems: Array.from(nextItems.values()),
132
- changed,
133
- viewabilityConfig: this._config
134
- });
135
- }
136
- }
137
- }
2
+
3
+ var ViewabilityHelper = class {
4
+ _config;
5
+ _hasInteracted = false;
6
+ _timers = /* @__PURE__ */ new Set();
7
+ _viewableIndices = [];
8
+ _viewableItems = /* @__PURE__ */ new Map();
9
+ constructor(config = { viewAreaCoveragePercentThreshold: 0 }) {
10
+ this._config = config;
11
+ }
12
+ /**
13
+ * Cleanup, e.g. on unmount. Clears any pending timers.
14
+ */
15
+ dispose() {
16
+ this._timers.forEach(clearTimeout);
17
+ }
18
+ /**
19
+ * Determines which items are viewable based on the current metrics and config.
20
+ */
21
+ computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
22
+ const itemCount = props.getItemCount(props.data);
23
+ const { itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold } = this._config;
24
+ const viewAreaMode = viewAreaCoveragePercentThreshold != null;
25
+ const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
26
+ invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
27
+ const viewableIndices = [];
28
+ if (itemCount === 0) {
29
+ return viewableIndices;
30
+ }
31
+ let firstVisible = -1;
32
+ const { first, last } = renderRange || {
33
+ first: 0,
34
+ last: itemCount - 1
35
+ };
36
+ if (last >= itemCount) {
37
+ console.warn("Invalid render range computing viewability " + JSON.stringify({
38
+ renderRange,
39
+ itemCount
40
+ }));
41
+ return [];
42
+ }
43
+ for (let idx = first; idx <= last; idx++) {
44
+ const metrics = getFrameMetrics(idx, props);
45
+ if (!metrics) {
46
+ continue;
47
+ }
48
+ const top = metrics.offset - scrollOffset;
49
+ const bottom = top + metrics.length;
50
+ if (top < viewportHeight && bottom > 0) {
51
+ firstVisible = idx;
52
+ if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
53
+ viewableIndices.push(idx);
54
+ }
55
+ } else if (firstVisible >= 0) {
56
+ break;
57
+ }
58
+ }
59
+ return viewableIndices;
60
+ }
61
+ /**
62
+ * Figures out which items are viewable and how that has changed from before and calls
63
+ * `onViewableItemsChanged` as appropriate.
64
+ */
65
+ onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
66
+ const itemCount = props.getItemCount(props.data);
67
+ if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
68
+ return;
69
+ }
70
+ let viewableIndices = [];
71
+ if (itemCount) {
72
+ viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
73
+ }
74
+ if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
75
+ return;
76
+ }
77
+ this._viewableIndices = viewableIndices;
78
+ if (this._config.minimumViewTime) {
79
+ const handle = setTimeout(() => {
80
+ this._timers.delete(handle);
81
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
82
+ }, this._config.minimumViewTime);
83
+ this._timers.add(handle);
84
+ } else {
85
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
86
+ }
87
+ }
88
+ /**
89
+ * clean-up cached _viewableIndices to evaluate changed items on next update
90
+ */
91
+ resetViewableIndices() {
92
+ this._viewableIndices = [];
93
+ }
94
+ /**
95
+ * Records that an interaction has happened even if there has been no scroll.
96
+ */
97
+ recordInteraction() {
98
+ this._hasInteracted = true;
99
+ }
100
+ _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
101
+ viewableIndicesToCheck = viewableIndicesToCheck.filter((ii) => this._viewableIndices.includes(ii));
102
+ const prevItems = this._viewableItems;
103
+ const nextItems = new Map(viewableIndicesToCheck.map((ii) => {
104
+ const viewable = createViewToken(ii, true, props);
105
+ return [viewable.key, viewable];
106
+ }));
107
+ const changed = [];
108
+ for (const [key, viewable] of nextItems) {
109
+ if (!prevItems.has(key)) {
110
+ changed.push(viewable);
111
+ }
112
+ }
113
+ for (const [key, viewable] of prevItems) {
114
+ if (!nextItems.has(key)) {
115
+ changed.push({
116
+ ...viewable,
117
+ isViewable: false
118
+ });
119
+ }
120
+ }
121
+ if (changed.length > 0) {
122
+ this._viewableItems = nextItems;
123
+ onViewableItemsChanged({
124
+ viewableItems: Array.from(nextItems.values()),
125
+ changed,
126
+ viewabilityConfig: this._config
127
+ });
128
+ }
129
+ }
130
+ };
138
131
  function _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {
139
- if (_isEntirelyVisible(top, bottom, viewportHeight)) {
140
- return true;
141
- } else {
142
- const pixels = _getPixelsVisible(top, bottom, viewportHeight);
143
- const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
144
- return percent >= viewablePercentThreshold;
145
- }
132
+ if (_isEntirelyVisible(top, bottom, viewportHeight)) {
133
+ return true;
134
+ } else {
135
+ const pixels = _getPixelsVisible(top, bottom, viewportHeight);
136
+ const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
137
+ return percent >= viewablePercentThreshold;
138
+ }
146
139
  }
147
140
  function _getPixelsVisible(top, bottom, viewportHeight) {
148
- const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
149
- return Math.max(0, visibleHeight);
141
+ const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
142
+ return Math.max(0, visibleHeight);
150
143
  }
151
144
  function _isEntirelyVisible(top, bottom, viewportHeight) {
152
- return top >= 0 && bottom <= viewportHeight && bottom > top;
145
+ return top >= 0 && bottom <= viewportHeight && bottom > top;
153
146
  }
154
147
  var ViewabilityHelper_default = ViewabilityHelper;
148
+
155
149
  export { ViewabilityHelper, ViewabilityHelper_default as default };
156
150
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["invariant","ViewabilityHelper","_config","_hasInteracted","_timers","Set","_viewableIndices","_viewableItems","Map","constructor","config","viewAreaCoveragePercentThreshold","dispose","forEach","clearTimeout","computeViewableItems","props","scrollOffset","viewportHeight","getFrameMetrics","renderRange","itemCount","getItemCount","data","itemVisiblePercentThreshold","viewAreaMode","viewablePercentThreshold","viewableIndices","firstVisible","first","last","console","warn","JSON","stringify","idx","metrics","top","offset","bottom","length","_isViewable","push","onUpdate","createViewToken","onViewableItemsChanged","waitForInteraction","every","v","ii","minimumViewTime","handle","setTimeout","delete","_onUpdateSync","add","resetViewableIndices","recordInteraction","viewableIndicesToCheck","filter","includes","prevItems","nextItems","map","viewable","key","changed","has","isViewable","viewableItems","Array","from","values","viewabilityConfig","itemLength","_isEntirelyVisible","pixels","_getPixelsVisible","percent","visibleHeight","Math","min","max","ViewabilityHelper_default"],"sources":["../../../../../src/vendor/react-native/ViewabilityHelper/index.js"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["esm/vendor/react-native/ViewabilityHelper/index.js"],"sourcesContent":["import { invariant } from \"@tamagui/react-native-web-internals\";\nclass ViewabilityHelper {\n _config;\n _hasInteracted = false;\n _timers = /* @__PURE__ */ new Set();\n _viewableIndices = [];\n _viewableItems = /* @__PURE__ */ new Map();\n constructor(config = { viewAreaCoveragePercentThreshold: 0 }) {\n this._config = config;\n }\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\n this._timers.forEach(clearTimeout);\n }\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {\n const itemCount = props.getItemCount(props.data);\n const { itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold } = this._config;\n const viewAreaMode = viewAreaCoveragePercentThreshold != null;\n const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(\n viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null),\n \"Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold\"\n );\n const viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n let firstVisible = -1;\n const { first, last } = renderRange || { first: 0, last: itemCount - 1 };\n if (last >= itemCount) {\n console.warn(\n \"Invalid render range computing viewability \" + JSON.stringify({ renderRange, itemCount })\n );\n return [];\n }\n for (let idx = first; idx <= last; idx++) {\n const metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n const top = metrics.offset - scrollOffset;\n const bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(\n viewAreaMode,\n viewablePercentThreshold,\n top,\n bottom,\n viewportHeight,\n metrics.length\n )) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {\n const itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n let viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(\n props,\n scrollOffset,\n viewportHeight,\n getFrameMetrics,\n renderRange\n );\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n const handle = setTimeout(() => {\n this._timers.delete(handle);\n this._onUpdateSync(\n props,\n viewableIndices,\n onViewableItemsChanged,\n createViewToken\n );\n }, this._config.minimumViewTime);\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n viewableIndicesToCheck = viewableIndicesToCheck.filter(\n (ii) => this._viewableIndices.includes(ii)\n );\n const prevItems = this._viewableItems;\n const nextItems = new Map(\n viewableIndicesToCheck.map((ii) => {\n const viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n })\n );\n const changed = [];\n for (const [key, viewable] of nextItems) {\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (const [key, viewable] of prevItems) {\n if (!nextItems.has(key)) {\n changed.push({ ...viewable, isViewable: false });\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n const pixels = _getPixelsVisible(top, bottom, viewportHeight);\n const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nvar ViewabilityHelper_default = ViewabilityHelper;\nexport {\n ViewabilityHelper,\n ViewabilityHelper_default as default\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}