@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.
- package/APACHE-2.0.txt +201 -0
- package/LICENSE +22 -0
- package/README.md +164 -0
- package/THIRD_PARTY_NOTICES.md +15 -0
- package/dist/cjs/exports/AccessibilityInfo/index.js +99 -0
- package/dist/cjs/exports/ActivityIndicator/index.js +106 -0
- package/dist/cjs/exports/Alert/index.js +18 -0
- package/dist/cjs/exports/Animated/index.js +18 -0
- package/dist/cjs/exports/AppRegistry/AppContainer.js +47 -0
- package/dist/cjs/exports/AppRegistry/index.js +95 -0
- package/dist/cjs/exports/AppRegistry/renderApplication.js +55 -0
- package/dist/cjs/exports/AppState/index.js +63 -0
- package/dist/cjs/exports/Appearance/index.js +54 -0
- package/dist/cjs/exports/BackHandler/index.js +67 -0
- package/dist/cjs/exports/Button/index.js +70 -0
- package/dist/cjs/exports/CheckBox/index.js +112 -0
- package/dist/cjs/exports/Clipboard/index.js +61 -0
- package/dist/cjs/exports/DeviceEventEmitter/index.js +8 -0
- package/dist/cjs/exports/Dimensions/index.js +128 -0
- package/dist/cjs/exports/Easing/index.js +16 -0
- package/dist/cjs/exports/FlatList/index.js +19 -0
- package/dist/cjs/exports/I18nManager/index.js +30 -0
- package/dist/cjs/exports/Image/index.js +364 -0
- package/dist/cjs/exports/Image/types.js +1 -0
- package/dist/cjs/exports/ImageBackground/index.js +59 -0
- package/dist/cjs/exports/InputAccessoryView/index.js +8 -0
- package/dist/cjs/exports/InteractionManager/TaskQueue.js +93 -0
- package/dist/cjs/exports/InteractionManager/index.js +130 -0
- package/dist/cjs/exports/Keyboard/index.js +34 -0
- package/dist/cjs/exports/KeyboardAvoidingView/index.js +52 -0
- package/dist/cjs/exports/LayoutAnimation/index.js +17 -0
- package/dist/cjs/exports/Linking/index.js +109 -0
- package/dist/cjs/exports/LogBox/index.js +21 -0
- package/dist/cjs/exports/Modal/ModalAnimation.js +149 -0
- package/dist/cjs/exports/Modal/ModalContent.js +75 -0
- package/dist/cjs/exports/Modal/ModalFocusTrap.js +138 -0
- package/dist/cjs/exports/Modal/ModalPortal.js +43 -0
- package/dist/cjs/exports/Modal/index.js +106 -0
- package/dist/cjs/exports/NativeEventEmitter/index.js +16 -0
- package/dist/cjs/exports/NativeModules/index.js +21 -0
- package/dist/cjs/exports/PanResponder/Alternative.js +273 -0
- package/dist/cjs/exports/PanResponder/index.js +8 -0
- package/dist/cjs/exports/Picker/PickerItem.js +32 -0
- package/dist/cjs/exports/Picker/index.js +73 -0
- package/dist/cjs/exports/PixelRatio/index.js +55 -0
- package/dist/cjs/exports/Platform/index.js +31 -0
- package/dist/cjs/exports/Pressable/index.js +163 -0
- package/dist/cjs/exports/ProgressBar/index.js +81 -0
- package/dist/cjs/exports/RefreshControl/index.js +34 -0
- package/dist/cjs/exports/SafeAreaView/index.js +47 -0
- package/dist/cjs/exports/ScrollView/ScrollViewBase.js +153 -0
- package/dist/cjs/exports/ScrollView/index.js +637 -0
- package/dist/cjs/exports/ScrollView/types.js +1 -0
- package/dist/cjs/exports/SectionList/index.js +18 -0
- package/dist/cjs/exports/Share/index.js +53 -0
- package/dist/cjs/exports/StatusBar/index.js +24 -0
- package/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js +183 -0
- package/dist/cjs/exports/StyleSheet/compiler/hash.js +52 -0
- package/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js +28 -0
- package/dist/cjs/exports/StyleSheet/compiler/index.js +483 -0
- package/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js +36 -0
- package/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js +38 -0
- package/dist/cjs/exports/StyleSheet/compiler/resolveShadowValue.js +38 -0
- package/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js +80 -0
- package/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js +42 -0
- package/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +168 -0
- package/dist/cjs/exports/StyleSheet/dom/index.js +78 -0
- package/dist/cjs/exports/StyleSheet/index.js +190 -0
- package/dist/cjs/exports/StyleSheet/preprocess.js +222 -0
- package/dist/cjs/exports/StyleSheet/validate.js +89 -0
- package/dist/cjs/exports/Switch/index.js +194 -0
- package/dist/cjs/exports/TV/NativeTVNavigationEventEmitter.js +109 -0
- package/dist/cjs/exports/TV/TVEventControl.js +47 -0
- package/dist/cjs/exports/TV/TVEventHandler.js +41 -0
- package/dist/cjs/exports/TV/TVFocusEventHandler.js +36 -0
- package/dist/cjs/exports/TV/TVFocusGuideView.js +106 -0
- package/dist/cjs/exports/TV/TVTextScrollView.js +113 -0
- package/dist/cjs/exports/TV/tagForComponentOrHandle.js +44 -0
- package/dist/cjs/exports/TV/types.js +16 -0
- package/dist/cjs/exports/TV/useTVEventHandler.js +20 -0
- package/dist/cjs/exports/TV/utils.js +26 -0
- package/dist/cjs/exports/Text/TextAncestorContext.js +18 -0
- package/dist/cjs/exports/Text/index.js +199 -0
- package/dist/cjs/exports/Text/types.js +1 -0
- package/dist/cjs/exports/TextInput/index.js +443 -0
- package/dist/cjs/exports/TextInput/types.js +1 -0
- package/dist/cjs/exports/Touchable/BoundingDimensions.js +35 -0
- package/dist/cjs/exports/Touchable/Position.js +27 -0
- package/dist/cjs/exports/Touchable/ensurePositiveDelayProps.js +20 -0
- package/dist/cjs/exports/Touchable/index.js +839 -0
- package/dist/cjs/exports/TouchableHighlight/index.js +154 -0
- package/dist/cjs/exports/TouchableNativeFeedback/index.js +16 -0
- package/dist/cjs/exports/TouchableOpacity/index.js +123 -0
- package/dist/cjs/exports/TouchableWithoutFeedback/index.js +78 -0
- package/dist/cjs/exports/UIManager/index.js +133 -0
- package/dist/cjs/exports/Vibration/index.js +32 -0
- package/dist/cjs/exports/View/index.js +177 -0
- package/dist/cjs/exports/View/types.js +1 -0
- package/dist/cjs/exports/VirtualizedList/index.js +18 -0
- package/dist/cjs/exports/YellowBox/index.js +23 -0
- package/dist/cjs/exports/createElement/index.js +39 -0
- package/dist/cjs/exports/findNodeHandle/index.js +19 -0
- package/dist/cjs/exports/processColor/index.js +31 -0
- package/dist/cjs/exports/render/index.js +27 -0
- package/dist/cjs/exports/unmountComponentAtNode/index.js +18 -0
- package/dist/cjs/exports/useColorScheme/index.js +34 -0
- package/dist/cjs/exports/useLocaleContext/index.js +17 -0
- package/dist/cjs/exports/useWindowDimensions/index.js +41 -0
- package/dist/cjs/index.js +137 -0
- package/dist/cjs/modules/AccessibilityUtil/index.js +24 -0
- package/dist/cjs/modules/AccessibilityUtil/isDisabled.js +16 -0
- package/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js +60 -0
- package/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js +41 -0
- package/dist/cjs/modules/AssetRegistry/index.js +23 -0
- package/dist/cjs/modules/ImageLoader/index.js +149 -0
- package/dist/cjs/modules/SpatialManager/index.js +464 -0
- package/dist/cjs/modules/SpatialManager/mutationObserver.js +112 -0
- package/dist/cjs/modules/SpatialManager/scrollHandler.js +581 -0
- package/dist/cjs/modules/SpatialManager/utils.js +417 -0
- package/dist/cjs/modules/TextInputState/index.js +65 -0
- package/dist/cjs/modules/UnimplementedView/index.js +35 -0
- package/dist/cjs/modules/addEventListener/index.js +75 -0
- package/dist/cjs/modules/canUseDom/index.js +16 -0
- package/dist/cjs/modules/createDOMProps/index.js +896 -0
- package/dist/cjs/modules/dismissKeyboard/index.js +20 -0
- package/dist/cjs/modules/forwardedProps/index.js +188 -0
- package/dist/cjs/modules/getBoundingClientRect/index.js +23 -0
- package/dist/cjs/modules/isSelectionValid/index.js +22 -0
- package/dist/cjs/modules/isWebColor/index.js +16 -0
- package/dist/cjs/modules/mergeRefs/index.js +37 -0
- package/dist/cjs/modules/modality/index.js +196 -0
- package/dist/cjs/modules/multiplyStyleLengthValue/index.js +29 -0
- package/dist/cjs/modules/normalizeColor/index.js +36 -0
- package/dist/cjs/modules/pick/index.js +25 -0
- package/dist/cjs/modules/prefixStyles/index.js +19 -0
- package/dist/cjs/modules/prefixStyles/static.js +74 -0
- package/dist/cjs/modules/requestIdleCallback/index.js +33 -0
- package/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js +49 -0
- package/dist/cjs/modules/setValueForStyles/index.js +45 -0
- package/dist/cjs/modules/unitlessNumbers/index.js +80 -0
- package/dist/cjs/modules/useElementLayout/index.js +91 -0
- package/dist/cjs/modules/useEvent/index.js +54 -0
- package/dist/cjs/modules/useHover/index.js +158 -0
- package/dist/cjs/modules/useLayoutEffect/index.js +22 -0
- package/dist/cjs/modules/useLocale/index.js +42 -0
- package/dist/cjs/modules/useLocale/isLocaleRTL.js +87 -0
- package/dist/cjs/modules/useMergeRefs/index.js +26 -0
- package/dist/cjs/modules/usePlatformMethods/index.js +34 -0
- package/dist/cjs/modules/usePressEvents/PressResponder.js +496 -0
- package/dist/cjs/modules/usePressEvents/index.js +40 -0
- package/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js +51 -0
- package/dist/cjs/modules/useResponderEvents/ResponderSystem.js +598 -0
- package/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js +175 -0
- package/dist/cjs/modules/useResponderEvents/createResponderEvent.js +152 -0
- package/dist/cjs/modules/useResponderEvents/index.js +79 -0
- package/dist/cjs/modules/useResponderEvents/utils.js +175 -0
- package/dist/cjs/modules/useStable/index.js +25 -0
- package/dist/cjs/modules/warnOnce/index.js +31 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/styles.js +1 -0
- package/dist/cjs/vendor/hash/index.js +52 -0
- package/dist/cjs/vendor/react-native/Animated/Animated.js +35 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.js +167 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.js +582 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedMock.js +140 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.js +11 -0
- package/dist/cjs/vendor/react-native/Animated/Easing.js +253 -0
- package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.js +480 -0
- package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.js +19 -0
- package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.js +19 -0
- package/dist/cjs/vendor/react-native/Animated/SpringConfig.js +72 -0
- package/dist/cjs/vendor/react-native/Animated/animations/Animation.js +59 -0
- package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.js +74 -0
- package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.js +226 -0
- package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.js +120 -0
- package/dist/cjs/vendor/react-native/Animated/bezier.js +125 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.js +30 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.js +20 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.js +30 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.js +30 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.js +20 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.js +20 -0
- package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.js +52 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.js +53 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.js +288 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +57 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.js +70 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +269 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.js +50 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +53 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.js +163 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.js +145 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.js +128 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +53 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.js +76 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.js +113 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.js +271 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.js +191 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +77 -0
- package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.js +158 -0
- package/dist/cjs/vendor/react-native/Batchinator/index.js +82 -0
- package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.js +85 -0
- package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +24 -0
- package/dist/cjs/vendor/react-native/FillRateHelper/index.js +196 -0
- package/dist/cjs/vendor/react-native/FlatList/index.js +452 -0
- package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.js +90 -0
- package/dist/cjs/vendor/react-native/LayoutAnimation/index.js +112 -0
- package/dist/cjs/vendor/react-native/PanResponder/index.js +420 -0
- package/dist/cjs/vendor/react-native/PooledClass/index.js +64 -0
- package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +23 -0
- package/dist/cjs/vendor/react-native/SectionList/index.js +150 -0
- package/dist/cjs/vendor/react-native/StaticContainer/index.js +43 -0
- package/dist/cjs/vendor/react-native/StaticRenderer/index.js +26 -0
- package/dist/cjs/vendor/react-native/TouchHistoryMath/index.js +105 -0
- package/dist/cjs/vendor/react-native/TurboModule/RCTExport.js +29 -0
- package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.js +25 -0
- package/dist/cjs/vendor/react-native/Types/CoreEventTypes.js +11 -0
- package/dist/cjs/vendor/react-native/Utilities/Platform.js +8 -0
- package/dist/cjs/vendor/react-native/Utilities/clamp.js +25 -0
- package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.js +64 -0
- package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.js +43 -0
- package/dist/cjs/vendor/react-native/Utilities/useRefEffect.js +42 -0
- package/dist/cjs/vendor/react-native/ViewabilityHelper/index.js +210 -0
- package/dist/cjs/vendor/react-native/VirtualizeUtils/index.js +180 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.js +112 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.js +75 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.js +77 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +159 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.js +73 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.js +6 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +951 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/index.js +1506 -0
- package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.js +388 -0
- package/dist/cjs/vendor/react-native/deepDiffer/index.js +73 -0
- package/dist/cjs/vendor/react-native/infoLog/index.js +22 -0
- package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.js +104 -0
- package/dist/exports/AccessibilityInfo/index.js +94 -0
- package/dist/exports/AccessibilityInfo/index.js.flow +76 -0
- package/dist/exports/ActivityIndicator/index.js +100 -0
- package/dist/exports/ActivityIndicator/index.js.flow +88 -0
- package/dist/exports/Alert/index.js +13 -0
- package/dist/exports/Alert/index.js.flow +12 -0
- package/dist/exports/Animated/index.js +13 -0
- package/dist/exports/Animated/index.js.flow +13 -0
- package/dist/exports/AppRegistry/AppContainer.js +40 -0
- package/dist/exports/AppRegistry/AppContainer.js.flow +43 -0
- package/dist/exports/AppRegistry/index.js +88 -0
- package/dist/exports/AppRegistry/index.js.flow +59 -0
- package/dist/exports/AppRegistry/renderApplication.js +48 -0
- package/dist/exports/AppRegistry/renderApplication.js.flow +28 -0
- package/dist/exports/AppState/index.js +58 -0
- package/dist/exports/AppState/index.js.flow +31 -0
- package/dist/exports/Appearance/index.js +49 -0
- package/dist/exports/Appearance/index.js.flow +50 -0
- package/dist/exports/BackHandler/index.js +63 -0
- package/dist/exports/BackHandler/index.js.flow +77 -0
- package/dist/exports/Button/index.js +63 -0
- package/dist/exports/Button/index.js.flow +67 -0
- package/dist/exports/CheckBox/index.js +106 -0
- package/dist/exports/CheckBox/index.js.flow +108 -0
- package/dist/exports/Clipboard/index.js +56 -0
- package/dist/exports/Clipboard/index.js.flow +18 -0
- package/dist/exports/DeviceEventEmitter/index.js +2 -0
- package/dist/exports/Dimensions/index.js +122 -0
- package/dist/exports/Dimensions/index.js.flow +58 -0
- package/dist/exports/Easing/index.js +11 -0
- package/dist/exports/Easing/index.js.flow +11 -0
- package/dist/exports/FlatList/index.js +14 -0
- package/dist/exports/FlatList/index.js.flow +14 -0
- package/dist/exports/I18nManager/index.js +25 -0
- package/dist/exports/I18nManager/index.js.flow +34 -0
- package/dist/exports/Image/index.js +358 -0
- package/dist/exports/Image/index.js.flow +225 -0
- package/dist/exports/Image/types.js +0 -0
- package/dist/exports/Image/types.js.flow +94 -0
- package/dist/exports/ImageBackground/index.js +53 -0
- package/dist/exports/ImageBackground/index.js.flow +57 -0
- package/dist/exports/InputAccessoryView/index.js +2 -0
- package/dist/exports/InteractionManager/TaskQueue.js +87 -0
- package/dist/exports/InteractionManager/TaskQueue.js.flow +40 -0
- package/dist/exports/InteractionManager/index.js +124 -0
- package/dist/exports/InteractionManager/index.js.flow +99 -0
- package/dist/exports/Keyboard/index.js +29 -0
- package/dist/exports/Keyboard/index.js.flow +31 -0
- package/dist/exports/KeyboardAvoidingView/index.js +46 -0
- package/dist/exports/KeyboardAvoidingView/index.js.flow +30 -0
- package/dist/exports/LayoutAnimation/index.js +12 -0
- package/dist/exports/LayoutAnimation/index.js.flow +12 -0
- package/dist/exports/Linking/index.js +103 -0
- package/dist/exports/Linking/index.js.flow +30 -0
- package/dist/exports/LogBox/index.js +16 -0
- package/dist/exports/LogBox/index.js.flow +16 -0
- package/dist/exports/Modal/ModalAnimation.js +142 -0
- package/dist/exports/Modal/ModalAnimation.js.flow +94 -0
- package/dist/exports/Modal/ModalContent.js +69 -0
- package/dist/exports/Modal/ModalContent.js.flow +64 -0
- package/dist/exports/Modal/ModalFocusTrap.js +132 -0
- package/dist/exports/Modal/ModalFocusTrap.js.flow +39 -0
- package/dist/exports/Modal/ModalPortal.js +36 -0
- package/dist/exports/Modal/ModalPortal.js.flow +18 -0
- package/dist/exports/Modal/index.js +100 -0
- package/dist/exports/Modal/index.js.flow +83 -0
- package/dist/exports/NativeEventEmitter/index.js +11 -0
- package/dist/exports/NativeEventEmitter/index.js.flow +11 -0
- package/dist/exports/NativeModules/index.js +16 -0
- package/dist/exports/NativeModules/index.js.flow +16 -0
- package/dist/exports/PanResponder/Alternative.js +269 -0
- package/dist/exports/PanResponder/Alternative.js.flow +335 -0
- package/dist/exports/PanResponder/index.js +2 -0
- package/dist/exports/PanResponder/index.js.flow +4 -0
- package/dist/exports/Picker/PickerItem.js +26 -0
- package/dist/exports/Picker/PickerItem.js.flow +19 -0
- package/dist/exports/Picker/index.js +67 -0
- package/dist/exports/Picker/index.js.flow +74 -0
- package/dist/exports/PixelRatio/index.js +49 -0
- package/dist/exports/PixelRatio/index.js.flow +21 -0
- package/dist/exports/Platform/index.js +26 -0
- package/dist/exports/Platform/index.js.flow +26 -0
- package/dist/exports/Pressable/index.js +157 -0
- package/dist/exports/Pressable/index.js.flow +84 -0
- package/dist/exports/ProgressBar/index.js +75 -0
- package/dist/exports/ProgressBar/index.js.flow +72 -0
- package/dist/exports/RefreshControl/index.js +29 -0
- package/dist/exports/RefreshControl/index.js.flow +30 -0
- package/dist/exports/SafeAreaView/index.js +41 -0
- package/dist/exports/SafeAreaView/index.js.flow +38 -0
- package/dist/exports/ScrollView/ScrollViewBase.js +147 -0
- package/dist/exports/ScrollView/ScrollViewBase.js.flow +76 -0
- package/dist/exports/ScrollView/index.js +632 -0
- package/dist/exports/ScrollView/index.js.flow +126 -0
- package/dist/exports/ScrollView/types.js +0 -0
- package/dist/exports/ScrollView/types.js.flow +25 -0
- package/dist/exports/SectionList/index.js +13 -0
- package/dist/exports/SectionList/index.js.flow +13 -0
- package/dist/exports/Share/index.js +47 -0
- package/dist/exports/Share/index.js.flow +26 -0
- package/dist/exports/StatusBar/index.js +19 -0
- package/dist/exports/StatusBar/index.js.flow +16 -0
- package/dist/exports/StyleSheet/compiler/createReactDOMStyle.js +177 -0
- package/dist/exports/StyleSheet/compiler/createReactDOMStyle.js.flow +84 -0
- package/dist/exports/StyleSheet/compiler/hash.js +47 -0
- package/dist/exports/StyleSheet/compiler/hash.js.flow +18 -0
- package/dist/exports/StyleSheet/compiler/hyphenateStyleName.js +23 -0
- package/dist/exports/StyleSheet/compiler/hyphenateStyleName.js.flow +15 -0
- package/dist/exports/StyleSheet/compiler/index.js +476 -0
- package/dist/exports/StyleSheet/compiler/index.js.flow +180 -0
- package/dist/exports/StyleSheet/compiler/normalizeColor.js +30 -0
- package/dist/exports/StyleSheet/compiler/normalizeColor.js.flow +13 -0
- package/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js +32 -0
- package/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js.flow +24 -0
- package/dist/exports/StyleSheet/compiler/resolveShadowValue.js +32 -0
- package/dist/exports/StyleSheet/compiler/resolveShadowValue.js.flow +17 -0
- package/dist/exports/StyleSheet/compiler/unitlessNumbers.js +75 -0
- package/dist/exports/StyleSheet/compiler/unitlessNumbers.js.flow +73 -0
- package/dist/exports/StyleSheet/dom/createCSSStyleSheet.js +36 -0
- package/dist/exports/StyleSheet/dom/createCSSStyleSheet.js.flow +12 -0
- package/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +163 -0
- package/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js.flow +52 -0
- package/dist/exports/StyleSheet/dom/index.js +73 -0
- package/dist/exports/StyleSheet/dom/index.js.flow +26 -0
- package/dist/exports/StyleSheet/index.js +185 -0
- package/dist/exports/StyleSheet/index.js.flow +97 -0
- package/dist/exports/StyleSheet/preprocess.js +212 -0
- package/dist/exports/StyleSheet/preprocess.js.flow +73 -0
- package/dist/exports/StyleSheet/validate.js +84 -0
- package/dist/exports/StyleSheet/validate.js.flow +46 -0
- package/dist/exports/Switch/index.js +188 -0
- package/dist/exports/Switch/index.js.flow +187 -0
- package/dist/exports/TV/NativeTVNavigationEventEmitter.js +103 -0
- package/dist/exports/TV/NativeTVNavigationEventEmitter.js.flow +89 -0
- package/dist/exports/TV/TVEventControl.js +44 -0
- package/dist/exports/TV/TVEventControl.js.flow +44 -0
- package/dist/exports/TV/TVEventHandler.js +37 -0
- package/dist/exports/TV/TVEventHandler.js.flow +59 -0
- package/dist/exports/TV/TVFocusEventHandler.js +33 -0
- package/dist/exports/TV/TVFocusEventHandler.js.flow +24 -0
- package/dist/exports/TV/TVFocusGuideView.js +98 -0
- package/dist/exports/TV/TVFocusGuideView.js.flow +121 -0
- package/dist/exports/TV/TVTextScrollView.js +106 -0
- package/dist/exports/TV/TVTextScrollView.js.flow +78 -0
- package/dist/exports/TV/tagForComponentOrHandle.js +39 -0
- package/dist/exports/TV/tagForComponentOrHandle.js.flow +16 -0
- package/dist/exports/TV/types.js +16 -0
- package/dist/exports/TV/types.js.flow +133 -0
- package/dist/exports/TV/useTVEventHandler.js +13 -0
- package/dist/exports/TV/useTVEventHandler.js.flow +10 -0
- package/dist/exports/TV/utils.js +23 -0
- package/dist/exports/TV/utils.js.flow +14 -0
- package/dist/exports/Text/TextAncestorContext.js +14 -0
- package/dist/exports/Text/TextAncestorContext.js.flow +15 -0
- package/dist/exports/Text/index.js +193 -0
- package/dist/exports/Text/index.js.flow +198 -0
- package/dist/exports/Text/types.js +0 -0
- package/dist/exports/Text/types.js.flow +65 -0
- package/dist/exports/TextInput/index.js +437 -0
- package/dist/exports/TextInput/index.js.flow +333 -0
- package/dist/exports/TextInput/types.js +0 -0
- package/dist/exports/TextInput/types.js.flow +65 -0
- package/dist/exports/Touchable/BoundingDimensions.js +29 -0
- package/dist/exports/Touchable/BoundingDimensions.js.flow +26 -0
- package/dist/exports/Touchable/Position.js +21 -0
- package/dist/exports/Touchable/Position.js.flow +18 -0
- package/dist/exports/Touchable/ensurePositiveDelayProps.js +14 -0
- package/dist/exports/Touchable/ensurePositiveDelayProps.js.flow +12 -0
- package/dist/exports/Touchable/index.js +835 -0
- package/dist/exports/Touchable/index.js.flow +849 -0
- package/dist/exports/TouchableHighlight/index.js +148 -0
- package/dist/exports/TouchableHighlight/index.js.flow +67 -0
- package/dist/exports/TouchableNativeFeedback/index.js +11 -0
- package/dist/exports/TouchableNativeFeedback/index.js.flow +11 -0
- package/dist/exports/TouchableOpacity/index.js +117 -0
- package/dist/exports/TouchableOpacity/index.js.flow +50 -0
- package/dist/exports/TouchableWithoutFeedback/index.js +72 -0
- package/dist/exports/TouchableWithoutFeedback/index.js.flow +65 -0
- package/dist/exports/UIManager/index.js +127 -0
- package/dist/exports/UIManager/index.js.flow +92 -0
- package/dist/exports/Vibration/index.js +27 -0
- package/dist/exports/Vibration/index.js.flow +21 -0
- package/dist/exports/View/index.js +171 -0
- package/dist/exports/View/index.js.flow +176 -0
- package/dist/exports/View/types.js +0 -0
- package/dist/exports/View/types.js.flow +225 -0
- package/dist/exports/VirtualizedList/index.js +13 -0
- package/dist/exports/VirtualizedList/index.js.flow +13 -0
- package/dist/exports/YellowBox/index.js +17 -0
- package/dist/exports/YellowBox/index.js.flow +16 -0
- package/dist/exports/createElement/index.js +34 -0
- package/dist/exports/createElement/index.js.flow +17 -0
- package/dist/exports/findNodeHandle/index.js +14 -0
- package/dist/exports/findNodeHandle/index.js.flow +11 -0
- package/dist/exports/processColor/index.js +25 -0
- package/dist/exports/processColor/index.js.flow +13 -0
- package/dist/exports/render/index.js +23 -0
- package/dist/exports/render/index.js.flow +15 -0
- package/dist/exports/unmountComponentAtNode/index.js +13 -0
- package/dist/exports/unmountComponentAtNode/index.js.flow +9 -0
- package/dist/exports/useColorScheme/index.js +28 -0
- package/dist/exports/useColorScheme/index.js.flow +16 -0
- package/dist/exports/useLocaleContext/index.js +13 -0
- package/dist/exports/useLocaleContext/index.js.flow +13 -0
- package/dist/exports/useWindowDimensions/index.js +36 -0
- package/dist/exports/useWindowDimensions/index.js.flow +16 -0
- package/dist/index.js +77 -0
- package/dist/index.js.flow +79 -0
- package/dist/modules/AccessibilityUtil/index.js +18 -0
- package/dist/modules/AccessibilityUtil/index.js.flow +18 -0
- package/dist/modules/AccessibilityUtil/isDisabled.js +11 -0
- package/dist/modules/AccessibilityUtil/isDisabled.js.flow +10 -0
- package/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js +54 -0
- package/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js.flow +34 -0
- package/dist/modules/AccessibilityUtil/propsToAriaRole.js +36 -0
- package/dist/modules/AccessibilityUtil/propsToAriaRole.js.flow +28 -0
- package/dist/modules/AssetRegistry/index.js +18 -0
- package/dist/modules/AssetRegistry/index.js.flow +23 -0
- package/dist/modules/ImageLoader/index.js +144 -0
- package/dist/modules/ImageLoader/index.js.flow +84 -0
- package/dist/modules/SpatialManager/index.js +460 -0
- package/dist/modules/SpatialManager/index.js.flow +66 -0
- package/dist/modules/SpatialManager/mutationObserver.js +105 -0
- package/dist/modules/SpatialManager/mutationObserver.js.flow +30 -0
- package/dist/modules/SpatialManager/scrollHandler.js +571 -0
- package/dist/modules/SpatialManager/scrollHandler.js.flow +90 -0
- package/dist/modules/SpatialManager/utils.js +405 -0
- package/dist/modules/SpatialManager/utils.js.flow +147 -0
- package/dist/modules/TextInputState/index.js +60 -0
- package/dist/modules/TextInputState/index.js.flow +60 -0
- package/dist/modules/UnimplementedView/index.js +31 -0
- package/dist/modules/UnimplementedView/index.js.flow +23 -0
- package/dist/modules/addEventListener/index.js +72 -0
- package/dist/modules/addEventListener/index.js.flow +34 -0
- package/dist/modules/canUseDom/index.js +11 -0
- package/dist/modules/canUseDom/index.js.flow +11 -0
- package/dist/modules/createDOMProps/index.js +891 -0
- package/dist/modules/createDOMProps/index.js.flow +36 -0
- package/dist/modules/dismissKeyboard/index.js +14 -0
- package/dist/modules/dismissKeyboard/index.js.flow +12 -0
- package/dist/modules/forwardedProps/index.js +184 -0
- package/dist/modules/forwardedProps/index.js.flow +184 -0
- package/dist/modules/getBoundingClientRect/index.js +18 -0
- package/dist/modules/getBoundingClientRect/index.js.flow +10 -0
- package/dist/modules/isSelectionValid/index.js +17 -0
- package/dist/modules/isSelectionValid/index.js.flow +9 -0
- package/dist/modules/isWebColor/index.js +11 -0
- package/dist/modules/isWebColor/index.js.flow +10 -0
- package/dist/modules/mergeRefs/index.js +31 -0
- package/dist/modules/mergeRefs/index.js.flow +11 -0
- package/dist/modules/modality/index.js +188 -0
- package/dist/modules/modality/index.js.flow +79 -0
- package/dist/modules/multiplyStyleLengthValue/index.js +24 -0
- package/dist/modules/multiplyStyleLengthValue/index.js.flow +14 -0
- package/dist/modules/normalizeColor/index.js +30 -0
- package/dist/modules/normalizeColor/index.js.flow +13 -0
- package/dist/modules/pick/index.js +20 -0
- package/dist/modules/pick/index.js.flow +11 -0
- package/dist/modules/prefixStyles/index.js +13 -0
- package/dist/modules/prefixStyles/index.js.flow +14 -0
- package/dist/modules/prefixStyles/static.js +68 -0
- package/dist/modules/requestIdleCallback/index.js +28 -0
- package/dist/modules/requestIdleCallback/index.js.flow +28 -0
- package/dist/modules/setValueForStyles/dangerousStyleValue.js +44 -0
- package/dist/modules/setValueForStyles/dangerousStyleValue.js.flow +25 -0
- package/dist/modules/setValueForStyles/index.js +40 -0
- package/dist/modules/setValueForStyles/index.js.flow +23 -0
- package/dist/modules/unitlessNumbers/index.js +75 -0
- package/dist/modules/unitlessNumbers/index.js.flow +73 -0
- package/dist/modules/useElementLayout/index.js +85 -0
- package/dist/modules/useElementLayout/index.js.flow +19 -0
- package/dist/modules/useEvent/index.js +48 -0
- package/dist/modules/useEvent/index.js.flow +29 -0
- package/dist/modules/useHover/index.js +153 -0
- package/dist/modules/useHover/index.js.flow +46 -0
- package/dist/modules/useLayoutEffect/index.js +16 -0
- package/dist/modules/useLayoutEffect/index.js.flow +16 -0
- package/dist/modules/useLocale/index.js +35 -0
- package/dist/modules/useLocale/index.js.flow +32 -0
- package/dist/modules/useLocale/isLocaleRTL.js +83 -0
- package/dist/modules/useLocale/isLocaleRTL.js.flow +58 -0
- package/dist/modules/useMergeRefs/index.js +19 -0
- package/dist/modules/useMergeRefs/index.js.flow +12 -0
- package/dist/modules/usePlatformMethods/index.js +29 -0
- package/dist/modules/usePlatformMethods/index.js.flow +22 -0
- package/dist/modules/usePressEvents/PressResponder.js +492 -0
- package/dist/modules/usePressEvents/PressResponder.js.flow +216 -0
- package/dist/modules/usePressEvents/index.js +36 -0
- package/dist/modules/usePressEvents/index.js.flow +16 -0
- package/dist/modules/useResponderEvents/ResponderEventTypes.js +41 -0
- package/dist/modules/useResponderEvents/ResponderEventTypes.js.flow +61 -0
- package/dist/modules/useResponderEvents/ResponderSystem.js +590 -0
- package/dist/modules/useResponderEvents/ResponderSystem.js.flow +269 -0
- package/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js +170 -0
- package/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js.flow +56 -0
- package/dist/modules/useResponderEvents/createResponderEvent.js +146 -0
- package/dist/modules/useResponderEvents/createResponderEvent.js.flow +51 -0
- package/dist/modules/useResponderEvents/index.js +73 -0
- package/dist/modules/useResponderEvents/index.js.flow +26 -0
- package/dist/modules/useResponderEvents/utils.js +165 -0
- package/dist/modules/useResponderEvents/utils.js.flow +46 -0
- package/dist/modules/useStable/index.js +19 -0
- package/dist/modules/useStable/index.js.flow +12 -0
- package/dist/modules/warnOnce/index.js +27 -0
- package/dist/modules/warnOnce/index.js.flow +22 -0
- package/dist/types/index.js +0 -0
- package/dist/types/index.js.flow +46 -0
- package/dist/types/styles.js +0 -0
- package/dist/types/styles.js.flow +279 -0
- package/dist/vendor/hash/index.js +47 -0
- package/dist/vendor/hash/index.js.flow +18 -0
- package/dist/vendor/react-native/Animated/Animated.js +29 -0
- package/dist/vendor/react-native/Animated/Animated.js.flow +35 -0
- package/dist/vendor/react-native/Animated/AnimatedEvent.js +162 -0
- package/dist/vendor/react-native/Animated/AnimatedEvent.js.flow +46 -0
- package/dist/vendor/react-native/Animated/AnimatedImplementation.js +579 -0
- package/dist/vendor/react-native/Animated/AnimatedImplementation.js.flow +605 -0
- package/dist/vendor/react-native/Animated/AnimatedMock.js +137 -0
- package/dist/vendor/react-native/Animated/AnimatedMock.js.flow +139 -0
- package/dist/vendor/react-native/Animated/AnimatedPlatformConfig.js +11 -0
- package/dist/vendor/react-native/Animated/AnimatedPlatformConfig.js.flow +13 -0
- package/dist/vendor/react-native/Animated/Easing.js +249 -0
- package/dist/vendor/react-native/Animated/Easing.js.flow +80 -0
- package/dist/vendor/react-native/Animated/NativeAnimatedHelper.js +460 -0
- package/dist/vendor/react-native/Animated/NativeAnimatedHelper.js.flow +396 -0
- package/dist/vendor/react-native/Animated/NativeAnimatedModule.js +16 -0
- package/dist/vendor/react-native/Animated/NativeAnimatedModule.js.flow +56 -0
- package/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js +16 -0
- package/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js.flow +53 -0
- package/dist/vendor/react-native/Animated/SpringConfig.js +69 -0
- package/dist/vendor/react-native/Animated/SpringConfig.js.flow +25 -0
- package/dist/vendor/react-native/Animated/animations/Animation.js +55 -0
- package/dist/vendor/react-native/Animated/animations/Animation.js.flow +45 -0
- package/dist/vendor/react-native/Animated/animations/DecayAnimation.js +70 -0
- package/dist/vendor/react-native/Animated/animations/DecayAnimation.js.flow +51 -0
- package/dist/vendor/react-native/Animated/animations/SpringAnimation.js +222 -0
- package/dist/vendor/react-native/Animated/animations/SpringAnimation.js.flow +110 -0
- package/dist/vendor/react-native/Animated/animations/TimingAnimation.js +116 -0
- package/dist/vendor/react-native/Animated/animations/TimingAnimation.js.flow +61 -0
- package/dist/vendor/react-native/Animated/bezier.js +122 -0
- package/dist/vendor/react-native/Animated/bezier.js.flow +35 -0
- package/dist/vendor/react-native/Animated/components/AnimatedFlatList.js +23 -0
- package/dist/vendor/react-native/Animated/components/AnimatedFlatList.js.flow +20 -0
- package/dist/vendor/react-native/Animated/components/AnimatedImage.js +14 -0
- package/dist/vendor/react-native/Animated/components/AnimatedImage.js.flow +15 -0
- package/dist/vendor/react-native/Animated/components/AnimatedScrollView.js +23 -0
- package/dist/vendor/react-native/Animated/components/AnimatedScrollView.js.flow +20 -0
- package/dist/vendor/react-native/Animated/components/AnimatedSectionList.js +23 -0
- package/dist/vendor/react-native/Animated/components/AnimatedSectionList.js.flow +20 -0
- package/dist/vendor/react-native/Animated/components/AnimatedText.js +14 -0
- package/dist/vendor/react-native/Animated/components/AnimatedText.js.flow +15 -0
- package/dist/vendor/react-native/Animated/components/AnimatedView.js +14 -0
- package/dist/vendor/react-native/Animated/components/AnimatedView.js.flow +15 -0
- package/dist/vendor/react-native/Animated/createAnimatedComponent.js +46 -0
- package/dist/vendor/react-native/Animated/createAnimatedComponent.js.flow +27 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js +49 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js.flow +30 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedColor.js +283 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedColor.js.flow +83 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +53 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js.flow +32 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js +66 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js.flow +31 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +265 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js.flow +69 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js +46 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js.flow +29 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +49 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js.flow +30 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedNode.js +159 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedNode.js.flow +58 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedProps.js +141 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedProps.js.flow +35 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js +124 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js.flow +33 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +49 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js.flow +30 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js +72 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js.flow +32 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js +109 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js.flow +26 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedValue.js +267 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedValue.js.flow +86 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js +187 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js.flow +84 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +73 -0
- package/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js.flow +25 -0
- package/dist/vendor/react-native/Animated/useAnimatedProps.js +154 -0
- package/dist/vendor/react-native/Animated/useAnimatedProps.js.flow +37 -0
- package/dist/vendor/react-native/Batchinator/index.js +79 -0
- package/dist/vendor/react-native/Batchinator/index.js.flow +51 -0
- package/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js +80 -0
- package/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js.flow +42 -0
- package/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +21 -0
- package/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js.flow +22 -0
- package/dist/vendor/react-native/FillRateHelper/index.js +192 -0
- package/dist/vendor/react-native/FillRateHelper/index.js.flow +80 -0
- package/dist/vendor/react-native/FlatList/index.js +446 -0
- package/dist/vendor/react-native/FlatList/index.js.flow +345 -0
- package/dist/vendor/react-native/JSEventLoopWatchdog/index.js +86 -0
- package/dist/vendor/react-native/JSEventLoopWatchdog/index.js.flow +75 -0
- package/dist/vendor/react-native/LayoutAnimation/index.js +108 -0
- package/dist/vendor/react-native/LayoutAnimation/index.js.flow +105 -0
- package/dist/vendor/react-native/PanResponder/index.js +416 -0
- package/dist/vendor/react-native/PanResponder/index.js.flow +496 -0
- package/dist/vendor/react-native/PooledClass/index.js +58 -0
- package/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +20 -0
- package/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js.flow +49 -0
- package/dist/vendor/react-native/SectionList/index.js +144 -0
- package/dist/vendor/react-native/SectionList/index.js.flow +165 -0
- package/dist/vendor/react-native/StaticContainer/index.js +40 -0
- package/dist/vendor/react-native/StaticContainer/index.js.flow +45 -0
- package/dist/vendor/react-native/StaticRenderer/index.js +22 -0
- package/dist/vendor/react-native/StaticRenderer/index.js.flow +29 -0
- package/dist/vendor/react-native/TouchHistoryMath/index.js +100 -0
- package/dist/vendor/react-native/TurboModule/RCTExport.js +29 -0
- package/dist/vendor/react-native/TurboModule/RCTExport.js.flow +35 -0
- package/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js +21 -0
- package/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js.flow +16 -0
- package/dist/vendor/react-native/Types/CoreEventTypes.js +11 -0
- package/dist/vendor/react-native/Types/CoreEventTypes.js.flow +264 -0
- package/dist/vendor/react-native/Utilities/Platform.js +2 -0
- package/dist/vendor/react-native/Utilities/clamp.js +22 -0
- package/dist/vendor/react-native/Utilities/clamp.js.flow +14 -0
- package/dist/vendor/react-native/Utilities/setAndForwardRef.js +61 -0
- package/dist/vendor/react-native/Utilities/setAndForwardRef.js.flow +50 -0
- package/dist/vendor/react-native/Utilities/useMergeRefs.js +38 -0
- package/dist/vendor/react-native/Utilities/useMergeRefs.js.flow +28 -0
- package/dist/vendor/react-native/Utilities/useRefEffect.js +37 -0
- package/dist/vendor/react-native/Utilities/useRefEffect.js.flow +28 -0
- package/dist/vendor/react-native/ViewabilityHelper/index.js +206 -0
- package/dist/vendor/react-native/ViewabilityHelper/index.js.flow +111 -0
- package/dist/vendor/react-native/VirtualizeUtils/index.js +175 -0
- package/dist/vendor/react-native/VirtualizeUtils/index.js.flow +64 -0
- package/dist/vendor/react-native/VirtualizedList/CellRenderMask.js +106 -0
- package/dist/vendor/react-native/VirtualizedList/CellRenderMask.js.flow +29 -0
- package/dist/vendor/react-native/VirtualizedList/ChildListCollection.js +68 -0
- package/dist/vendor/react-native/VirtualizedList/ChildListCollection.js.flow +21 -0
- package/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js +70 -0
- package/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js.flow +28 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +151 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js.flow +68 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js +64 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js.flow +61 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListProps.js +16 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListProps.js.flow +308 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +946 -0
- package/dist/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js.flow +172 -0
- package/dist/vendor/react-native/VirtualizedList/index.js +1498 -0
- package/dist/vendor/react-native/VirtualizedList/index.js.flow +307 -0
- package/dist/vendor/react-native/VirtualizedSectionList/index.js +382 -0
- package/dist/vendor/react-native/VirtualizedSectionList/index.js.flow +191 -0
- package/dist/vendor/react-native/deepDiffer/index.js +70 -0
- package/dist/vendor/react-native/deepDiffer/index.js.flow +67 -0
- package/dist/vendor/react-native/infoLog/index.js +19 -0
- package/dist/vendor/react-native/infoLog/index.js.flow +17 -0
- package/dist/vendor/react-native/vendor/emitter/EventEmitter.js +98 -0
- package/dist/vendor/react-native/vendor/emitter/EventEmitter.js.flow +54 -0
- package/package.json +60 -0
- package/src/exports/AccessibilityInfo/index.js +118 -0
- package/src/exports/ActivityIndicator/index.js +119 -0
- package/src/exports/Alert/index.js +14 -0
- package/src/exports/Animated/index.js +13 -0
- package/src/exports/AppRegistry/AppContainer.js +55 -0
- package/src/exports/AppRegistry/index.js +153 -0
- package/src/exports/AppRegistry/renderApplication.js +72 -0
- package/src/exports/AppState/index.js +81 -0
- package/src/exports/Appearance/index.js +65 -0
- package/src/exports/BackHandler/index.js +108 -0
- package/src/exports/Button/index.js +90 -0
- package/src/exports/CheckBox/index.js +143 -0
- package/src/exports/Clipboard/index.js +63 -0
- package/src/exports/DeviceEventEmitter/index.js +2 -0
- package/src/exports/Dimensions/index.js +160 -0
- package/src/exports/Easing/index.js +11 -0
- package/src/exports/FlatList/index.js +14 -0
- package/src/exports/I18nManager/index.js +35 -0
- package/src/exports/Image/index.js +443 -0
- package/src/exports/Image/types.js +103 -0
- package/src/exports/ImageBackground/index.js +73 -0
- package/src/exports/InputAccessoryView/index.js +2 -0
- package/src/exports/InteractionManager/TaskQueue.js +115 -0
- package/src/exports/InteractionManager/index.js +142 -0
- package/src/exports/Keyboard/index.js +28 -0
- package/src/exports/KeyboardAvoidingView/index.js +59 -0
- package/src/exports/LayoutAnimation/index.js +12 -0
- package/src/exports/Linking/index.js +124 -0
- package/src/exports/LogBox/index.js +17 -0
- package/src/exports/Modal/ModalAnimation.js +164 -0
- package/src/exports/Modal/ModalContent.js +87 -0
- package/src/exports/Modal/ModalFocusTrap.js +173 -0
- package/src/exports/Modal/ModalPortal.js +48 -0
- package/src/exports/Modal/index.js +151 -0
- package/src/exports/NativeEventEmitter/index.js +11 -0
- package/src/exports/NativeModules/index.js +17 -0
- package/src/exports/PanResponder/Alternative.js +408 -0
- package/src/exports/PanResponder/index.js +4 -0
- package/src/exports/Picker/PickerItem.js +26 -0
- package/src/exports/Picker/index.js +95 -0
- package/src/exports/PixelRatio/index.js +49 -0
- package/src/exports/Platform/index.js +26 -0
- package/src/exports/Pressable/index.js +253 -0
- package/src/exports/ProgressBar/index.js +92 -0
- package/src/exports/RefreshControl/index.js +52 -0
- package/src/exports/SafeAreaView/index.js +49 -0
- package/src/exports/ScrollView/ScrollViewBase.js +186 -0
- package/src/exports/ScrollView/index.js +768 -0
- package/src/exports/ScrollView/types.js +26 -0
- package/src/exports/SectionList/index.js +13 -0
- package/src/exports/Share/index.js +65 -0
- package/src/exports/StatusBar/index.js +22 -0
- package/src/exports/StyleSheet/compiler/createReactDOMStyle.js +214 -0
- package/src/exports/StyleSheet/compiler/hash.js +67 -0
- package/src/exports/StyleSheet/compiler/hyphenateStyleName.js +27 -0
- package/src/exports/StyleSheet/compiler/index.js +518 -0
- package/src/exports/StyleSheet/compiler/normalizeColor.js +34 -0
- package/src/exports/StyleSheet/compiler/normalizeValueWithProperty.js +40 -0
- package/src/exports/StyleSheet/compiler/resolveShadowValue.js +32 -0
- package/src/exports/StyleSheet/compiler/unitlessNumbers.js +76 -0
- package/src/exports/StyleSheet/dom/createCSSStyleSheet.js +40 -0
- package/src/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +184 -0
- package/src/exports/StyleSheet/dom/index.js +90 -0
- package/src/exports/StyleSheet/index.js +197 -0
- package/src/exports/StyleSheet/preprocess.js +255 -0
- package/src/exports/StyleSheet/validate.js +93 -0
- package/src/exports/Switch/index.js +236 -0
- package/src/exports/TV/NativeTVNavigationEventEmitter.js +141 -0
- package/src/exports/TV/TVEventControl.js +56 -0
- package/src/exports/TV/TVEventHandler.js +58 -0
- package/src/exports/TV/TVFocusEventHandler.js +43 -0
- package/src/exports/TV/TVFocusGuideView.js +162 -0
- package/src/exports/TV/TVParallaxProperties.d.ts +42 -0
- package/src/exports/TV/TVTextScrollView.js +159 -0
- package/src/exports/TV/tagForComponentOrHandle.js +46 -0
- package/src/exports/TV/types.js +153 -0
- package/src/exports/TV/useTVEventHandler.js +24 -0
- package/src/exports/TV/utils.js +24 -0
- package/src/exports/Text/TextAncestorContext.js +17 -0
- package/src/exports/Text/index.js +241 -0
- package/src/exports/Text/types.js +121 -0
- package/src/exports/TextInput/index.js +503 -0
- package/src/exports/TextInput/types.js +97 -0
- package/src/exports/Touchable/BoundingDimensions.js +37 -0
- package/src/exports/Touchable/Position.js +26 -0
- package/src/exports/Touchable/ensurePositiveDelayProps.js +23 -0
- package/src/exports/Touchable/index.js +1026 -0
- package/src/exports/TouchableHighlight/index.js +218 -0
- package/src/exports/TouchableNativeFeedback/index.js +11 -0
- package/src/exports/TouchableOpacity/index.js +172 -0
- package/src/exports/TouchableWithoutFeedback/index.js +135 -0
- package/src/exports/UIManager/index.js +132 -0
- package/src/exports/Vibration/index.js +28 -0
- package/src/exports/View/index.js +218 -0
- package/src/exports/View/types.js +250 -0
- package/src/exports/VirtualizedList/index.js +13 -0
- package/src/exports/YellowBox/index.js +22 -0
- package/src/exports/createElement/index.js +43 -0
- package/src/exports/findNodeHandle/index.js +18 -0
- package/src/exports/processColor/index.js +29 -0
- package/src/exports/render/index.js +29 -0
- package/src/exports/unmountComponentAtNode/index.js +13 -0
- package/src/exports/useColorScheme/index.js +31 -0
- package/src/exports/useLocaleContext/index.js +13 -0
- package/src/exports/useWindowDimensions/index.js +36 -0
- package/src/index.js +79 -0
- package/src/modules/AccessibilityUtil/index.js +20 -0
- package/src/modules/AccessibilityUtil/isDisabled.js +15 -0
- package/src/modules/AccessibilityUtil/propsToAccessibilityComponent.js +58 -0
- package/src/modules/AccessibilityUtil/propsToAriaRole.js +42 -0
- package/src/modules/AssetRegistry/index.js +32 -0
- package/src/modules/ImageLoader/index.js +167 -0
- package/src/modules/SpatialManager/README.md +122 -0
- package/src/modules/SpatialManager/index.js +582 -0
- package/src/modules/SpatialManager/mutationObserver.js +119 -0
- package/src/modules/SpatialManager/scrollHandler.js +898 -0
- package/src/modules/SpatialManager/utils.js +529 -0
- package/src/modules/TextInputState/index.js +64 -0
- package/src/modules/UnimplementedView/index.js +31 -0
- package/src/modules/addEventListener/index.js +89 -0
- package/src/modules/canUseDom/index.js +16 -0
- package/src/modules/createDOMProps/index.js +979 -0
- package/src/modules/dismissKeyboard/index.js +16 -0
- package/src/modules/forwardedProps/index.js +189 -0
- package/src/modules/getBoundingClientRect/index.js +19 -0
- package/src/modules/isSelectionValid/index.js +19 -0
- package/src/modules/isWebColor/index.js +16 -0
- package/src/modules/mergeRefs/index.js +35 -0
- package/src/modules/modality/index.js +215 -0
- package/src/modules/multiplyStyleLengthValue/index.js +28 -0
- package/src/modules/normalizeColor/index.js +34 -0
- package/src/modules/pick/index.js +20 -0
- package/src/modules/prefixStyles/index.js +17 -0
- package/src/modules/prefixStyles/static.js +69 -0
- package/src/modules/requestIdleCallback/index.js +38 -0
- package/src/modules/setValueForStyles/dangerousStyleValue.js +52 -0
- package/src/modules/setValueForStyles/index.js +45 -0
- package/src/modules/unitlessNumbers/index.js +76 -0
- package/src/modules/useElementLayout/index.js +95 -0
- package/src/modules/useEvent/index.js +70 -0
- package/src/modules/useHover/index.js +197 -0
- package/src/modules/useLayoutEffect/index.js +20 -0
- package/src/modules/useLocale/index.js +60 -0
- package/src/modules/useLocale/isLocaleRTL.js +81 -0
- package/src/modules/useMergeRefs/index.js +21 -0
- package/src/modules/usePlatformMethods/index.js +39 -0
- package/src/modules/usePressEvents/PressResponder.js +625 -0
- package/src/modules/usePressEvents/index.js +44 -0
- package/src/modules/useResponderEvents/README.md +209 -0
- package/src/modules/useResponderEvents/ResponderEventTypes.js +83 -0
- package/src/modules/useResponderEvents/ResponderSystem.js +688 -0
- package/src/modules/useResponderEvents/ResponderTouchHistoryStore.js +219 -0
- package/src/modules/useResponderEvents/createResponderEvent.js +206 -0
- package/src/modules/useResponderEvents/index.js +91 -0
- package/src/modules/useResponderEvents/utils.js +179 -0
- package/src/modules/useStable/index.js +24 -0
- package/src/modules/warnOnce/index.js +29 -0
- package/src/types/index.js +76 -0
- package/src/types/styles.js +346 -0
- package/src/vendor/hash/index.js +60 -0
- package/src/vendor/react-native/Animated/Animated.js +41 -0
- package/src/vendor/react-native/Animated/AnimatedEvent.js +232 -0
- package/src/vendor/react-native/Animated/AnimatedImplementation.js +757 -0
- package/src/vendor/react-native/Animated/AnimatedMock.js +197 -0
- package/src/vendor/react-native/Animated/AnimatedPlatformConfig.js +13 -0
- package/src/vendor/react-native/Animated/Easing.js +253 -0
- package/src/vendor/react-native/Animated/NativeAnimatedHelper.js +603 -0
- package/src/vendor/react-native/Animated/NativeAnimatedModule.js +72 -0
- package/src/vendor/react-native/Animated/NativeAnimatedTurboModule.js +70 -0
- package/src/vendor/react-native/Animated/SpringConfig.js +103 -0
- package/src/vendor/react-native/Animated/animations/Animation.js +89 -0
- package/src/vendor/react-native/Animated/animations/DecayAnimation.js +120 -0
- package/src/vendor/react-native/Animated/animations/SpringAnimation.js +376 -0
- package/src/vendor/react-native/Animated/animations/TimingAnimation.js +177 -0
- package/src/vendor/react-native/Animated/bezier.js +153 -0
- package/src/vendor/react-native/Animated/components/AnimatedFlatList.js +30 -0
- package/src/vendor/react-native/Animated/components/AnimatedImage.js +23 -0
- package/src/vendor/react-native/Animated/components/AnimatedScrollView.js +30 -0
- package/src/vendor/react-native/Animated/components/AnimatedSectionList.js +30 -0
- package/src/vendor/react-native/Animated/components/AnimatedText.js +23 -0
- package/src/vendor/react-native/Animated/components/AnimatedView.js +21 -0
- package/src/vendor/react-native/Animated/createAnimatedComponent.js +65 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedAddition.js +67 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedColor.js +359 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +75 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedDivision.js +82 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +375 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedModulo.js +66 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +66 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedNode.js +197 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedProps.js +171 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedStyle.js +143 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +66 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedTracking.js +102 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedTransform.js +121 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedValue.js +306 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedValueXY.js +226 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +90 -0
- package/src/vendor/react-native/Animated/useAnimatedProps.js +188 -0
- package/src/vendor/react-native/Batchinator/index.js +76 -0
- package/src/vendor/react-native/EventEmitter/NativeEventEmitter.js +116 -0
- package/src/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +22 -0
- package/src/vendor/react-native/FillRateHelper/index.js +253 -0
- package/src/vendor/react-native/FlatList/index.js +710 -0
- package/src/vendor/react-native/JSEventLoopWatchdog/index.js +87 -0
- package/src/vendor/react-native/LayoutAnimation/index.js +142 -0
- package/src/vendor/react-native/PanResponder/index.js +613 -0
- package/src/vendor/react-native/PooledClass/index.js +63 -0
- package/src/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +51 -0
- package/src/vendor/react-native/SHA +2 -0
- package/src/vendor/react-native/SectionList/index.js +254 -0
- package/src/vendor/react-native/StaticContainer/index.js +54 -0
- package/src/vendor/react-native/StaticRenderer/index.js +37 -0
- package/src/vendor/react-native/TouchHistoryMath/index.js +153 -0
- package/src/vendor/react-native/TurboModule/RCTExport.js +35 -0
- package/src/vendor/react-native/TurboModule/TurboModuleRegistry.js +28 -0
- package/src/vendor/react-native/Types/CoreEventTypes.js +291 -0
- package/src/vendor/react-native/Utilities/Platform.js +2 -0
- package/src/vendor/react-native/Utilities/clamp.js +23 -0
- package/src/vendor/react-native/Utilities/setAndForwardRef.js +71 -0
- package/src/vendor/react-native/Utilities/useMergeRefs.js +44 -0
- package/src/vendor/react-native/Utilities/useRefEffect.js +45 -0
- package/src/vendor/react-native/ViewabilityHelper/index.js +360 -0
- package/src/vendor/react-native/VirtualizeUtils/index.js +258 -0
- package/src/vendor/react-native/VirtualizedList/CellRenderMask.js +155 -0
- package/src/vendor/react-native/VirtualizedList/ChildListCollection.js +72 -0
- package/src/vendor/react-native/VirtualizedList/RLV_ADAPTER_STATUS.md +257 -0
- package/src/vendor/react-native/VirtualizedList/StateSafePureComponent.js +85 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +247 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListContext.js +118 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListProps.js +318 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListRLVAdapter.js +1120 -0
- package/src/vendor/react-native/VirtualizedList/index.js +2099 -0
- package/src/vendor/react-native/VirtualizedSectionList/index.js +616 -0
- package/src/vendor/react-native/deepDiffer/index.js +72 -0
- package/src/vendor/react-native/infoLog/index.js +20 -0
- package/src/vendor/react-native/vendor/emitter/EventEmitter.js +146 -0
|
@@ -0,0 +1,405 @@
|
|
|
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
|
+
*
|
|
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
|
+
var _hasPerformance = typeof performance !== 'undefined' && typeof performance.now === 'function';
|
|
16
|
+
var _hasRequestAnimationFrame = typeof requestAnimationFrame === 'function';
|
|
17
|
+
var _hasGetComputedStyle = typeof window !== 'undefined' && typeof window.getComputedStyle === 'function';
|
|
18
|
+
var _hasGetBoundingClientRect = typeof Element !== 'undefined' && Element.prototype.getBoundingClientRect !== undefined;
|
|
19
|
+
var _windowScrollable = typeof window !== 'undefined' ? {
|
|
20
|
+
get scrollTop() {
|
|
21
|
+
return window.scrollY;
|
|
22
|
+
},
|
|
23
|
+
get scrollLeft() {
|
|
24
|
+
return window.scrollX;
|
|
25
|
+
},
|
|
26
|
+
clientHeight: window.innerHeight,
|
|
27
|
+
clientWidth: window.innerWidth,
|
|
28
|
+
scrollHeight: document.documentElement && document.documentElement.scrollHeight || document.body && document.body.scrollHeight || 0,
|
|
29
|
+
scrollWidth: document.documentElement && document.documentElement.scrollWidth || document.body && document.body.scrollWidth || 0,
|
|
30
|
+
getBoundingClientRect: () => ({
|
|
31
|
+
top: 0,
|
|
32
|
+
left: 0,
|
|
33
|
+
bottom: window.innerHeight,
|
|
34
|
+
right: window.innerWidth
|
|
35
|
+
}),
|
|
36
|
+
scrollTo: options => {
|
|
37
|
+
var scrollParam = {
|
|
38
|
+
top: options.y !== undefined ? options.y : window.scrollY,
|
|
39
|
+
left: options.x !== undefined ? options.x : window.scrollX,
|
|
40
|
+
behavior: options.animated ? 'smooth' : 'auto'
|
|
41
|
+
};
|
|
42
|
+
window.scroll ? window.scroll(scrollParam) : window.scrollTo(scrollParam);
|
|
43
|
+
}
|
|
44
|
+
} : null;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* getCurrentTime
|
|
48
|
+
* Returns current timestamp using high-resolution performance API if available.
|
|
49
|
+
* Falls back to Date.now() for environments lacking performance.now().
|
|
50
|
+
* @returns {number} Current time in milliseconds
|
|
51
|
+
*/
|
|
52
|
+
export function getCurrentTime() {
|
|
53
|
+
return _hasPerformance ? performance.now() : Date.now();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* scheduleAnimationFrame
|
|
58
|
+
* Schedules a callback for the next animation frame.
|
|
59
|
+
* Uses requestAnimationFrame if available, falls back to 30fps setTimeout simulation.
|
|
60
|
+
* @param {() => void} callback - Function to execute on next animation frame
|
|
61
|
+
* @returns {any} Animation frame ID for cancellation with cancelScheduledFrame()
|
|
62
|
+
*/
|
|
63
|
+
export function scheduleAnimationFrame(callback) {
|
|
64
|
+
if (_hasRequestAnimationFrame) {
|
|
65
|
+
return requestAnimationFrame(callback);
|
|
66
|
+
}
|
|
67
|
+
// Fallback: simulate 30fps with setTimeout (33ms per frame)
|
|
68
|
+
// TODO: Consider making this adaptive based on actual frame rate or using a more sophisticated polyfill if needed
|
|
69
|
+
return setTimeout(callback, 33);
|
|
70
|
+
}
|
|
71
|
+
export function cancelScheduledFrame(frameId) {
|
|
72
|
+
if (_hasRequestAnimationFrame) {
|
|
73
|
+
cancelAnimationFrame(frameId);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
clearTimeout(frameId);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* findScrollableAncestor
|
|
81
|
+
* Traverses DOM ancestors to find a scrollable parent element in specified direction.
|
|
82
|
+
* Checks computed overflow styles and scroll capacity before returning.
|
|
83
|
+
* Falls back to window scrollable if no ancestor can scroll in the direction.
|
|
84
|
+
* @param {HTMLElement | null} elem - Starting element for ancestor traversal
|
|
85
|
+
* @param {'vertical' | 'horizontal'} direction - Direction to check scrollability
|
|
86
|
+
* @returns {ScrollableAncestorInfo} Scrollable ancestor info (falls back to window scrollable)
|
|
87
|
+
*/
|
|
88
|
+
export function findScrollableAncestor(elem, direction) {
|
|
89
|
+
var current = elem ? elem.parentElement : null;
|
|
90
|
+
while (current) {
|
|
91
|
+
var overflowY = '';
|
|
92
|
+
var overflowX = '';
|
|
93
|
+
if (_hasGetComputedStyle) {
|
|
94
|
+
var style = window.getComputedStyle(current);
|
|
95
|
+
overflowY = style.overflowY;
|
|
96
|
+
overflowX = style.overflowX;
|
|
97
|
+
} else {
|
|
98
|
+
// Fallback: check inline styles only
|
|
99
|
+
overflowY = current.style.overflowY || '';
|
|
100
|
+
overflowX = current.style.overflowX || '';
|
|
101
|
+
}
|
|
102
|
+
var canScrollY = (overflowY === 'auto' || overflowY === 'scroll' || overflowY === 'overlay') && current.scrollHeight > current.clientHeight;
|
|
103
|
+
var canScrollX = (overflowX === 'auto' || overflowX === 'scroll' || overflowX === 'overlay') && current.scrollWidth > current.clientWidth;
|
|
104
|
+
if (direction === 'vertical' && canScrollY || direction === 'horizontal' && canScrollX) {
|
|
105
|
+
return {
|
|
106
|
+
scrollable: current,
|
|
107
|
+
isWindowScroll: false
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
if (current === document.body || current === document.documentElement) {
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
current = current.parentElement;
|
|
114
|
+
}
|
|
115
|
+
// Return window scrollable as fallback if no scrollable ancestor found
|
|
116
|
+
return {
|
|
117
|
+
scrollable: _windowScrollable,
|
|
118
|
+
isWindowScroll: true
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* isElementInWindowViewport
|
|
124
|
+
* Checks if an element intersects with the window viewport.
|
|
125
|
+
* Only verifies window viewport visibility, not parent container visibility.
|
|
126
|
+
* Assumes element CSS is already visible (display, visibility, opacity handled elsewhere).
|
|
127
|
+
* @param {HTMLElement} elem - The element to check
|
|
128
|
+
* @returns {boolean} True if element intersects window viewport, false otherwise
|
|
129
|
+
*/
|
|
130
|
+
export function isElementInWindowViewport(elem) {
|
|
131
|
+
if (!elem || !_hasGetBoundingClientRect) {
|
|
132
|
+
return true; // Assume visible if we can't measure
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
var elemRect = elem.getBoundingClientRect();
|
|
136
|
+
var docEl = document.documentElement;
|
|
137
|
+
var viewportHeight = window.innerHeight || (docEl ? docEl.clientHeight : 0);
|
|
138
|
+
var viewportWidth = window.innerWidth || (docEl ? docEl.clientWidth : 0);
|
|
139
|
+
return elemRect.top < viewportHeight && elemRect.bottom > 0 && elemRect.left < viewportWidth && elemRect.right > 0;
|
|
140
|
+
} catch (e) {
|
|
141
|
+
return true; // Safe fallback
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Check if an element is fully visible in the window viewport.
|
|
147
|
+
* Returns visibility percentage (0-1).
|
|
148
|
+
*
|
|
149
|
+
* @param {HTMLElement} elem The element to check
|
|
150
|
+
* @return {number} Visibility ratio: 0 = not visible, 1 = fully visible
|
|
151
|
+
*/
|
|
152
|
+
/**
|
|
153
|
+
* getElementVisibilityRatio
|
|
154
|
+
* Calculates the percentage of an element visible within the window viewport.
|
|
155
|
+
* Returns a ratio from 0 (not visible) to 1 (fully visible).
|
|
156
|
+
* @param {HTMLElement} elem - The element to measure
|
|
157
|
+
* @returns {number} Visibility ratio: 0 = completely out of view, 1 = fully in view
|
|
158
|
+
*/
|
|
159
|
+
export function getElementVisibilityRatio(elem) {
|
|
160
|
+
if (!elem || !_hasGetBoundingClientRect) {
|
|
161
|
+
return 1; // Assume fully visible if we can't measure
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
var elemRect = elem.getBoundingClientRect();
|
|
165
|
+
var docEl = document.documentElement;
|
|
166
|
+
var viewportHeight = window.innerHeight || (docEl ? docEl.clientHeight : 0);
|
|
167
|
+
var viewportWidth = window.innerWidth || (docEl ? docEl.clientWidth : 0);
|
|
168
|
+
|
|
169
|
+
// Calculate clipped rectangle intersecting with viewport
|
|
170
|
+
var clippedTop = Math.max(0, elemRect.top);
|
|
171
|
+
var clippedBottom = Math.min(viewportHeight, elemRect.bottom);
|
|
172
|
+
var clippedLeft = Math.max(0, elemRect.left);
|
|
173
|
+
var clippedRight = Math.min(viewportWidth, elemRect.right);
|
|
174
|
+
|
|
175
|
+
// Calculate visible area
|
|
176
|
+
var visibleHeight = Math.max(0, clippedBottom - clippedTop);
|
|
177
|
+
var visibleWidth = Math.max(0, clippedRight - clippedLeft);
|
|
178
|
+
var visibleArea = visibleHeight * visibleWidth;
|
|
179
|
+
|
|
180
|
+
// Calculate total element area
|
|
181
|
+
var totalHeight = elemRect.height;
|
|
182
|
+
var totalWidth = elemRect.width;
|
|
183
|
+
var totalArea = totalHeight * totalWidth;
|
|
184
|
+
if (totalArea === 0) {
|
|
185
|
+
return 0;
|
|
186
|
+
}
|
|
187
|
+
return Math.min(1, visibleArea / totalArea);
|
|
188
|
+
} catch (e) {
|
|
189
|
+
return 1; // Safe fallback
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Infer scroll direction from scrollContainer's scroll capability.
|
|
195
|
+
* Used to provide directional hint to scrollToElement.
|
|
196
|
+
*
|
|
197
|
+
* @param {HTMLElement} scrollContainer The container that scrolled
|
|
198
|
+
* @return {'ArrowDown' | 'ArrowRight'} Direction hint
|
|
199
|
+
*/
|
|
200
|
+
/**
|
|
201
|
+
* inferScrollDirection
|
|
202
|
+
* Determines primary scroll axis capability of a container.
|
|
203
|
+
* Used to provide directional hints to scrollToElement for optimal behavior.
|
|
204
|
+
* @param {HTMLElement | null} scrollContainer - The container being evaluated
|
|
205
|
+
* @returns {'ArrowDown' | 'ArrowRight'} Direction hint based on scroll capability
|
|
206
|
+
*/
|
|
207
|
+
export function inferScrollDirection(scrollContainer) {
|
|
208
|
+
if (!scrollContainer) {
|
|
209
|
+
return 'ArrowDown';
|
|
210
|
+
}
|
|
211
|
+
var isWindowScroll = scrollContainer === window || scrollContainer === document || scrollContainer === document.documentElement;
|
|
212
|
+
if (isWindowScroll) {
|
|
213
|
+
return 'ArrowDown';
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// Check if container can scroll vertically
|
|
217
|
+
var canScrollVertical = (() => {
|
|
218
|
+
if (_hasGetComputedStyle) {
|
|
219
|
+
var style = window.getComputedStyle(scrollContainer);
|
|
220
|
+
return (style.overflowY === 'auto' || style.overflowY === 'scroll' || style.overflowY === 'overlay') && scrollContainer.scrollHeight > scrollContainer.clientHeight;
|
|
221
|
+
}
|
|
222
|
+
return scrollContainer.scrollHeight > scrollContainer.clientHeight;
|
|
223
|
+
})();
|
|
224
|
+
|
|
225
|
+
// Prefer vertical direction if possible
|
|
226
|
+
return canScrollVertical ? 'ArrowDown' : 'ArrowRight';
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* getBoundingRectangles
|
|
231
|
+
* Resolves element and container viewport-relative bounding rectangles.
|
|
232
|
+
* Sets up target as parent container if it's within a scrollable to allow scrolling
|
|
233
|
+
* to bring a parent container into visibilty instead of the element itself.
|
|
234
|
+
* Falls back to offset dimensions if getBoundingClientRect unavailable.
|
|
235
|
+
* @param {any} scrollableH - Horizontal scrollable container
|
|
236
|
+
* @param {boolean} isWindowScrollH - If true, scrollableH is the window
|
|
237
|
+
* @param {any} scrollableV - Vertical scrollable container
|
|
238
|
+
* @param {boolean} isWindowScrollV - If true, scrollableV is the window
|
|
239
|
+
* @param {HTMLElement} elem - The target element to measure
|
|
240
|
+
* @returns {Object} Object with horizontalRects, verticalRects, targetHRect, targetVRect
|
|
241
|
+
*/
|
|
242
|
+
export function getBoundingRectangles(scrollableH, isWindowScrollH, scrollableV, isWindowScrollV, elemData) {
|
|
243
|
+
var elem = elemData.elem,
|
|
244
|
+
parentContainer = elemData.parentContainer;
|
|
245
|
+
var containerRectH, containerRectV;
|
|
246
|
+
var targetHRect, targetVRect;
|
|
247
|
+
if (!elem) {
|
|
248
|
+
var emptyRect = {
|
|
249
|
+
top: 0,
|
|
250
|
+
left: 0,
|
|
251
|
+
bottom: 0,
|
|
252
|
+
right: 0
|
|
253
|
+
};
|
|
254
|
+
return {
|
|
255
|
+
horizontalRects: {
|
|
256
|
+
containerRect: emptyRect,
|
|
257
|
+
visibleContainerRect: emptyRect
|
|
258
|
+
},
|
|
259
|
+
verticalRects: {
|
|
260
|
+
containerRect: emptyRect,
|
|
261
|
+
visibleContainerRect: emptyRect
|
|
262
|
+
},
|
|
263
|
+
targetHRect: emptyRect,
|
|
264
|
+
targetVRect: emptyRect
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// Check if parent container of the next element is within the scrollable area of either axis.
|
|
269
|
+
var isParentInVScroll = !!parentContainer && (isWindowScrollV || scrollableV.contains(parentContainer));
|
|
270
|
+
var isParentInHScroll = !!parentContainer && (isWindowScrollH || scrollableH.contains(parentContainer));
|
|
271
|
+
var canUseParentRectForAxis = (parentRect, containerRect, axis) => {
|
|
272
|
+
if (!parentRect || !containerRect) {
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
var parentSize = axis === 'vertical' ? parentRect.bottom - parentRect.top : parentRect.right - parentRect.left;
|
|
276
|
+
var containerSize = axis === 'vertical' ? containerRect.bottom - containerRect.top : containerRect.right - containerRect.left;
|
|
277
|
+
return parentSize <= containerSize;
|
|
278
|
+
};
|
|
279
|
+
if (_hasGetBoundingClientRect) {
|
|
280
|
+
var targetElemRect = elem.getBoundingClientRect();
|
|
281
|
+
var parentContainerRect = parentContainer ? parentContainer.getBoundingClientRect() : null;
|
|
282
|
+
containerRectH = scrollableH.getBoundingClientRect();
|
|
283
|
+
containerRectV = scrollableV.getBoundingClientRect();
|
|
284
|
+
targetHRect = isParentInHScroll && canUseParentRectForAxis(parentContainerRect, containerRectH, 'horizontal') ? parentContainerRect : targetElemRect;
|
|
285
|
+
targetVRect = isParentInVScroll && canUseParentRectForAxis(parentContainerRect, containerRectV, 'vertical') ? parentContainerRect : targetElemRect;
|
|
286
|
+
} else {
|
|
287
|
+
// Fallback: use offset dimensions
|
|
288
|
+
containerRectH = {
|
|
289
|
+
top: scrollableH.offsetTop || 0,
|
|
290
|
+
left: scrollableH.offsetLeft || 0,
|
|
291
|
+
bottom: (scrollableH.offsetTop || 0) + (scrollableH.offsetHeight || 0),
|
|
292
|
+
right: (scrollableH.offsetLeft || 0) + (scrollableH.offsetWidth || 0)
|
|
293
|
+
};
|
|
294
|
+
containerRectV = {
|
|
295
|
+
top: scrollableV.offsetTop || 0,
|
|
296
|
+
left: scrollableV.offsetLeft || 0,
|
|
297
|
+
bottom: (scrollableV.offsetTop || 0) + (scrollableV.offsetHeight || 0),
|
|
298
|
+
right: (scrollableV.offsetLeft || 0) + (scrollableV.offsetWidth || 0)
|
|
299
|
+
};
|
|
300
|
+
var _targetElemRect = {
|
|
301
|
+
top: elem.offsetTop || 0,
|
|
302
|
+
left: elem.offsetLeft || 0,
|
|
303
|
+
bottom: (elem.offsetTop || 0) + (elem.offsetHeight || 0),
|
|
304
|
+
right: (elem.offsetLeft || 0) + (elem.offsetWidth || 0)
|
|
305
|
+
};
|
|
306
|
+
var _parentContainerRect = null;
|
|
307
|
+
if ((isParentInVScroll || isParentInHScroll) && parentContainer) {
|
|
308
|
+
_parentContainerRect = {
|
|
309
|
+
top: parentContainer.offsetTop || 0,
|
|
310
|
+
left: parentContainer.offsetLeft || 0,
|
|
311
|
+
bottom: (parentContainer.offsetTop || 0) + (parentContainer.offsetHeight || 0),
|
|
312
|
+
right: (parentContainer.offsetLeft || 0) + (parentContainer.offsetWidth || 0)
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
targetHRect = isParentInHScroll && canUseParentRectForAxis(_parentContainerRect, containerRectH, 'horizontal') ? _parentContainerRect : _targetElemRect;
|
|
316
|
+
targetVRect = isParentInVScroll && canUseParentRectForAxis(_parentContainerRect, containerRectV, 'vertical') ? _parentContainerRect : _targetElemRect;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Clamp container rect to viewport bounds so we don't scroll outside the visible area.
|
|
320
|
+
// This is critical for accurate visibility detection when container is partially off-screen.
|
|
321
|
+
// const visibleContainerRect = isWindowScrollH
|
|
322
|
+
// ? _viewportRect
|
|
323
|
+
// : {
|
|
324
|
+
// top: Math.max(containerRect.top, _viewportRect.top),
|
|
325
|
+
// bottom: Math.min(containerRect.bottom, _viewportRect.bottom),
|
|
326
|
+
// left: Math.max(containerRect.left, _viewportRect.left),
|
|
327
|
+
// right: Math.min(containerRect.right, _viewportRect.right)
|
|
328
|
+
// };
|
|
329
|
+
|
|
330
|
+
// return { containerRect, targetRect, visibleContainerRect };
|
|
331
|
+
return {
|
|
332
|
+
horizontalRects: {
|
|
333
|
+
containerRect: containerRectH,
|
|
334
|
+
visibleContainerRect: containerRectH
|
|
335
|
+
},
|
|
336
|
+
verticalRects: {
|
|
337
|
+
containerRect: containerRectV,
|
|
338
|
+
visibleContainerRect: containerRectV
|
|
339
|
+
},
|
|
340
|
+
targetHRect,
|
|
341
|
+
targetVRect
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* getAxisScrollDelta
|
|
347
|
+
* Calculates scroll distance needed to keep an element visible within container.
|
|
348
|
+
* Respects edge padding to maintain spacing from container boundaries.
|
|
349
|
+
* Handles cases where element is larger than visible container.
|
|
350
|
+
* @param {any} targetRect - Bounding rectangle of target element
|
|
351
|
+
* @param {any} visibleContainerRect - Bounding rectangle of visible container
|
|
352
|
+
* @param {'vertical' | 'horizontal'} axis - Axis to calculate scroll for
|
|
353
|
+
* @param {number} topEdgePaddingPx - Padding from top edge (vertical axis)
|
|
354
|
+
* @param {number} leftEdgePaddingPx - Padding from left edge (horizontal axis)
|
|
355
|
+
* @returns {Object} Object with needsScroll (boolean) and scrollDelta (pixels to scroll)
|
|
356
|
+
*/
|
|
357
|
+
export function getAxisScrollDelta(targetRect, visibleContainerRect, axis, topEdgePaddingPx, leftEdgePaddingPx) {
|
|
358
|
+
var isVertical = axis === 'vertical';
|
|
359
|
+
var targetSize, visibleSize;
|
|
360
|
+
if (isVertical) {
|
|
361
|
+
targetSize = targetRect.bottom - targetRect.top;
|
|
362
|
+
visibleSize = visibleContainerRect.bottom - visibleContainerRect.top;
|
|
363
|
+
} else {
|
|
364
|
+
targetSize = targetRect.right - targetRect.left;
|
|
365
|
+
visibleSize = visibleContainerRect.right - visibleContainerRect.left;
|
|
366
|
+
}
|
|
367
|
+
if (targetSize > visibleSize) {
|
|
368
|
+
var delta = isVertical ? targetRect.top - visibleContainerRect.top - topEdgePaddingPx : targetRect.left - visibleContainerRect.left - leftEdgePaddingPx;
|
|
369
|
+
return {
|
|
370
|
+
needsScroll: delta !== 0,
|
|
371
|
+
scrollDelta: delta
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
if (isVertical) {
|
|
375
|
+
if (targetRect.top < visibleContainerRect.top) {
|
|
376
|
+
return {
|
|
377
|
+
needsScroll: true,
|
|
378
|
+
scrollDelta: targetRect.top - visibleContainerRect.top - topEdgePaddingPx
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
if (targetRect.bottom > visibleContainerRect.bottom) {
|
|
382
|
+
return {
|
|
383
|
+
needsScroll: true,
|
|
384
|
+
scrollDelta: targetRect.bottom - visibleContainerRect.bottom
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
} else {
|
|
388
|
+
if (targetRect.left < visibleContainerRect.left) {
|
|
389
|
+
return {
|
|
390
|
+
needsScroll: true,
|
|
391
|
+
scrollDelta: targetRect.left - visibleContainerRect.left - leftEdgePaddingPx
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
if (targetRect.right > visibleContainerRect.right) {
|
|
395
|
+
return {
|
|
396
|
+
needsScroll: true,
|
|
397
|
+
scrollDelta: targetRect.right - visibleContainerRect.right + leftEdgePaddingPx
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
return {
|
|
402
|
+
needsScroll: false,
|
|
403
|
+
scrollDelta: 0
|
|
404
|
+
};
|
|
405
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
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
|
+
// 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
|
+
};
|
|
22
|
+
const _hasPerformance = typeof performance !== 'undefined' && typeof performance.now === 'function';
|
|
23
|
+
const _hasRequestAnimationFrame = typeof requestAnimationFrame === 'function';
|
|
24
|
+
const _hasGetComputedStyle = typeof window !== 'undefined' && typeof window.getComputedStyle === 'function';
|
|
25
|
+
const _hasGetBoundingClientRect = typeof Element !== 'undefined' && Element.prototype.getBoundingClientRect !== undefined;
|
|
26
|
+
const _windowScrollable = typeof window !== 'undefined' ? {
|
|
27
|
+
get scrollTop() {
|
|
28
|
+
return window.scrollY;
|
|
29
|
+
},
|
|
30
|
+
get scrollLeft() {
|
|
31
|
+
return window.scrollX;
|
|
32
|
+
},
|
|
33
|
+
clientHeight: window.innerHeight,
|
|
34
|
+
clientWidth: window.innerWidth,
|
|
35
|
+
scrollHeight: document.documentElement && document.documentElement.scrollHeight || document.body && document.body.scrollHeight || 0,
|
|
36
|
+
scrollWidth: document.documentElement && document.documentElement.scrollWidth || document.body && document.body.scrollWidth || 0,
|
|
37
|
+
getBoundingClientRect: () => ({
|
|
38
|
+
top: 0,
|
|
39
|
+
left: 0,
|
|
40
|
+
bottom: window.innerHeight,
|
|
41
|
+
right: window.innerWidth
|
|
42
|
+
}),
|
|
43
|
+
scrollTo: (options: any) => {
|
|
44
|
+
const scrollParam = {
|
|
45
|
+
top: options.y !== undefined ? options.y : window.scrollY,
|
|
46
|
+
left: options.x !== undefined ? options.x : window.scrollX,
|
|
47
|
+
behavior: options.animated ? 'smooth' : 'auto'
|
|
48
|
+
};
|
|
49
|
+
window.scroll ? window.scroll(scrollParam) : window.scrollTo(scrollParam);
|
|
50
|
+
}
|
|
51
|
+
} : null;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* getCurrentTime
|
|
55
|
+
* Returns current timestamp using high-resolution performance API if available.
|
|
56
|
+
* Falls back to Date.now() for environments lacking performance.now().
|
|
57
|
+
* @returns {number} Current time in milliseconds
|
|
58
|
+
*/
|
|
59
|
+
declare export function getCurrentTime(): number;
|
|
60
|
+
/**
|
|
61
|
+
* scheduleAnimationFrame
|
|
62
|
+
* Schedules a callback for the next animation frame.
|
|
63
|
+
* Uses requestAnimationFrame if available, falls back to 30fps setTimeout simulation.
|
|
64
|
+
* @param {() => void} callback - Function to execute on next animation frame
|
|
65
|
+
* @returns {any} Animation frame ID for cancellation with cancelScheduledFrame()
|
|
66
|
+
*/
|
|
67
|
+
declare export function scheduleAnimationFrame(callback: () => void): any;
|
|
68
|
+
declare export function cancelScheduledFrame(frameId: any): void;
|
|
69
|
+
/**
|
|
70
|
+
* findScrollableAncestor
|
|
71
|
+
* Traverses DOM ancestors to find a scrollable parent element in specified direction.
|
|
72
|
+
* Checks computed overflow styles and scroll capacity before returning.
|
|
73
|
+
* Falls back to window scrollable if no ancestor can scroll in the direction.
|
|
74
|
+
* @param {HTMLElement | null} elem - Starting element for ancestor traversal
|
|
75
|
+
* @param {'vertical' | 'horizontal'} direction - Direction to check scrollability
|
|
76
|
+
* @returns {ScrollableAncestorInfo} Scrollable ancestor info (falls back to window scrollable)
|
|
77
|
+
*/
|
|
78
|
+
declare export function findScrollableAncestor(elem: HTMLElement | null, direction: 'vertical' | 'horizontal'): ScrollableAncestorInfo;
|
|
79
|
+
/**
|
|
80
|
+
* isElementInWindowViewport
|
|
81
|
+
* Checks if an element intersects with the window viewport.
|
|
82
|
+
* Only verifies window viewport visibility, not parent container visibility.
|
|
83
|
+
* Assumes element CSS is already visible (display, visibility, opacity handled elsewhere).
|
|
84
|
+
* @param {HTMLElement} elem - The element to check
|
|
85
|
+
* @returns {boolean} True if element intersects window viewport, false otherwise
|
|
86
|
+
*/
|
|
87
|
+
declare export function isElementInWindowViewport(elem: HTMLElement): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Check if an element is fully visible in the window viewport.
|
|
90
|
+
* Returns visibility percentage (0-1).
|
|
91
|
+
*
|
|
92
|
+
* @param {HTMLElement} elem The element to check
|
|
93
|
+
* @return {number} Visibility ratio: 0 = not visible, 1 = fully visible
|
|
94
|
+
*/
|
|
95
|
+
/**
|
|
96
|
+
* getElementVisibilityRatio
|
|
97
|
+
* Calculates the percentage of an element visible within the window viewport.
|
|
98
|
+
* Returns a ratio from 0 (not visible) to 1 (fully visible).
|
|
99
|
+
* @param {HTMLElement} elem - The element to measure
|
|
100
|
+
* @returns {number} Visibility ratio: 0 = completely out of view, 1 = fully in view
|
|
101
|
+
*/
|
|
102
|
+
declare export function getElementVisibilityRatio(elem: HTMLElement): number;
|
|
103
|
+
/**
|
|
104
|
+
* Infer scroll direction from scrollContainer's scroll capability.
|
|
105
|
+
* Used to provide directional hint to scrollToElement.
|
|
106
|
+
*
|
|
107
|
+
* @param {HTMLElement} scrollContainer The container that scrolled
|
|
108
|
+
* @return {'ArrowDown' | 'ArrowRight'} Direction hint
|
|
109
|
+
*/
|
|
110
|
+
/**
|
|
111
|
+
* inferScrollDirection
|
|
112
|
+
* Determines primary scroll axis capability of a container.
|
|
113
|
+
* Used to provide directional hints to scrollToElement for optimal behavior.
|
|
114
|
+
* @param {HTMLElement | null} scrollContainer - The container being evaluated
|
|
115
|
+
* @returns {'ArrowDown' | 'ArrowRight'} Direction hint based on scroll capability
|
|
116
|
+
*/
|
|
117
|
+
declare export function inferScrollDirection(scrollContainer: HTMLElement | null): 'ArrowDown' | 'ArrowRight';
|
|
118
|
+
/**
|
|
119
|
+
* getBoundingRectangles
|
|
120
|
+
* Resolves element and container viewport-relative bounding rectangles.
|
|
121
|
+
* Sets up target as parent container if it's within a scrollable to allow scrolling
|
|
122
|
+
* to bring a parent container into visibilty instead of the element itself.
|
|
123
|
+
* Falls back to offset dimensions if getBoundingClientRect unavailable.
|
|
124
|
+
* @param {any} scrollableH - Horizontal scrollable container
|
|
125
|
+
* @param {boolean} isWindowScrollH - If true, scrollableH is the window
|
|
126
|
+
* @param {any} scrollableV - Vertical scrollable container
|
|
127
|
+
* @param {boolean} isWindowScrollV - If true, scrollableV is the window
|
|
128
|
+
* @param {HTMLElement} elem - The target element to measure
|
|
129
|
+
* @returns {Object} Object with horizontalRects, verticalRects, targetHRect, targetVRect
|
|
130
|
+
*/
|
|
131
|
+
declare export function getBoundingRectangles(scrollableH: any, isWindowScrollH: boolean, scrollableV: any, isWindowScrollV: boolean, elemData: ElemData): any;
|
|
132
|
+
/**
|
|
133
|
+
* getAxisScrollDelta
|
|
134
|
+
* Calculates scroll distance needed to keep an element visible within container.
|
|
135
|
+
* Respects edge padding to maintain spacing from container boundaries.
|
|
136
|
+
* Handles cases where element is larger than visible container.
|
|
137
|
+
* @param {any} targetRect - Bounding rectangle of target element
|
|
138
|
+
* @param {any} visibleContainerRect - Bounding rectangle of visible container
|
|
139
|
+
* @param {'vertical' | 'horizontal'} axis - Axis to calculate scroll for
|
|
140
|
+
* @param {number} topEdgePaddingPx - Padding from top edge (vertical axis)
|
|
141
|
+
* @param {number} leftEdgePaddingPx - Padding from left edge (horizontal axis)
|
|
142
|
+
* @returns {Object} Object with needsScroll (boolean) and scrollDelta (pixels to scroll)
|
|
143
|
+
*/
|
|
144
|
+
declare export function getAxisScrollDelta(targetRect: any, visibleContainerRect: any, axis: 'vertical' | 'horizontal', topEdgePaddingPx: number, leftEdgePaddingPx: number): {
|
|
145
|
+
needsScroll: boolean,
|
|
146
|
+
scrollDelta: number,
|
|
147
|
+
};
|
|
@@ -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;
|