@hps1978/react-native-web-tv 0.21.2-tv.0

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 +164 -0
  4. package/THIRD_PARTY_NOTICES.md +15 -0
  5. package/dist/cjs/exports/AccessibilityInfo/index.js +99 -0
  6. package/dist/cjs/exports/ActivityIndicator/index.js +106 -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 +47 -0
  10. package/dist/cjs/exports/AppRegistry/index.js +95 -0
  11. package/dist/cjs/exports/AppRegistry/renderApplication.js +55 -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 +70 -0
  16. package/dist/cjs/exports/CheckBox/index.js +112 -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 +364 -0
  24. package/dist/cjs/exports/Image/types.js +1 -0
  25. package/dist/cjs/exports/ImageBackground/index.js +59 -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 +52 -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 +75 -0
  36. package/dist/cjs/exports/Modal/ModalFocusTrap.js +138 -0
  37. package/dist/cjs/exports/Modal/ModalPortal.js +43 -0
  38. package/dist/cjs/exports/Modal/index.js +106 -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 +163 -0
  48. package/dist/cjs/exports/ProgressBar/index.js +81 -0
  49. package/dist/cjs/exports/RefreshControl/index.js +34 -0
  50. package/dist/cjs/exports/SafeAreaView/index.js +47 -0
  51. package/dist/cjs/exports/ScrollView/ScrollViewBase.js +153 -0
  52. package/dist/cjs/exports/ScrollView/index.js +637 -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 +194 -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 +106 -0
  77. package/dist/cjs/exports/TV/TVTextScrollView.js +113 -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 +839 -0
  91. package/dist/cjs/exports/TouchableHighlight/index.js +154 -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 +78 -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 +177 -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 +23 -0
  101. package/dist/cjs/exports/createElement/index.js +39 -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 +581 -0
  119. package/dist/cjs/modules/SpatialManager/utils.js +417 -0
  120. package/dist/cjs/modules/TextInputState/index.js +65 -0
  121. package/dist/cjs/modules/UnimplementedView/index.js +35 -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 +42 -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 +30 -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 +30 -0
  180. package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.js +30 -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 +52 -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 +452 -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 +150 -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 +159 -0
  229. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.js +73 -0
  230. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.js +6 -0
  231. package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +951 -0
  232. package/dist/cjs/vendor/react-native/VirtualizedList/index.js +1506 -0
  233. package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.js +388 -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 +94 -0
  238. package/dist/exports/AccessibilityInfo/index.js.flow +76 -0
  239. package/dist/exports/ActivityIndicator/index.js +100 -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 +40 -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 +48 -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 +63 -0
  258. package/dist/exports/Button/index.js.flow +67 -0
  259. package/dist/exports/CheckBox/index.js +106 -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 +358 -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 +53 -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 +46 -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 +69 -0
  296. package/dist/exports/Modal/ModalContent.js.flow +64 -0
  297. package/dist/exports/Modal/ModalFocusTrap.js +132 -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 +100 -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 +157 -0
  320. package/dist/exports/Pressable/index.js.flow +84 -0
  321. package/dist/exports/ProgressBar/index.js +75 -0
  322. package/dist/exports/ProgressBar/index.js.flow +72 -0
  323. package/dist/exports/RefreshControl/index.js +29 -0
  324. package/dist/exports/RefreshControl/index.js.flow +30 -0
  325. package/dist/exports/SafeAreaView/index.js +41 -0
  326. package/dist/exports/SafeAreaView/index.js.flow +38 -0
  327. package/dist/exports/ScrollView/ScrollViewBase.js +147 -0
  328. package/dist/exports/ScrollView/ScrollViewBase.js.flow +76 -0
  329. package/dist/exports/ScrollView/index.js +632 -0
  330. package/dist/exports/ScrollView/index.js.flow +126 -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 +188 -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 +98 -0
  378. package/dist/exports/TV/TVFocusGuideView.js.flow +121 -0
  379. package/dist/exports/TV/TVTextScrollView.js +106 -0
  380. package/dist/exports/TV/TVTextScrollView.js.flow +78 -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 +193 -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 +835 -0
  406. package/dist/exports/Touchable/index.js.flow +849 -0
  407. package/dist/exports/TouchableHighlight/index.js +148 -0
  408. package/dist/exports/TouchableHighlight/index.js.flow +67 -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 +117 -0
  412. package/dist/exports/TouchableOpacity/index.js.flow +50 -0
  413. package/dist/exports/TouchableWithoutFeedback/index.js +72 -0
  414. package/dist/exports/TouchableWithoutFeedback/index.js.flow +65 -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 +171 -0
  420. package/dist/exports/View/index.js.flow +176 -0
  421. package/dist/exports/View/types.js +0 -0
  422. package/dist/exports/View/types.js.flow +225 -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 +17 -0
  426. package/dist/exports/YellowBox/index.js.flow +16 -0
  427. package/dist/exports/createElement/index.js +34 -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 +571 -0
  462. package/dist/modules/SpatialManager/scrollHandler.js.flow +90 -0
  463. package/dist/modules/SpatialManager/utils.js +405 -0
  464. package/dist/modules/SpatialManager/utils.js.flow +147 -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 +31 -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 +35 -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 +23 -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 +23 -0
  583. package/dist/vendor/react-native/Animated/components/AnimatedScrollView.js.flow +20 -0
  584. package/dist/vendor/react-native/Animated/components/AnimatedSectionList.js +23 -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 +46 -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 +446 -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 +144 -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 +151 -0
  678. package/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js.flow +68 -0
  679. package/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js +64 -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 +946 -0
  684. package/dist/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js.flow +172 -0
  685. package/dist/vendor/react-native/VirtualizedList/index.js +1498 -0
  686. package/dist/vendor/react-native/VirtualizedList/index.js.flow +307 -0
  687. package/dist/vendor/react-native/VirtualizedSectionList/index.js +382 -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 +118 -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 +253 -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 +186 -0
  743. package/src/exports/ScrollView/index.js +768 -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 +162 -0
  768. package/src/exports/TV/TVParallaxProperties.d.ts +42 -0
  769. package/src/exports/TV/TVTextScrollView.js +159 -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 +218 -0
  784. package/src/exports/TouchableNativeFeedback/index.js +11 -0
  785. package/src/exports/TouchableOpacity/index.js +172 -0
  786. package/src/exports/TouchableWithoutFeedback/index.js +135 -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 +218 -0
  790. package/src/exports/View/types.js +250 -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 +898 -0
  812. package/src/modules/SpatialManager/utils.js +529 -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,460 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
3
+ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
4
+ var _SpatialManager;
5
+ /**
6
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ *
11
+ *
12
+ * @format
13
+ */
14
+
15
+ import { setConfig as setLrudConfig, getNextFocus, getParentContainer, updateAncestorsAutoFocus, findDestinationOrAutofocus, getNextFocusInViewport } from '@bbc/tv-lrud-spatial';
16
+ import { addEventListener } from '../addEventListener';
17
+ import { setupNodeId } from '../../exports/TV/utils';
18
+ import { startObserving, stopObserving } from './mutationObserver';
19
+ import { scrollContainer, scrollToElement, setupAppInitiatedScrollHandler, isElementInWindowViewport, setupScrollHandler, scrollToEdge } from './scrollHandler';
20
+ var _instance = /*#__PURE__*/_classPrivateFieldLooseKey("_instance");
21
+ /**
22
+ * SpatialManager
23
+ * Manages spatial navigation for TV platforms using the @bbc/tv-lrud-spatial library.
24
+ * Implements singleton pattern to ensure only one instance exists across the app.
25
+ */
26
+ class SpatialManager {
27
+ // _pendingFocusCount: number;
28
+
29
+ /**
30
+ * constructor
31
+ * Initializes or returns the singleton instance of SpatialManager.
32
+ * @returns {SpatialManager} The singleton instance
33
+ */
34
+ constructor() {
35
+ if (_classPrivateFieldLooseBase(SpatialManager, _instance)[_instance]) {
36
+ return _classPrivateFieldLooseBase(SpatialManager, _instance)[_instance];
37
+ }
38
+ this._isSpatialManagerReady = false;
39
+ this._spatialNavigationContainer = null;
40
+ this._currentFocus = {
41
+ elem: null,
42
+ parentContainer: null
43
+ };
44
+ this._keyHandlerControlOwner = null;
45
+ this._keyHandlerControlCallback = null;
46
+ // this._pendingFocusCount = 0;
47
+ this._keydownThrottleMs = 0;
48
+ this.keyDownListener = null;
49
+ this.appInitiatedScrollCleanup = null;
50
+ this._lastKeydownAt = 0;
51
+ _classPrivateFieldLooseBase(SpatialManager, _instance)[_instance] = this;
52
+ }
53
+
54
+ /**
55
+ * loadGlobalConfig
56
+ * Loads spatial navigation configuration from window.appConfig if available.
57
+ * @returns {SpatialNavigationConfigType | null} The global app configuration or null if not found
58
+ */
59
+ loadGlobalConfig() {
60
+ // Check for window.appConfig
61
+ if (typeof window !== 'undefined' && window.appConfig) {
62
+ return window.appConfig;
63
+ }
64
+ return null;
65
+ }
66
+
67
+ /**
68
+ * noValidDestinationCallback
69
+ * Callback invoked when LRUD fails to find a valid destination from data-destinations attribute.
70
+ * LRUD will use fallback autofocus or default focus logic. Container becomes non-focusable
71
+ * if there is no autofocus and no valid destination.
72
+ * @param {HTMLElement} candidateContainer - The container being evaluated for focus
73
+ * @param {boolean} hasAutoFocus - Whether the container has autofocus enabled
74
+ * @returns {void}
75
+ */
76
+ noValidDestinationCallback(candidateContainer, hasAutoFocus) {
77
+ if (candidateContainer && !hasAutoFocus) {
78
+ candidateContainer.tabIndex = -1;
79
+ }
80
+ }
81
+
82
+ /**
83
+ * setupConfigs
84
+ * Sets up configuration for Spatial Navigation, LRUD library, and scroll handler.
85
+ * Loads settings from global app config or uses defaults. Only initializes once.
86
+ * @returns {void}
87
+ */
88
+ setupConfigs() {
89
+ // Auto-initialize from global config on first arrow key press if not already initialized
90
+ if (!this._isSpatialManagerReady) {
91
+ var globalConfig = this.loadGlobalConfig();
92
+ var keyMap = null;
93
+ var spatialScrollConfig = {};
94
+ var focusMode = 'default';
95
+ if (globalConfig) {
96
+ var _globalConfig$focusCo;
97
+ // Setup LRUD Keys if provided
98
+ keyMap = globalConfig == null ? void 0 : globalConfig.keyMap;
99
+ this._keydownThrottleMs = typeof (globalConfig == null ? void 0 : globalConfig.keydownThrottleMs) === 'number' ? Math.max(0, globalConfig.keydownThrottleMs) : 0;
100
+ focusMode = (globalConfig == null || (_globalConfig$focusCo = globalConfig.focusConfig) == null ? void 0 : _globalConfig$focusCo.mode) === 'AlignLeft' ? 'AlignLeft' : 'default';
101
+ spatialScrollConfig = _objectSpread({}, (globalConfig == null ? void 0 : globalConfig.scrollConfig) || {});
102
+ }
103
+ setLrudConfig({
104
+ keyMap: keyMap,
105
+ noValidDestinationCallback: this.noValidDestinationCallback
106
+ });
107
+ setupScrollHandler({
108
+ scrollConfig: spatialScrollConfig,
109
+ focusMode
110
+ });
111
+ }
112
+ }
113
+
114
+ /**
115
+ * handleCurrentFocusMutations
116
+ * Handles refocusing when the currently focused element or its ancestor is removed from the DOM.
117
+ * Finds and triggers focus to the next available focusable element.
118
+ * @param {MutationDetails} details - Object containing the removed target node and other mutation info
119
+ * @returns {void}
120
+ */
121
+ handleCurrentFocusMutations(details) {
122
+ var targetNode = details.targetNode;
123
+ // Current focused element (or it's ancestor) is removed from the DOM, we need to find a new focus
124
+ this._currentFocus = {
125
+ elem: null,
126
+ parentContainer: null
127
+ };
128
+ var nextFocus = getNextFocus(null,
129
+ // No current focus since it's removed
130
+ 'ArrowDown',
131
+ // No directional input, just find the next best focus
132
+ targetNode);
133
+ // this._pendingFocusCount = 1;
134
+ this.triggerFocus(nextFocus);
135
+ }
136
+
137
+ /**
138
+ * triggerFocus
139
+ * Applies focus to the specified element after handling scroll positioning.
140
+ * Updates spatial manager state and sets up mutation observation on the new focus target.
141
+ * @param {ElemData} nextFocus - Object containing elem (target element) and it's LRUD parentContainer
142
+ * @param {string} [keyCode] - Optional key code that triggered the focus change (e.g., 'ArrowUp')
143
+ * @returns {boolean} True if focus was successfully applied, false if nextFocus or elem is invalid
144
+ */
145
+ triggerFocus(nextFocus, keyCode) {
146
+ if (nextFocus && nextFocus.elem) {
147
+ var nextElem = nextFocus.elem;
148
+ // let scrollPromise = null;
149
+ var finalKeyCode = keyCode || 'ArrowDown'; // Default to ArrowDown if not provided
150
+
151
+ // scrollPromise = scrollToElement(
152
+ scrollToElement(nextFocus, this._currentFocus, finalKeyCode);
153
+ var applyFocus = () => {
154
+ if (!nextFocus.elem) {
155
+ return;
156
+ }
157
+
158
+ // Stop observing mutations on current focus
159
+ stopObserving();
160
+ this._currentFocus.elem = nextElem;
161
+ this._currentFocus.parentContainer = nextFocus.parentContainer;
162
+ // set id first
163
+ setupNodeId(nextElem);
164
+ updateAncestorsAutoFocus(nextElem, this._spatialNavigationContainer);
165
+
166
+ // const preventScroll = scrollPromise != null;
167
+ var preventScroll = true;
168
+
169
+ // if (this._pendingFocusCount > 0) {
170
+ // this._pendingFocusCount--;
171
+ // }
172
+ // if (this._pendingFocusCount === 0) {
173
+ // We focus only on the last pending focus to avoid unnecessary intermediate focuses
174
+ // during rapid navigation
175
+ nextElem.focus({
176
+ preventScroll
177
+ });
178
+ // }
179
+
180
+ // Start observing mutations
181
+ var parentContainer = getParentContainer(nextElem, true);
182
+ if (parentContainer) {
183
+ startObserving(parentContainer, nextElem, this.handleCurrentFocusMutations.bind(this));
184
+ }
185
+ };
186
+ applyFocus();
187
+ return true;
188
+ }
189
+ return false;
190
+ }
191
+
192
+ /**
193
+ * handlePageVisibilityChange
194
+ * Handles page focus/visibility changes by restoring focus to the previously focused element.
195
+ * Includes a delay to work around React DOM focus restoration issues.
196
+ * @param {any} event - The visibility change event object
197
+ * @returns {void}
198
+ */
199
+ handlePageVisibilityChange(event) {
200
+ if (event.type === 'focus') {
201
+ var currentElem = this._currentFocus.elem;
202
+ if (currentElem) {
203
+ setTimeout(() => {
204
+ currentElem.focus();
205
+ }, 200); // Workaround: Delay as react DOM tries to restore focus and then blurs it!!!
206
+ }
207
+ }
208
+ }
209
+
210
+ /**
211
+ * setupAppVisibilityListeners
212
+ * Registers listeners for page visibility changes (focus/blur events).
213
+ * Ensures focus is maintained when the page regains visibility.
214
+ * @returns {void}
215
+ */
216
+ setupAppVisibilityListeners() {
217
+ if (typeof document !== 'undefined' && typeof document.addEventListener === 'function') {
218
+ window.addEventListener('focus', this.handlePageVisibilityChange.bind(this));
219
+ // Not handling blur as react dom already blurs on leaving the page
220
+ } else {
221
+ console.warn('Document or addEventListener not available, cannot setup visibility change listener');
222
+ }
223
+ }
224
+
225
+ /**
226
+ * setupAppInitiatedScrollTracking
227
+ * Detects when the application calls scroll APIs and reacquires focus if needed.
228
+ * Ensures focused element remains in viewport after app-initiated scrolling.
229
+ * @returns {void}
230
+ */
231
+ setupAppInitiatedScrollTracking() {
232
+ var getCurrentFocus = () => this._currentFocus;
233
+ var onScrollRefocus = _ref => {
234
+ var currentFocus = _ref.currentFocus,
235
+ scrollContainer = _ref.scrollContainer;
236
+ if (!scrollContainer) {
237
+ return;
238
+ }
239
+
240
+ // Use LRUD's new getNextFocusInViewport function to find first focusable
241
+ // element in the scrollContainer that is visible in the window viewport.
242
+ // This is a viewport-aware search that respects LRUD's focus logic
243
+ // while ensuring returned element is actually visible.
244
+
245
+ // Define viewport visibility check callback for LRUD
246
+ var isInViewportCallback = elem => {
247
+ return isElementInWindowViewport(elem);
248
+ };
249
+
250
+ // Call LRUD with viewport awareness
251
+ var nextFocus = getNextFocusInViewport(scrollContainer, isInViewportCallback);
252
+ if (nextFocus != null && nextFocus.elem) {
253
+ // Reset the pending focus count to 1 to indicate we need to focus the nextFocus element after scroll
254
+ // this._pendingFocusCount = 1;
255
+ this.triggerFocus(nextFocus);
256
+ }
257
+ };
258
+
259
+ // Setup scroll handler to detect app-initiated scrolls and trigger refocus if needed
260
+ this.appInitiatedScrollCleanup = setupAppInitiatedScrollHandler(this._spatialNavigationContainer || window.document, getCurrentFocus, onScrollRefocus);
261
+ }
262
+
263
+ /**
264
+ * setupSpatialNavigation
265
+ * Initializes spatial navigation system for TV remote control input.
266
+ * Sets up LRUD configuration, event listeners, scroll tracking, and visibility listeners.
267
+ * Only runs once; subsequent calls are ignored.
268
+ * @param {HTMLElement} [container] - Optional container element to set as spatial navigation root
269
+ * @returns {void}
270
+ */
271
+ setupSpatialNavigation(container) {
272
+ if (this._isSpatialManagerReady) {
273
+ return;
274
+ }
275
+ this.setupConfigs();
276
+ this.setupAppVisibilityListeners();
277
+ this.setupAppInitiatedScrollTracking();
278
+ this._spatialNavigationContainer = (container == null ? void 0 : container.ownerDocument) || window.document;
279
+
280
+ // Listen to keydown events on the container or document
281
+ this.keyDownListener = addEventListener(this._spatialNavigationContainer, 'keydown', event => {
282
+ var keyCode = event.key || event.code;
283
+ if (keyCode !== 'ArrowUp' && keyCode !== 'ArrowDown' && keyCode !== 'ArrowLeft' && keyCode !== 'ArrowRight') {
284
+ return;
285
+ }
286
+ if (this._keydownThrottleMs > 0) {
287
+ var now = Date.now();
288
+ if (now - this._lastKeydownAt < this._keydownThrottleMs) {
289
+ return;
290
+ }
291
+ this._lastKeydownAt = now;
292
+ }
293
+ if (this._keyHandlerControlOwner) {
294
+ var _owner = this._keyHandlerControlOwner;
295
+ var focusedElem = this._currentFocus.elem;
296
+ if (_owner && focusedElem && (focusedElem === _owner || _owner.contains(focusedElem))) {
297
+ if (this._keyHandlerControlCallback) {
298
+ var wasHandled = this._keyHandlerControlCallback(keyCode) === true;
299
+ if (wasHandled) {
300
+ // this needs to be done by handler/owner
301
+ // event.preventDefault();
302
+ return;
303
+ }
304
+ }
305
+ } else {
306
+ // Assume control owner is no longer relevant
307
+ this._keyHandlerControlOwner = null;
308
+ this._keyHandlerControlCallback = null;
309
+ }
310
+ }
311
+ if (!this._currentFocus.elem) {
312
+ console.warn('No initial focus. Trying to set one...');
313
+ }
314
+ var nextFocus = getNextFocus(this._currentFocus.elem, keyCode, this._spatialNavigationContainer);
315
+ if (nextFocus && nextFocus.elem) {
316
+ event.preventDefault();
317
+ this.triggerFocus(nextFocus, keyCode);
318
+ return;
319
+ }
320
+ if (this._currentFocus.elem) {
321
+ event.preventDefault();
322
+ scrollToEdge(this._currentFocus.elem, keyCode);
323
+ return;
324
+ }
325
+ // Let it default to browser behaviour
326
+ return;
327
+ }, {
328
+ capture: true
329
+ });
330
+ this._isSpatialManagerReady = true;
331
+ }
332
+ takeKeyHandlerControl(owner, onDirectionalKey) {
333
+ if (!owner) {
334
+ return;
335
+ }
336
+ this._keyHandlerControlOwner = owner;
337
+ this._keyHandlerControlCallback = typeof onDirectionalKey === 'function' ? onDirectionalKey : null;
338
+ }
339
+ leaveKeyHandlerControl(owner) {
340
+ if (!owner) {
341
+ return;
342
+ }
343
+ if (this._keyHandlerControlOwner !== owner) {
344
+ return;
345
+ }
346
+ this._keyHandlerControlOwner = null;
347
+ this._keyHandlerControlCallback = null;
348
+ }
349
+
350
+ /**
351
+ * setFocus
352
+ * Programmatically sets focus to a specific element or LRUD container.
353
+ * If node is an LRUD container, finds and focuses the appropriate child element.
354
+ * If node is a regular element, directly focuses it and updates spatial manager state.
355
+ * @param {HTMLElement} node - The target element or container to focus
356
+ * @returns {void}
357
+ */
358
+ setFocus(node) {
359
+ if (node == null) {
360
+ return;
361
+ }
362
+ if (node && node.className.includes('lrud-container')) {
363
+ // We are here if requestTVFocus is called with container as node
364
+ var nextFocus = findDestinationOrAutofocus(this._currentFocus.elem, 'ArrowDown', node, true);
365
+ if (nextFocus.elem) {
366
+ // this._pendingFocusCount = 1;
367
+ this.triggerFocus(nextFocus);
368
+ } else {
369
+ console.warn('No focusable destination for requestTVFocus: ', node);
370
+ }
371
+ } else {
372
+ if (node && node.focus) {
373
+ var parentContainer = getParentContainer(node, false);
374
+ // this._pendingFocusCount = 1;
375
+ this.triggerFocus({
376
+ elem: node,
377
+ parentContainer
378
+ });
379
+ }
380
+ }
381
+ }
382
+
383
+ /**
384
+ * setDestinations
385
+ * Internal API to set focus destinations for TVFocusGuideView containers.
386
+ * WARNING: This is very specific to TVFocusGuideView and should not be used elsewhere.
387
+ * Generates IDs for destination elements and stores them in the data-destinations attribute.
388
+ * @param {HTMLElement} host - The TVFocusGuideView container element
389
+ * @param {HTMLElement[]} destinations - Array of target elements that can receive focus
390
+ * @returns {void}
391
+ */
392
+ setDestinations(host, destinations) {
393
+ // Get ids from destinations, and if id not set, generate a new one and set all of them into 'data-destinations' attribute in the host element
394
+ if (destinations && Array.isArray(destinations)) {
395
+ var destinationIDs = destinations.map(dest => {
396
+ return dest ? setupNodeId(dest) : null;
397
+ }).filter(id => id != null);
398
+ if (destinationIDs.length > 0) {
399
+ host.setAttribute('data-destinations', destinationIDs.join(' '));
400
+ // Side effect: If this container has not been set with tabindex 0, do it now
401
+ // to make it a focusable container to work properly for LRUD navigation
402
+ if (!host.tabIndex || host.tabIndex === -1) {
403
+ host.tabIndex = 0;
404
+ }
405
+ } else {
406
+ host.setAttribute('data-destinations', '');
407
+ // Side effect: If there are no destinations and auto-focus is false, we can make this
408
+ // container non-focusable by setting tabindex to -1
409
+ var isAutoFocus = host.getAttribute('data-autofocus') === 'true';
410
+ if (!isAutoFocus) {
411
+ host.tabIndex = -1;
412
+ }
413
+ }
414
+ }
415
+ }
416
+
417
+ /**
418
+ * teardownSpatialNavigation
419
+ * Cleans up spatial navigation system by removing all event listeners and observers.
420
+ * Resets internal state and prepares for potential re-initialization.
421
+ * @returns {void}
422
+ */
423
+ teardownSpatialNavigation() {
424
+ if (this.keyDownListener && this._spatialNavigationContainer) {
425
+ this._spatialNavigationContainer.removeEventListener('keydown', this.keyDownListener, {
426
+ capture: true
427
+ });
428
+ this.keyDownListener = null;
429
+ }
430
+ if (this.appInitiatedScrollCleanup) {
431
+ this.appInitiatedScrollCleanup();
432
+ this.appInitiatedScrollCleanup = null;
433
+ }
434
+ if (typeof document !== 'undefined' && typeof document.removeEventListener === 'function') {
435
+ window.removeEventListener('focus', this.handlePageVisibilityChange);
436
+ }
437
+ stopObserving();
438
+ this._currentFocus = {
439
+ elem: null,
440
+ parentContainer: null
441
+ };
442
+ this._keyHandlerControlOwner = null;
443
+ this._keyHandlerControlCallback = null;
444
+ this._isSpatialManagerReady = false;
445
+ this._spatialNavigationContainer = null;
446
+ }
447
+ }
448
+ _SpatialManager = SpatialManager;
449
+ Object.defineProperty(SpatialManager, _instance, {
450
+ writable: true,
451
+ value: null
452
+ });
453
+ var spatialManager = new SpatialManager();
454
+ export var setupSpatialNavigation = spatialManager.setupSpatialNavigation.bind(spatialManager);
455
+ export var setFocus = spatialManager.setFocus.bind(spatialManager);
456
+ export var setDestinations = spatialManager.setDestinations.bind(spatialManager);
457
+ export var takeKeyHandlerControl = spatialManager.takeKeyHandlerControl.bind(spatialManager);
458
+ export var leaveKeyHandlerControl = spatialManager.leaveKeyHandlerControl.bind(spatialManager);
459
+ export var teardownSpatialNavigation = spatialManager.teardownSpatialNavigation.bind(spatialManager);
460
+ export { scrollContainer };
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
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
+ import { setConfig as setLrudConfig, getNextFocus, getParentContainer, updateAncestorsAutoFocus, findDestinationOrAutofocus, getNextFocusInViewport } from '@bbc/tv-lrud-spatial';
12
+ import { addEventListener } from '../addEventListener';
13
+ import { setupNodeId } from '../../exports/TV/utils';
14
+ import type { ElemData } from './utils';
15
+ import { startObserving, stopObserving, type MutationDetails } from './mutationObserver';
16
+ import { type SpatialScrollConfigType, type GetCurrentFocusType, type OnScrollRefocusType, scrollContainer, scrollToElement, setupAppInitiatedScrollHandler, isElementInWindowViewport, setupScrollHandler, scrollToEdge } from './scrollHandler';
17
+ type SpatialNavigationConfigType = {
18
+ keyMap?: {
19
+ [key: string]: string
20
+ },
21
+ scrollConfig?: SpatialScrollConfigType,
22
+ keydownThrottleMs?: number,
23
+ focusConfig?: {
24
+ mode?: 'AlignLeft' | 'default'
25
+ },
26
+ };
27
+
28
+ /**
29
+ * SpatialManager
30
+ * Manages spatial navigation for TV platforms using the @bbc/tv-lrud-spatial library.
31
+ * Implements singleton pattern to ensure only one instance exists across the app.
32
+ */
33
+ declare class SpatialManager {
34
+ _isSpatialManagerReady: boolean,
35
+ _spatialNavigationContainer: Document | HTMLElement | null,
36
+ _currentFocus: ElemData,
37
+ _keyHandlerControlOwner: HTMLElement | null,
38
+ _keyHandlerControlCallback: ((keyCode: string) => ?boolean) | null,
39
+ _keydownThrottleMs: number,
40
+ keyDownListener: ((event: any) => void) | null,
41
+ appInitiatedScrollCleanup: (() => void) | null,
42
+ _lastKeydownAt: number,
43
+ constructor(): any,
44
+ loadGlobalConfig(): SpatialNavigationConfigType | null,
45
+ noValidDestinationCallback(candidateContainer: any, hasAutoFocus: any): any,
46
+ setupConfigs(): any,
47
+ handleCurrentFocusMutations(details: MutationDetails): void,
48
+ triggerFocus(nextFocus: ElemData, keyCode?: string): boolean,
49
+ handlePageVisibilityChange(event: any): any,
50
+ setupAppVisibilityListeners(): any,
51
+ setupAppInitiatedScrollTracking(): any,
52
+ setupSpatialNavigation(container?: HTMLElement): any,
53
+ takeKeyHandlerControl(owner: ?HTMLElement, onDirectionalKey?: (keyCode: string) => ?boolean): void,
54
+ leaveKeyHandlerControl(owner: ?HTMLElement): void,
55
+ setFocus(node: ?HTMLElement): any,
56
+ setDestinations(host: HTMLElement, destinations: ?Array<?HTMLElement>): any,
57
+ teardownSpatialNavigation(): any,
58
+ }
59
+ const spatialManager = new SpatialManager();
60
+ export const setupSpatialNavigation: (container?: HTMLElement) => void = spatialManager.setupSpatialNavigation.bind(spatialManager);
61
+ export const setFocus: (node: ?HTMLElement) => void = spatialManager.setFocus.bind(spatialManager);
62
+ export const setDestinations: (host: HTMLElement, destinations: ?Array<?HTMLElement>) => void = spatialManager.setDestinations.bind(spatialManager);
63
+ export const takeKeyHandlerControl: (owner: ?HTMLElement, onDirectionalKey?: (keyCode: string) => ?boolean) => void = spatialManager.takeKeyHandlerControl.bind(spatialManager);
64
+ export const leaveKeyHandlerControl: (owner: ?HTMLElement) => void = spatialManager.leaveKeyHandlerControl.bind(spatialManager);
65
+ export const teardownSpatialNavigation: () => void = spatialManager.teardownSpatialNavigation.bind(spatialManager);
66
+ export { scrollContainer };
@@ -0,0 +1,105 @@
1
+ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
2
+ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
3
+ var _MutationObserverManager;
4
+ var _instance = /*#__PURE__*/_classPrivateFieldLooseKey("_instance");
5
+ var _hasMutationObserver = /*#__PURE__*/_classPrivateFieldLooseKey("hasMutationObserver");
6
+ /**
7
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ *
12
+ *
13
+ * @format
14
+ */
15
+
16
+ /**
17
+ * MutationObserverManager
18
+ * Singleton class that manages DOM mutation observation for focus tracking.
19
+ * Helps SpatialManager in detecting when focused elements are removed from the DOM.
20
+ */
21
+ class MutationObserverManager {
22
+ /**
23
+ * constructor
24
+ * Initializes or returns the singleton instance of MutationObserverManager.
25
+ * Performs API capability detection for MutationObserver support.
26
+ * @returns {MutationObserverManager} The singleton instance
27
+ */
28
+ constructor() {
29
+ if (_classPrivateFieldLooseBase(MutationObserverManager, _instance)[_instance]) {
30
+ return _classPrivateFieldLooseBase(MutationObserverManager, _instance)[_instance];
31
+ }
32
+ this.mutationObserverInstance = null;
33
+ _classPrivateFieldLooseBase(MutationObserverManager, _instance)[_instance] = this;
34
+ }
35
+
36
+ /**
37
+ * startObserving
38
+ * Begins observing a target node for child list mutations.
39
+ * If the observed child node is removed, triggers callback with mutation details.
40
+ * Automatically stops previous observation before starting a new one.
41
+ * @param {HTMLElement} targetNode - The parent element to observe for mutations
42
+ * @param {HTMLElement} childNode - The specific child element being tracked
43
+ * @param {(details: MutationDetails) => void} callback - Called when childNode is removed
44
+ * @returns {void}
45
+ */
46
+ startObserving(targetNode, childNode, callback) {
47
+ if (!_classPrivateFieldLooseBase(MutationObserverManager, _hasMutationObserver)[_hasMutationObserver]) {
48
+ console.warn('MutationObserver is not supported in this environment');
49
+ return;
50
+ }
51
+ this.stopObserving();
52
+ var handleMutationsForThisSession = mutations => {
53
+ mutations.forEach(mutation => {
54
+ if (mutation.type === 'childList') {
55
+ mutation.removedNodes.forEach(node => {
56
+ if (node instanceof HTMLElement && ((node == null ? void 0 : node.id) === childNode.id || node.contains(childNode))) {
57
+ callback({
58
+ removedNode: node,
59
+ targetNode: targetNode,
60
+ childNode: childNode
61
+ });
62
+ return;
63
+ }
64
+ });
65
+ }
66
+ });
67
+ };
68
+ this.mutationObserverInstance = new MutationObserver(handleMutationsForThisSession);
69
+ this.mutationObserverInstance.observe(targetNode, {
70
+ childList: true,
71
+ subtree: true
72
+ });
73
+ }
74
+
75
+ /**
76
+ * stopObserving
77
+ * Stops the active MutationObserver and disconnects it from the DOM.
78
+ * Cleans up observation state for potential re-initialization.
79
+ * @returns {void}
80
+ */
81
+ stopObserving() {
82
+ if (this.mutationObserverInstance) {
83
+ this.mutationObserverInstance.disconnect();
84
+ this.mutationObserverInstance = null;
85
+ }
86
+ }
87
+ }
88
+
89
+ // Export static functions for compatibility
90
+ _MutationObserverManager = MutationObserverManager;
91
+ Object.defineProperty(MutationObserverManager, _instance, {
92
+ writable: true,
93
+ value: null
94
+ });
95
+ Object.defineProperty(MutationObserverManager, _hasMutationObserver, {
96
+ writable: true,
97
+ value: typeof MutationObserver !== 'undefined'
98
+ });
99
+ var mutationObserverManager = new MutationObserverManager();
100
+ export var startObserving = (targetNode, childNode, callback) => {
101
+ mutationObserverManager.startObserving(targetNode, childNode, callback);
102
+ };
103
+ export var stopObserving = () => {
104
+ mutationObserverManager.stopObserving();
105
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
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
8
+ * @format
9
+ */
10
+
11
+ export type MutationDetails = {
12
+ removedNode: HTMLElement,
13
+ targetNode: HTMLElement,
14
+ childNode: HTMLElement,
15
+ };
16
+
17
+ /**
18
+ * MutationObserverManager
19
+ * Singleton class that manages DOM mutation observation for focus tracking.
20
+ * Helps SpatialManager in detecting when focused elements are removed from the DOM.
21
+ */
22
+ declare class MutationObserverManager {
23
+ mutationObserverInstance: MutationObserver | null,
24
+ constructor(): any,
25
+ startObserving(targetNode: any, childNode: any, callback: (details: MutationDetails) => void): any,
26
+ stopObserving(): any,
27
+ } // Export static functions for compatibility
28
+ const mutationObserverManager = new MutationObserverManager();
29
+ declare export var startObserving: (targetNode: any, childNode: any, callback: any) => any;
30
+ declare export var stopObserving: () => any;