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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/dist/cjs/AccessibilityInfo/index.cjs +82 -87
  2. package/dist/cjs/ActivityIndicator/index.cjs +83 -103
  3. package/dist/cjs/Alert/index.cjs +17 -20
  4. package/dist/cjs/AppRegistry/AppContainer.cjs +37 -52
  5. package/dist/cjs/AppRegistry/index.cjs +69 -81
  6. package/dist/cjs/AppRegistry/renderApplication.cjs +42 -54
  7. package/dist/cjs/AppState/index.cjs +60 -67
  8. package/dist/cjs/Appearance/index.cjs +40 -49
  9. package/dist/cjs/BackHandler/index.cjs +20 -25
  10. package/dist/cjs/Clipboard/index.cjs +50 -53
  11. package/dist/cjs/DeviceEmitter.cjs +15 -18
  12. package/dist/cjs/DeviceInfo/index.cjs +50 -63
  13. package/dist/cjs/Dimensions/index.cjs +86 -89
  14. package/dist/cjs/FlatList.cjs +177 -211
  15. package/dist/cjs/I18nManager/index.cjs +24 -29
  16. package/dist/cjs/Image/index.cjs +277 -308
  17. package/dist/cjs/Image/types.cjs +10 -11
  18. package/dist/cjs/ImageBackground/index.cjs +35 -48
  19. package/dist/cjs/InteractionManager/TaskQueue.cjs +95 -100
  20. package/dist/cjs/InteractionManager/index.cjs +105 -115
  21. package/dist/cjs/Keyboard/index.cjs +23 -28
  22. package/dist/cjs/KeyboardAvoidingView/index.cjs +41 -54
  23. package/dist/cjs/Libraries/Pressability/Pressability.cjs +15 -18
  24. package/dist/cjs/Libraries/Pressability/usePressability.cjs +15 -18
  25. package/dist/cjs/Linking/index.cjs +86 -89
  26. package/dist/cjs/LogBox/index.cjs +20 -21
  27. package/dist/cjs/Modal/ModalAnimation.cjs +131 -151
  28. package/dist/cjs/Modal/ModalContent.cjs +57 -77
  29. package/dist/cjs/Modal/ModalPortal.cjs +38 -46
  30. package/dist/cjs/Modal/index.cjs +15 -18
  31. package/dist/cjs/NativeModules/index.cjs +15 -20
  32. package/dist/cjs/PanResponder/index.cjs +18 -26
  33. package/dist/cjs/PixelRatio/index.cjs +45 -48
  34. package/dist/cjs/Pressable/index.cjs +130 -142
  35. package/dist/cjs/RefreshControl/index.cjs +18 -35
  36. package/dist/cjs/SafeAreaView/index.cjs +35 -46
  37. package/dist/cjs/ScrollView/WebScrollView.cjs +270 -0
  38. package/dist/cjs/ScrollView/index.cjs +15 -662
  39. package/dist/cjs/SectionList.cjs +19 -25
  40. package/dist/cjs/Share/index.cjs +44 -47
  41. package/dist/cjs/StatusBar/index.cjs +17 -18
  42. package/dist/cjs/Text/index.cjs +133 -171
  43. package/dist/cjs/Text/types.cjs +10 -11
  44. package/dist/cjs/TextInput/index.cjs +281 -359
  45. package/dist/cjs/TextInput/types.cjs +10 -11
  46. package/dist/cjs/TouchableNativeFeedback.cjs +15 -18
  47. package/dist/cjs/TouchableOpacity.cjs +91 -99
  48. package/dist/cjs/TouchableWithoutFeedback.cjs +65 -74
  49. package/dist/cjs/UnimplementedView.cjs +26 -36
  50. package/dist/cjs/Vibration/index.cjs +25 -28
  51. package/dist/cjs/View/index.cjs +89 -121
  52. package/dist/cjs/View/types.cjs +10 -11
  53. package/dist/cjs/VirtualizedList.cjs +19 -25
  54. package/dist/cjs/codegenNativeCommands.cjs +32 -0
  55. package/dist/cjs/codegenNativeComponent.cjs +19 -18
  56. package/dist/cjs/createElement/index.cjs +52 -70
  57. package/dist/cjs/createReactDOMStyle.cjs +16 -17
  58. package/dist/cjs/index.cjs +106 -106
  59. package/dist/cjs/modules/requestIdleCallback.cjs +28 -29
  60. package/dist/cjs/preprocess.cjs +19 -20
  61. package/dist/cjs/render/index.cjs +18 -19
  62. package/dist/cjs/styleTypes.cjs +10 -11
  63. package/dist/cjs/types.cjs +10 -11
  64. package/dist/cjs/useColorScheme/index.cjs +27 -37
  65. package/dist/cjs/useLocaleContext/index.cjs +15 -18
  66. package/dist/cjs/useWindowDimensions/index.cjs +32 -42
  67. package/dist/cjs/vendor/react-native/Animated/Animated.cjs +23 -24
  68. package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.cjs +136 -141
  69. package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.cjs +500 -533
  70. package/dist/cjs/vendor/react-native/Animated/AnimatedMock.cjs +100 -109
  71. package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.cjs +2 -1
  72. package/dist/cjs/vendor/react-native/Animated/Easing.cjs +182 -183
  73. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.cjs +302 -328
  74. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.cjs +48 -56
  75. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.cjs +46 -53
  76. package/dist/cjs/vendor/react-native/Animated/SpringConfig.cjs +63 -64
  77. package/dist/cjs/vendor/react-native/Animated/animations/Animation.cjs +52 -56
  78. package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.cjs +74 -79
  79. package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.cjs +210 -215
  80. package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.cjs +107 -116
  81. package/dist/cjs/vendor/react-native/Animated/bezier.cjs +83 -88
  82. package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.cjs +23 -29
  83. package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.cjs +19 -25
  84. package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.cjs +23 -29
  85. package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.cjs +23 -29
  86. package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.cjs +16 -17
  87. package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.cjs +16 -17
  88. package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.cjs +32 -44
  89. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.cjs +51 -52
  90. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.cjs +244 -247
  91. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.cjs +59 -60
  92. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.cjs +65 -66
  93. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.cjs +185 -188
  94. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.cjs +49 -50
  95. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.cjs +51 -52
  96. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.cjs +152 -156
  97. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.cjs +133 -134
  98. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.cjs +113 -116
  99. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.cjs +51 -52
  100. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.cjs +73 -75
  101. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.cjs +109 -110
  102. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.cjs +212 -216
  103. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.cjs +96 -103
  104. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.cjs +70 -71
  105. package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.cjs +75 -76
  106. package/dist/cjs/vendor/react-native/Batchinator/index.cjs +46 -57
  107. package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.cjs +54 -57
  108. package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.cjs +16 -17
  109. package/dist/cjs/vendor/react-native/FeatureFlags.cjs +21 -24
  110. package/dist/cjs/vendor/react-native/FillRateHelper/index.cjs +165 -173
  111. package/dist/cjs/vendor/react-native/FlatList/index.cjs +259 -294
  112. package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.cjs +66 -69
  113. package/dist/cjs/vendor/react-native/LayoutAnimation/index.cjs +87 -91
  114. package/dist/cjs/vendor/react-native/PanResponder/index.cjs +170 -176
  115. package/dist/cjs/vendor/react-native/PooledClass/index.cjs +42 -43
  116. package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.cjs +21 -22
  117. package/dist/cjs/vendor/react-native/SectionList/index.cjs +95 -110
  118. package/dist/cjs/vendor/react-native/StaticContainer/index.cjs +28 -34
  119. package/dist/cjs/vendor/react-native/StaticRenderer/index.cjs +27 -33
  120. package/dist/cjs/vendor/react-native/TouchHistoryMath/index.cjs +82 -111
  121. package/dist/cjs/vendor/react-native/TurboModule/RCTExport.cjs +17 -22
  122. package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.cjs +20 -21
  123. package/dist/cjs/vendor/react-native/Types/CoreEventTypes.cjs +124 -127
  124. package/dist/cjs/vendor/react-native/Utilities/Platform.cjs +16 -17
  125. package/dist/cjs/vendor/react-native/Utilities/clamp.cjs +23 -24
  126. package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.cjs +26 -30
  127. package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.cjs +27 -30
  128. package/dist/cjs/vendor/react-native/Utilities/useRefEffect.cjs +26 -27
  129. package/dist/cjs/vendor/react-native/ViewabilityHelper/index.cjs +154 -163
  130. package/dist/cjs/vendor/react-native/ViewabilityHelper.cjs +147 -156
  131. package/dist/cjs/vendor/react-native/VirtualizeUtils/index.cjs +124 -125
  132. package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.cjs +100 -99
  133. package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.cjs +63 -64
  134. package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.cjs +66 -75
  135. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.cjs +104 -160
  136. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.cjs +56 -64
  137. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.cjs +51 -52
  138. package/dist/cjs/vendor/react-native/VirtualizedList/index.cjs +222 -284
  139. package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.cjs +124 -144
  140. package/dist/cjs/vendor/react-native/deepDiffer/index.cjs +58 -59
  141. package/dist/cjs/vendor/react-native/emitter/EventEmitter.cjs +16 -17
  142. package/dist/cjs/vendor/react-native/emitter/EventSubscription.cjs +2 -1
  143. package/dist/cjs/vendor/react-native/emitter/_EmitterSubscription.cjs +43 -44
  144. package/dist/cjs/vendor/react-native/emitter/_EventEmitter.cjs +115 -120
  145. package/dist/cjs/vendor/react-native/emitter/_EventSubscription.cjs +31 -32
  146. package/dist/cjs/vendor/react-native/emitter/_EventSubscriptionVendor.cjs +80 -81
  147. package/dist/cjs/vendor/react-native/infoLog/index.cjs +17 -18
  148. package/dist/cjs/vendor/react-native/useRefEffect.cjs +26 -27
  149. package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.cjs +88 -89
  150. package/dist/cjs/without-animated.cjs +255 -267
  151. package/dist/esm/AccessibilityInfo/index.mjs +69 -69
  152. package/dist/esm/AccessibilityInfo/index.mjs.map +1 -1
  153. package/dist/esm/ActivityIndicator/index.mjs +66 -78
  154. package/dist/esm/ActivityIndicator/index.mjs.map +1 -1
  155. package/dist/esm/Alert/index.mjs +4 -3
  156. package/dist/esm/Alert/index.mjs.map +1 -1
  157. package/dist/esm/AppRegistry/AppContainer.mjs +21 -28
  158. package/dist/esm/AppRegistry/AppContainer.mjs.map +1 -1
  159. package/dist/esm/AppRegistry/index.mjs +58 -65
  160. package/dist/esm/AppRegistry/index.mjs.map +1 -1
  161. package/dist/esm/AppRegistry/renderApplication.mjs +30 -40
  162. package/dist/esm/AppRegistry/renderApplication.mjs.map +1 -1
  163. package/dist/esm/AppState/index.mjs +48 -50
  164. package/dist/esm/AppState/index.mjs.map +1 -1
  165. package/dist/esm/Appearance/index.mjs +27 -31
  166. package/dist/esm/Appearance/index.mjs.map +1 -1
  167. package/dist/esm/BackHandler/index.mjs +6 -7
  168. package/dist/esm/BackHandler/index.mjs.map +1 -1
  169. package/dist/esm/Clipboard/index.mjs +37 -36
  170. package/dist/esm/Clipboard/index.mjs.map +1 -1
  171. package/dist/esm/DeviceEmitter.mjs +2 -0
  172. package/dist/esm/DeviceEmitter.mjs.map +1 -1
  173. package/dist/esm/DeviceInfo/index.mjs +37 -45
  174. package/dist/esm/DeviceInfo/index.mjs.map +1 -1
  175. package/dist/esm/Dimensions/index.mjs +72 -72
  176. package/dist/esm/Dimensions/index.mjs.map +1 -1
  177. package/dist/esm/FlatList.mjs +162 -188
  178. package/dist/esm/FlatList.mjs.map +1 -1
  179. package/dist/esm/I18nManager/index.mjs +10 -11
  180. package/dist/esm/I18nManager/index.mjs.map +1 -1
  181. package/dist/esm/Image/index.mjs +261 -285
  182. package/dist/esm/Image/index.mjs.map +1 -1
  183. package/dist/esm/Image/types.mjs +0 -2
  184. package/dist/esm/ImageBackground/index.mjs +21 -31
  185. package/dist/esm/ImageBackground/index.mjs.map +1 -1
  186. package/dist/esm/InteractionManager/TaskQueue.mjs +83 -83
  187. package/dist/esm/InteractionManager/TaskQueue.mjs.map +1 -1
  188. package/dist/esm/InteractionManager/index.mjs +89 -89
  189. package/dist/esm/InteractionManager/index.mjs.map +1 -1
  190. package/dist/esm/Keyboard/index.mjs +10 -10
  191. package/dist/esm/Keyboard/index.mjs.map +1 -1
  192. package/dist/esm/KeyboardAvoidingView/index.mjs +24 -29
  193. package/dist/esm/KeyboardAvoidingView/index.mjs.map +1 -1
  194. package/dist/esm/Libraries/Pressability/Pressability.mjs +1 -0
  195. package/dist/esm/Libraries/Pressability/Pressability.mjs.map +1 -1
  196. package/dist/esm/Libraries/Pressability/usePressability.mjs +2 -1
  197. package/dist/esm/Libraries/Pressability/usePressability.mjs.map +1 -1
  198. package/dist/esm/Linking/index.mjs +73 -71
  199. package/dist/esm/Linking/index.mjs.map +1 -1
  200. package/dist/esm/LogBox/index.mjs +5 -4
  201. package/dist/esm/LogBox/index.mjs.map +1 -1
  202. package/dist/esm/Modal/ModalAnimation.mjs +116 -126
  203. package/dist/esm/Modal/ModalAnimation.mjs.map +1 -1
  204. package/dist/esm/Modal/ModalContent.mjs +41 -51
  205. package/dist/esm/Modal/ModalContent.mjs.map +1 -1
  206. package/dist/esm/Modal/ModalPortal.mjs +22 -20
  207. package/dist/esm/Modal/ModalPortal.mjs.map +1 -1
  208. package/dist/esm/Modal/index.mjs +1 -0
  209. package/dist/esm/Modal/index.mjs.map +1 -1
  210. package/dist/esm/NativeModules/index.mjs +3 -3
  211. package/dist/esm/NativeModules/index.mjs.map +1 -1
  212. package/dist/esm/PanResponder/index.mjs +3 -3
  213. package/dist/esm/PixelRatio/index.mjs +33 -31
  214. package/dist/esm/PixelRatio/index.mjs.map +1 -1
  215. package/dist/esm/Pressable/index.mjs +114 -119
  216. package/dist/esm/Pressable/index.mjs.map +1 -1
  217. package/dist/esm/RefreshControl/index.mjs +4 -18
  218. package/dist/esm/RefreshControl/index.mjs.map +1 -1
  219. package/dist/esm/SafeAreaView/index.mjs +18 -21
  220. package/dist/esm/SafeAreaView/index.mjs.map +1 -1
  221. package/dist/esm/ScrollView/WebScrollView.mjs +244 -0
  222. package/dist/esm/ScrollView/WebScrollView.mjs.map +1 -0
  223. package/dist/esm/ScrollView/index.mjs +3 -635
  224. package/dist/esm/SectionList.mjs +3 -4
  225. package/dist/esm/Share/index.mjs +32 -30
  226. package/dist/esm/Share/index.mjs.map +1 -1
  227. package/dist/esm/StatusBar/index.mjs +2 -1
  228. package/dist/esm/StatusBar/index.mjs.map +1 -1
  229. package/dist/esm/Text/index.mjs +116 -146
  230. package/dist/esm/Text/index.mjs.map +1 -1
  231. package/dist/esm/Text/types.mjs +0 -2
  232. package/dist/esm/TextInput/index.mjs +265 -336
  233. package/dist/esm/TextInput/index.mjs.map +1 -1
  234. package/dist/esm/TextInput/types.mjs +0 -2
  235. package/dist/esm/TouchableNativeFeedback.mjs +2 -2
  236. package/dist/esm/TouchableOpacity.mjs +75 -73
  237. package/dist/esm/TouchableOpacity.mjs.map +1 -1
  238. package/dist/esm/TouchableWithoutFeedback.mjs +49 -48
  239. package/dist/esm/TouchableWithoutFeedback.mjs.map +1 -1
  240. package/dist/esm/UnimplementedView.mjs +11 -11
  241. package/dist/esm/UnimplementedView.mjs.map +1 -1
  242. package/dist/esm/Vibration/index.mjs +11 -10
  243. package/dist/esm/Vibration/index.mjs.map +1 -1
  244. package/dist/esm/View/index.mjs +73 -97
  245. package/dist/esm/View/index.mjs.map +1 -1
  246. package/dist/esm/View/types.mjs +0 -2
  247. package/dist/esm/VirtualizedList.mjs +3 -4
  248. package/dist/esm/codegenNativeCommands.mjs +8 -0
  249. package/dist/esm/codegenNativeCommands.mjs.map +1 -0
  250. package/dist/esm/codegenNativeComponent.mjs +5 -3
  251. package/dist/esm/codegenNativeComponent.mjs.map +1 -1
  252. package/dist/esm/createElement/index.mjs +35 -45
  253. package/dist/esm/createElement/index.mjs.map +1 -1
  254. package/dist/esm/createReactDOMStyle.mjs +2 -0
  255. package/dist/esm/createReactDOMStyle.mjs.map +1 -1
  256. package/dist/esm/index.js +15 -10
  257. package/dist/esm/index.js.map +1 -1
  258. package/dist/esm/index.mjs +15 -10
  259. package/dist/esm/index.mjs.map +1 -1
  260. package/dist/esm/modules/requestIdleCallback.mjs +13 -12
  261. package/dist/esm/modules/requestIdleCallback.mjs.map +1 -1
  262. package/dist/esm/preprocess.mjs +3 -3
  263. package/dist/esm/render/index.mjs +1 -0
  264. package/dist/esm/render/index.mjs.map +1 -1
  265. package/dist/esm/styleTypes.mjs +0 -2
  266. package/dist/esm/types.mjs +0 -2
  267. package/dist/esm/useColorScheme/index.mjs +11 -11
  268. package/dist/esm/useColorScheme/index.mjs.map +1 -1
  269. package/dist/esm/useLocaleContext/index.mjs +2 -2
  270. package/dist/esm/useWindowDimensions/index.mjs +16 -16
  271. package/dist/esm/useWindowDimensions/index.mjs.map +1 -1
  272. package/dist/esm/vendor/react-native/Animated/Animated.mjs +12 -10
  273. package/dist/esm/vendor/react-native/Animated/Animated.mjs.map +1 -1
  274. package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs +124 -127
  275. package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs.map +1 -1
  276. package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs +485 -515
  277. package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs.map +1 -1
  278. package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs +85 -91
  279. package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs.map +1 -1
  280. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs +0 -2
  281. package/dist/esm/vendor/react-native/Animated/Easing.mjs +169 -167
  282. package/dist/esm/vendor/react-native/Animated/Easing.mjs.map +1 -1
  283. package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs +273 -296
  284. package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs.map +1 -1
  285. package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs +26 -26
  286. package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs.map +1 -1
  287. package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs +24 -23
  288. package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs.map +1 -1
  289. package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs +48 -47
  290. package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs.map +1 -1
  291. package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs +38 -39
  292. package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs.map +1 -1
  293. package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs +60 -62
  294. package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs.map +1 -1
  295. package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs +196 -198
  296. package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs.map +1 -1
  297. package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs +93 -99
  298. package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs.map +1 -1
  299. package/dist/esm/vendor/react-native/Animated/bezier.mjs +68 -71
  300. package/dist/esm/vendor/react-native/Animated/bezier.mjs.map +1 -1
  301. package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs +7 -5
  302. package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs.map +1 -1
  303. package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs +3 -1
  304. package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs.map +1 -1
  305. package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs +7 -5
  306. package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs.map +1 -1
  307. package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs +7 -5
  308. package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs.map +1 -1
  309. package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs +2 -0
  310. package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs.map +1 -1
  311. package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs +2 -0
  312. package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs.map +1 -1
  313. package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs +15 -19
  314. package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs.map +1 -1
  315. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs +37 -35
  316. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs.map +1 -1
  317. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs +230 -230
  318. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs.map +1 -1
  319. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs +45 -43
  320. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs.map +1 -1
  321. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs +51 -49
  322. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs.map +1 -1
  323. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs +172 -172
  324. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs.map +1 -1
  325. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs +35 -33
  326. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs.map +1 -1
  327. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs +37 -35
  328. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs.map +1 -1
  329. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs +138 -139
  330. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs.map +1 -1
  331. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs +119 -117
  332. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs.map +1 -1
  333. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs +99 -99
  334. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs.map +1 -1
  335. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs +37 -35
  336. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs.map +1 -1
  337. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs +60 -59
  338. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs.map +1 -1
  339. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs +95 -93
  340. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs.map +1 -1
  341. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs +198 -199
  342. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs.map +1 -1
  343. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs +82 -86
  344. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs.map +1 -1
  345. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs +56 -54
  346. package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs.map +1 -1
  347. package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs +61 -59
  348. package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs.map +1 -1
  349. package/dist/esm/vendor/react-native/Batchinator/index.mjs +32 -40
  350. package/dist/esm/vendor/react-native/Batchinator/index.mjs.map +1 -1
  351. package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs +40 -40
  352. package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs.map +1 -1
  353. package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs +2 -0
  354. package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs.map +1 -1
  355. package/dist/esm/vendor/react-native/FeatureFlags.mjs +7 -6
  356. package/dist/esm/vendor/react-native/FeatureFlags.mjs.map +1 -1
  357. package/dist/esm/vendor/react-native/FillRateHelper/index.mjs +150 -156
  358. package/dist/esm/vendor/react-native/FillRateHelper/index.mjs.map +1 -1
  359. package/dist/esm/vendor/react-native/FlatList/index.mjs +244 -271
  360. package/dist/esm/vendor/react-native/FlatList/index.mjs.map +1 -1
  361. package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs +52 -52
  362. package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs.map +1 -1
  363. package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs +73 -74
  364. package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs.map +1 -1
  365. package/dist/esm/vendor/react-native/PanResponder/index.mjs +153 -151
  366. package/dist/esm/vendor/react-native/PanResponder/index.mjs.map +1 -1
  367. package/dist/esm/vendor/react-native/PooledClass/index.mjs +27 -26
  368. package/dist/esm/vendor/react-native/PooledClass/index.mjs.map +1 -1
  369. package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs +6 -5
  370. package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs.map +1 -1
  371. package/dist/esm/vendor/react-native/SectionList/index.mjs +78 -85
  372. package/dist/esm/vendor/react-native/SectionList/index.mjs.map +1 -1
  373. package/dist/esm/vendor/react-native/StaticContainer/index.mjs +11 -9
  374. package/dist/esm/vendor/react-native/StaticContainer/index.mjs.map +1 -1
  375. package/dist/esm/vendor/react-native/StaticRenderer/index.mjs +10 -8
  376. package/dist/esm/vendor/react-native/StaticRenderer/index.mjs.map +1 -1
  377. package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs +67 -94
  378. package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs.map +1 -1
  379. package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs +3 -6
  380. package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs.map +1 -1
  381. package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs +6 -4
  382. package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs.map +1 -1
  383. package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs +105 -106
  384. package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs.map +1 -1
  385. package/dist/esm/vendor/react-native/Utilities/Platform.mjs +2 -0
  386. package/dist/esm/vendor/react-native/Utilities/Platform.mjs.map +1 -1
  387. package/dist/esm/vendor/react-native/Utilities/clamp.mjs +8 -7
  388. package/dist/esm/vendor/react-native/Utilities/clamp.mjs.map +1 -1
  389. package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs +11 -13
  390. package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs.map +1 -1
  391. package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs +13 -13
  392. package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs.map +1 -1
  393. package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs +12 -10
  394. package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs.map +1 -1
  395. package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs +140 -146
  396. package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs.map +1 -1
  397. package/dist/esm/vendor/react-native/ViewabilityHelper.mjs +133 -139
  398. package/dist/esm/vendor/react-native/ViewabilityHelper.mjs.map +1 -1
  399. package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs +107 -106
  400. package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs.map +1 -1
  401. package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs +88 -82
  402. package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs.map +1 -1
  403. package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs +49 -47
  404. package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs.map +1 -1
  405. package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs +49 -50
  406. package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs.map +1 -1
  407. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs +87 -135
  408. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs.map +1 -1
  409. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs +38 -38
  410. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs.map +1 -1
  411. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs +36 -35
  412. package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs.map +1 -1
  413. package/dist/esm/vendor/react-native/VirtualizedList/index.mjs +207 -266
  414. package/dist/esm/vendor/react-native/VirtualizedList/index.mjs.map +1 -1
  415. package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs +107 -119
  416. package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs.map +1 -1
  417. package/dist/esm/vendor/react-native/deepDiffer/index.mjs +43 -42
  418. package/dist/esm/vendor/react-native/deepDiffer/index.mjs.map +1 -1
  419. package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs +2 -0
  420. package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs.map +1 -1
  421. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs +0 -2
  422. package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs +29 -27
  423. package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs.map +1 -1
  424. package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs +101 -103
  425. package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs.map +1 -1
  426. package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs +16 -15
  427. package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs.map +1 -1
  428. package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs +66 -64
  429. package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs.map +1 -1
  430. package/dist/esm/vendor/react-native/infoLog/index.mjs +2 -1
  431. package/dist/esm/vendor/react-native/infoLog/index.mjs.map +1 -1
  432. package/dist/esm/vendor/react-native/useRefEffect.mjs +12 -10
  433. package/dist/esm/vendor/react-native/useRefEffect.mjs.map +1 -1
  434. package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs +71 -70
  435. package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs.map +1 -1
  436. package/dist/esm/without-animated.mjs +172 -187
  437. package/dist/esm/without-animated.mjs.map +1 -1
  438. package/package.json +12 -12
  439. package/src/ScrollView/WebScrollView.tsx +383 -0
  440. package/src/ScrollView/index.tsx +6 -892
  441. package/src/codegenNativeCommands.ts +6 -0
  442. package/src/codegenNativeComponent.ts +2 -2
  443. package/src/index.tsx +3 -0
  444. package/src/without-animated.tsx +1 -0
  445. package/dist/cjs/ActivityIndicator/__tests__/index-test.cjs +0 -209
  446. package/dist/cjs/AppRegistry/__tests__/index-test.cjs +0 -97
  447. package/dist/cjs/AppRegistry/__tests__/index-test.node.cjs +0 -162
  448. package/dist/cjs/AppState/__tests__/index-test.cjs +0 -38
  449. package/dist/cjs/Dimensions/__tests__/index-test.cjs +0 -67
  450. package/dist/cjs/ImageBackground/__tests__/index-test.cjs +0 -72
  451. package/dist/cjs/Linking/__tests__/index-test.cjs +0 -56
  452. package/dist/cjs/ScrollView/ScrollViewBase.cjs +0 -167
  453. package/dist/cjs/codegenNativeCommand.cjs +0 -31
  454. package/dist/cjs/createElement/__tests__/index-test.cjs +0 -828
  455. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs +0 -186
  456. package/dist/esm/ActivityIndicator/__tests__/index-test.mjs.map +0 -1
  457. package/dist/esm/AppRegistry/__tests__/index-test.mjs +0 -74
  458. package/dist/esm/AppRegistry/__tests__/index-test.mjs.map +0 -1
  459. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs +0 -139
  460. package/dist/esm/AppRegistry/__tests__/index-test.node.mjs.map +0 -1
  461. package/dist/esm/AppState/__tests__/index-test.mjs +0 -15
  462. package/dist/esm/AppState/__tests__/index-test.mjs.map +0 -1
  463. package/dist/esm/Dimensions/__tests__/index-test.mjs +0 -44
  464. package/dist/esm/Dimensions/__tests__/index-test.mjs.map +0 -1
  465. package/dist/esm/Image/types.mjs.map +0 -1
  466. package/dist/esm/ImageBackground/__tests__/index-test.mjs +0 -49
  467. package/dist/esm/ImageBackground/__tests__/index-test.mjs.map +0 -1
  468. package/dist/esm/Linking/__tests__/index-test.mjs +0 -33
  469. package/dist/esm/Linking/__tests__/index-test.mjs.map +0 -1
  470. package/dist/esm/PanResponder/index.mjs.map +0 -1
  471. package/dist/esm/ScrollView/ScrollViewBase.mjs +0 -130
  472. package/dist/esm/ScrollView/ScrollViewBase.mjs.map +0 -1
  473. package/dist/esm/ScrollView/index.mjs.map +0 -1
  474. package/dist/esm/SectionList.mjs.map +0 -1
  475. package/dist/esm/Text/types.mjs.map +0 -1
  476. package/dist/esm/TextInput/types.mjs.map +0 -1
  477. package/dist/esm/TouchableNativeFeedback.mjs.map +0 -1
  478. package/dist/esm/View/types.mjs.map +0 -1
  479. package/dist/esm/VirtualizedList.mjs.map +0 -1
  480. package/dist/esm/codegenNativeCommand.mjs +0 -6
  481. package/dist/esm/codegenNativeCommand.mjs.map +0 -1
  482. package/dist/esm/createElement/__tests__/index-test.mjs +0 -805
  483. package/dist/esm/createElement/__tests__/index-test.mjs.map +0 -1
  484. package/dist/esm/preprocess.mjs.map +0 -1
  485. package/dist/esm/styleTypes.mjs.map +0 -1
  486. package/dist/esm/types.mjs.map +0 -1
  487. package/dist/esm/useLocaleContext/index.mjs.map +0 -1
  488. package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs.map +0 -1
  489. package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs.map +0 -1
  490. package/src/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap +0 -466
  491. package/src/ActivityIndicator/__tests__/index-test.tsx +0 -147
  492. package/src/AppRegistry/__tests__/index-test.node.tsx +0 -144
  493. package/src/AppRegistry/__tests__/index-test.tsx +0 -94
  494. package/src/AppState/__tests__/index-test.tsx +0 -24
  495. package/src/Dimensions/__tests__/index-test.tsx +0 -54
  496. package/src/ImageBackground/__tests__/index-test.tsx +0 -49
  497. package/src/Linking/__tests__/index-test.tsx +0 -37
  498. package/src/Pressable/__tests__/__snapshots__/index-test.js.snap +0 -196
  499. package/src/ScrollView/ScrollViewBase.tsx +0 -183
  500. package/src/ScrollView/__tests__/__snapshots__/index-test.js.snap +0 -49
  501. package/src/Text/__tests__/__snapshots__/index-test.js.snap +0 -218
  502. package/src/codegenNativeCommand.ts +0 -6
  503. package/src/createElement/__tests__/__snapshots__/index-test.js.snap +0 -13
  504. package/src/createElement/__tests__/index-test.tsx +0 -647
@@ -1,175 +1,166 @@
1
+
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
6
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
7
+ for (var name in all) __defProp(target, name, {
8
+ get: all[name],
9
+ enumerable: true
10
+ });
10
11
  };
11
12
  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;
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ }
19
+ return to;
19
20
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
22
  var ViewabilityHelper_exports = {};
24
23
  __export(ViewabilityHelper_exports, {
25
- ViewabilityHelper: () => ViewabilityHelper,
26
- default: () => ViewabilityHelper_default
24
+ ViewabilityHelper: () => ViewabilityHelper,
25
+ default: () => ViewabilityHelper_default
27
26
  });
28
27
  module.exports = __toCommonJS(ViewabilityHelper_exports);
29
28
  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
- }
29
+ var ViewabilityHelper = class {
30
+ _config;
31
+ _hasInteracted = false;
32
+ _timers = /* @__PURE__ */ new Set();
33
+ _viewableIndices = [];
34
+ _viewableItems = /* @__PURE__ */ new Map();
35
+ constructor(config = { viewAreaCoveragePercentThreshold: 0 }) {
36
+ this._config = config;
37
+ }
38
+ /**
39
+ * Cleanup, e.g. on unmount. Clears any pending timers.
40
+ */
41
+ dispose() {
42
+ this._timers.forEach(clearTimeout);
43
+ }
44
+ /**
45
+ * Determines which items are viewable based on the current metrics and config.
46
+ */
47
+ computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
48
+ const itemCount = props.getItemCount(props.data);
49
+ const { itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold } = this._config;
50
+ const viewAreaMode = viewAreaCoveragePercentThreshold != null;
51
+ const viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;
52
+ (0, import_react_native_web_internals.invariant)(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold");
53
+ const viewableIndices = [];
54
+ if (itemCount === 0) {
55
+ return viewableIndices;
56
+ }
57
+ let firstVisible = -1;
58
+ const { first, last } = renderRange || {
59
+ first: 0,
60
+ last: itemCount - 1
61
+ };
62
+ if (last >= itemCount) {
63
+ console.warn("Invalid render range computing viewability " + JSON.stringify({
64
+ renderRange,
65
+ itemCount
66
+ }));
67
+ return [];
68
+ }
69
+ for (let idx = first; idx <= last; idx++) {
70
+ const metrics = getFrameMetrics(idx, props);
71
+ if (!metrics) {
72
+ continue;
73
+ }
74
+ const top = metrics.offset - scrollOffset;
75
+ const bottom = top + metrics.length;
76
+ if (top < viewportHeight && bottom > 0) {
77
+ firstVisible = idx;
78
+ if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
79
+ viewableIndices.push(idx);
80
+ }
81
+ } else if (firstVisible >= 0) {
82
+ break;
83
+ }
84
+ }
85
+ return viewableIndices;
86
+ }
87
+ /**
88
+ * Figures out which items are viewable and how that has changed from before and calls
89
+ * `onViewableItemsChanged` as appropriate.
90
+ */
91
+ onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
92
+ const itemCount = props.getItemCount(props.data);
93
+ if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {
94
+ return;
95
+ }
96
+ let viewableIndices = [];
97
+ if (itemCount) {
98
+ viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
99
+ }
100
+ if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {
101
+ return;
102
+ }
103
+ this._viewableIndices = viewableIndices;
104
+ if (this._config.minimumViewTime) {
105
+ const handle = setTimeout(() => {
106
+ this._timers.delete(handle);
107
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
108
+ }, this._config.minimumViewTime);
109
+ this._timers.add(handle);
110
+ } else {
111
+ this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);
112
+ }
113
+ }
114
+ resetViewableIndices() {
115
+ this._viewableIndices = [];
116
+ }
117
+ recordInteraction() {
118
+ this._hasInteracted = true;
119
+ }
120
+ _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
121
+ viewableIndicesToCheck = viewableIndicesToCheck.filter((ii) => this._viewableIndices.includes(ii));
122
+ const prevItems = this._viewableItems;
123
+ const nextItems = new Map(viewableIndicesToCheck.map((ii) => {
124
+ const viewable = createViewToken(ii, true, props);
125
+ return [viewable.key, viewable];
126
+ }));
127
+ const changed = [];
128
+ for (const [key, viewable] of nextItems) {
129
+ if (!prevItems.has(key)) {
130
+ changed.push(viewable);
131
+ }
132
+ }
133
+ for (const [key, viewable] of prevItems) {
134
+ if (!nextItems.has(key)) {
135
+ changed.push({
136
+ ...viewable,
137
+ isViewable: false
138
+ });
139
+ }
140
+ }
141
+ if (changed.length > 0) {
142
+ this._viewableItems = nextItems;
143
+ onViewableItemsChanged({
144
+ viewableItems: Array.from(nextItems.values()),
145
+ changed
146
+ });
147
+ }
148
+ }
149
+ };
159
150
  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
- }
151
+ if (_isEntirelyVisible(top, bottom, viewportHeight)) {
152
+ return true;
153
+ } else {
154
+ const pixels = _getPixelsVisible(top, bottom, viewportHeight);
155
+ const percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
156
+ return percent >= viewablePercentThreshold;
157
+ }
167
158
  }
168
159
  function _getPixelsVisible(top, bottom, viewportHeight) {
169
- const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
170
- return Math.max(0, visibleHeight);
160
+ const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
161
+ return Math.max(0, visibleHeight);
171
162
  }
172
163
  function _isEntirelyVisible(top, bottom, viewportHeight) {
173
- return top >= 0 && bottom <= viewportHeight && bottom > top;
164
+ return top >= 0 && bottom <= viewportHeight && bottom > top;
174
165
  }
175
- var ViewabilityHelper_default = ViewabilityHelper;
166
+ var ViewabilityHelper_default = ViewabilityHelper;
@@ -1,144 +1,143 @@
1
+
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
6
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
7
+ for (var name in all) __defProp(target, name, {
8
+ get: all[name],
9
+ enumerable: true
10
+ });
10
11
  };
11
12
  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;
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ }
19
+ return to;
19
20
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
22
  var VirtualizeUtils_exports = {};
24
23
  __export(VirtualizeUtils_exports, {
25
- computeWindowedRenderLimits: () => computeWindowedRenderLimits,
26
- elementsThatOverlapOffsets: () => elementsThatOverlapOffsets,
27
- keyExtractor: () => keyExtractor,
28
- newRangeCount: () => newRangeCount
24
+ computeWindowedRenderLimits: () => computeWindowedRenderLimits,
25
+ elementsThatOverlapOffsets: () => elementsThatOverlapOffsets,
26
+ keyExtractor: () => keyExtractor,
27
+ newRangeCount: () => newRangeCount
29
28
  });
30
29
  module.exports = __toCommonJS(VirtualizeUtils_exports);
31
30
  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;
31
+ const itemCount = props.getItemCount(props.data);
32
+ const result = [];
33
+ for (let offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {
34
+ const currentOffset = offsets[offsetIndex];
35
+ let left = 0;
36
+ let right = itemCount - 1;
37
+ while (left <= right) {
38
+ const mid = left + (right - left >>> 1);
39
+ const frame = getFrameMetrics(mid, props);
40
+ const scaledOffsetStart = frame.offset * zoomScale;
41
+ const scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;
42
+ if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {
43
+ right = mid - 1;
44
+ } else if (currentOffset > scaledOffsetEnd) {
45
+ left = mid + 1;
46
+ } else {
47
+ result[offsetIndex] = mid;
48
+ break;
49
+ }
50
+ }
51
+ }
52
+ return result;
54
53
  }
55
54
  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));
55
+ return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));
57
56
  }
58
57
  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
- };
58
+ const itemCount = props.getItemCount(props.data);
59
+ if (itemCount === 0) {
60
+ return {
61
+ first: 0,
62
+ last: -1
63
+ };
64
+ }
65
+ const { offset, velocity, visibleLength, zoomScale = 1 } = scrollMetrics;
66
+ const visibleBegin = Math.max(0, offset);
67
+ const visibleEnd = visibleBegin + visibleLength;
68
+ const overscanLength = (windowSize - 1) * visibleLength;
69
+ const leadFactor = .5;
70
+ const fillPreference = velocity > 1 ? "after" : velocity < -1 ? "before" : "none";
71
+ const overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);
72
+ const overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);
73
+ const lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale;
74
+ if (lastItemOffset < overscanBegin) {
75
+ return {
76
+ first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),
77
+ last: itemCount - 1
78
+ };
79
+ }
80
+ let [overscanFirst, first, last, overscanLast] = elementsThatOverlapOffsets([
81
+ overscanBegin,
82
+ visibleBegin,
83
+ visibleEnd,
84
+ overscanEnd
85
+ ], props, getFrameMetricsApprox, zoomScale);
86
+ overscanFirst = overscanFirst == null ? 0 : overscanFirst;
87
+ first = first == null ? Math.max(0, overscanFirst) : first;
88
+ overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;
89
+ last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;
90
+ const visible = {
91
+ first,
92
+ last
93
+ };
94
+ let newCellCount = newRangeCount(prev, visible);
95
+ while (true) {
96
+ if (first <= overscanFirst && last >= overscanLast) {
97
+ break;
98
+ }
99
+ const maxNewCells = newCellCount >= maxToRenderPerBatch;
100
+ const firstWillAddMore = first <= prev.first || first > prev.last;
101
+ const firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);
102
+ const lastWillAddMore = last >= prev.last || last < prev.first;
103
+ const lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);
104
+ if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {
105
+ break;
106
+ }
107
+ if (firstShouldIncrement && !(fillPreference === "after" && lastShouldIncrement && lastWillAddMore)) {
108
+ if (firstWillAddMore) {
109
+ newCellCount++;
110
+ }
111
+ first--;
112
+ }
113
+ if (lastShouldIncrement && !(fillPreference === "before" && firstShouldIncrement && firstWillAddMore)) {
114
+ if (lastWillAddMore) {
115
+ newCellCount++;
116
+ }
117
+ last++;
118
+ }
119
+ }
120
+ if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {
121
+ throw new Error("Bad window calculation " + JSON.stringify({
122
+ first,
123
+ last,
124
+ itemCount,
125
+ overscanFirst,
126
+ overscanLast,
127
+ visible
128
+ }));
129
+ }
130
+ return {
131
+ first,
132
+ last
133
+ };
135
134
  }
136
135
  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
- }
136
+ if (typeof item === "object" && item?.key != null) {
137
+ return item.key;
138
+ }
139
+ if (typeof item === "object" && item?.id != null) {
140
+ return item.id;
141
+ }
142
+ return String(index);
143
+ }