react-native-web-tv 0.21.2-tv.10

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 (932) hide show
  1. package/APACHE-2.0.txt +201 -0
  2. package/LICENSE +22 -0
  3. package/README.md +167 -0
  4. package/THIRD_PARTY_NOTICES.md +15 -0
  5. package/dist/cjs/exports/AccessibilityInfo/index.js +100 -0
  6. package/dist/cjs/exports/ActivityIndicator/index.js +109 -0
  7. package/dist/cjs/exports/Alert/index.js +18 -0
  8. package/dist/cjs/exports/Animated/index.js +18 -0
  9. package/dist/cjs/exports/AppRegistry/AppContainer.js +51 -0
  10. package/dist/cjs/exports/AppRegistry/index.js +95 -0
  11. package/dist/cjs/exports/AppRegistry/renderApplication.js +58 -0
  12. package/dist/cjs/exports/AppState/index.js +63 -0
  13. package/dist/cjs/exports/Appearance/index.js +54 -0
  14. package/dist/cjs/exports/BackHandler/index.js +67 -0
  15. package/dist/cjs/exports/Button/index.js +73 -0
  16. package/dist/cjs/exports/CheckBox/index.js +113 -0
  17. package/dist/cjs/exports/Clipboard/index.js +61 -0
  18. package/dist/cjs/exports/DeviceEventEmitter/index.js +8 -0
  19. package/dist/cjs/exports/Dimensions/index.js +128 -0
  20. package/dist/cjs/exports/Easing/index.js +16 -0
  21. package/dist/cjs/exports/FlatList/index.js +19 -0
  22. package/dist/cjs/exports/I18nManager/index.js +30 -0
  23. package/dist/cjs/exports/Image/index.js +368 -0
  24. package/dist/cjs/exports/Image/types.js +1 -0
  25. package/dist/cjs/exports/ImageBackground/index.js +61 -0
  26. package/dist/cjs/exports/InputAccessoryView/index.js +8 -0
  27. package/dist/cjs/exports/InteractionManager/TaskQueue.js +93 -0
  28. package/dist/cjs/exports/InteractionManager/index.js +130 -0
  29. package/dist/cjs/exports/Keyboard/index.js +34 -0
  30. package/dist/cjs/exports/KeyboardAvoidingView/index.js +53 -0
  31. package/dist/cjs/exports/LayoutAnimation/index.js +17 -0
  32. package/dist/cjs/exports/Linking/index.js +109 -0
  33. package/dist/cjs/exports/LogBox/index.js +21 -0
  34. package/dist/cjs/exports/Modal/ModalAnimation.js +149 -0
  35. package/dist/cjs/exports/Modal/ModalContent.js +78 -0
  36. package/dist/cjs/exports/Modal/ModalFocusTrap.js +140 -0
  37. package/dist/cjs/exports/Modal/ModalPortal.js +43 -0
  38. package/dist/cjs/exports/Modal/index.js +112 -0
  39. package/dist/cjs/exports/NativeEventEmitter/index.js +16 -0
  40. package/dist/cjs/exports/NativeModules/index.js +21 -0
  41. package/dist/cjs/exports/PanResponder/Alternative.js +273 -0
  42. package/dist/cjs/exports/PanResponder/index.js +8 -0
  43. package/dist/cjs/exports/Picker/PickerItem.js +32 -0
  44. package/dist/cjs/exports/Picker/index.js +73 -0
  45. package/dist/cjs/exports/PixelRatio/index.js +55 -0
  46. package/dist/cjs/exports/Platform/index.js +31 -0
  47. package/dist/cjs/exports/Pressable/index.js +166 -0
  48. package/dist/cjs/exports/ProgressBar/index.js +83 -0
  49. package/dist/cjs/exports/RefreshControl/index.js +36 -0
  50. package/dist/cjs/exports/SafeAreaView/index.js +48 -0
  51. package/dist/cjs/exports/ScrollView/ScrollViewBase.js +155 -0
  52. package/dist/cjs/exports/ScrollView/index.js +640 -0
  53. package/dist/cjs/exports/ScrollView/types.js +1 -0
  54. package/dist/cjs/exports/SectionList/index.js +18 -0
  55. package/dist/cjs/exports/Share/index.js +53 -0
  56. package/dist/cjs/exports/StatusBar/index.js +24 -0
  57. package/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js +183 -0
  58. package/dist/cjs/exports/StyleSheet/compiler/hash.js +52 -0
  59. package/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js +28 -0
  60. package/dist/cjs/exports/StyleSheet/compiler/index.js +483 -0
  61. package/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js +36 -0
  62. package/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js +38 -0
  63. package/dist/cjs/exports/StyleSheet/compiler/resolveShadowValue.js +38 -0
  64. package/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js +80 -0
  65. package/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js +42 -0
  66. package/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +168 -0
  67. package/dist/cjs/exports/StyleSheet/dom/index.js +78 -0
  68. package/dist/cjs/exports/StyleSheet/index.js +190 -0
  69. package/dist/cjs/exports/StyleSheet/preprocess.js +222 -0
  70. package/dist/cjs/exports/StyleSheet/validate.js +89 -0
  71. package/dist/cjs/exports/Switch/index.js +195 -0
  72. package/dist/cjs/exports/TV/NativeTVNavigationEventEmitter.js +109 -0
  73. package/dist/cjs/exports/TV/TVEventControl.js +47 -0
  74. package/dist/cjs/exports/TV/TVEventHandler.js +41 -0
  75. package/dist/cjs/exports/TV/TVFocusEventHandler.js +36 -0
  76. package/dist/cjs/exports/TV/TVFocusGuideView.js +108 -0
  77. package/dist/cjs/exports/TV/TVTextScrollView.js +115 -0
  78. package/dist/cjs/exports/TV/tagForComponentOrHandle.js +44 -0
  79. package/dist/cjs/exports/TV/types.js +16 -0
  80. package/dist/cjs/exports/TV/useTVEventHandler.js +20 -0
  81. package/dist/cjs/exports/TV/utils.js +26 -0
  82. package/dist/cjs/exports/Text/TextAncestorContext.js +18 -0
  83. package/dist/cjs/exports/Text/index.js +199 -0
  84. package/dist/cjs/exports/Text/types.js +1 -0
  85. package/dist/cjs/exports/TextInput/index.js +443 -0
  86. package/dist/cjs/exports/TextInput/types.js +1 -0
  87. package/dist/cjs/exports/Touchable/BoundingDimensions.js +35 -0
  88. package/dist/cjs/exports/Touchable/Position.js +27 -0
  89. package/dist/cjs/exports/Touchable/ensurePositiveDelayProps.js +20 -0
  90. package/dist/cjs/exports/Touchable/index.js +840 -0
  91. package/dist/cjs/exports/TouchableHighlight/index.js +155 -0
  92. package/dist/cjs/exports/TouchableNativeFeedback/index.js +16 -0
  93. package/dist/cjs/exports/TouchableOpacity/index.js +123 -0
  94. package/dist/cjs/exports/TouchableWithoutFeedback/index.js +79 -0
  95. package/dist/cjs/exports/UIManager/index.js +133 -0
  96. package/dist/cjs/exports/Vibration/index.js +32 -0
  97. package/dist/cjs/exports/View/index.js +178 -0
  98. package/dist/cjs/exports/View/types.js +1 -0
  99. package/dist/cjs/exports/VirtualizedList/index.js +18 -0
  100. package/dist/cjs/exports/YellowBox/index.js +25 -0
  101. package/dist/cjs/exports/createElement/index.js +40 -0
  102. package/dist/cjs/exports/findNodeHandle/index.js +19 -0
  103. package/dist/cjs/exports/processColor/index.js +31 -0
  104. package/dist/cjs/exports/render/index.js +27 -0
  105. package/dist/cjs/exports/unmountComponentAtNode/index.js +18 -0
  106. package/dist/cjs/exports/useColorScheme/index.js +34 -0
  107. package/dist/cjs/exports/useLocaleContext/index.js +17 -0
  108. package/dist/cjs/exports/useWindowDimensions/index.js +41 -0
  109. package/dist/cjs/index.js +137 -0
  110. package/dist/cjs/modules/AccessibilityUtil/index.js +24 -0
  111. package/dist/cjs/modules/AccessibilityUtil/isDisabled.js +16 -0
  112. package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js +60 -0
  113. package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js +41 -0
  114. package/dist/cjs/modules/AssetRegistry/index.js +23 -0
  115. package/dist/cjs/modules/ImageLoader/index.js +149 -0
  116. package/dist/cjs/modules/SpatialManager/index.js +464 -0
  117. package/dist/cjs/modules/SpatialManager/mutationObserver.js +112 -0
  118. package/dist/cjs/modules/SpatialManager/scrollHandler.js +601 -0
  119. package/dist/cjs/modules/SpatialManager/utils.js +431 -0
  120. package/dist/cjs/modules/TextInputState/index.js +65 -0
  121. package/dist/cjs/modules/UnimplementedView/index.js +36 -0
  122. package/dist/cjs/modules/addEventListener/index.js +75 -0
  123. package/dist/cjs/modules/canUseDom/index.js +16 -0
  124. package/dist/cjs/modules/createDOMProps/index.js +896 -0
  125. package/dist/cjs/modules/dismissKeyboard/index.js +20 -0
  126. package/dist/cjs/modules/forwardedProps/index.js +188 -0
  127. package/dist/cjs/modules/getBoundingClientRect/index.js +23 -0
  128. package/dist/cjs/modules/isSelectionValid/index.js +22 -0
  129. package/dist/cjs/modules/isWebColor/index.js +16 -0
  130. package/dist/cjs/modules/mergeRefs/index.js +37 -0
  131. package/dist/cjs/modules/modality/index.js +196 -0
  132. package/dist/cjs/modules/multiplyStyleLengthValue/index.js +29 -0
  133. package/dist/cjs/modules/normalizeColor/index.js +36 -0
  134. package/dist/cjs/modules/pick/index.js +25 -0
  135. package/dist/cjs/modules/prefixStyles/index.js +19 -0
  136. package/dist/cjs/modules/prefixStyles/static.js +74 -0
  137. package/dist/cjs/modules/requestIdleCallback/index.js +33 -0
  138. package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js +49 -0
  139. package/dist/cjs/modules/setValueForStyles/index.js +45 -0
  140. package/dist/cjs/modules/unitlessNumbers/index.js +80 -0
  141. package/dist/cjs/modules/useElementLayout/index.js +91 -0
  142. package/dist/cjs/modules/useEvent/index.js +54 -0
  143. package/dist/cjs/modules/useHover/index.js +158 -0
  144. package/dist/cjs/modules/useLayoutEffect/index.js +22 -0
  145. package/dist/cjs/modules/useLocale/index.js +43 -0
  146. package/dist/cjs/modules/useLocale/isLocaleRTL.js +87 -0
  147. package/dist/cjs/modules/useMergeRefs/index.js +26 -0
  148. package/dist/cjs/modules/usePlatformMethods/index.js +34 -0
  149. package/dist/cjs/modules/usePressEvents/PressResponder.js +496 -0
  150. package/dist/cjs/modules/usePressEvents/index.js +40 -0
  151. package/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js +51 -0
  152. package/dist/cjs/modules/useResponderEvents/ResponderSystem.js +598 -0
  153. package/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js +175 -0
  154. package/dist/cjs/modules/useResponderEvents/createResponderEvent.js +152 -0
  155. package/dist/cjs/modules/useResponderEvents/index.js +79 -0
  156. package/dist/cjs/modules/useResponderEvents/utils.js +175 -0
  157. package/dist/cjs/modules/useStable/index.js +25 -0
  158. package/dist/cjs/modules/warnOnce/index.js +31 -0
  159. package/dist/cjs/types/index.js +1 -0
  160. package/dist/cjs/types/styles.js +1 -0
  161. package/dist/cjs/vendor/hash/index.js +52 -0
  162. package/dist/cjs/vendor/react-native/Animated/Animated.js +35 -0
  163. package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.js +167 -0
  164. package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.js +582 -0
  165. package/dist/cjs/vendor/react-native/Animated/AnimatedMock.js +140 -0
  166. package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.js +11 -0
  167. package/dist/cjs/vendor/react-native/Animated/Easing.js +253 -0
  168. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.js +480 -0
  169. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.js +19 -0
  170. package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.js +19 -0
  171. package/dist/cjs/vendor/react-native/Animated/SpringConfig.js +72 -0
  172. package/dist/cjs/vendor/react-native/Animated/animations/Animation.js +59 -0
  173. package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.js +74 -0
  174. package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.js +226 -0
  175. package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.js +120 -0
  176. package/dist/cjs/vendor/react-native/Animated/bezier.js +125 -0
  177. package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.js +31 -0
  178. package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.js +20 -0
  179. package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.js +31 -0
  180. package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.js +31 -0
  181. package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.js +20 -0
  182. package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.js +20 -0
  183. package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.js +53 -0
  184. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.js +53 -0
  185. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.js +288 -0
  186. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +57 -0
  187. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.js +70 -0
  188. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +269 -0
  189. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.js +50 -0
  190. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +53 -0
  191. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.js +163 -0
  192. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.js +145 -0
  193. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.js +128 -0
  194. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +53 -0
  195. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.js +76 -0
  196. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.js +113 -0
  197. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.js +271 -0
  198. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.js +191 -0
  199. package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +77 -0
  200. package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.js +158 -0
  201. package/dist/cjs/vendor/react-native/Batchinator/index.js +82 -0
  202. package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.js +85 -0
  203. package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +24 -0
  204. package/dist/cjs/vendor/react-native/FillRateHelper/index.js +196 -0
  205. package/dist/cjs/vendor/react-native/FlatList/index.js +453 -0
  206. package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.js +90 -0
  207. package/dist/cjs/vendor/react-native/LayoutAnimation/index.js +112 -0
  208. package/dist/cjs/vendor/react-native/PanResponder/index.js +420 -0
  209. package/dist/cjs/vendor/react-native/PooledClass/index.js +64 -0
  210. package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +23 -0
  211. package/dist/cjs/vendor/react-native/SectionList/index.js +151 -0
  212. package/dist/cjs/vendor/react-native/StaticContainer/index.js +43 -0
  213. package/dist/cjs/vendor/react-native/StaticRenderer/index.js +26 -0
  214. package/dist/cjs/vendor/react-native/TouchHistoryMath/index.js +105 -0
  215. package/dist/cjs/vendor/react-native/TurboModule/RCTExport.js +29 -0
  216. package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.js +25 -0
  217. package/dist/cjs/vendor/react-native/Types/CoreEventTypes.js +11 -0
  218. package/dist/cjs/vendor/react-native/Utilities/Platform.js +8 -0
  219. package/dist/cjs/vendor/react-native/Utilities/clamp.js +25 -0
  220. package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.js +64 -0
  221. package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.js +43 -0
  222. package/dist/cjs/vendor/react-native/Utilities/useRefEffect.js +42 -0
  223. package/dist/cjs/vendor/react-native/ViewabilityHelper/index.js +210 -0
  224. package/dist/cjs/vendor/react-native/VirtualizeUtils/index.js +180 -0
  225. package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.js +112 -0
  226. package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.js +75 -0
  227. package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.js +77 -0
  228. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +164 -0
  229. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.js +77 -0
  230. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.js +6 -0
  231. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +959 -0
  232. package/dist/cjs/vendor/react-native/VirtualizedList/index.js +1509 -0
  233. package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.js +390 -0
  234. package/dist/cjs/vendor/react-native/deepDiffer/index.js +73 -0
  235. package/dist/cjs/vendor/react-native/infoLog/index.js +22 -0
  236. package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.js +104 -0
  237. package/dist/exports/AccessibilityInfo/index.js +95 -0
  238. package/dist/exports/AccessibilityInfo/index.js.flow +77 -0
  239. package/dist/exports/ActivityIndicator/index.js +103 -0
  240. package/dist/exports/ActivityIndicator/index.js.flow +88 -0
  241. package/dist/exports/Alert/index.js +13 -0
  242. package/dist/exports/Alert/index.js.flow +12 -0
  243. package/dist/exports/Animated/index.js +13 -0
  244. package/dist/exports/Animated/index.js.flow +13 -0
  245. package/dist/exports/AppRegistry/AppContainer.js +44 -0
  246. package/dist/exports/AppRegistry/AppContainer.js.flow +43 -0
  247. package/dist/exports/AppRegistry/index.js +88 -0
  248. package/dist/exports/AppRegistry/index.js.flow +59 -0
  249. package/dist/exports/AppRegistry/renderApplication.js +51 -0
  250. package/dist/exports/AppRegistry/renderApplication.js.flow +28 -0
  251. package/dist/exports/AppState/index.js +58 -0
  252. package/dist/exports/AppState/index.js.flow +31 -0
  253. package/dist/exports/Appearance/index.js +49 -0
  254. package/dist/exports/Appearance/index.js.flow +50 -0
  255. package/dist/exports/BackHandler/index.js +63 -0
  256. package/dist/exports/BackHandler/index.js.flow +77 -0
  257. package/dist/exports/Button/index.js +65 -0
  258. package/dist/exports/Button/index.js.flow +67 -0
  259. package/dist/exports/CheckBox/index.js +107 -0
  260. package/dist/exports/CheckBox/index.js.flow +108 -0
  261. package/dist/exports/Clipboard/index.js +56 -0
  262. package/dist/exports/Clipboard/index.js.flow +18 -0
  263. package/dist/exports/DeviceEventEmitter/index.js +2 -0
  264. package/dist/exports/Dimensions/index.js +122 -0
  265. package/dist/exports/Dimensions/index.js.flow +58 -0
  266. package/dist/exports/Easing/index.js +11 -0
  267. package/dist/exports/Easing/index.js.flow +11 -0
  268. package/dist/exports/FlatList/index.js +14 -0
  269. package/dist/exports/FlatList/index.js.flow +14 -0
  270. package/dist/exports/I18nManager/index.js +25 -0
  271. package/dist/exports/I18nManager/index.js.flow +34 -0
  272. package/dist/exports/Image/index.js +362 -0
  273. package/dist/exports/Image/index.js.flow +225 -0
  274. package/dist/exports/Image/types.js +0 -0
  275. package/dist/exports/Image/types.js.flow +94 -0
  276. package/dist/exports/ImageBackground/index.js +55 -0
  277. package/dist/exports/ImageBackground/index.js.flow +57 -0
  278. package/dist/exports/InputAccessoryView/index.js +2 -0
  279. package/dist/exports/InteractionManager/TaskQueue.js +87 -0
  280. package/dist/exports/InteractionManager/TaskQueue.js.flow +40 -0
  281. package/dist/exports/InteractionManager/index.js +124 -0
  282. package/dist/exports/InteractionManager/index.js.flow +99 -0
  283. package/dist/exports/Keyboard/index.js +29 -0
  284. package/dist/exports/Keyboard/index.js.flow +31 -0
  285. package/dist/exports/KeyboardAvoidingView/index.js +47 -0
  286. package/dist/exports/KeyboardAvoidingView/index.js.flow +30 -0
  287. package/dist/exports/LayoutAnimation/index.js +12 -0
  288. package/dist/exports/LayoutAnimation/index.js.flow +12 -0
  289. package/dist/exports/Linking/index.js +103 -0
  290. package/dist/exports/Linking/index.js.flow +30 -0
  291. package/dist/exports/LogBox/index.js +16 -0
  292. package/dist/exports/LogBox/index.js.flow +16 -0
  293. package/dist/exports/Modal/ModalAnimation.js +142 -0
  294. package/dist/exports/Modal/ModalAnimation.js.flow +94 -0
  295. package/dist/exports/Modal/ModalContent.js +72 -0
  296. package/dist/exports/Modal/ModalContent.js.flow +64 -0
  297. package/dist/exports/Modal/ModalFocusTrap.js +135 -0
  298. package/dist/exports/Modal/ModalFocusTrap.js.flow +39 -0
  299. package/dist/exports/Modal/ModalPortal.js +36 -0
  300. package/dist/exports/Modal/ModalPortal.js.flow +18 -0
  301. package/dist/exports/Modal/index.js +106 -0
  302. package/dist/exports/Modal/index.js.flow +83 -0
  303. package/dist/exports/NativeEventEmitter/index.js +11 -0
  304. package/dist/exports/NativeEventEmitter/index.js.flow +11 -0
  305. package/dist/exports/NativeModules/index.js +16 -0
  306. package/dist/exports/NativeModules/index.js.flow +16 -0
  307. package/dist/exports/PanResponder/Alternative.js +269 -0
  308. package/dist/exports/PanResponder/Alternative.js.flow +335 -0
  309. package/dist/exports/PanResponder/index.js +2 -0
  310. package/dist/exports/PanResponder/index.js.flow +4 -0
  311. package/dist/exports/Picker/PickerItem.js +26 -0
  312. package/dist/exports/Picker/PickerItem.js.flow +19 -0
  313. package/dist/exports/Picker/index.js +67 -0
  314. package/dist/exports/Picker/index.js.flow +74 -0
  315. package/dist/exports/PixelRatio/index.js +49 -0
  316. package/dist/exports/PixelRatio/index.js.flow +21 -0
  317. package/dist/exports/Platform/index.js +26 -0
  318. package/dist/exports/Platform/index.js.flow +26 -0
  319. package/dist/exports/Pressable/index.js +160 -0
  320. package/dist/exports/Pressable/index.js.flow +85 -0
  321. package/dist/exports/ProgressBar/index.js +77 -0
  322. package/dist/exports/ProgressBar/index.js.flow +72 -0
  323. package/dist/exports/RefreshControl/index.js +31 -0
  324. package/dist/exports/RefreshControl/index.js.flow +30 -0
  325. package/dist/exports/SafeAreaView/index.js +42 -0
  326. package/dist/exports/SafeAreaView/index.js.flow +38 -0
  327. package/dist/exports/ScrollView/ScrollViewBase.js +149 -0
  328. package/dist/exports/ScrollView/ScrollViewBase.js.flow +77 -0
  329. package/dist/exports/ScrollView/index.js +635 -0
  330. package/dist/exports/ScrollView/index.js.flow +127 -0
  331. package/dist/exports/ScrollView/types.js +0 -0
  332. package/dist/exports/ScrollView/types.js.flow +25 -0
  333. package/dist/exports/SectionList/index.js +13 -0
  334. package/dist/exports/SectionList/index.js.flow +13 -0
  335. package/dist/exports/Share/index.js +47 -0
  336. package/dist/exports/Share/index.js.flow +26 -0
  337. package/dist/exports/StatusBar/index.js +19 -0
  338. package/dist/exports/StatusBar/index.js.flow +16 -0
  339. package/dist/exports/StyleSheet/compiler/createReactDOMStyle.js +177 -0
  340. package/dist/exports/StyleSheet/compiler/createReactDOMStyle.js.flow +84 -0
  341. package/dist/exports/StyleSheet/compiler/hash.js +47 -0
  342. package/dist/exports/StyleSheet/compiler/hash.js.flow +18 -0
  343. package/dist/exports/StyleSheet/compiler/hyphenateStyleName.js +23 -0
  344. package/dist/exports/StyleSheet/compiler/hyphenateStyleName.js.flow +15 -0
  345. package/dist/exports/StyleSheet/compiler/index.js +476 -0
  346. package/dist/exports/StyleSheet/compiler/index.js.flow +180 -0
  347. package/dist/exports/StyleSheet/compiler/normalizeColor.js +30 -0
  348. package/dist/exports/StyleSheet/compiler/normalizeColor.js.flow +13 -0
  349. package/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js +32 -0
  350. package/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js.flow +24 -0
  351. package/dist/exports/StyleSheet/compiler/resolveShadowValue.js +32 -0
  352. package/dist/exports/StyleSheet/compiler/resolveShadowValue.js.flow +17 -0
  353. package/dist/exports/StyleSheet/compiler/unitlessNumbers.js +75 -0
  354. package/dist/exports/StyleSheet/compiler/unitlessNumbers.js.flow +73 -0
  355. package/dist/exports/StyleSheet/dom/createCSSStyleSheet.js +36 -0
  356. package/dist/exports/StyleSheet/dom/createCSSStyleSheet.js.flow +12 -0
  357. package/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +163 -0
  358. package/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js.flow +52 -0
  359. package/dist/exports/StyleSheet/dom/index.js +73 -0
  360. package/dist/exports/StyleSheet/dom/index.js.flow +26 -0
  361. package/dist/exports/StyleSheet/index.js +185 -0
  362. package/dist/exports/StyleSheet/index.js.flow +97 -0
  363. package/dist/exports/StyleSheet/preprocess.js +212 -0
  364. package/dist/exports/StyleSheet/preprocess.js.flow +73 -0
  365. package/dist/exports/StyleSheet/validate.js +84 -0
  366. package/dist/exports/StyleSheet/validate.js.flow +46 -0
  367. package/dist/exports/Switch/index.js +189 -0
  368. package/dist/exports/Switch/index.js.flow +187 -0
  369. package/dist/exports/TV/NativeTVNavigationEventEmitter.js +103 -0
  370. package/dist/exports/TV/NativeTVNavigationEventEmitter.js.flow +89 -0
  371. package/dist/exports/TV/TVEventControl.js +44 -0
  372. package/dist/exports/TV/TVEventControl.js.flow +44 -0
  373. package/dist/exports/TV/TVEventHandler.js +37 -0
  374. package/dist/exports/TV/TVEventHandler.js.flow +59 -0
  375. package/dist/exports/TV/TVFocusEventHandler.js +33 -0
  376. package/dist/exports/TV/TVFocusEventHandler.js.flow +24 -0
  377. package/dist/exports/TV/TVFocusGuideView.js +100 -0
  378. package/dist/exports/TV/TVFocusGuideView.js.flow +122 -0
  379. package/dist/exports/TV/TVTextScrollView.js +108 -0
  380. package/dist/exports/TV/TVTextScrollView.js.flow +79 -0
  381. package/dist/exports/TV/tagForComponentOrHandle.js +39 -0
  382. package/dist/exports/TV/tagForComponentOrHandle.js.flow +16 -0
  383. package/dist/exports/TV/types.js +16 -0
  384. package/dist/exports/TV/types.js.flow +133 -0
  385. package/dist/exports/TV/useTVEventHandler.js +13 -0
  386. package/dist/exports/TV/useTVEventHandler.js.flow +10 -0
  387. package/dist/exports/TV/utils.js +23 -0
  388. package/dist/exports/TV/utils.js.flow +14 -0
  389. package/dist/exports/Text/TextAncestorContext.js +14 -0
  390. package/dist/exports/Text/TextAncestorContext.js.flow +15 -0
  391. package/dist/exports/Text/index.js +194 -0
  392. package/dist/exports/Text/index.js.flow +198 -0
  393. package/dist/exports/Text/types.js +0 -0
  394. package/dist/exports/Text/types.js.flow +65 -0
  395. package/dist/exports/TextInput/index.js +437 -0
  396. package/dist/exports/TextInput/index.js.flow +333 -0
  397. package/dist/exports/TextInput/types.js +0 -0
  398. package/dist/exports/TextInput/types.js.flow +65 -0
  399. package/dist/exports/Touchable/BoundingDimensions.js +29 -0
  400. package/dist/exports/Touchable/BoundingDimensions.js.flow +26 -0
  401. package/dist/exports/Touchable/Position.js +21 -0
  402. package/dist/exports/Touchable/Position.js.flow +18 -0
  403. package/dist/exports/Touchable/ensurePositiveDelayProps.js +14 -0
  404. package/dist/exports/Touchable/ensurePositiveDelayProps.js.flow +12 -0
  405. package/dist/exports/Touchable/index.js +836 -0
  406. package/dist/exports/Touchable/index.js.flow +849 -0
  407. package/dist/exports/TouchableHighlight/index.js +150 -0
  408. package/dist/exports/TouchableHighlight/index.js.flow +68 -0
  409. package/dist/exports/TouchableNativeFeedback/index.js +11 -0
  410. package/dist/exports/TouchableNativeFeedback/index.js.flow +11 -0
  411. package/dist/exports/TouchableOpacity/index.js +118 -0
  412. package/dist/exports/TouchableOpacity/index.js.flow +51 -0
  413. package/dist/exports/TouchableWithoutFeedback/index.js +73 -0
  414. package/dist/exports/TouchableWithoutFeedback/index.js.flow +66 -0
  415. package/dist/exports/UIManager/index.js +127 -0
  416. package/dist/exports/UIManager/index.js.flow +92 -0
  417. package/dist/exports/Vibration/index.js +27 -0
  418. package/dist/exports/Vibration/index.js.flow +21 -0
  419. package/dist/exports/View/index.js +172 -0
  420. package/dist/exports/View/index.js.flow +177 -0
  421. package/dist/exports/View/types.js +0 -0
  422. package/dist/exports/View/types.js.flow +226 -0
  423. package/dist/exports/VirtualizedList/index.js +13 -0
  424. package/dist/exports/VirtualizedList/index.js.flow +13 -0
  425. package/dist/exports/YellowBox/index.js +19 -0
  426. package/dist/exports/YellowBox/index.js.flow +16 -0
  427. package/dist/exports/createElement/index.js +35 -0
  428. package/dist/exports/createElement/index.js.flow +17 -0
  429. package/dist/exports/findNodeHandle/index.js +14 -0
  430. package/dist/exports/findNodeHandle/index.js.flow +11 -0
  431. package/dist/exports/processColor/index.js +25 -0
  432. package/dist/exports/processColor/index.js.flow +13 -0
  433. package/dist/exports/render/index.js +23 -0
  434. package/dist/exports/render/index.js.flow +15 -0
  435. package/dist/exports/unmountComponentAtNode/index.js +13 -0
  436. package/dist/exports/unmountComponentAtNode/index.js.flow +9 -0
  437. package/dist/exports/useColorScheme/index.js +28 -0
  438. package/dist/exports/useColorScheme/index.js.flow +16 -0
  439. package/dist/exports/useLocaleContext/index.js +13 -0
  440. package/dist/exports/useLocaleContext/index.js.flow +13 -0
  441. package/dist/exports/useWindowDimensions/index.js +36 -0
  442. package/dist/exports/useWindowDimensions/index.js.flow +16 -0
  443. package/dist/index.js +77 -0
  444. package/dist/index.js.flow +79 -0
  445. package/dist/modules/AccessibilityUtil/index.js +18 -0
  446. package/dist/modules/AccessibilityUtil/index.js.flow +18 -0
  447. package/dist/modules/AccessibilityUtil/isDisabled.js +11 -0
  448. package/dist/modules/AccessibilityUtil/isDisabled.js.flow +10 -0
  449. package/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js +54 -0
  450. package/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js.flow +34 -0
  451. package/dist/modules/AccessibilityUtil/propsToAriaRole.js +36 -0
  452. package/dist/modules/AccessibilityUtil/propsToAriaRole.js.flow +28 -0
  453. package/dist/modules/AssetRegistry/index.js +18 -0
  454. package/dist/modules/AssetRegistry/index.js.flow +23 -0
  455. package/dist/modules/ImageLoader/index.js +144 -0
  456. package/dist/modules/ImageLoader/index.js.flow +84 -0
  457. package/dist/modules/SpatialManager/index.js +460 -0
  458. package/dist/modules/SpatialManager/index.js.flow +66 -0
  459. package/dist/modules/SpatialManager/mutationObserver.js +105 -0
  460. package/dist/modules/SpatialManager/mutationObserver.js.flow +30 -0
  461. package/dist/modules/SpatialManager/scrollHandler.js +591 -0
  462. package/dist/modules/SpatialManager/scrollHandler.js.flow +91 -0
  463. package/dist/modules/SpatialManager/utils.js +418 -0
  464. package/dist/modules/SpatialManager/utils.js.flow +149 -0
  465. package/dist/modules/TextInputState/index.js +60 -0
  466. package/dist/modules/TextInputState/index.js.flow +60 -0
  467. package/dist/modules/UnimplementedView/index.js +32 -0
  468. package/dist/modules/UnimplementedView/index.js.flow +23 -0
  469. package/dist/modules/addEventListener/index.js +72 -0
  470. package/dist/modules/addEventListener/index.js.flow +34 -0
  471. package/dist/modules/canUseDom/index.js +11 -0
  472. package/dist/modules/canUseDom/index.js.flow +11 -0
  473. package/dist/modules/createDOMProps/index.js +891 -0
  474. package/dist/modules/createDOMProps/index.js.flow +36 -0
  475. package/dist/modules/dismissKeyboard/index.js +14 -0
  476. package/dist/modules/dismissKeyboard/index.js.flow +12 -0
  477. package/dist/modules/forwardedProps/index.js +184 -0
  478. package/dist/modules/forwardedProps/index.js.flow +184 -0
  479. package/dist/modules/getBoundingClientRect/index.js +18 -0
  480. package/dist/modules/getBoundingClientRect/index.js.flow +10 -0
  481. package/dist/modules/isSelectionValid/index.js +17 -0
  482. package/dist/modules/isSelectionValid/index.js.flow +9 -0
  483. package/dist/modules/isWebColor/index.js +11 -0
  484. package/dist/modules/isWebColor/index.js.flow +10 -0
  485. package/dist/modules/mergeRefs/index.js +31 -0
  486. package/dist/modules/mergeRefs/index.js.flow +11 -0
  487. package/dist/modules/modality/index.js +188 -0
  488. package/dist/modules/modality/index.js.flow +79 -0
  489. package/dist/modules/multiplyStyleLengthValue/index.js +24 -0
  490. package/dist/modules/multiplyStyleLengthValue/index.js.flow +14 -0
  491. package/dist/modules/normalizeColor/index.js +30 -0
  492. package/dist/modules/normalizeColor/index.js.flow +13 -0
  493. package/dist/modules/pick/index.js +20 -0
  494. package/dist/modules/pick/index.js.flow +11 -0
  495. package/dist/modules/prefixStyles/index.js +13 -0
  496. package/dist/modules/prefixStyles/index.js.flow +14 -0
  497. package/dist/modules/prefixStyles/static.js +68 -0
  498. package/dist/modules/requestIdleCallback/index.js +28 -0
  499. package/dist/modules/requestIdleCallback/index.js.flow +28 -0
  500. package/dist/modules/setValueForStyles/dangerousStyleValue.js +44 -0
  501. package/dist/modules/setValueForStyles/dangerousStyleValue.js.flow +25 -0
  502. package/dist/modules/setValueForStyles/index.js +40 -0
  503. package/dist/modules/setValueForStyles/index.js.flow +23 -0
  504. package/dist/modules/unitlessNumbers/index.js +75 -0
  505. package/dist/modules/unitlessNumbers/index.js.flow +73 -0
  506. package/dist/modules/useElementLayout/index.js +85 -0
  507. package/dist/modules/useElementLayout/index.js.flow +19 -0
  508. package/dist/modules/useEvent/index.js +48 -0
  509. package/dist/modules/useEvent/index.js.flow +29 -0
  510. package/dist/modules/useHover/index.js +153 -0
  511. package/dist/modules/useHover/index.js.flow +46 -0
  512. package/dist/modules/useLayoutEffect/index.js +16 -0
  513. package/dist/modules/useLayoutEffect/index.js.flow +16 -0
  514. package/dist/modules/useLocale/index.js +36 -0
  515. package/dist/modules/useLocale/index.js.flow +32 -0
  516. package/dist/modules/useLocale/isLocaleRTL.js +83 -0
  517. package/dist/modules/useLocale/isLocaleRTL.js.flow +58 -0
  518. package/dist/modules/useMergeRefs/index.js +19 -0
  519. package/dist/modules/useMergeRefs/index.js.flow +12 -0
  520. package/dist/modules/usePlatformMethods/index.js +29 -0
  521. package/dist/modules/usePlatformMethods/index.js.flow +22 -0
  522. package/dist/modules/usePressEvents/PressResponder.js +492 -0
  523. package/dist/modules/usePressEvents/PressResponder.js.flow +216 -0
  524. package/dist/modules/usePressEvents/index.js +36 -0
  525. package/dist/modules/usePressEvents/index.js.flow +16 -0
  526. package/dist/modules/useResponderEvents/ResponderEventTypes.js +41 -0
  527. package/dist/modules/useResponderEvents/ResponderEventTypes.js.flow +61 -0
  528. package/dist/modules/useResponderEvents/ResponderSystem.js +590 -0
  529. package/dist/modules/useResponderEvents/ResponderSystem.js.flow +269 -0
  530. package/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js +170 -0
  531. package/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js.flow +56 -0
  532. package/dist/modules/useResponderEvents/createResponderEvent.js +146 -0
  533. package/dist/modules/useResponderEvents/createResponderEvent.js.flow +51 -0
  534. package/dist/modules/useResponderEvents/index.js +73 -0
  535. package/dist/modules/useResponderEvents/index.js.flow +26 -0
  536. package/dist/modules/useResponderEvents/utils.js +165 -0
  537. package/dist/modules/useResponderEvents/utils.js.flow +46 -0
  538. package/dist/modules/useStable/index.js +19 -0
  539. package/dist/modules/useStable/index.js.flow +12 -0
  540. package/dist/modules/warnOnce/index.js +27 -0
  541. package/dist/modules/warnOnce/index.js.flow +22 -0
  542. package/dist/types/index.js +0 -0
  543. package/dist/types/index.js.flow +46 -0
  544. package/dist/types/styles.js +0 -0
  545. package/dist/types/styles.js.flow +279 -0
  546. package/dist/vendor/hash/index.js +47 -0
  547. package/dist/vendor/hash/index.js.flow +18 -0
  548. package/dist/vendor/react-native/Animated/Animated.js +29 -0
  549. package/dist/vendor/react-native/Animated/Animated.js.flow +35 -0
  550. package/dist/vendor/react-native/Animated/AnimatedEvent.js +162 -0
  551. package/dist/vendor/react-native/Animated/AnimatedEvent.js.flow +46 -0
  552. package/dist/vendor/react-native/Animated/AnimatedImplementation.js +579 -0
  553. package/dist/vendor/react-native/Animated/AnimatedImplementation.js.flow +605 -0
  554. package/dist/vendor/react-native/Animated/AnimatedMock.js +137 -0
  555. package/dist/vendor/react-native/Animated/AnimatedMock.js.flow +139 -0
  556. package/dist/vendor/react-native/Animated/AnimatedPlatformConfig.js +11 -0
  557. package/dist/vendor/react-native/Animated/AnimatedPlatformConfig.js.flow +13 -0
  558. package/dist/vendor/react-native/Animated/Easing.js +249 -0
  559. package/dist/vendor/react-native/Animated/Easing.js.flow +80 -0
  560. package/dist/vendor/react-native/Animated/NativeAnimatedHelper.js +460 -0
  561. package/dist/vendor/react-native/Animated/NativeAnimatedHelper.js.flow +396 -0
  562. package/dist/vendor/react-native/Animated/NativeAnimatedModule.js +16 -0
  563. package/dist/vendor/react-native/Animated/NativeAnimatedModule.js.flow +56 -0
  564. package/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js +16 -0
  565. package/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js.flow +53 -0
  566. package/dist/vendor/react-native/Animated/SpringConfig.js +69 -0
  567. package/dist/vendor/react-native/Animated/SpringConfig.js.flow +25 -0
  568. package/dist/vendor/react-native/Animated/animations/Animation.js +55 -0
  569. package/dist/vendor/react-native/Animated/animations/Animation.js.flow +45 -0
  570. package/dist/vendor/react-native/Animated/animations/DecayAnimation.js +70 -0
  571. package/dist/vendor/react-native/Animated/animations/DecayAnimation.js.flow +51 -0
  572. package/dist/vendor/react-native/Animated/animations/SpringAnimation.js +222 -0
  573. package/dist/vendor/react-native/Animated/animations/SpringAnimation.js.flow +110 -0
  574. package/dist/vendor/react-native/Animated/animations/TimingAnimation.js +116 -0
  575. package/dist/vendor/react-native/Animated/animations/TimingAnimation.js.flow +61 -0
  576. package/dist/vendor/react-native/Animated/bezier.js +122 -0
  577. package/dist/vendor/react-native/Animated/bezier.js.flow +35 -0
  578. package/dist/vendor/react-native/Animated/components/AnimatedFlatList.js +24 -0
  579. package/dist/vendor/react-native/Animated/components/AnimatedFlatList.js.flow +20 -0
  580. package/dist/vendor/react-native/Animated/components/AnimatedImage.js +14 -0
  581. package/dist/vendor/react-native/Animated/components/AnimatedImage.js.flow +15 -0
  582. package/dist/vendor/react-native/Animated/components/AnimatedScrollView.js +24 -0
  583. package/dist/vendor/react-native/Animated/components/AnimatedScrollView.js.flow +20 -0
  584. package/dist/vendor/react-native/Animated/components/AnimatedSectionList.js +24 -0
  585. package/dist/vendor/react-native/Animated/components/AnimatedSectionList.js.flow +20 -0
  586. package/dist/vendor/react-native/Animated/components/AnimatedText.js +14 -0
  587. package/dist/vendor/react-native/Animated/components/AnimatedText.js.flow +15 -0
  588. package/dist/vendor/react-native/Animated/components/AnimatedView.js +14 -0
  589. package/dist/vendor/react-native/Animated/components/AnimatedView.js.flow +15 -0
  590. package/dist/vendor/react-native/Animated/createAnimatedComponent.js +47 -0
  591. package/dist/vendor/react-native/Animated/createAnimatedComponent.js.flow +27 -0
  592. package/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js +49 -0
  593. package/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js.flow +30 -0
  594. package/dist/vendor/react-native/Animated/nodes/AnimatedColor.js +283 -0
  595. package/dist/vendor/react-native/Animated/nodes/AnimatedColor.js.flow +83 -0
  596. package/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +53 -0
  597. package/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js.flow +32 -0
  598. package/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js +66 -0
  599. package/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js.flow +31 -0
  600. package/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +265 -0
  601. package/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js.flow +69 -0
  602. package/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js +46 -0
  603. package/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js.flow +29 -0
  604. package/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +49 -0
  605. package/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js.flow +30 -0
  606. package/dist/vendor/react-native/Animated/nodes/AnimatedNode.js +159 -0
  607. package/dist/vendor/react-native/Animated/nodes/AnimatedNode.js.flow +58 -0
  608. package/dist/vendor/react-native/Animated/nodes/AnimatedProps.js +141 -0
  609. package/dist/vendor/react-native/Animated/nodes/AnimatedProps.js.flow +35 -0
  610. package/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js +124 -0
  611. package/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js.flow +33 -0
  612. package/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +49 -0
  613. package/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js.flow +30 -0
  614. package/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js +72 -0
  615. package/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js.flow +32 -0
  616. package/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js +109 -0
  617. package/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js.flow +26 -0
  618. package/dist/vendor/react-native/Animated/nodes/AnimatedValue.js +267 -0
  619. package/dist/vendor/react-native/Animated/nodes/AnimatedValue.js.flow +86 -0
  620. package/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js +187 -0
  621. package/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js.flow +84 -0
  622. package/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +73 -0
  623. package/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js.flow +25 -0
  624. package/dist/vendor/react-native/Animated/useAnimatedProps.js +154 -0
  625. package/dist/vendor/react-native/Animated/useAnimatedProps.js.flow +37 -0
  626. package/dist/vendor/react-native/Batchinator/index.js +79 -0
  627. package/dist/vendor/react-native/Batchinator/index.js.flow +51 -0
  628. package/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js +80 -0
  629. package/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js.flow +42 -0
  630. package/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +21 -0
  631. package/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js.flow +22 -0
  632. package/dist/vendor/react-native/FillRateHelper/index.js +192 -0
  633. package/dist/vendor/react-native/FillRateHelper/index.js.flow +80 -0
  634. package/dist/vendor/react-native/FlatList/index.js +447 -0
  635. package/dist/vendor/react-native/FlatList/index.js.flow +345 -0
  636. package/dist/vendor/react-native/JSEventLoopWatchdog/index.js +86 -0
  637. package/dist/vendor/react-native/JSEventLoopWatchdog/index.js.flow +75 -0
  638. package/dist/vendor/react-native/LayoutAnimation/index.js +108 -0
  639. package/dist/vendor/react-native/LayoutAnimation/index.js.flow +105 -0
  640. package/dist/vendor/react-native/PanResponder/index.js +416 -0
  641. package/dist/vendor/react-native/PanResponder/index.js.flow +496 -0
  642. package/dist/vendor/react-native/PooledClass/index.js +58 -0
  643. package/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +20 -0
  644. package/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js.flow +49 -0
  645. package/dist/vendor/react-native/SectionList/index.js +145 -0
  646. package/dist/vendor/react-native/SectionList/index.js.flow +165 -0
  647. package/dist/vendor/react-native/StaticContainer/index.js +40 -0
  648. package/dist/vendor/react-native/StaticContainer/index.js.flow +45 -0
  649. package/dist/vendor/react-native/StaticRenderer/index.js +22 -0
  650. package/dist/vendor/react-native/StaticRenderer/index.js.flow +29 -0
  651. package/dist/vendor/react-native/TouchHistoryMath/index.js +100 -0
  652. package/dist/vendor/react-native/TurboModule/RCTExport.js +29 -0
  653. package/dist/vendor/react-native/TurboModule/RCTExport.js.flow +35 -0
  654. package/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js +21 -0
  655. package/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js.flow +16 -0
  656. package/dist/vendor/react-native/Types/CoreEventTypes.js +11 -0
  657. package/dist/vendor/react-native/Types/CoreEventTypes.js.flow +264 -0
  658. package/dist/vendor/react-native/Utilities/Platform.js +2 -0
  659. package/dist/vendor/react-native/Utilities/clamp.js +22 -0
  660. package/dist/vendor/react-native/Utilities/clamp.js.flow +14 -0
  661. package/dist/vendor/react-native/Utilities/setAndForwardRef.js +61 -0
  662. package/dist/vendor/react-native/Utilities/setAndForwardRef.js.flow +50 -0
  663. package/dist/vendor/react-native/Utilities/useMergeRefs.js +38 -0
  664. package/dist/vendor/react-native/Utilities/useMergeRefs.js.flow +28 -0
  665. package/dist/vendor/react-native/Utilities/useRefEffect.js +37 -0
  666. package/dist/vendor/react-native/Utilities/useRefEffect.js.flow +28 -0
  667. package/dist/vendor/react-native/ViewabilityHelper/index.js +206 -0
  668. package/dist/vendor/react-native/ViewabilityHelper/index.js.flow +111 -0
  669. package/dist/vendor/react-native/VirtualizeUtils/index.js +175 -0
  670. package/dist/vendor/react-native/VirtualizeUtils/index.js.flow +64 -0
  671. package/dist/vendor/react-native/VirtualizedList/CellRenderMask.js +106 -0
  672. package/dist/vendor/react-native/VirtualizedList/CellRenderMask.js.flow +29 -0
  673. package/dist/vendor/react-native/VirtualizedList/ChildListCollection.js +68 -0
  674. package/dist/vendor/react-native/VirtualizedList/ChildListCollection.js.flow +21 -0
  675. package/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js +70 -0
  676. package/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js.flow +28 -0
  677. package/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +156 -0
  678. package/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js.flow +68 -0
  679. package/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js +68 -0
  680. package/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js.flow +61 -0
  681. package/dist/vendor/react-native/VirtualizedList/VirtualizedListProps.js +16 -0
  682. package/dist/vendor/react-native/VirtualizedList/VirtualizedListProps.js.flow +308 -0
  683. package/dist/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +954 -0
  684. package/dist/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js.flow +172 -0
  685. package/dist/vendor/react-native/VirtualizedList/index.js +1501 -0
  686. package/dist/vendor/react-native/VirtualizedList/index.js.flow +307 -0
  687. package/dist/vendor/react-native/VirtualizedSectionList/index.js +384 -0
  688. package/dist/vendor/react-native/VirtualizedSectionList/index.js.flow +191 -0
  689. package/dist/vendor/react-native/deepDiffer/index.js +70 -0
  690. package/dist/vendor/react-native/deepDiffer/index.js.flow +67 -0
  691. package/dist/vendor/react-native/infoLog/index.js +19 -0
  692. package/dist/vendor/react-native/infoLog/index.js.flow +17 -0
  693. package/dist/vendor/react-native/vendor/emitter/EventEmitter.js +98 -0
  694. package/dist/vendor/react-native/vendor/emitter/EventEmitter.js.flow +54 -0
  695. package/package.json +60 -0
  696. package/src/exports/AccessibilityInfo/index.js +119 -0
  697. package/src/exports/ActivityIndicator/index.js +119 -0
  698. package/src/exports/Alert/index.js +14 -0
  699. package/src/exports/Animated/index.js +13 -0
  700. package/src/exports/AppRegistry/AppContainer.js +55 -0
  701. package/src/exports/AppRegistry/index.js +153 -0
  702. package/src/exports/AppRegistry/renderApplication.js +72 -0
  703. package/src/exports/AppState/index.js +81 -0
  704. package/src/exports/Appearance/index.js +65 -0
  705. package/src/exports/BackHandler/index.js +108 -0
  706. package/src/exports/Button/index.js +90 -0
  707. package/src/exports/CheckBox/index.js +143 -0
  708. package/src/exports/Clipboard/index.js +63 -0
  709. package/src/exports/DeviceEventEmitter/index.js +2 -0
  710. package/src/exports/Dimensions/index.js +160 -0
  711. package/src/exports/Easing/index.js +11 -0
  712. package/src/exports/FlatList/index.js +14 -0
  713. package/src/exports/I18nManager/index.js +35 -0
  714. package/src/exports/Image/index.js +443 -0
  715. package/src/exports/Image/types.js +103 -0
  716. package/src/exports/ImageBackground/index.js +73 -0
  717. package/src/exports/InputAccessoryView/index.js +2 -0
  718. package/src/exports/InteractionManager/TaskQueue.js +115 -0
  719. package/src/exports/InteractionManager/index.js +142 -0
  720. package/src/exports/Keyboard/index.js +28 -0
  721. package/src/exports/KeyboardAvoidingView/index.js +59 -0
  722. package/src/exports/LayoutAnimation/index.js +12 -0
  723. package/src/exports/Linking/index.js +124 -0
  724. package/src/exports/LogBox/index.js +17 -0
  725. package/src/exports/Modal/ModalAnimation.js +164 -0
  726. package/src/exports/Modal/ModalContent.js +87 -0
  727. package/src/exports/Modal/ModalFocusTrap.js +173 -0
  728. package/src/exports/Modal/ModalPortal.js +48 -0
  729. package/src/exports/Modal/index.js +151 -0
  730. package/src/exports/NativeEventEmitter/index.js +11 -0
  731. package/src/exports/NativeModules/index.js +17 -0
  732. package/src/exports/PanResponder/Alternative.js +408 -0
  733. package/src/exports/PanResponder/index.js +4 -0
  734. package/src/exports/Picker/PickerItem.js +26 -0
  735. package/src/exports/Picker/index.js +95 -0
  736. package/src/exports/PixelRatio/index.js +49 -0
  737. package/src/exports/Platform/index.js +26 -0
  738. package/src/exports/Pressable/index.js +254 -0
  739. package/src/exports/ProgressBar/index.js +92 -0
  740. package/src/exports/RefreshControl/index.js +52 -0
  741. package/src/exports/SafeAreaView/index.js +49 -0
  742. package/src/exports/ScrollView/ScrollViewBase.js +187 -0
  743. package/src/exports/ScrollView/index.js +769 -0
  744. package/src/exports/ScrollView/types.js +26 -0
  745. package/src/exports/SectionList/index.js +13 -0
  746. package/src/exports/Share/index.js +65 -0
  747. package/src/exports/StatusBar/index.js +22 -0
  748. package/src/exports/StyleSheet/compiler/createReactDOMStyle.js +214 -0
  749. package/src/exports/StyleSheet/compiler/hash.js +67 -0
  750. package/src/exports/StyleSheet/compiler/hyphenateStyleName.js +27 -0
  751. package/src/exports/StyleSheet/compiler/index.js +518 -0
  752. package/src/exports/StyleSheet/compiler/normalizeColor.js +34 -0
  753. package/src/exports/StyleSheet/compiler/normalizeValueWithProperty.js +40 -0
  754. package/src/exports/StyleSheet/compiler/resolveShadowValue.js +32 -0
  755. package/src/exports/StyleSheet/compiler/unitlessNumbers.js +76 -0
  756. package/src/exports/StyleSheet/dom/createCSSStyleSheet.js +40 -0
  757. package/src/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +184 -0
  758. package/src/exports/StyleSheet/dom/index.js +90 -0
  759. package/src/exports/StyleSheet/index.js +197 -0
  760. package/src/exports/StyleSheet/preprocess.js +255 -0
  761. package/src/exports/StyleSheet/validate.js +93 -0
  762. package/src/exports/Switch/index.js +236 -0
  763. package/src/exports/TV/NativeTVNavigationEventEmitter.js +141 -0
  764. package/src/exports/TV/TVEventControl.js +56 -0
  765. package/src/exports/TV/TVEventHandler.js +58 -0
  766. package/src/exports/TV/TVFocusEventHandler.js +43 -0
  767. package/src/exports/TV/TVFocusGuideView.js +163 -0
  768. package/src/exports/TV/TVParallaxProperties.d.ts +42 -0
  769. package/src/exports/TV/TVTextScrollView.js +160 -0
  770. package/src/exports/TV/tagForComponentOrHandle.js +46 -0
  771. package/src/exports/TV/types.js +153 -0
  772. package/src/exports/TV/useTVEventHandler.js +24 -0
  773. package/src/exports/TV/utils.js +24 -0
  774. package/src/exports/Text/TextAncestorContext.js +17 -0
  775. package/src/exports/Text/index.js +241 -0
  776. package/src/exports/Text/types.js +121 -0
  777. package/src/exports/TextInput/index.js +503 -0
  778. package/src/exports/TextInput/types.js +97 -0
  779. package/src/exports/Touchable/BoundingDimensions.js +37 -0
  780. package/src/exports/Touchable/Position.js +26 -0
  781. package/src/exports/Touchable/ensurePositiveDelayProps.js +23 -0
  782. package/src/exports/Touchable/index.js +1026 -0
  783. package/src/exports/TouchableHighlight/index.js +219 -0
  784. package/src/exports/TouchableNativeFeedback/index.js +11 -0
  785. package/src/exports/TouchableOpacity/index.js +173 -0
  786. package/src/exports/TouchableWithoutFeedback/index.js +136 -0
  787. package/src/exports/UIManager/index.js +132 -0
  788. package/src/exports/Vibration/index.js +28 -0
  789. package/src/exports/View/index.js +219 -0
  790. package/src/exports/View/types.js +251 -0
  791. package/src/exports/VirtualizedList/index.js +13 -0
  792. package/src/exports/YellowBox/index.js +22 -0
  793. package/src/exports/createElement/index.js +43 -0
  794. package/src/exports/findNodeHandle/index.js +18 -0
  795. package/src/exports/processColor/index.js +29 -0
  796. package/src/exports/render/index.js +29 -0
  797. package/src/exports/unmountComponentAtNode/index.js +13 -0
  798. package/src/exports/useColorScheme/index.js +31 -0
  799. package/src/exports/useLocaleContext/index.js +13 -0
  800. package/src/exports/useWindowDimensions/index.js +36 -0
  801. package/src/index.js +79 -0
  802. package/src/modules/AccessibilityUtil/index.js +20 -0
  803. package/src/modules/AccessibilityUtil/isDisabled.js +15 -0
  804. package/src/modules/AccessibilityUtil/propsToAccessibilityComponent.js +58 -0
  805. package/src/modules/AccessibilityUtil/propsToAriaRole.js +42 -0
  806. package/src/modules/AssetRegistry/index.js +32 -0
  807. package/src/modules/ImageLoader/index.js +167 -0
  808. package/src/modules/SpatialManager/README.md +122 -0
  809. package/src/modules/SpatialManager/index.js +582 -0
  810. package/src/modules/SpatialManager/mutationObserver.js +119 -0
  811. package/src/modules/SpatialManager/scrollHandler.js +966 -0
  812. package/src/modules/SpatialManager/utils.js +551 -0
  813. package/src/modules/TextInputState/index.js +64 -0
  814. package/src/modules/UnimplementedView/index.js +31 -0
  815. package/src/modules/addEventListener/index.js +89 -0
  816. package/src/modules/canUseDom/index.js +16 -0
  817. package/src/modules/createDOMProps/index.js +979 -0
  818. package/src/modules/dismissKeyboard/index.js +16 -0
  819. package/src/modules/forwardedProps/index.js +189 -0
  820. package/src/modules/getBoundingClientRect/index.js +19 -0
  821. package/src/modules/isSelectionValid/index.js +19 -0
  822. package/src/modules/isWebColor/index.js +16 -0
  823. package/src/modules/mergeRefs/index.js +35 -0
  824. package/src/modules/modality/index.js +215 -0
  825. package/src/modules/multiplyStyleLengthValue/index.js +28 -0
  826. package/src/modules/normalizeColor/index.js +34 -0
  827. package/src/modules/pick/index.js +20 -0
  828. package/src/modules/prefixStyles/index.js +17 -0
  829. package/src/modules/prefixStyles/static.js +69 -0
  830. package/src/modules/requestIdleCallback/index.js +38 -0
  831. package/src/modules/setValueForStyles/dangerousStyleValue.js +52 -0
  832. package/src/modules/setValueForStyles/index.js +45 -0
  833. package/src/modules/unitlessNumbers/index.js +76 -0
  834. package/src/modules/useElementLayout/index.js +95 -0
  835. package/src/modules/useEvent/index.js +70 -0
  836. package/src/modules/useHover/index.js +197 -0
  837. package/src/modules/useLayoutEffect/index.js +20 -0
  838. package/src/modules/useLocale/index.js +60 -0
  839. package/src/modules/useLocale/isLocaleRTL.js +81 -0
  840. package/src/modules/useMergeRefs/index.js +21 -0
  841. package/src/modules/usePlatformMethods/index.js +39 -0
  842. package/src/modules/usePressEvents/PressResponder.js +625 -0
  843. package/src/modules/usePressEvents/index.js +44 -0
  844. package/src/modules/useResponderEvents/README.md +209 -0
  845. package/src/modules/useResponderEvents/ResponderEventTypes.js +83 -0
  846. package/src/modules/useResponderEvents/ResponderSystem.js +688 -0
  847. package/src/modules/useResponderEvents/ResponderTouchHistoryStore.js +219 -0
  848. package/src/modules/useResponderEvents/createResponderEvent.js +206 -0
  849. package/src/modules/useResponderEvents/index.js +91 -0
  850. package/src/modules/useResponderEvents/utils.js +179 -0
  851. package/src/modules/useStable/index.js +24 -0
  852. package/src/modules/warnOnce/index.js +29 -0
  853. package/src/types/index.js +76 -0
  854. package/src/types/styles.js +346 -0
  855. package/src/vendor/hash/index.js +60 -0
  856. package/src/vendor/react-native/Animated/Animated.js +41 -0
  857. package/src/vendor/react-native/Animated/AnimatedEvent.js +232 -0
  858. package/src/vendor/react-native/Animated/AnimatedImplementation.js +757 -0
  859. package/src/vendor/react-native/Animated/AnimatedMock.js +197 -0
  860. package/src/vendor/react-native/Animated/AnimatedPlatformConfig.js +13 -0
  861. package/src/vendor/react-native/Animated/Easing.js +253 -0
  862. package/src/vendor/react-native/Animated/NativeAnimatedHelper.js +603 -0
  863. package/src/vendor/react-native/Animated/NativeAnimatedModule.js +72 -0
  864. package/src/vendor/react-native/Animated/NativeAnimatedTurboModule.js +70 -0
  865. package/src/vendor/react-native/Animated/SpringConfig.js +103 -0
  866. package/src/vendor/react-native/Animated/animations/Animation.js +89 -0
  867. package/src/vendor/react-native/Animated/animations/DecayAnimation.js +120 -0
  868. package/src/vendor/react-native/Animated/animations/SpringAnimation.js +376 -0
  869. package/src/vendor/react-native/Animated/animations/TimingAnimation.js +177 -0
  870. package/src/vendor/react-native/Animated/bezier.js +153 -0
  871. package/src/vendor/react-native/Animated/components/AnimatedFlatList.js +30 -0
  872. package/src/vendor/react-native/Animated/components/AnimatedImage.js +23 -0
  873. package/src/vendor/react-native/Animated/components/AnimatedScrollView.js +30 -0
  874. package/src/vendor/react-native/Animated/components/AnimatedSectionList.js +30 -0
  875. package/src/vendor/react-native/Animated/components/AnimatedText.js +23 -0
  876. package/src/vendor/react-native/Animated/components/AnimatedView.js +21 -0
  877. package/src/vendor/react-native/Animated/createAnimatedComponent.js +65 -0
  878. package/src/vendor/react-native/Animated/nodes/AnimatedAddition.js +67 -0
  879. package/src/vendor/react-native/Animated/nodes/AnimatedColor.js +359 -0
  880. package/src/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +75 -0
  881. package/src/vendor/react-native/Animated/nodes/AnimatedDivision.js +82 -0
  882. package/src/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +375 -0
  883. package/src/vendor/react-native/Animated/nodes/AnimatedModulo.js +66 -0
  884. package/src/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +66 -0
  885. package/src/vendor/react-native/Animated/nodes/AnimatedNode.js +197 -0
  886. package/src/vendor/react-native/Animated/nodes/AnimatedProps.js +171 -0
  887. package/src/vendor/react-native/Animated/nodes/AnimatedStyle.js +143 -0
  888. package/src/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +66 -0
  889. package/src/vendor/react-native/Animated/nodes/AnimatedTracking.js +102 -0
  890. package/src/vendor/react-native/Animated/nodes/AnimatedTransform.js +121 -0
  891. package/src/vendor/react-native/Animated/nodes/AnimatedValue.js +306 -0
  892. package/src/vendor/react-native/Animated/nodes/AnimatedValueXY.js +226 -0
  893. package/src/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +90 -0
  894. package/src/vendor/react-native/Animated/useAnimatedProps.js +188 -0
  895. package/src/vendor/react-native/Batchinator/index.js +76 -0
  896. package/src/vendor/react-native/EventEmitter/NativeEventEmitter.js +116 -0
  897. package/src/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +22 -0
  898. package/src/vendor/react-native/FillRateHelper/index.js +253 -0
  899. package/src/vendor/react-native/FlatList/index.js +710 -0
  900. package/src/vendor/react-native/JSEventLoopWatchdog/index.js +87 -0
  901. package/src/vendor/react-native/LayoutAnimation/index.js +142 -0
  902. package/src/vendor/react-native/PanResponder/index.js +613 -0
  903. package/src/vendor/react-native/PooledClass/index.js +63 -0
  904. package/src/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +51 -0
  905. package/src/vendor/react-native/SHA +2 -0
  906. package/src/vendor/react-native/SectionList/index.js +254 -0
  907. package/src/vendor/react-native/StaticContainer/index.js +54 -0
  908. package/src/vendor/react-native/StaticRenderer/index.js +37 -0
  909. package/src/vendor/react-native/TouchHistoryMath/index.js +153 -0
  910. package/src/vendor/react-native/TurboModule/RCTExport.js +35 -0
  911. package/src/vendor/react-native/TurboModule/TurboModuleRegistry.js +28 -0
  912. package/src/vendor/react-native/Types/CoreEventTypes.js +291 -0
  913. package/src/vendor/react-native/Utilities/Platform.js +2 -0
  914. package/src/vendor/react-native/Utilities/clamp.js +23 -0
  915. package/src/vendor/react-native/Utilities/setAndForwardRef.js +71 -0
  916. package/src/vendor/react-native/Utilities/useMergeRefs.js +44 -0
  917. package/src/vendor/react-native/Utilities/useRefEffect.js +45 -0
  918. package/src/vendor/react-native/ViewabilityHelper/index.js +360 -0
  919. package/src/vendor/react-native/VirtualizeUtils/index.js +258 -0
  920. package/src/vendor/react-native/VirtualizedList/CellRenderMask.js +155 -0
  921. package/src/vendor/react-native/VirtualizedList/ChildListCollection.js +72 -0
  922. package/src/vendor/react-native/VirtualizedList/RLV_ADAPTER_STATUS.md +257 -0
  923. package/src/vendor/react-native/VirtualizedList/StateSafePureComponent.js +85 -0
  924. package/src/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +247 -0
  925. package/src/vendor/react-native/VirtualizedList/VirtualizedListContext.js +118 -0
  926. package/src/vendor/react-native/VirtualizedList/VirtualizedListProps.js +318 -0
  927. package/src/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +1120 -0
  928. package/src/vendor/react-native/VirtualizedList/index.js +2099 -0
  929. package/src/vendor/react-native/VirtualizedSectionList/index.js +616 -0
  930. package/src/vendor/react-native/deepDiffer/index.js +72 -0
  931. package/src/vendor/react-native/infoLog/index.js +20 -0
  932. package/src/vendor/react-native/vendor/emitter/EventEmitter.js +146 -0
@@ -0,0 +1,418 @@
1
+ /**
2
+ * Copyright (c) 2026 Harpreet Singh.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ *
8
+ * @format
9
+ */
10
+
11
+ // API capability detection (one-time check at module load).
12
+ // TV platforms may lack modern APIs, so we detect and fall back gracefully.
13
+ // This avoids repeated try-catch blocks on every scroll operation.
14
+
15
+ export function isNativeScrollerType(scrollable) {
16
+ if (typeof (scrollable == null ? void 0 : scrollable.scrollTo) !== 'function') {
17
+ return true;
18
+ }
19
+ try {
20
+ // Native browser scrollTo includes [native code]; RNW patched scrollTo is JS.
21
+ return scrollable.scrollTo.toString().includes('[native code]');
22
+ } catch (_err) {
23
+ return true;
24
+ }
25
+ }
26
+ var _hasPerformance = typeof performance !== 'undefined' && typeof performance.now === 'function';
27
+ var _hasRequestAnimationFrame = typeof requestAnimationFrame === 'function';
28
+ var _hasGetComputedStyle = typeof window !== 'undefined' && typeof window.getComputedStyle === 'function';
29
+ var _hasGetBoundingClientRect = typeof Element !== 'undefined' && Element.prototype.getBoundingClientRect !== undefined;
30
+ var _windowScrollable = typeof window !== 'undefined' ? {
31
+ get scrollTop() {
32
+ return window.scrollY;
33
+ },
34
+ get scrollLeft() {
35
+ return window.scrollX;
36
+ },
37
+ clientHeight: window.innerHeight,
38
+ clientWidth: window.innerWidth,
39
+ scrollHeight: document.documentElement && document.documentElement.scrollHeight || document.body && document.body.scrollHeight || 0,
40
+ scrollWidth: document.documentElement && document.documentElement.scrollWidth || document.body && document.body.scrollWidth || 0,
41
+ getBoundingClientRect: () => ({
42
+ top: 0,
43
+ left: 0,
44
+ bottom: window.innerHeight,
45
+ right: window.innerWidth
46
+ }),
47
+ scrollTo: options => {
48
+ var scrollParam = {
49
+ top: options.y !== undefined ? options.y : window.scrollY,
50
+ left: options.x !== undefined ? options.x : window.scrollX,
51
+ behavior: options.animated ? 'smooth' : 'auto'
52
+ };
53
+ window.scroll ? window.scroll(scrollParam) : window.scrollTo(scrollParam);
54
+ }
55
+ } : null;
56
+
57
+ /**
58
+ * getCurrentTime
59
+ * Returns current timestamp using high-resolution performance API if available.
60
+ * Falls back to Date.now() for environments lacking performance.now().
61
+ * @returns {number} Current time in milliseconds
62
+ */
63
+ export function getCurrentTime() {
64
+ return _hasPerformance ? performance.now() : Date.now();
65
+ }
66
+
67
+ /**
68
+ * scheduleAnimationFrame
69
+ * Schedules a callback for the next animation frame.
70
+ * Uses requestAnimationFrame if available, falls back to 30fps setTimeout simulation.
71
+ * @param {() => void} callback - Function to execute on next animation frame
72
+ * @returns {any} Animation frame ID for cancellation with cancelScheduledFrame()
73
+ */
74
+ export function scheduleAnimationFrame(callback) {
75
+ if (_hasRequestAnimationFrame) {
76
+ return requestAnimationFrame(callback);
77
+ }
78
+ // Fallback: simulate 30fps with setTimeout (33ms per frame)
79
+ // TODO: Consider making this adaptive based on actual frame rate or using a more sophisticated polyfill if needed
80
+ return setTimeout(callback, 33);
81
+ }
82
+ export function cancelScheduledFrame(frameId) {
83
+ if (_hasRequestAnimationFrame) {
84
+ cancelAnimationFrame(frameId);
85
+ return;
86
+ }
87
+ clearTimeout(frameId);
88
+ }
89
+
90
+ /**
91
+ * findScrollableAncestor
92
+ * Traverses DOM ancestors to find a scrollable parent element in specified direction.
93
+ * Checks computed overflow styles and scroll capacity before returning.
94
+ * Falls back to window scrollable if no ancestor can scroll in the direction.
95
+ * @param {HTMLElement | null} elem - Starting element for ancestor traversal
96
+ * @param {'vertical' | 'horizontal'} direction - Direction to check scrollability
97
+ * @returns {ScrollableAncestorInfo} Scrollable ancestor info (falls back to window scrollable)
98
+ */
99
+ export function findScrollableAncestor(elem, direction) {
100
+ var current = elem ? elem.parentElement : null;
101
+ while (current) {
102
+ var overflowY = '';
103
+ var overflowX = '';
104
+ if (_hasGetComputedStyle) {
105
+ var style = window.getComputedStyle(current);
106
+ overflowY = style.overflowY;
107
+ overflowX = style.overflowX;
108
+ } else {
109
+ // Fallback: check inline styles only
110
+ overflowY = current.style.overflowY || '';
111
+ overflowX = current.style.overflowX || '';
112
+ }
113
+ var canScrollY = (overflowY === 'auto' || overflowY === 'scroll' || overflowY === 'overlay') && current.scrollHeight > current.clientHeight;
114
+ var canScrollX = (overflowX === 'auto' || overflowX === 'scroll' || overflowX === 'overlay') && current.scrollWidth > current.clientWidth;
115
+ if (direction === 'vertical' && canScrollY || direction === 'horizontal' && canScrollX) {
116
+ return {
117
+ scrollable: current,
118
+ isWindowScroll: false,
119
+ isNativeScroller: isNativeScrollerType(current)
120
+ };
121
+ }
122
+ if (current === document.body || current === document.documentElement) {
123
+ break;
124
+ }
125
+ current = current.parentElement;
126
+ }
127
+ // Return window scrollable as fallback if no scrollable ancestor found
128
+ return {
129
+ scrollable: _windowScrollable,
130
+ isWindowScroll: true,
131
+ isNativeScroller: true
132
+ };
133
+ }
134
+
135
+ /**
136
+ * isElementInWindowViewport
137
+ * Checks if an element intersects with the window viewport.
138
+ * Only verifies window viewport visibility, not parent container visibility.
139
+ * Assumes element CSS is already visible (display, visibility, opacity handled elsewhere).
140
+ * @param {HTMLElement} elem - The element to check
141
+ * @returns {boolean} True if element intersects window viewport, false otherwise
142
+ */
143
+ export function isElementInWindowViewport(elem) {
144
+ if (!elem || !_hasGetBoundingClientRect) {
145
+ return true; // Assume visible if we can't measure
146
+ }
147
+ try {
148
+ var elemRect = elem.getBoundingClientRect();
149
+ var docEl = document.documentElement;
150
+ var viewportHeight = window.innerHeight || (docEl ? docEl.clientHeight : 0);
151
+ var viewportWidth = window.innerWidth || (docEl ? docEl.clientWidth : 0);
152
+ return elemRect.top < viewportHeight && elemRect.bottom > 0 && elemRect.left < viewportWidth && elemRect.right > 0;
153
+ } catch (e) {
154
+ return true; // Safe fallback
155
+ }
156
+ }
157
+
158
+ /**
159
+ * Check if an element is fully visible in the window viewport.
160
+ * Returns visibility percentage (0-1).
161
+ *
162
+ * @param {HTMLElement} elem The element to check
163
+ * @return {number} Visibility ratio: 0 = not visible, 1 = fully visible
164
+ */
165
+ /**
166
+ * getElementVisibilityRatio
167
+ * Calculates the percentage of an element visible within the window viewport.
168
+ * Returns a ratio from 0 (not visible) to 1 (fully visible).
169
+ * @param {HTMLElement} elem - The element to measure
170
+ * @returns {number} Visibility ratio: 0 = completely out of view, 1 = fully in view
171
+ */
172
+ export function getElementVisibilityRatio(elem) {
173
+ if (!elem || !_hasGetBoundingClientRect) {
174
+ return 1; // Assume fully visible if we can't measure
175
+ }
176
+ try {
177
+ var elemRect = elem.getBoundingClientRect();
178
+ var docEl = document.documentElement;
179
+ var viewportHeight = window.innerHeight || (docEl ? docEl.clientHeight : 0);
180
+ var viewportWidth = window.innerWidth || (docEl ? docEl.clientWidth : 0);
181
+
182
+ // Calculate clipped rectangle intersecting with viewport
183
+ var clippedTop = Math.max(0, elemRect.top);
184
+ var clippedBottom = Math.min(viewportHeight, elemRect.bottom);
185
+ var clippedLeft = Math.max(0, elemRect.left);
186
+ var clippedRight = Math.min(viewportWidth, elemRect.right);
187
+
188
+ // Calculate visible area
189
+ var visibleHeight = Math.max(0, clippedBottom - clippedTop);
190
+ var visibleWidth = Math.max(0, clippedRight - clippedLeft);
191
+ var visibleArea = visibleHeight * visibleWidth;
192
+
193
+ // Calculate total element area
194
+ var totalHeight = elemRect.height;
195
+ var totalWidth = elemRect.width;
196
+ var totalArea = totalHeight * totalWidth;
197
+ if (totalArea === 0) {
198
+ return 0;
199
+ }
200
+ return Math.min(1, visibleArea / totalArea);
201
+ } catch (e) {
202
+ return 1; // Safe fallback
203
+ }
204
+ }
205
+
206
+ /**
207
+ * Infer scroll direction from scrollContainer's scroll capability.
208
+ * Used to provide directional hint to scrollToElement.
209
+ *
210
+ * @param {HTMLElement} scrollContainer The container that scrolled
211
+ * @return {'ArrowDown' | 'ArrowRight'} Direction hint
212
+ */
213
+ /**
214
+ * inferScrollDirection
215
+ * Determines primary scroll axis capability of a container.
216
+ * Used to provide directional hints to scrollToElement for optimal behavior.
217
+ * @param {HTMLElement | null} scrollContainer - The container being evaluated
218
+ * @returns {'ArrowDown' | 'ArrowRight'} Direction hint based on scroll capability
219
+ */
220
+ export function inferScrollDirection(scrollContainer) {
221
+ if (!scrollContainer) {
222
+ return 'ArrowDown';
223
+ }
224
+ var isWindowScroll = scrollContainer === window || scrollContainer === document || scrollContainer === document.documentElement;
225
+ if (isWindowScroll) {
226
+ return 'ArrowDown';
227
+ }
228
+
229
+ // Check if container can scroll vertically
230
+ var canScrollVertical = (() => {
231
+ if (_hasGetComputedStyle) {
232
+ var style = window.getComputedStyle(scrollContainer);
233
+ return (style.overflowY === 'auto' || style.overflowY === 'scroll' || style.overflowY === 'overlay') && scrollContainer.scrollHeight > scrollContainer.clientHeight;
234
+ }
235
+ return scrollContainer.scrollHeight > scrollContainer.clientHeight;
236
+ })();
237
+
238
+ // Prefer vertical direction if possible
239
+ return canScrollVertical ? 'ArrowDown' : 'ArrowRight';
240
+ }
241
+
242
+ /**
243
+ * getBoundingRectangles
244
+ * Resolves element and container viewport-relative bounding rectangles.
245
+ * Sets up target as parent container if it's within a scrollable to allow scrolling
246
+ * to bring a parent container into visibilty instead of the element itself.
247
+ * Falls back to offset dimensions if getBoundingClientRect unavailable.
248
+ * @param {any} scrollableH - Horizontal scrollable container
249
+ * @param {boolean} isWindowScrollH - If true, scrollableH is the window
250
+ * @param {any} scrollableV - Vertical scrollable container
251
+ * @param {boolean} isWindowScrollV - If true, scrollableV is the window
252
+ * @param {HTMLElement} elem - The target element to measure
253
+ * @returns {Object} Object with horizontalRects, verticalRects, targetHRect, targetVRect
254
+ */
255
+ export function getBoundingRectangles(scrollableH, isWindowScrollH, scrollableV, isWindowScrollV, elemData) {
256
+ var elem = elemData.elem,
257
+ parentContainer = elemData.parentContainer;
258
+ var containerRectH, containerRectV;
259
+ var targetHRect, targetVRect;
260
+ if (!elem) {
261
+ var emptyRect = {
262
+ top: 0,
263
+ left: 0,
264
+ bottom: 0,
265
+ right: 0
266
+ };
267
+ return {
268
+ horizontalRects: {
269
+ containerRect: emptyRect,
270
+ visibleContainerRect: emptyRect
271
+ },
272
+ verticalRects: {
273
+ containerRect: emptyRect,
274
+ visibleContainerRect: emptyRect
275
+ },
276
+ targetHRect: emptyRect,
277
+ targetVRect: emptyRect
278
+ };
279
+ }
280
+
281
+ // Check if parent container of the next element is within the scrollable area of either axis.
282
+ var isParentInVScroll = !!parentContainer && (isWindowScrollV || scrollableV.contains(parentContainer));
283
+ var isParentInHScroll = !!parentContainer && (isWindowScrollH || scrollableH.contains(parentContainer));
284
+ var canUseParentRectForAxis = (parentRect, containerRect, axis) => {
285
+ if (!parentRect || !containerRect) {
286
+ return false;
287
+ }
288
+ var parentSize = axis === 'vertical' ? parentRect.bottom - parentRect.top : parentRect.right - parentRect.left;
289
+ var containerSize = axis === 'vertical' ? containerRect.bottom - containerRect.top : containerRect.right - containerRect.left;
290
+ return parentSize <= containerSize;
291
+ };
292
+ if (_hasGetBoundingClientRect) {
293
+ var targetElemRect = elem.getBoundingClientRect();
294
+ var parentContainerRect = parentContainer ? parentContainer.getBoundingClientRect() : null;
295
+ containerRectH = scrollableH.getBoundingClientRect();
296
+ containerRectV = scrollableV.getBoundingClientRect();
297
+ targetHRect = isParentInHScroll && canUseParentRectForAxis(parentContainerRect, containerRectH, 'horizontal') ? parentContainerRect : targetElemRect;
298
+ targetVRect = isParentInVScroll && canUseParentRectForAxis(parentContainerRect, containerRectV, 'vertical') ? parentContainerRect : targetElemRect;
299
+ } else {
300
+ // Fallback: use offset dimensions
301
+ containerRectH = {
302
+ top: scrollableH.offsetTop || 0,
303
+ left: scrollableH.offsetLeft || 0,
304
+ bottom: (scrollableH.offsetTop || 0) + (scrollableH.offsetHeight || 0),
305
+ right: (scrollableH.offsetLeft || 0) + (scrollableH.offsetWidth || 0)
306
+ };
307
+ containerRectV = {
308
+ top: scrollableV.offsetTop || 0,
309
+ left: scrollableV.offsetLeft || 0,
310
+ bottom: (scrollableV.offsetTop || 0) + (scrollableV.offsetHeight || 0),
311
+ right: (scrollableV.offsetLeft || 0) + (scrollableV.offsetWidth || 0)
312
+ };
313
+ var _targetElemRect = {
314
+ top: elem.offsetTop || 0,
315
+ left: elem.offsetLeft || 0,
316
+ bottom: (elem.offsetTop || 0) + (elem.offsetHeight || 0),
317
+ right: (elem.offsetLeft || 0) + (elem.offsetWidth || 0)
318
+ };
319
+ var _parentContainerRect = null;
320
+ if ((isParentInVScroll || isParentInHScroll) && parentContainer) {
321
+ _parentContainerRect = {
322
+ top: parentContainer.offsetTop || 0,
323
+ left: parentContainer.offsetLeft || 0,
324
+ bottom: (parentContainer.offsetTop || 0) + (parentContainer.offsetHeight || 0),
325
+ right: (parentContainer.offsetLeft || 0) + (parentContainer.offsetWidth || 0)
326
+ };
327
+ }
328
+ targetHRect = isParentInHScroll && canUseParentRectForAxis(_parentContainerRect, containerRectH, 'horizontal') ? _parentContainerRect : _targetElemRect;
329
+ targetVRect = isParentInVScroll && canUseParentRectForAxis(_parentContainerRect, containerRectV, 'vertical') ? _parentContainerRect : _targetElemRect;
330
+ }
331
+
332
+ // Clamp container rect to viewport bounds so we don't scroll outside the visible area.
333
+ // This is critical for accurate visibility detection when container is partially off-screen.
334
+ // const visibleContainerRect = isWindowScrollH
335
+ // ? _viewportRect
336
+ // : {
337
+ // top: Math.max(containerRect.top, _viewportRect.top),
338
+ // bottom: Math.min(containerRect.bottom, _viewportRect.bottom),
339
+ // left: Math.max(containerRect.left, _viewportRect.left),
340
+ // right: Math.min(containerRect.right, _viewportRect.right)
341
+ // };
342
+
343
+ // return { containerRect, targetRect, visibleContainerRect };
344
+ return {
345
+ horizontalRects: {
346
+ containerRect: containerRectH,
347
+ visibleContainerRect: containerRectH
348
+ },
349
+ verticalRects: {
350
+ containerRect: containerRectV,
351
+ visibleContainerRect: containerRectV
352
+ },
353
+ targetHRect,
354
+ targetVRect
355
+ };
356
+ }
357
+
358
+ /**
359
+ * getAxisScrollDelta
360
+ * Calculates scroll distance needed to keep an element visible within container.
361
+ * Respects edge padding to maintain spacing from container boundaries.
362
+ * Handles cases where element is larger than visible container.
363
+ * @param {any} targetRect - Bounding rectangle of target element
364
+ * @param {any} visibleContainerRect - Bounding rectangle of visible container
365
+ * @param {'vertical' | 'horizontal'} axis - Axis to calculate scroll for
366
+ * @param {number} topEdgePaddingPx - Padding from top edge (vertical axis)
367
+ * @param {number} leftEdgePaddingPx - Padding from left edge (horizontal axis)
368
+ * @returns {Object} Object with needsScroll (boolean) and scrollDelta (pixels to scroll)
369
+ */
370
+ export function getAxisScrollDelta(targetRect, visibleContainerRect, axis, topEdgePaddingPx, leftEdgePaddingPx) {
371
+ var isVertical = axis === 'vertical';
372
+ var targetSize, visibleSize;
373
+ if (isVertical) {
374
+ targetSize = targetRect.bottom - targetRect.top;
375
+ visibleSize = visibleContainerRect.bottom - visibleContainerRect.top;
376
+ } else {
377
+ targetSize = targetRect.right - targetRect.left;
378
+ visibleSize = visibleContainerRect.right - visibleContainerRect.left;
379
+ }
380
+ if (targetSize > visibleSize) {
381
+ var delta = isVertical ? targetRect.top - visibleContainerRect.top - topEdgePaddingPx : targetRect.left - visibleContainerRect.left - leftEdgePaddingPx;
382
+ return {
383
+ needsScroll: delta !== 0,
384
+ scrollDelta: delta
385
+ };
386
+ }
387
+ if (isVertical) {
388
+ if (targetRect.top < visibleContainerRect.top) {
389
+ return {
390
+ needsScroll: true,
391
+ scrollDelta: targetRect.top - visibleContainerRect.top - topEdgePaddingPx
392
+ };
393
+ }
394
+ if (targetRect.bottom > visibleContainerRect.bottom) {
395
+ return {
396
+ needsScroll: true,
397
+ scrollDelta: targetRect.bottom - visibleContainerRect.bottom
398
+ };
399
+ }
400
+ } else {
401
+ if (targetRect.left < visibleContainerRect.left) {
402
+ return {
403
+ needsScroll: true,
404
+ scrollDelta: targetRect.left - visibleContainerRect.left - leftEdgePaddingPx
405
+ };
406
+ }
407
+ if (targetRect.right > visibleContainerRect.right) {
408
+ return {
409
+ needsScroll: true,
410
+ scrollDelta: targetRect.right - visibleContainerRect.right + leftEdgePaddingPx
411
+ };
412
+ }
413
+ }
414
+ return {
415
+ needsScroll: false,
416
+ scrollDelta: 0
417
+ };
418
+ }
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Copyright (c) 2026 Harpreet Singh.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ * @format
9
+ */
10
+
11
+ // API capability detection (one-time check at module load).
12
+ // TV platforms may lack modern APIs, so we detect and fall back gracefully.
13
+ // This avoids repeated try-catch blocks on every scroll operation.
14
+ export type ElemData = {
15
+ elem: HTMLElement | null,
16
+ parentContainer: HTMLElement | null,
17
+ };
18
+ export type ScrollableAncestorInfo = {
19
+ scrollable: any,
20
+ isWindowScroll: boolean,
21
+ isNativeScroller: boolean,
22
+ };
23
+ declare export function isNativeScrollerType(scrollable: any): boolean;
24
+ const _hasPerformance = typeof performance !== 'undefined' && typeof performance.now === 'function';
25
+ const _hasRequestAnimationFrame = typeof requestAnimationFrame === 'function';
26
+ const _hasGetComputedStyle = typeof window !== 'undefined' && typeof window.getComputedStyle === 'function';
27
+ const _hasGetBoundingClientRect = typeof Element !== 'undefined' && Element.prototype.getBoundingClientRect !== undefined;
28
+ const _windowScrollable = typeof window !== 'undefined' ? {
29
+ get scrollTop() {
30
+ return window.scrollY;
31
+ },
32
+ get scrollLeft() {
33
+ return window.scrollX;
34
+ },
35
+ clientHeight: window.innerHeight,
36
+ clientWidth: window.innerWidth,
37
+ scrollHeight: document.documentElement && document.documentElement.scrollHeight || document.body && document.body.scrollHeight || 0,
38
+ scrollWidth: document.documentElement && document.documentElement.scrollWidth || document.body && document.body.scrollWidth || 0,
39
+ getBoundingClientRect: () => ({
40
+ top: 0,
41
+ left: 0,
42
+ bottom: window.innerHeight,
43
+ right: window.innerWidth
44
+ }),
45
+ scrollTo: (options: any) => {
46
+ const scrollParam = {
47
+ top: options.y !== undefined ? options.y : window.scrollY,
48
+ left: options.x !== undefined ? options.x : window.scrollX,
49
+ behavior: options.animated ? 'smooth' : 'auto'
50
+ };
51
+ window.scroll ? window.scroll(scrollParam) : window.scrollTo(scrollParam);
52
+ }
53
+ } : null;
54
+
55
+ /**
56
+ * getCurrentTime
57
+ * Returns current timestamp using high-resolution performance API if available.
58
+ * Falls back to Date.now() for environments lacking performance.now().
59
+ * @returns {number} Current time in milliseconds
60
+ */
61
+ declare export function getCurrentTime(): number;
62
+ /**
63
+ * scheduleAnimationFrame
64
+ * Schedules a callback for the next animation frame.
65
+ * Uses requestAnimationFrame if available, falls back to 30fps setTimeout simulation.
66
+ * @param {() => void} callback - Function to execute on next animation frame
67
+ * @returns {any} Animation frame ID for cancellation with cancelScheduledFrame()
68
+ */
69
+ declare export function scheduleAnimationFrame(callback: () => void): any;
70
+ declare export function cancelScheduledFrame(frameId: any): void;
71
+ /**
72
+ * findScrollableAncestor
73
+ * Traverses DOM ancestors to find a scrollable parent element in specified direction.
74
+ * Checks computed overflow styles and scroll capacity before returning.
75
+ * Falls back to window scrollable if no ancestor can scroll in the direction.
76
+ * @param {HTMLElement | null} elem - Starting element for ancestor traversal
77
+ * @param {'vertical' | 'horizontal'} direction - Direction to check scrollability
78
+ * @returns {ScrollableAncestorInfo} Scrollable ancestor info (falls back to window scrollable)
79
+ */
80
+ declare export function findScrollableAncestor(elem: HTMLElement | null, direction: 'vertical' | 'horizontal'): ScrollableAncestorInfo;
81
+ /**
82
+ * isElementInWindowViewport
83
+ * Checks if an element intersects with the window viewport.
84
+ * Only verifies window viewport visibility, not parent container visibility.
85
+ * Assumes element CSS is already visible (display, visibility, opacity handled elsewhere).
86
+ * @param {HTMLElement} elem - The element to check
87
+ * @returns {boolean} True if element intersects window viewport, false otherwise
88
+ */
89
+ declare export function isElementInWindowViewport(elem: HTMLElement): boolean;
90
+ /**
91
+ * Check if an element is fully visible in the window viewport.
92
+ * Returns visibility percentage (0-1).
93
+ *
94
+ * @param {HTMLElement} elem The element to check
95
+ * @return {number} Visibility ratio: 0 = not visible, 1 = fully visible
96
+ */
97
+ /**
98
+ * getElementVisibilityRatio
99
+ * Calculates the percentage of an element visible within the window viewport.
100
+ * Returns a ratio from 0 (not visible) to 1 (fully visible).
101
+ * @param {HTMLElement} elem - The element to measure
102
+ * @returns {number} Visibility ratio: 0 = completely out of view, 1 = fully in view
103
+ */
104
+ declare export function getElementVisibilityRatio(elem: HTMLElement): number;
105
+ /**
106
+ * Infer scroll direction from scrollContainer's scroll capability.
107
+ * Used to provide directional hint to scrollToElement.
108
+ *
109
+ * @param {HTMLElement} scrollContainer The container that scrolled
110
+ * @return {'ArrowDown' | 'ArrowRight'} Direction hint
111
+ */
112
+ /**
113
+ * inferScrollDirection
114
+ * Determines primary scroll axis capability of a container.
115
+ * Used to provide directional hints to scrollToElement for optimal behavior.
116
+ * @param {HTMLElement | null} scrollContainer - The container being evaluated
117
+ * @returns {'ArrowDown' | 'ArrowRight'} Direction hint based on scroll capability
118
+ */
119
+ declare export function inferScrollDirection(scrollContainer: HTMLElement | null): 'ArrowDown' | 'ArrowRight';
120
+ /**
121
+ * getBoundingRectangles
122
+ * Resolves element and container viewport-relative bounding rectangles.
123
+ * Sets up target as parent container if it's within a scrollable to allow scrolling
124
+ * to bring a parent container into visibilty instead of the element itself.
125
+ * Falls back to offset dimensions if getBoundingClientRect unavailable.
126
+ * @param {any} scrollableH - Horizontal scrollable container
127
+ * @param {boolean} isWindowScrollH - If true, scrollableH is the window
128
+ * @param {any} scrollableV - Vertical scrollable container
129
+ * @param {boolean} isWindowScrollV - If true, scrollableV is the window
130
+ * @param {HTMLElement} elem - The target element to measure
131
+ * @returns {Object} Object with horizontalRects, verticalRects, targetHRect, targetVRect
132
+ */
133
+ declare export function getBoundingRectangles(scrollableH: any, isWindowScrollH: boolean, scrollableV: any, isWindowScrollV: boolean, elemData: ElemData): any;
134
+ /**
135
+ * getAxisScrollDelta
136
+ * Calculates scroll distance needed to keep an element visible within container.
137
+ * Respects edge padding to maintain spacing from container boundaries.
138
+ * Handles cases where element is larger than visible container.
139
+ * @param {any} targetRect - Bounding rectangle of target element
140
+ * @param {any} visibleContainerRect - Bounding rectangle of visible container
141
+ * @param {'vertical' | 'horizontal'} axis - Axis to calculate scroll for
142
+ * @param {number} topEdgePaddingPx - Padding from top edge (vertical axis)
143
+ * @param {number} leftEdgePaddingPx - Padding from left edge (horizontal axis)
144
+ * @returns {Object} Object with needsScroll (boolean) and scrollDelta (pixels to scroll)
145
+ */
146
+ declare export function getAxisScrollDelta(targetRect: any, visibleContainerRect: any, axis: 'vertical' | 'horizontal', topEdgePaddingPx: number, leftEdgePaddingPx: number): {
147
+ needsScroll: boolean,
148
+ scrollDelta: number,
149
+ };
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ *
9
+ */
10
+
11
+ import UIManager from '../../exports/UIManager';
12
+
13
+ /**
14
+ * This class is responsible for coordinating the "focused"
15
+ * state for TextInputs. All calls relating to the keyboard
16
+ * should be funneled through here
17
+ */
18
+ var TextInputState = {
19
+ /**
20
+ * Internal state
21
+ */
22
+ _currentlyFocusedNode: null,
23
+ /**
24
+ * Returns the ID of the currently focused text field, if one exists
25
+ * If no text field is focused it returns null
26
+ */
27
+ currentlyFocusedField() {
28
+ if (document.activeElement !== this._currentlyFocusedNode) {
29
+ this._currentlyFocusedNode = null;
30
+ }
31
+ return this._currentlyFocusedNode;
32
+ },
33
+ /**
34
+ * @param {Object} TextInputID id of the text field to focus
35
+ * Focuses the specified text field
36
+ * noop if the text field was already focused
37
+ */
38
+ focusTextInput(textFieldNode) {
39
+ if (textFieldNode !== null) {
40
+ this._currentlyFocusedNode = textFieldNode;
41
+ if (document.activeElement !== textFieldNode) {
42
+ UIManager.focus(textFieldNode);
43
+ }
44
+ }
45
+ },
46
+ /**
47
+ * @param {Object} textFieldNode id of the text field to focus
48
+ * Unfocuses the specified text field
49
+ * noop if it wasn't focused
50
+ */
51
+ blurTextInput(textFieldNode) {
52
+ if (textFieldNode !== null) {
53
+ this._currentlyFocusedNode = null;
54
+ if (document.activeElement === textFieldNode) {
55
+ UIManager.blur(textFieldNode);
56
+ }
57
+ }
58
+ }
59
+ };
60
+ export default TextInputState;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Copyright (c) Nicolas Gallagher.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @flow
9
+ */
10
+
11
+ import UIManager from '../../exports/UIManager';
12
+
13
+ /**
14
+ * This class is responsible for coordinating the "focused"
15
+ * state for TextInputs. All calls relating to the keyboard
16
+ * should be funneled through here
17
+ */
18
+ const TextInputState = {
19
+ /**
20
+ * Internal state
21
+ */
22
+ _currentlyFocusedNode: (null: ?Object),
23
+ /**
24
+ * Returns the ID of the currently focused text field, if one exists
25
+ * If no text field is focused it returns null
26
+ */
27
+ currentlyFocusedField(): ?Object {
28
+ if (document.activeElement !== this._currentlyFocusedNode) {
29
+ this._currentlyFocusedNode = null;
30
+ }
31
+ return this._currentlyFocusedNode;
32
+ },
33
+ /**
34
+ * @param {Object} TextInputID id of the text field to focus
35
+ * Focuses the specified text field
36
+ * noop if the text field was already focused
37
+ */
38
+ focusTextInput(textFieldNode: ?Object) {
39
+ if (textFieldNode !== null) {
40
+ this._currentlyFocusedNode = textFieldNode;
41
+ if (document.activeElement !== textFieldNode) {
42
+ UIManager.focus(textFieldNode);
43
+ }
44
+ }
45
+ },
46
+ /**
47
+ * @param {Object} textFieldNode id of the text field to focus
48
+ * Unfocuses the specified text field
49
+ * noop if it wasn't focused
50
+ */
51
+ blurTextInput(textFieldNode: ?Object) {
52
+ if (textFieldNode !== null) {
53
+ this._currentlyFocusedNode = null;
54
+ if (document.activeElement === textFieldNode) {
55
+ UIManager.blur(textFieldNode);
56
+ }
57
+ }
58
+ }
59
+ };
60
+ export default TextInputState;