@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
@@ -3,173 +3,163 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
10
  };
11
11
  var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
19
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
21
  var ViewabilityHelper_exports = {};
24
22
  __export(ViewabilityHelper_exports, {
25
- ViewabilityHelper: () => ViewabilityHelper,
26
- default: () => ViewabilityHelper_default
23
+ ViewabilityHelper: () => ViewabilityHelper,
24
+ default: () => ViewabilityHelper_default
27
25
  });
28
26
  module.exports = __toCommonJS(ViewabilityHelper_exports);
29
27
  var import_react_native_web_internals = require("@tamagui/react-native-web-internals");
30
- class ViewabilityHelper {
31
- _config;
32
- _hasInteracted = false;
33
- _timers = /* @__PURE__ */new Set();
34
- _viewableIndices = [];
35
- _viewableItems = /* @__PURE__ */new Map();
36
- constructor(config = {
37
- viewAreaCoveragePercentThreshold: 0
38
- }) {
39
- this._config = config;
40
- }
41
- /**
42
- * Cleanup, e.g. on unmount. Clears any pending timers.
43
- */
44
- dispose() {
45
- this._timers.forEach(clearTimeout);
46
- }
47
- /**
48
- * Determines which items are viewable based on the current metrics and config.
49
- */
50
- computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
51
- const itemCount = props.getItemCount(props.data);
52
- const {
53
- itemVisiblePercentThreshold,
54
- viewAreaCoveragePercentThreshold
55
- } = this._config;
56
- const viewAreaMode = viewAreaCoveragePercentThreshold != null;
57
- const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
58
- (0, import_react_native_web_internals.invariant)(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
59
- const viewableIndices = [];
60
- if (itemCount === 0) {
61
- return viewableIndices;
62
- }
63
- let firstVisible = -1;
64
- const {
65
- first,
66
- last
67
- } = renderRange || {
68
- first: 0,
69
- last: itemCount - 1
70
- };
71
- if (last >= itemCount) {
72
- console.warn("Invalid render range computing viewability " + JSON.stringify({
73
- renderRange,
74
- itemCount
75
- }));
76
- return [];
77
- }
78
- for (let idx = first; idx <= last; idx++) {
79
- const metrics = getFrameMetrics(idx, props);
80
- if (!metrics) {
81
- continue;
82
- }
83
- const top = metrics.offset - scrollOffset;
84
- const bottom = top + metrics.length;
85
- if (top < viewportHeight && bottom > 0) {
86
- firstVisible = idx;
87
- if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
88
- viewableIndices.push(idx);
89
- }
90
- } else if (firstVisible >= 0) {
91
- break;
92
- }
93
- }
94
- return viewableIndices;
95
- }
96
- /**
97
- * Figures out which items are viewable and how that has changed from before and calls
98
- * `onViewableItemsChanged` as appropriate.
99
- */
100
- onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
101
- const itemCount = props.getItemCount(props.data);
102
- if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
103
- return;
104
- }
105
- let viewableIndices = [];
106
- if (itemCount) {
107
- viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
108
- }
109
- if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
110
- return;
111
- }
112
- this._viewableIndices = viewableIndices;
113
- if (this._config.minimumViewTime) {
114
- const handle = setTimeout(() => {
115
- this._timers.delete(handle);
116
- this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
117
- }, this._config.minimumViewTime);
118
- this._timers.add(handle);
119
- } else {
120
- this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
121
- }
122
- }
123
- resetViewableIndices() {
124
- this._viewableIndices = [];
125
- }
126
- recordInteraction() {
127
- this._hasInteracted = true;
128
- }
129
- _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
130
- viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));
131
- const prevItems = this._viewableItems;
132
- const nextItems = new Map(viewableIndicesToCheck.map(ii => {
133
- const viewable = createViewToken(ii, true, props);
134
- return [viewable.key, viewable];
135
- }));
136
- const changed = [];
137
- for (const [key, viewable] of nextItems) {
138
- if (!prevItems.has(key)) {
139
- changed.push(viewable);
140
- }
141
- }
142
- for (const [key, viewable] of prevItems) {
143
- if (!nextItems.has(key)) {
144
- changed.push({
145
- ...viewable,
146
- isViewable: false
147
- });
148
- }
149
- }
150
- if (changed.length > 0) {
151
- this._viewableItems = nextItems;
152
- onViewableItemsChanged({
153
- viewableItems: Array.from(nextItems.values()),
154
- changed
155
- });
156
- }
157
- }
158
- }
28
+ var ViewabilityHelper = class {
29
+ _config;
30
+ _hasInteracted = false;
31
+ _timers = /* @__PURE__ */ new Set();
32
+ _viewableIndices = [];
33
+ _viewableItems = /* @__PURE__ */ new Map();
34
+ constructor(config = { viewAreaCoveragePercentThreshold: 0 }) {
35
+ this._config = config;
36
+ }
37
+ /**
38
+ * Cleanup, e.g. on unmount. Clears any pending timers.
39
+ */
40
+ dispose() {
41
+ this._timers.forEach(clearTimeout);
42
+ }
43
+ /**
44
+ * Determines which items are viewable based on the current metrics and config.
45
+ */
46
+ computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
47
+ const itemCount = props.getItemCount(props.data);
48
+ const { itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold } = this._config;
49
+ const viewAreaMode = viewAreaCoveragePercentThreshold != null;
50
+ const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
51
+ (0, import_react_native_web_internals.invariant)(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
52
+ const viewableIndices = [];
53
+ if (itemCount === 0) {
54
+ return viewableIndices;
55
+ }
56
+ let firstVisible = -1;
57
+ const { first, last } = renderRange || {
58
+ first: 0,
59
+ last: itemCount - 1
60
+ };
61
+ if (last >= itemCount) {
62
+ console.warn("Invalid render range computing viewability " + JSON.stringify({
63
+ renderRange,
64
+ itemCount
65
+ }));
66
+ return [];
67
+ }
68
+ for (let idx = first; idx <= last; idx++) {
69
+ const metrics = getFrameMetrics(idx, props);
70
+ if (!metrics) {
71
+ continue;
72
+ }
73
+ const top = metrics.offset - scrollOffset;
74
+ const bottom = top + metrics.length;
75
+ if (top < viewportHeight && bottom > 0) {
76
+ firstVisible = idx;
77
+ if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
78
+ viewableIndices.push(idx);
79
+ }
80
+ } else if (firstVisible >= 0) {
81
+ break;
82
+ }
83
+ }
84
+ return viewableIndices;
85
+ }
86
+ /**
87
+ * Figures out which items are viewable and how that has changed from before and calls
88
+ * `onViewableItemsChanged` as appropriate.
89
+ */
90
+ onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
91
+ const itemCount = props.getItemCount(props.data);
92
+ if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
93
+ return;
94
+ }
95
+ let viewableIndices = [];
96
+ if (itemCount) {
97
+ viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
98
+ }
99
+ if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
100
+ return;
101
+ }
102
+ this._viewableIndices = viewableIndices;
103
+ if (this._config.minimumViewTime) {
104
+ const handle = setTimeout(() => {
105
+ this._timers.delete(handle);
106
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
107
+ }, this._config.minimumViewTime);
108
+ this._timers.add(handle);
109
+ } else {
110
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
111
+ }
112
+ }
113
+ resetViewableIndices() {
114
+ this._viewableIndices = [];
115
+ }
116
+ recordInteraction() {
117
+ this._hasInteracted = true;
118
+ }
119
+ _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
120
+ viewableIndicesToCheck = viewableIndicesToCheck.filter((ii) => this._viewableIndices.includes(ii));
121
+ const prevItems = this._viewableItems;
122
+ const nextItems = new Map(viewableIndicesToCheck.map((ii) => {
123
+ const viewable = createViewToken(ii, true, props);
124
+ return [viewable.key, viewable];
125
+ }));
126
+ const changed = [];
127
+ for (const [key, viewable] of nextItems) {
128
+ if (!prevItems.has(key)) {
129
+ changed.push(viewable);
130
+ }
131
+ }
132
+ for (const [key, viewable] of prevItems) {
133
+ if (!nextItems.has(key)) {
134
+ changed.push({
135
+ ...viewable,
136
+ isViewable: false
137
+ });
138
+ }
139
+ }
140
+ if (changed.length > 0) {
141
+ this._viewableItems = nextItems;
142
+ onViewableItemsChanged({
143
+ viewableItems: Array.from(nextItems.values()),
144
+ changed
145
+ });
146
+ }
147
+ }
148
+ };
159
149
  function _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {
160
- if (_isEntirelyVisible(top, bottom, viewportHeight)) {
161
- return true;
162
- } else {
163
- const pixels = _getPixelsVisible(top, bottom, viewportHeight);
164
- const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
165
- return percent >= viewablePercentThreshold;
166
- }
150
+ if (_isEntirelyVisible(top, bottom, viewportHeight)) {
151
+ return true;
152
+ } else {
153
+ const pixels = _getPixelsVisible(top, bottom, viewportHeight);
154
+ const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
155
+ return percent >= viewablePercentThreshold;
156
+ }
167
157
  }
168
158
  function _getPixelsVisible(top, bottom, viewportHeight) {
169
- const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
170
- return Math.max(0, visibleHeight);
159
+ const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
160
+ return Math.max(0, visibleHeight);
171
161
  }
172
162
  function _isEntirelyVisible(top, bottom, viewportHeight) {
173
- return top >= 0 && bottom <= viewportHeight && bottom > top;
163
+ return top >= 0 && bottom <= viewportHeight && bottom > top;
174
164
  }
175
- var ViewabilityHelper_default = ViewabilityHelper;
165
+ var ViewabilityHelper_default = ViewabilityHelper;
@@ -3,142 +3,140 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
10
  };
11
11
  var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
19
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
21
  var VirtualizeUtils_exports = {};
24
22
  __export(VirtualizeUtils_exports, {
25
- computeWindowedRenderLimits: () => computeWindowedRenderLimits,
26
- elementsThatOverlapOffsets: () => elementsThatOverlapOffsets,
27
- keyExtractor: () => keyExtractor,
28
- newRangeCount: () => newRangeCount
23
+ computeWindowedRenderLimits: () => computeWindowedRenderLimits,
24
+ elementsThatOverlapOffsets: () => elementsThatOverlapOffsets,
25
+ keyExtractor: () => keyExtractor,
26
+ newRangeCount: () => newRangeCount
29
27
  });
30
28
  module.exports = __toCommonJS(VirtualizeUtils_exports);
31
29
  function elementsThatOverlapOffsets(offsets, props, getFrameMetrics, zoomScale = 1) {
32
- const itemCount = props.getItemCount(props.data);
33
- const result = [];
34
- for (let offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {
35
- const currentOffset = offsets[offsetIndex];
36
- let left = 0;
37
- let right = itemCount - 1;
38
- while (left <= right) {
39
- const mid = left + (right - left >>> 1);
40
- const frame = getFrameMetrics(mid, props);
41
- const scaledOffsetStart = frame.offset * zoomScale;
42
- const scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;
43
- if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {
44
- right = mid - 1;
45
- } else if (currentOffset > scaledOffsetEnd) {
46
- left = mid + 1;
47
- } else {
48
- result[offsetIndex] = mid;
49
- break;
50
- }
51
- }
52
- }
53
- return result;
30
+ const itemCount = props.getItemCount(props.data);
31
+ const result = [];
32
+ for (let offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {
33
+ const currentOffset = offsets[offsetIndex];
34
+ let left = 0;
35
+ let right = itemCount - 1;
36
+ while (left <= right) {
37
+ const mid = left + (right - left >>> 1);
38
+ const frame = getFrameMetrics(mid, props);
39
+ const scaledOffsetStart = frame.offset * zoomScale;
40
+ const scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;
41
+ if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {
42
+ right = mid - 1;
43
+ } else if (currentOffset > scaledOffsetEnd) {
44
+ left = mid + 1;
45
+ } else {
46
+ result[offsetIndex] = mid;
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ return result;
54
52
  }
55
53
  function newRangeCount(prev, next) {
56
- return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));
54
+ return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));
57
55
  }
58
56
  function computeWindowedRenderLimits(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {
59
- const itemCount = props.getItemCount(props.data);
60
- if (itemCount === 0) {
61
- return {
62
- first: 0,
63
- last: -1
64
- };
65
- }
66
- const {
67
- offset,
68
- velocity,
69
- visibleLength,
70
- zoomScale = 1
71
- } = scrollMetrics;
72
- const visibleBegin = Math.max(0, offset);
73
- const visibleEnd = visibleBegin + visibleLength;
74
- const overscanLength = (windowSize - 1) * visibleLength;
75
- const leadFactor = 0.5;
76
- const fillPreference = velocity > 1 ? "after" : velocity < -1 ? "before" : "none";
77
- const overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);
78
- const overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);
79
- const lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale;
80
- if (lastItemOffset < overscanBegin) {
81
- return {
82
- first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),
83
- last: itemCount - 1
84
- };
85
- }
86
- let [overscanFirst, first, last, overscanLast] = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale);
87
- overscanFirst = overscanFirst == null ? 0 : overscanFirst;
88
- first = first == null ? Math.max(0, overscanFirst) : first;
89
- overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;
90
- last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;
91
- const visible = {
92
- first,
93
- last
94
- };
95
- let newCellCount = newRangeCount(prev, visible);
96
- while (true) {
97
- if (first <= overscanFirst && last >= overscanLast) {
98
- break;
99
- }
100
- const maxNewCells = newCellCount >= maxToRenderPerBatch;
101
- const firstWillAddMore = first <= prev.first || first > prev.last;
102
- const firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);
103
- const lastWillAddMore = last >= prev.last || last < prev.first;
104
- const lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);
105
- if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {
106
- break;
107
- }
108
- if (firstShouldIncrement && !(fillPreference === "after" && lastShouldIncrement && lastWillAddMore)) {
109
- if (firstWillAddMore) {
110
- newCellCount++;
111
- }
112
- first--;
113
- }
114
- if (lastShouldIncrement && !(fillPreference === "before" && firstShouldIncrement && firstWillAddMore)) {
115
- if (lastWillAddMore) {
116
- newCellCount++;
117
- }
118
- last++;
119
- }
120
- }
121
- if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {
122
- throw new Error("Bad window calculation " + JSON.stringify({
123
- first,
124
- last,
125
- itemCount,
126
- overscanFirst,
127
- overscanLast,
128
- visible
129
- }));
130
- }
131
- return {
132
- first,
133
- last
134
- };
57
+ const itemCount = props.getItemCount(props.data);
58
+ if (itemCount === 0) {
59
+ return {
60
+ first: 0,
61
+ last: -1
62
+ };
63
+ }
64
+ const { offset, velocity, visibleLength, zoomScale = 1 } = scrollMetrics;
65
+ const visibleBegin = Math.max(0, offset);
66
+ const visibleEnd = visibleBegin + visibleLength;
67
+ const overscanLength = (windowSize - 1) * visibleLength;
68
+ const leadFactor = .5;
69
+ const fillPreference = velocity > 1 ? "after" : velocity < -1 ? "before" : "none";
70
+ const overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);
71
+ const overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);
72
+ const lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale;
73
+ if (lastItemOffset < overscanBegin) {
74
+ return {
75
+ first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),
76
+ last: itemCount - 1
77
+ };
78
+ }
79
+ let [overscanFirst, first, last, overscanLast] = elementsThatOverlapOffsets([
80
+ overscanBegin,
81
+ visibleBegin,
82
+ visibleEnd,
83
+ overscanEnd
84
+ ], props, getFrameMetricsApprox, zoomScale);
85
+ overscanFirst = overscanFirst == null ? 0 : overscanFirst;
86
+ first = first == null ? Math.max(0, overscanFirst) : first;
87
+ overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;
88
+ last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;
89
+ const visible = {
90
+ first,
91
+ last
92
+ };
93
+ let newCellCount = newRangeCount(prev, visible);
94
+ while (true) {
95
+ if (first <= overscanFirst && last >= overscanLast) {
96
+ break;
97
+ }
98
+ const maxNewCells = newCellCount >= maxToRenderPerBatch;
99
+ const firstWillAddMore = first <= prev.first || first > prev.last;
100
+ const firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);
101
+ const lastWillAddMore = last >= prev.last || last < prev.first;
102
+ const lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);
103
+ if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {
104
+ break;
105
+ }
106
+ if (firstShouldIncrement && !(fillPreference === "after" && lastShouldIncrement && lastWillAddMore)) {
107
+ if (firstWillAddMore) {
108
+ newCellCount++;
109
+ }
110
+ first--;
111
+ }
112
+ if (lastShouldIncrement && !(fillPreference === "before" && firstShouldIncrement && firstWillAddMore)) {
113
+ if (lastWillAddMore) {
114
+ newCellCount++;
115
+ }
116
+ last++;
117
+ }
118
+ }
119
+ if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {
120
+ throw new Error("Bad window calculation " + JSON.stringify({
121
+ first,
122
+ last,
123
+ itemCount,
124
+ overscanFirst,
125
+ overscanLast,
126
+ visible
127
+ }));
128
+ }
129
+ return {
130
+ first,
131
+ last
132
+ };
135
133
  }
136
134
  function keyExtractor(item, index) {
137
- if (typeof item === "object" && item?.key != null) {
138
- return item.key;
139
- }
140
- if (typeof item === "object" && item?.id != null) {
141
- return item.id;
142
- }
143
- return String(index);
144
- }
135
+ if (typeof item === "object" && item?.key != null) {
136
+ return item.key;
137
+ }
138
+ if (typeof item === "object" && item?.id != null) {
139
+ return item.id;
140
+ }
141
+ return String(index);
142
+ }