@hanzogui/react-native-web-lite 2.0.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/LICENSE +21 -0
- package/README.md +31 -0
- package/dist/cjs/AccessibilityInfo/index.cjs +97 -0
- package/dist/cjs/ActivityIndicator/__tests__/index-test.cjs +188 -0
- package/dist/cjs/ActivityIndicator/index.cjs +128 -0
- package/dist/cjs/Alert/index.cjs +28 -0
- package/dist/cjs/AppRegistry/AppContainer.cjs +70 -0
- package/dist/cjs/AppRegistry/__tests__/index-test.cjs +83 -0
- package/dist/cjs/AppRegistry/__tests__/index-test.node.cjs +155 -0
- package/dist/cjs/AppRegistry/index.cjs +88 -0
- package/dist/cjs/AppRegistry/renderApplication.cjs +69 -0
- package/dist/cjs/AppState/__tests__/index-test.cjs +34 -0
- package/dist/cjs/AppState/index.cjs +69 -0
- package/dist/cjs/Appearance/index.cjs +53 -0
- package/dist/cjs/BackHandler/index.cjs +35 -0
- package/dist/cjs/Clipboard/index.cjs +51 -0
- package/dist/cjs/DeviceEmitter.cjs +27 -0
- package/dist/cjs/DeviceInfo/index.cjs +68 -0
- package/dist/cjs/Dimensions/__tests__/index-test.cjs +54 -0
- package/dist/cjs/Dimensions/index.cjs +82 -0
- package/dist/cjs/FlatList.cjs +197 -0
- package/dist/cjs/I18nManager/index.cjs +34 -0
- package/dist/cjs/Image/index.cjs +293 -0
- package/dist/cjs/Image/types.cjs +16 -0
- package/dist/cjs/ImageBackground/__tests__/index-test.cjs +68 -0
- package/dist/cjs/ImageBackground/index.cjs +67 -0
- package/dist/cjs/InteractionManager/TaskQueue.cjs +87 -0
- package/dist/cjs/InteractionManager/index.cjs +114 -0
- package/dist/cjs/Keyboard/index.cjs +38 -0
- package/dist/cjs/KeyboardAvoidingView/index.cjs +68 -0
- package/dist/cjs/Libraries/Pressability/Pressability.cjs +26 -0
- package/dist/cjs/Libraries/Pressability/usePressability.cjs +26 -0
- package/dist/cjs/Linking/__tests__/index-test.cjs +40 -0
- package/dist/cjs/Linking/index.cjs +89 -0
- package/dist/cjs/LogBox/index.cjs +33 -0
- package/dist/cjs/Modal/ModalAnimation.cjs +147 -0
- package/dist/cjs/Modal/ModalContent.cjs +85 -0
- package/dist/cjs/Modal/ModalPortal.cjs +52 -0
- package/dist/cjs/Modal/index.cjs +26 -0
- package/dist/cjs/NativeModules/index.cjs +29 -0
- package/dist/cjs/PanResponder/index.cjs +37 -0
- package/dist/cjs/PixelRatio/index.cjs +57 -0
- package/dist/cjs/Pressable/index.cjs +144 -0
- package/dist/cjs/RefreshControl/index.cjs +49 -0
- package/dist/cjs/SafeAreaView/index.cjs +63 -0
- package/dist/cjs/ScrollView/ScrollViewBase.cjs +140 -0
- package/dist/cjs/ScrollView/index.cjs +589 -0
- package/dist/cjs/SectionList.cjs +39 -0
- package/dist/cjs/Share/index.cjs +48 -0
- package/dist/cjs/StatusBar/index.cjs +36 -0
- package/dist/cjs/Text/index.cjs +170 -0
- package/dist/cjs/Text/types.cjs +16 -0
- package/dist/cjs/TextInput/index.cjs +285 -0
- package/dist/cjs/TextInput/types.cjs +16 -0
- package/dist/cjs/TouchableNativeFeedback.cjs +26 -0
- package/dist/cjs/TouchableOpacity.cjs +116 -0
- package/dist/cjs/TouchableWithoutFeedback.cjs +91 -0
- package/dist/cjs/UnimplementedView.cjs +47 -0
- package/dist/cjs/Vibration/index.cjs +36 -0
- package/dist/cjs/View/index.cjs +123 -0
- package/dist/cjs/View/types.cjs +16 -0
- package/dist/cjs/VirtualizedList.cjs +39 -0
- package/dist/cjs/codegenNativeCommand.cjs +28 -0
- package/dist/cjs/codegenNativeComponent.cjs +28 -0
- package/dist/cjs/createElement/__tests__/index-test.cjs +765 -0
- package/dist/cjs/createElement/index.cjs +84 -0
- package/dist/cjs/createReactDOMStyle.cjs +28 -0
- package/dist/cjs/index.cjs +172 -0
- package/dist/cjs/modules/requestIdleCallback.cjs +43 -0
- package/dist/cjs/preprocess.cjs +30 -0
- package/dist/cjs/render/index.cjs +32 -0
- package/dist/cjs/styleTypes.cjs +16 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/useColorScheme/index.cjs +50 -0
- package/dist/cjs/useLocaleContext/index.cjs +26 -0
- package/dist/cjs/useWindowDimensions/index.cjs +51 -0
- package/dist/cjs/vendor/react-native/Animated/Animated.cjs +46 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedEvent.cjs +112 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.cjs +508 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedMock.cjs +140 -0
- package/dist/cjs/vendor/react-native/Animated/AnimatedPlatformConfig.cjs +1 -0
- package/dist/cjs/vendor/react-native/Animated/Easing.cjs +187 -0
- package/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.cjs +314 -0
- package/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.cjs +78 -0
- package/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.cjs +75 -0
- package/dist/cjs/vendor/react-native/Animated/SpringConfig.cjs +78 -0
- package/dist/cjs/vendor/react-native/Animated/animations/Animation.cjs +64 -0
- package/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.cjs +71 -0
- package/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.cjs +161 -0
- package/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.cjs +89 -0
- package/dist/cjs/vendor/react-native/Animated/bezier.cjs +83 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.cjs +48 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.cjs +31 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.cjs +48 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.cjs +48 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedText.cjs +30 -0
- package/dist/cjs/vendor/react-native/Animated/components/AnimatedView.cjs +30 -0
- package/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.cjs +62 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.cjs +60 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.cjs +191 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.cjs +64 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.cjs +64 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.cjs +150 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.cjs +58 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.cjs +60 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.cjs +131 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.cjs +110 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.cjs +104 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.cjs +60 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.cjs +73 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.cjs +102 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.cjs +170 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.cjs +96 -0
- package/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.cjs +61 -0
- package/dist/cjs/vendor/react-native/Animated/useAnimatedProps.cjs +84 -0
- package/dist/cjs/vendor/react-native/Batchinator/index.cjs +60 -0
- package/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.cjs +61 -0
- package/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.cjs +29 -0
- package/dist/cjs/vendor/react-native/FeatureFlags.cjs +33 -0
- package/dist/cjs/vendor/react-native/FillRateHelper/index.cjs +139 -0
- package/dist/cjs/vendor/react-native/FlatList/index.cjs +263 -0
- package/dist/cjs/vendor/react-native/JSEventLoopWatchdog/index.cjs +78 -0
- package/dist/cjs/vendor/react-native/LayoutAnimation/index.cjs +112 -0
- package/dist/cjs/vendor/react-native/PanResponder/index.cjs +144 -0
- package/dist/cjs/vendor/react-native/PooledClass/index.cjs +48 -0
- package/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.cjs +34 -0
- package/dist/cjs/vendor/react-native/SectionList/index.cjs +104 -0
- package/dist/cjs/vendor/react-native/StaticContainer/index.cjs +50 -0
- package/dist/cjs/vendor/react-native/StaticRenderer/index.cjs +49 -0
- package/dist/cjs/vendor/react-native/TouchHistoryMath/index.cjs +106 -0
- package/dist/cjs/vendor/react-native/TurboModule/RCTExport.cjs +34 -0
- package/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.cjs +36 -0
- package/dist/cjs/vendor/react-native/Types/CoreEventTypes.cjs +156 -0
- package/dist/cjs/vendor/react-native/Utilities/Platform.cjs +28 -0
- package/dist/cjs/vendor/react-native/Utilities/clamp.cjs +32 -0
- package/dist/cjs/vendor/react-native/Utilities/setAndForwardRef.cjs +38 -0
- package/dist/cjs/vendor/react-native/Utilities/useMergeRefs.cjs +35 -0
- package/dist/cjs/vendor/react-native/Utilities/useRefEffect.cjs +34 -0
- package/dist/cjs/vendor/react-native/ViewabilityHelper/index.cjs +143 -0
- package/dist/cjs/vendor/react-native/ViewabilityHelper.cjs +134 -0
- package/dist/cjs/vendor/react-native/VirtualizeUtils/index.cjs +106 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.cjs +79 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.cjs +58 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.cjs +82 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.cjs +173 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.cjs +85 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListProps.cjs +64 -0
- package/dist/cjs/vendor/react-native/VirtualizedList/index.cjs +264 -0
- package/dist/cjs/vendor/react-native/VirtualizedSectionList/index.cjs +130 -0
- package/dist/cjs/vendor/react-native/deepDiffer/index.cjs +44 -0
- package/dist/cjs/vendor/react-native/emitter/EventEmitter.cjs +30 -0
- package/dist/cjs/vendor/react-native/emitter/EventSubscription.cjs +1 -0
- package/dist/cjs/vendor/react-native/emitter/_EmitterSubscription.cjs +54 -0
- package/dist/cjs/vendor/react-native/emitter/_EventEmitter.cjs +125 -0
- package/dist/cjs/vendor/react-native/emitter/_EventSubscription.cjs +44 -0
- package/dist/cjs/vendor/react-native/emitter/_EventSubscriptionVendor.cjs +82 -0
- package/dist/cjs/vendor/react-native/infoLog/index.cjs +32 -0
- package/dist/cjs/vendor/react-native/useRefEffect.cjs +34 -0
- package/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.cjs +88 -0
- package/dist/cjs/without-animated.cjs +331 -0
- package/dist/esm/AccessibilityInfo/index.mjs +74 -0
- package/dist/esm/AccessibilityInfo/index.mjs.map +1 -0
- package/dist/esm/ActivityIndicator/__tests__/index-test.mjs +167 -0
- package/dist/esm/ActivityIndicator/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/ActivityIndicator/index.mjs +93 -0
- package/dist/esm/ActivityIndicator/index.mjs.map +1 -0
- package/dist/esm/Alert/index.mjs +5 -0
- package/dist/esm/Alert/index.mjs.map +1 -0
- package/dist/esm/AppRegistry/AppContainer.mjs +35 -0
- package/dist/esm/AppRegistry/AppContainer.mjs.map +1 -0
- package/dist/esm/AppRegistry/__tests__/index-test.mjs +62 -0
- package/dist/esm/AppRegistry/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/AppRegistry/__tests__/index-test.node.mjs +134 -0
- package/dist/esm/AppRegistry/__tests__/index-test.node.mjs.map +1 -0
- package/dist/esm/AppRegistry/index.mjs +65 -0
- package/dist/esm/AppRegistry/index.mjs.map +1 -0
- package/dist/esm/AppRegistry/renderApplication.mjs +45 -0
- package/dist/esm/AppRegistry/renderApplication.mjs.map +1 -0
- package/dist/esm/AppState/__tests__/index-test.mjs +13 -0
- package/dist/esm/AppState/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/AppState/index.mjs +46 -0
- package/dist/esm/AppState/index.mjs.map +1 -0
- package/dist/esm/Appearance/index.mjs +30 -0
- package/dist/esm/Appearance/index.mjs.map +1 -0
- package/dist/esm/BackHandler/index.mjs +12 -0
- package/dist/esm/BackHandler/index.mjs.map +1 -0
- package/dist/esm/Clipboard/index.mjs +28 -0
- package/dist/esm/Clipboard/index.mjs.map +1 -0
- package/dist/esm/DeviceEmitter.mjs +4 -0
- package/dist/esm/DeviceEmitter.mjs.map +1 -0
- package/dist/esm/DeviceInfo/index.mjs +45 -0
- package/dist/esm/DeviceInfo/index.mjs.map +1 -0
- package/dist/esm/Dimensions/__tests__/index-test.mjs +33 -0
- package/dist/esm/Dimensions/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/Dimensions/index.mjs +58 -0
- package/dist/esm/Dimensions/index.mjs.map +1 -0
- package/dist/esm/FlatList.mjs +162 -0
- package/dist/esm/FlatList.mjs.map +1 -0
- package/dist/esm/I18nManager/index.mjs +11 -0
- package/dist/esm/I18nManager/index.mjs.map +1 -0
- package/dist/esm/Image/index.mjs +258 -0
- package/dist/esm/Image/index.mjs.map +1 -0
- package/dist/esm/Image/types.mjs +2 -0
- package/dist/esm/Image/types.mjs.map +1 -0
- package/dist/esm/ImageBackground/__tests__/index-test.mjs +47 -0
- package/dist/esm/ImageBackground/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/ImageBackground/index.mjs +43 -0
- package/dist/esm/ImageBackground/index.mjs.map +1 -0
- package/dist/esm/InteractionManager/TaskQueue.mjs +64 -0
- package/dist/esm/InteractionManager/TaskQueue.mjs.map +1 -0
- package/dist/esm/InteractionManager/index.mjs +80 -0
- package/dist/esm/InteractionManager/index.mjs.map +1 -0
- package/dist/esm/Keyboard/index.mjs +15 -0
- package/dist/esm/Keyboard/index.mjs.map +1 -0
- package/dist/esm/KeyboardAvoidingView/index.mjs +33 -0
- package/dist/esm/KeyboardAvoidingView/index.mjs.map +1 -0
- package/dist/esm/Libraries/Pressability/Pressability.mjs +3 -0
- package/dist/esm/Libraries/Pressability/Pressability.mjs.map +1 -0
- package/dist/esm/Libraries/Pressability/usePressability.mjs +3 -0
- package/dist/esm/Libraries/Pressability/usePressability.mjs.map +1 -0
- package/dist/esm/Linking/__tests__/index-test.mjs +19 -0
- package/dist/esm/Linking/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/Linking/index.mjs +66 -0
- package/dist/esm/Linking/index.mjs.map +1 -0
- package/dist/esm/LogBox/index.mjs +9 -0
- package/dist/esm/LogBox/index.mjs.map +1 -0
- package/dist/esm/Modal/ModalAnimation.mjs +113 -0
- package/dist/esm/Modal/ModalAnimation.mjs.map +1 -0
- package/dist/esm/Modal/ModalContent.mjs +51 -0
- package/dist/esm/Modal/ModalContent.mjs.map +1 -0
- package/dist/esm/Modal/ModalPortal.mjs +18 -0
- package/dist/esm/Modal/ModalPortal.mjs.map +1 -0
- package/dist/esm/Modal/index.mjs +3 -0
- package/dist/esm/Modal/index.mjs.map +1 -0
- package/dist/esm/NativeModules/index.mjs +6 -0
- package/dist/esm/NativeModules/index.mjs.map +1 -0
- package/dist/esm/PanResponder/index.mjs +3 -0
- package/dist/esm/PanResponder/index.mjs.map +1 -0
- package/dist/esm/PixelRatio/index.mjs +34 -0
- package/dist/esm/PixelRatio/index.mjs.map +1 -0
- package/dist/esm/Pressable/index.mjs +107 -0
- package/dist/esm/Pressable/index.mjs.map +1 -0
- package/dist/esm/RefreshControl/index.mjs +25 -0
- package/dist/esm/RefreshControl/index.mjs.map +1 -0
- package/dist/esm/SafeAreaView/index.mjs +28 -0
- package/dist/esm/SafeAreaView/index.mjs.map +1 -0
- package/dist/esm/ScrollView/ScrollViewBase.mjs +105 -0
- package/dist/esm/ScrollView/ScrollViewBase.mjs.map +1 -0
- package/dist/esm/ScrollView/index.mjs +554 -0
- package/dist/esm/ScrollView/index.mjs.map +1 -0
- package/dist/esm/SectionList.mjs +4 -0
- package/dist/esm/SectionList.mjs.map +1 -0
- package/dist/esm/Share/index.mjs +25 -0
- package/dist/esm/Share/index.mjs.map +1 -0
- package/dist/esm/StatusBar/index.mjs +12 -0
- package/dist/esm/StatusBar/index.mjs.map +1 -0
- package/dist/esm/Text/index.mjs +135 -0
- package/dist/esm/Text/index.mjs.map +1 -0
- package/dist/esm/Text/types.mjs +2 -0
- package/dist/esm/Text/types.mjs.map +1 -0
- package/dist/esm/TextInput/index.mjs +250 -0
- package/dist/esm/TextInput/index.mjs.map +1 -0
- package/dist/esm/TextInput/types.mjs +2 -0
- package/dist/esm/TextInput/types.mjs.map +1 -0
- package/dist/esm/TouchableNativeFeedback.mjs +3 -0
- package/dist/esm/TouchableNativeFeedback.mjs.map +1 -0
- package/dist/esm/TouchableOpacity.mjs +80 -0
- package/dist/esm/TouchableOpacity.mjs.map +1 -0
- package/dist/esm/TouchableWithoutFeedback.mjs +57 -0
- package/dist/esm/TouchableWithoutFeedback.mjs.map +1 -0
- package/dist/esm/UnimplementedView.mjs +13 -0
- package/dist/esm/UnimplementedView.mjs.map +1 -0
- package/dist/esm/Vibration/index.mjs +13 -0
- package/dist/esm/Vibration/index.mjs.map +1 -0
- package/dist/esm/View/index.mjs +88 -0
- package/dist/esm/View/index.mjs.map +1 -0
- package/dist/esm/View/types.mjs +2 -0
- package/dist/esm/View/types.mjs.map +1 -0
- package/dist/esm/VirtualizedList.mjs +4 -0
- package/dist/esm/VirtualizedList.mjs.map +1 -0
- package/dist/esm/codegenNativeCommand.mjs +5 -0
- package/dist/esm/codegenNativeCommand.mjs.map +1 -0
- package/dist/esm/codegenNativeComponent.mjs +5 -0
- package/dist/esm/codegenNativeComponent.mjs.map +1 -0
- package/dist/esm/createElement/__tests__/index-test.mjs +744 -0
- package/dist/esm/createElement/__tests__/index-test.mjs.map +1 -0
- package/dist/esm/createElement/index.mjs +49 -0
- package/dist/esm/createElement/index.mjs.map +1 -0
- package/dist/esm/createReactDOMStyle.mjs +4 -0
- package/dist/esm/createReactDOMStyle.mjs.map +1 -0
- package/dist/esm/index.js +61 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +61 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/modules/requestIdleCallback.mjs +19 -0
- package/dist/esm/modules/requestIdleCallback.mjs.map +1 -0
- package/dist/esm/preprocess.mjs +3 -0
- package/dist/esm/preprocess.mjs.map +1 -0
- package/dist/esm/render/index.mjs +6 -0
- package/dist/esm/render/index.mjs.map +1 -0
- package/dist/esm/styleTypes.mjs +2 -0
- package/dist/esm/styleTypes.mjs.map +1 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/useColorScheme/index.mjs +16 -0
- package/dist/esm/useColorScheme/index.mjs.map +1 -0
- package/dist/esm/useLocaleContext/index.mjs +3 -0
- package/dist/esm/useLocaleContext/index.mjs.map +1 -0
- package/dist/esm/useWindowDimensions/index.mjs +17 -0
- package/dist/esm/useWindowDimensions/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/Animated.mjs +22 -0
- package/dist/esm/vendor/react-native/Animated/Animated.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs +86 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedEvent.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs +481 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedImplementation.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs +113 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedMock.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs +2 -0
- package/dist/esm/vendor/react-native/Animated/AnimatedPlatformConfig.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/Easing.mjs +161 -0
- package/dist/esm/vendor/react-native/Animated/Easing.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs +274 -0
- package/dist/esm/vendor/react-native/Animated/NativeAnimatedHelper.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs +38 -0
- package/dist/esm/vendor/react-native/Animated/NativeAnimatedModule.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs +35 -0
- package/dist/esm/vendor/react-native/Animated/NativeAnimatedTurboModule.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs +54 -0
- package/dist/esm/vendor/react-native/Animated/SpringConfig.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs +38 -0
- package/dist/esm/vendor/react-native/Animated/animations/Animation.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs +45 -0
- package/dist/esm/vendor/react-native/Animated/animations/DecayAnimation.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs +135 -0
- package/dist/esm/vendor/react-native/Animated/animations/SpringAnimation.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs +65 -0
- package/dist/esm/vendor/react-native/Animated/animations/TimingAnimation.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/bezier.mjs +57 -0
- package/dist/esm/vendor/react-native/Animated/bezier.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs +13 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedFlatList.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs +7 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedImage.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs +13 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedScrollView.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs +13 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedSectionList.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs +6 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedText.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs +6 -0
- package/dist/esm/vendor/react-native/Animated/components/AnimatedView.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs +27 -0
- package/dist/esm/vendor/react-native/Animated/createAnimatedComponent.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs +34 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedAddition.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs +167 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedColor.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs +40 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDiffClamp.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs +38 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedDivision.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs +124 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedInterpolation.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs +34 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedModulo.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs +34 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedMultiplication.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs +105 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedNode.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs +86 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedProps.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs +80 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedStyle.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs +34 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedSubtraction.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs +49 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTracking.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs +76 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedTransform.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs +144 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValue.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs +72 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedValueXY.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs +35 -0
- package/dist/esm/vendor/react-native/Animated/nodes/AnimatedWithChildren.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs +58 -0
- package/dist/esm/vendor/react-native/Animated/useAnimatedProps.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Batchinator/index.mjs +34 -0
- package/dist/esm/vendor/react-native/Batchinator/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs +35 -0
- package/dist/esm/vendor/react-native/EventEmitter/NativeEventEmitter.mjs.map +1 -0
- package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs +5 -0
- package/dist/esm/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.mjs.map +1 -0
- package/dist/esm/vendor/react-native/FeatureFlags.mjs +10 -0
- package/dist/esm/vendor/react-native/FeatureFlags.mjs.map +1 -0
- package/dist/esm/vendor/react-native/FillRateHelper/index.mjs +115 -0
- package/dist/esm/vendor/react-native/FillRateHelper/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/FlatList/index.mjs +228 -0
- package/dist/esm/vendor/react-native/FlatList/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs +52 -0
- package/dist/esm/vendor/react-native/JSEventLoopWatchdog/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs +86 -0
- package/dist/esm/vendor/react-native/LayoutAnimation/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/PanResponder/index.mjs +109 -0
- package/dist/esm/vendor/react-native/PanResponder/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/PooledClass/index.mjs +24 -0
- package/dist/esm/vendor/react-native/PooledClass/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs +10 -0
- package/dist/esm/vendor/react-native/ReactNative/ReactNativeFeatureFlags.mjs.map +1 -0
- package/dist/esm/vendor/react-native/SectionList/index.mjs +69 -0
- package/dist/esm/vendor/react-native/SectionList/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/StaticContainer/index.mjs +13 -0
- package/dist/esm/vendor/react-native/StaticContainer/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/StaticRenderer/index.mjs +12 -0
- package/dist/esm/vendor/react-native/StaticRenderer/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs +82 -0
- package/dist/esm/vendor/react-native/TouchHistoryMath/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs +8 -0
- package/dist/esm/vendor/react-native/TurboModule/RCTExport.mjs.map +1 -0
- package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs +10 -0
- package/dist/esm/vendor/react-native/TurboModule/TurboModuleRegistry.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs +126 -0
- package/dist/esm/vendor/react-native/Types/CoreEventTypes.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Utilities/Platform.mjs +4 -0
- package/dist/esm/vendor/react-native/Utilities/Platform.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Utilities/clamp.mjs +6 -0
- package/dist/esm/vendor/react-native/Utilities/clamp.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs +12 -0
- package/dist/esm/vendor/react-native/Utilities/setAndForwardRef.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs +11 -0
- package/dist/esm/vendor/react-native/Utilities/useMergeRefs.mjs.map +1 -0
- package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs +10 -0
- package/dist/esm/vendor/react-native/Utilities/useRefEffect.mjs.map +1 -0
- package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs +117 -0
- package/dist/esm/vendor/react-native/ViewabilityHelper/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/ViewabilityHelper.mjs +110 -0
- package/dist/esm/vendor/react-native/ViewabilityHelper.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs +80 -0
- package/dist/esm/vendor/react-native/VirtualizeUtils/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs +56 -0
- package/dist/esm/vendor/react-native/VirtualizedList/CellRenderMask.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs +34 -0
- package/dist/esm/vendor/react-native/VirtualizedList/ChildListCollection.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs +47 -0
- package/dist/esm/vendor/react-native/VirtualizedList/StateSafePureComponent.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs +138 -0
- package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs +48 -0
- package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListContext.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs +40 -0
- package/dist/esm/vendor/react-native/VirtualizedList/VirtualizedListProps.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedList/index.mjs +240 -0
- package/dist/esm/vendor/react-native/VirtualizedList/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs +95 -0
- package/dist/esm/vendor/react-native/VirtualizedSectionList/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/deepDiffer/index.mjs +18 -0
- package/dist/esm/vendor/react-native/deepDiffer/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs +4 -0
- package/dist/esm/vendor/react-native/emitter/EventEmitter.mjs.map +1 -0
- package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs +2 -0
- package/dist/esm/vendor/react-native/emitter/EventSubscription.mjs.map +1 -0
- package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs +28 -0
- package/dist/esm/vendor/react-native/emitter/_EmitterSubscription.mjs.map +1 -0
- package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs +101 -0
- package/dist/esm/vendor/react-native/emitter/_EventEmitter.mjs.map +1 -0
- package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs +18 -0
- package/dist/esm/vendor/react-native/emitter/_EventSubscription.mjs.map +1 -0
- package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs +56 -0
- package/dist/esm/vendor/react-native/emitter/_EventSubscriptionVendor.mjs.map +1 -0
- package/dist/esm/vendor/react-native/infoLog/index.mjs +6 -0
- package/dist/esm/vendor/react-native/infoLog/index.mjs.map +1 -0
- package/dist/esm/vendor/react-native/useRefEffect.mjs +10 -0
- package/dist/esm/vendor/react-native/useRefEffect.mjs.map +1 -0
- package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs +62 -0
- package/dist/esm/vendor/react-native/vendor/emitter/EventEmitter.mjs.map +1 -0
- package/dist/esm/without-animated.mjs +219 -0
- package/dist/esm/without-animated.mjs.map +1 -0
- package/package.json +125 -0
- package/src/AccessibilityInfo/index.tsx +113 -0
- package/src/ActivityIndicator/__tests__/__snapshots__/index-test.js.snap +466 -0
- package/src/ActivityIndicator/__tests__/index-test.tsx +147 -0
- package/src/ActivityIndicator/index.tsx +116 -0
- package/src/Alert/index.tsx +12 -0
- package/src/AppRegistry/AppContainer.tsx +54 -0
- package/src/AppRegistry/__tests__/index-test.node.tsx +144 -0
- package/src/AppRegistry/__tests__/index-test.tsx +94 -0
- package/src/AppRegistry/index.tsx +156 -0
- package/src/AppRegistry/renderApplication.tsx +75 -0
- package/src/AppState/__tests__/index-test.tsx +24 -0
- package/src/AppState/index.tsx +92 -0
- package/src/Appearance/index.tsx +59 -0
- package/src/BackHandler/index.tsx +23 -0
- package/src/Clipboard/index.tsx +61 -0
- package/src/DeviceEmitter.ts +3 -0
- package/src/DeviceInfo/index.tsx +55 -0
- package/src/Dimensions/__tests__/index-test.tsx +54 -0
- package/src/Dimensions/index.tsx +129 -0
- package/src/FlatList.tsx +331 -0
- package/src/I18nManager/index.tsx +31 -0
- package/src/Image/index.tsx +401 -0
- package/src/Image/types.tsx +112 -0
- package/src/ImageBackground/__tests__/index-test.tsx +49 -0
- package/src/ImageBackground/index.tsx +66 -0
- package/src/InteractionManager/TaskQueue.tsx +112 -0
- package/src/InteractionManager/index.tsx +140 -0
- package/src/Keyboard/index.tsx +24 -0
- package/src/KeyboardAvoidingView/index.tsx +55 -0
- package/src/Libraries/Pressability/Pressability.ts +2 -0
- package/src/Libraries/Pressability/usePressability.ts +2 -0
- package/src/Linking/__tests__/index-test.tsx +37 -0
- package/src/Linking/index.tsx +113 -0
- package/src/LogBox/index.tsx +17 -0
- package/src/Modal/ModalAnimation.js +178 -0
- package/src/Modal/ModalContent.js +73 -0
- package/src/Modal/ModalPortal.js +40 -0
- package/src/Modal/index.js +1 -0
- package/src/NativeModules/index.tsx +15 -0
- package/src/PanResponder/Alternative.tsx +385 -0
- package/src/PanResponder/index.tsx +1 -0
- package/src/PixelRatio/index.tsx +49 -0
- package/src/Pressable/__tests__/__snapshots__/index-test.js.snap +196 -0
- package/src/Pressable/index.tsx +236 -0
- package/src/RefreshControl/index.tsx +50 -0
- package/src/SafeAreaView/index.tsx +48 -0
- package/src/ScrollView/ScrollViewBase.tsx +183 -0
- package/src/ScrollView/__tests__/__snapshots__/index-test.js.snap +49 -0
- package/src/ScrollView/index.tsx +892 -0
- package/src/SectionList.tsx +9 -0
- package/src/Share/index.tsx +69 -0
- package/src/StatusBar/index.tsx +22 -0
- package/src/Text/__tests__/__snapshots__/index-test.js.snap +218 -0
- package/src/Text/index.tsx +208 -0
- package/src/Text/types.tsx +96 -0
- package/src/TextInput/index.tsx +453 -0
- package/src/TextInput/types.tsx +74 -0
- package/src/TouchableNativeFeedback.tsx +8 -0
- package/src/TouchableOpacity.tsx +150 -0
- package/src/TouchableWithoutFeedback.tsx +95 -0
- package/src/UnimplementedView.tsx +13 -0
- package/src/Vibration/index.tsx +26 -0
- package/src/View/index.tsx +139 -0
- package/src/View/types.tsx +170 -0
- package/src/VirtualizedList.tsx +9 -0
- package/src/codegenNativeCommand.ts +6 -0
- package/src/codegenNativeComponent.ts +6 -0
- package/src/createElement/__tests__/__snapshots__/index-test.js.snap +13 -0
- package/src/createElement/__tests__/index-test.tsx +647 -0
- package/src/createElement/index.tsx +92 -0
- package/src/createReactDOMStyle.ts +4 -0
- package/src/index.tsx +111 -0
- package/src/modules/requestIdleCallback.ts +32 -0
- package/src/preprocess.ts +7 -0
- package/src/render/index.tsx +16 -0
- package/src/styleTypes.ts +321 -0
- package/src/types.ts +77 -0
- package/src/useColorScheme/index.tsx +28 -0
- package/src/useLocaleContext/index.tsx +10 -0
- package/src/useWindowDimensions/index.tsx +34 -0
- package/src/vendor/react-native/Animated/Animated.js +33 -0
- package/src/vendor/react-native/Animated/AnimatedEvent.js +199 -0
- package/src/vendor/react-native/Animated/AnimatedImplementation.js +649 -0
- package/src/vendor/react-native/Animated/AnimatedMock.js +155 -0
- package/src/vendor/react-native/Animated/AnimatedPlatformConfig.js +11 -0
- package/src/vendor/react-native/Animated/Easing.js +249 -0
- package/src/vendor/react-native/Animated/NativeAnimatedHelper.js +525 -0
- package/src/vendor/react-native/Animated/NativeAnimatedModule.js +57 -0
- package/src/vendor/react-native/Animated/NativeAnimatedTurboModule.js +53 -0
- package/src/vendor/react-native/Animated/SpringConfig.js +88 -0
- package/src/vendor/react-native/Animated/animations/Animation.js +66 -0
- package/src/vendor/react-native/Animated/animations/DecayAnimation.js +88 -0
- package/src/vendor/react-native/Animated/animations/SpringAnimation.js +291 -0
- package/src/vendor/react-native/Animated/animations/TimingAnimation.js +133 -0
- package/src/vendor/react-native/Animated/bezier.js +142 -0
- package/src/vendor/react-native/Animated/components/AnimatedFlatList.jsx +24 -0
- package/src/vendor/react-native/Animated/components/AnimatedImage.js +17 -0
- package/src/vendor/react-native/Animated/components/AnimatedScrollView.jsx +24 -0
- package/src/vendor/react-native/Animated/components/AnimatedSectionList.jsx +24 -0
- package/src/vendor/react-native/Animated/components/AnimatedText.js +15 -0
- package/src/vendor/react-native/Animated/components/AnimatedView.js +15 -0
- package/src/vendor/react-native/Animated/createAnimatedComponent.jsx +39 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedAddition.js +60 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedColor.js +293 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +67 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedDivision.js +78 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedInterpolation.jsx +327 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedModulo.js +56 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +59 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedNode.js +190 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedProps.js +160 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedStyle.js +137 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +60 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedTracking.js +90 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedTransform.js +122 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedValue.js +292 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedValueXY.js +108 -0
- package/src/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +89 -0
- package/src/vendor/react-native/Animated/useAnimatedProps.js +173 -0
- package/src/vendor/react-native/Batchinator/index.js +77 -0
- package/src/vendor/react-native/EventEmitter/NativeEventEmitter.js +85 -0
- package/src/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +22 -0
- package/src/vendor/react-native/FeatureFlags.js +8 -0
- package/src/vendor/react-native/FillRateHelper/index.js +213 -0
- package/src/vendor/react-native/FlatList/index.jsx +518 -0
- package/src/vendor/react-native/JSEventLoopWatchdog/index.js +85 -0
- package/src/vendor/react-native/LayoutAnimation/index.js +119 -0
- package/src/vendor/react-native/PanResponder/index.js +243 -0
- package/src/vendor/react-native/PooledClass/index.js +62 -0
- package/src/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +20 -0
- package/src/vendor/react-native/SHA +2 -0
- package/src/vendor/react-native/SectionList/index.jsx +100 -0
- package/src/vendor/react-native/StaticContainer/index.js +43 -0
- package/src/vendor/react-native/StaticRenderer/index.js +26 -0
- package/src/vendor/react-native/TouchHistoryMath/index.js +137 -0
- package/src/vendor/react-native/TurboModule/RCTExport.js +37 -0
- package/src/vendor/react-native/TurboModule/TurboModuleRegistry.js +27 -0
- package/src/vendor/react-native/Types/CoreEventTypes.js +151 -0
- package/src/vendor/react-native/Utilities/Platform.js +3 -0
- package/src/vendor/react-native/Utilities/clamp.js +24 -0
- package/src/vendor/react-native/Utilities/setAndForwardRef.js +62 -0
- package/src/vendor/react-native/Utilities/useMergeRefs.js +40 -0
- package/src/vendor/react-native/Utilities/useRefEffect.js +44 -0
- package/src/vendor/react-native/ViewabilityHelper/index.js +251 -0
- package/src/vendor/react-native/ViewabilityHelper.ts +293 -0
- package/src/vendor/react-native/VirtualizeUtils/index.js +204 -0
- package/src/vendor/react-native/VirtualizedList/CellRenderMask.js +135 -0
- package/src/vendor/react-native/VirtualizedList/ChildListCollection.js +75 -0
- package/src/vendor/react-native/VirtualizedList/StateSafePureComponent.js +82 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.jsx +184 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListContext.jsx +96 -0
- package/src/vendor/react-native/VirtualizedList/VirtualizedListProps.js +46 -0
- package/src/vendor/react-native/VirtualizedList/index.jsx +378 -0
- package/src/vendor/react-native/VirtualizedSectionList/index.jsx +149 -0
- package/src/vendor/react-native/deepDiffer/index.js +69 -0
- package/src/vendor/react-native/emitter/EventEmitter.js +14 -0
- package/src/vendor/react-native/emitter/EventSubscription.js +12 -0
- package/src/vendor/react-native/emitter/_EmitterSubscription.js +47 -0
- package/src/vendor/react-native/emitter/_EventEmitter.js +175 -0
- package/src/vendor/react-native/emitter/_EventSubscription.js +34 -0
- package/src/vendor/react-native/emitter/_EventSubscriptionVendor.js +96 -0
- package/src/vendor/react-native/infoLog/index.js +21 -0
- package/src/vendor/react-native/useRefEffect.js +44 -0
- package/src/vendor/react-native/vendor/emitter/EventEmitter.js +121 -0
- package/src/without-animated.tsx +288 -0
|
@@ -0,0 +1,173 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict'
|
|
12
|
+
|
|
13
|
+
import { AnimatedProps } from './nodes/AnimatedProps'
|
|
14
|
+
import { AnimatedEvent } from './AnimatedEvent'
|
|
15
|
+
import { useRefEffect } from '../Utilities/useRefEffect'
|
|
16
|
+
import { NativeAnimatedHelper } from './NativeAnimatedHelper'
|
|
17
|
+
import { useCallback, useEffect, useMemo, useReducer, useRef } from 'react'
|
|
18
|
+
|
|
19
|
+
import { useLayoutEffect } from '@hanzogui/react-native-web-internals'
|
|
20
|
+
|
|
21
|
+
// ReducedProps type removed
|
|
22
|
+
|
|
23
|
+
function useAnimatedProps(props) {
|
|
24
|
+
const [, scheduleUpdate] = useReducer((count) => count + 1, 0)
|
|
25
|
+
const onUpdateRef = useRef(null)
|
|
26
|
+
|
|
27
|
+
// TODO: Only invalidate `node` if animated props or `style` change. In the
|
|
28
|
+
// previous implementation, we permitted `style` to override props with the
|
|
29
|
+
// same name property name as styles, so we can probably continue doing that.
|
|
30
|
+
// The ordering of other props *should* not matter.
|
|
31
|
+
const node = useMemo(
|
|
32
|
+
() => new AnimatedProps(props, () => onUpdateRef.current?.()),
|
|
33
|
+
[props]
|
|
34
|
+
)
|
|
35
|
+
useAnimatedPropsLifecycle(node)
|
|
36
|
+
|
|
37
|
+
// TODO: This "effect" does three things:
|
|
38
|
+
//
|
|
39
|
+
// 1) Call `setNativeView`.
|
|
40
|
+
// 2) Update `onUpdateRef`.
|
|
41
|
+
// 3) Update listeners for `AnimatedEvent` props.
|
|
42
|
+
//
|
|
43
|
+
// Ideally, each of these would be separat "effects" so that they are not
|
|
44
|
+
// unnecessarily re-run when irrelevant dependencies change. For example, we
|
|
45
|
+
// should be able to hoist all `AnimatedEvent` props and only do #3 if either
|
|
46
|
+
// the `AnimatedEvent` props change or `instance` changes.
|
|
47
|
+
//
|
|
48
|
+
// But there is no way to transparently compose three separate callback refs,
|
|
49
|
+
// so we just combine them all into one for now.
|
|
50
|
+
const refEffect = useCallback(
|
|
51
|
+
(instance) => {
|
|
52
|
+
// NOTE: This may be called more often than necessary (e.g. when `props`
|
|
53
|
+
// changes), but `setNativeView` already optimizes for that.
|
|
54
|
+
node.setNativeView(instance)
|
|
55
|
+
|
|
56
|
+
// NOTE: This callback is only used by the JavaScript animation driver.
|
|
57
|
+
onUpdateRef.current = () => {
|
|
58
|
+
// Schedule an update for this component to update `reducedProps`,
|
|
59
|
+
// but do not compute it immediately. If a parent also updated, we
|
|
60
|
+
// need to merge those new props in before updating.
|
|
61
|
+
scheduleUpdate()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const target = getEventTarget(instance)
|
|
65
|
+
const events = []
|
|
66
|
+
|
|
67
|
+
for (const propName in props) {
|
|
68
|
+
const propValue = props[propName]
|
|
69
|
+
if (propValue instanceof AnimatedEvent && propValue.__isNative) {
|
|
70
|
+
propValue.__attach(target, propName)
|
|
71
|
+
events.push([propName, propValue])
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return () => {
|
|
76
|
+
onUpdateRef.current = null
|
|
77
|
+
|
|
78
|
+
for (const [propName, propValue] of events) {
|
|
79
|
+
propValue.__detach(target, propName)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
[props, node]
|
|
84
|
+
)
|
|
85
|
+
const callbackRef = useRefEffect(refEffect)
|
|
86
|
+
|
|
87
|
+
return [reduceAnimatedProps(node), callbackRef]
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function reduceAnimatedProps(node) {
|
|
91
|
+
// Force `collapsable` to be false so that the native view is not flattened.
|
|
92
|
+
// Flattened views cannot be accurately referenced by the native driver.
|
|
93
|
+
return {
|
|
94
|
+
...node.__getValue(),
|
|
95
|
+
collapsable: false,
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`
|
|
101
|
+
* and `__detach`. However, this is more complicated because `AnimatedProps`
|
|
102
|
+
* uses reference counting to determine when to recursively detach its children
|
|
103
|
+
* nodes. So in order to optimize this, we avoid detaching until the next attach
|
|
104
|
+
* unless we are unmounting.
|
|
105
|
+
*/
|
|
106
|
+
function useAnimatedPropsLifecycle(node) {
|
|
107
|
+
const prevNodeRef = useRef(null)
|
|
108
|
+
const isUnmountingRef = useRef(false)
|
|
109
|
+
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
// It is ok for multiple components to call `flushQueue` because it noops
|
|
112
|
+
// if the queue is empty. When multiple animated components are mounted at
|
|
113
|
+
// the same time. Only first component flushes the queue and the others will noop.
|
|
114
|
+
NativeAnimatedHelper.API.flushQueue()
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
useLayoutEffect(() => {
|
|
118
|
+
isUnmountingRef.current = false
|
|
119
|
+
return () => {
|
|
120
|
+
isUnmountingRef.current = true
|
|
121
|
+
}
|
|
122
|
+
}, [])
|
|
123
|
+
|
|
124
|
+
useLayoutEffect(() => {
|
|
125
|
+
node.__attach()
|
|
126
|
+
if (prevNodeRef.current != null) {
|
|
127
|
+
const prevNode = prevNodeRef.current
|
|
128
|
+
// TODO: Stop restoring default values (unless `reset` is called).
|
|
129
|
+
prevNode.__restoreDefaultValues()
|
|
130
|
+
prevNode.__detach()
|
|
131
|
+
prevNodeRef.current = null
|
|
132
|
+
}
|
|
133
|
+
return () => {
|
|
134
|
+
if (isUnmountingRef.current) {
|
|
135
|
+
// NOTE: Do not restore default values on unmount, see D18197735.
|
|
136
|
+
node.__detach()
|
|
137
|
+
} else {
|
|
138
|
+
prevNodeRef.current = node
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}, [node])
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function getEventTarget(instance) {
|
|
145
|
+
return typeof instance === 'object' && typeof instance?.getScrollableNode === 'function'
|
|
146
|
+
? instance.getScrollableNode()
|
|
147
|
+
: instance
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function isFabricInstance(instance) {
|
|
151
|
+
return (
|
|
152
|
+
hasFabricHandle(instance) ||
|
|
153
|
+
// Some components have a setNativeProps function but aren't a host component
|
|
154
|
+
// such as lists like FlatList and SectionList. These should also use
|
|
155
|
+
// forceUpdate in Fabric since setNativeProps doesn't exist on the underlying
|
|
156
|
+
// host component. This crazy hack is essentially special casing those lists and
|
|
157
|
+
// ScrollView itself to use forceUpdate in Fabric.
|
|
158
|
+
// If these components end up using forwardRef then these hacks can go away
|
|
159
|
+
// as instance would actually be the underlying host component and the above check
|
|
160
|
+
// would be sufficient.
|
|
161
|
+
hasFabricHandle(instance?.getNativeScrollRef?.()) ||
|
|
162
|
+
hasFabricHandle(instance?.getScrollResponder?.()?.getNativeScrollRef?.())
|
|
163
|
+
)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Legacy instance assumptions.
|
|
167
|
+
function hasFabricHandle(instance) {
|
|
168
|
+
// eslint-disable-next-line dot-notation
|
|
169
|
+
return instance?.['_internalInstanceHandle']?.stateNode?.canonical != null
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export { useAnimatedProps }
|
|
173
|
+
export default useAnimatedProps
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict'
|
|
12
|
+
|
|
13
|
+
import { InteractionManager } from '@hanzogui/react-native-web-internals'
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A simple class for batching up invocations of a low-pri callback. A timeout is set to run the
|
|
17
|
+
* callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,
|
|
18
|
+
* InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri
|
|
19
|
+
* interactions are done running.
|
|
20
|
+
*
|
|
21
|
+
* Make sure to cleanup with dispose(). Example:
|
|
22
|
+
*
|
|
23
|
+
* class Widget extends React.Component {
|
|
24
|
+
* _batchedSave: new Batchinator(() => this._saveState, 1000);
|
|
25
|
+
* _saveSate() {
|
|
26
|
+
* // save this.state to disk
|
|
27
|
+
* }
|
|
28
|
+
* componentDidUpdate() {
|
|
29
|
+
* this._batchedSave.schedule();
|
|
30
|
+
* }
|
|
31
|
+
* componentWillUnmount() {
|
|
32
|
+
* this._batchedSave.dispose();
|
|
33
|
+
* }
|
|
34
|
+
* ...
|
|
35
|
+
* }
|
|
36
|
+
*/
|
|
37
|
+
class Batchinator {
|
|
38
|
+
_callback
|
|
39
|
+
_delay
|
|
40
|
+
_taskHandle
|
|
41
|
+
constructor(callback, delayMS) {
|
|
42
|
+
this._delay = delayMS
|
|
43
|
+
this._callback = callback
|
|
44
|
+
}
|
|
45
|
+
/*
|
|
46
|
+
* Cleanup any pending tasks.
|
|
47
|
+
*
|
|
48
|
+
* By default, if there is a pending task the callback is run immediately. Set the option abort to
|
|
49
|
+
* true to not call the callback if it was pending.
|
|
50
|
+
*/
|
|
51
|
+
dispose(options = { abort: false }) {
|
|
52
|
+
if (this._taskHandle) {
|
|
53
|
+
this._taskHandle.cancel()
|
|
54
|
+
if (!options.abort) {
|
|
55
|
+
this._callback()
|
|
56
|
+
}
|
|
57
|
+
this._taskHandle = null
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
schedule() {
|
|
61
|
+
if (this._taskHandle) {
|
|
62
|
+
return
|
|
63
|
+
}
|
|
64
|
+
const timeoutHandle = setTimeout(() => {
|
|
65
|
+
this._taskHandle = InteractionManager.runAfterInteractions(() => {
|
|
66
|
+
// Note that we clear the handle before invoking the callback so that if the callback calls
|
|
67
|
+
// schedule again, it will actually schedule another task.
|
|
68
|
+
this._taskHandle = null
|
|
69
|
+
this._callback()
|
|
70
|
+
})
|
|
71
|
+
}, this._delay)
|
|
72
|
+
this._taskHandle = { cancel: () => clearTimeout(timeoutHandle) }
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { Batchinator }
|
|
77
|
+
export default Batchinator
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
'use strict'
|
|
11
|
+
|
|
12
|
+
import { Platform, invariant } from '@hanzogui/react-native-web-internals'
|
|
13
|
+
import { RCTDeviceEventEmitter } from './RCTDeviceEventEmitter'
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* `NativeEventEmitter` is intended for use by Native Modules to emit events to
|
|
17
|
+
* JavaScript listeners. If a `NativeModule` is supplied to the constructor, it
|
|
18
|
+
* will be notified (via `addListener` and `removeListeners`) when the listener
|
|
19
|
+
* count changes to manage "native memory".
|
|
20
|
+
*
|
|
21
|
+
* Currently, all native events are fired via a global `RCTDeviceEventEmitter`.
|
|
22
|
+
* This means event names must be globally unique, and it means that call sites
|
|
23
|
+
* can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).
|
|
24
|
+
*/
|
|
25
|
+
class NativeEventEmitter {
|
|
26
|
+
_nativeModule
|
|
27
|
+
|
|
28
|
+
constructor(nativeModule) {
|
|
29
|
+
if (Platform.OS === 'ios') {
|
|
30
|
+
invariant(
|
|
31
|
+
nativeModule != null,
|
|
32
|
+
'`new NativeEventEmitter()` requires a non-null argument.'
|
|
33
|
+
)
|
|
34
|
+
this._nativeModule = nativeModule
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
addListener(eventType, listener, context) {
|
|
39
|
+
this._nativeModule?.addListener(eventType)
|
|
40
|
+
let subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context)
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
remove: () => {
|
|
44
|
+
if (subscription != null) {
|
|
45
|
+
this._nativeModule?.removeListeners(1)
|
|
46
|
+
// $FlowFixMe[incompatible-use]
|
|
47
|
+
subscription.remove()
|
|
48
|
+
subscription = null
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated Use `remove` on the EventSubscription from `addListener`.
|
|
56
|
+
*/
|
|
57
|
+
removeListener(eventType, listener) {
|
|
58
|
+
this._nativeModule?.removeListeners(1)
|
|
59
|
+
// NOTE: This will report a deprecation notice via `console.error`.
|
|
60
|
+
// $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.
|
|
61
|
+
RCTDeviceEventEmitter.removeListener(eventType, listener)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
emit(eventType, ...args) {
|
|
65
|
+
// Generally, `RCTDeviceEventEmitter` is directly invoked. But this is
|
|
66
|
+
// included for completeness.
|
|
67
|
+
RCTDeviceEventEmitter.emit(eventType, ...args)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
removeAllListeners(eventType) {
|
|
71
|
+
invariant(
|
|
72
|
+
eventType != null,
|
|
73
|
+
'`NativeEventEmitter.removeAllListener()` requires a non-null argument.'
|
|
74
|
+
)
|
|
75
|
+
this._nativeModule?.removeListeners(this.listenerCount(eventType))
|
|
76
|
+
RCTDeviceEventEmitter.removeAllListeners(eventType)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
listenerCount(eventType) {
|
|
80
|
+
return RCTDeviceEventEmitter.listenerCount(eventType)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { NativeEventEmitter }
|
|
85
|
+
export default NativeEventEmitter
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { EventEmitter } from '../emitter/EventEmitter'
|
|
11
|
+
|
|
12
|
+
// FIXME: use typed events
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Global EventEmitter used by the native platform to emit events to JavaScript.
|
|
16
|
+
* Events are identified by globally unique event names.
|
|
17
|
+
*
|
|
18
|
+
* NativeModules that emit events should instead subclass `NativeEventEmitter`.
|
|
19
|
+
*/
|
|
20
|
+
const RCTDeviceEventEmitter = new EventEmitter()
|
|
21
|
+
export { RCTDeviceEventEmitter }
|
|
22
|
+
export default RCTDeviceEventEmitter
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const ReactNativeFeatureFlags = {
|
|
2
|
+
isLayoutAnimationEnabled: () => true,
|
|
3
|
+
shouldEmitW3CPointerEvents: () => false,
|
|
4
|
+
shouldPressibilityUseW3CPointerEventsForHover: () => false,
|
|
5
|
+
animatedShouldDebounceQueueFlush: () => false,
|
|
6
|
+
animatedShouldUseSingleOp: () => false,
|
|
7
|
+
enableCppComponents: () => false,
|
|
8
|
+
}
|
|
@@ -0,0 +1,213 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
class Info {
|
|
12
|
+
any_blank_count = 0
|
|
13
|
+
any_blank_ms = 0
|
|
14
|
+
any_blank_speed_sum = 0
|
|
15
|
+
mostly_blank_count = 0
|
|
16
|
+
mostly_blank_ms = 0
|
|
17
|
+
pixels_blank = 0
|
|
18
|
+
pixels_sampled = 0
|
|
19
|
+
pixels_scrolled = 0
|
|
20
|
+
total_time_spent = 0
|
|
21
|
+
sample_count = 0
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const defaultFrame = {
|
|
25
|
+
inLayout: false,
|
|
26
|
+
length: 0,
|
|
27
|
+
offset: 0,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const DEBUG = false
|
|
31
|
+
|
|
32
|
+
let _listeners = []
|
|
33
|
+
let _minSampleCount = 10
|
|
34
|
+
let _sampleRate = DEBUG ? 1 : null
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.
|
|
38
|
+
* By default the sampling rate is set to zero and this will do nothing. If you want to collect
|
|
39
|
+
* samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.
|
|
40
|
+
*
|
|
41
|
+
* Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with
|
|
42
|
+
* `SceneTracker.getActiveScene` to determine the context of the events.
|
|
43
|
+
*/
|
|
44
|
+
class FillRateHelper {
|
|
45
|
+
_anyBlankStartTime = null
|
|
46
|
+
_enabled = false
|
|
47
|
+
_getFrameMetrics
|
|
48
|
+
_info = new Info()
|
|
49
|
+
_mostlyBlankStartTime = null
|
|
50
|
+
_samplesStartTime = null
|
|
51
|
+
|
|
52
|
+
static addListener(callback) {
|
|
53
|
+
if (_sampleRate === null) {
|
|
54
|
+
console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.')
|
|
55
|
+
}
|
|
56
|
+
_listeners.push(callback)
|
|
57
|
+
return {
|
|
58
|
+
remove: () => {
|
|
59
|
+
_listeners = _listeners.filter((listener) => callback !== listener)
|
|
60
|
+
},
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static setSampleRate(sampleRate) {
|
|
65
|
+
_sampleRate = sampleRate
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static setMinSampleCount(minSampleCount) {
|
|
69
|
+
_minSampleCount = minSampleCount
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
constructor(getFrameMetrics) {
|
|
73
|
+
this._getFrameMetrics = getFrameMetrics
|
|
74
|
+
this._enabled = (_sampleRate || 0) > Math.random()
|
|
75
|
+
this._resetData()
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
activate() {
|
|
79
|
+
if (this._enabled && this._samplesStartTime == null) {
|
|
80
|
+
DEBUG && console.debug('FillRateHelper: activate')
|
|
81
|
+
this._samplesStartTime = global.performance.now()
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
deactivateAndFlush() {
|
|
86
|
+
if (!this._enabled) {
|
|
87
|
+
return
|
|
88
|
+
}
|
|
89
|
+
const start = this._samplesStartTime // const for flow
|
|
90
|
+
if (start == null) {
|
|
91
|
+
DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time')
|
|
92
|
+
return
|
|
93
|
+
}
|
|
94
|
+
if (this._info.sample_count < _minSampleCount) {
|
|
95
|
+
// Don't bother with under-sampled events.
|
|
96
|
+
this._resetData()
|
|
97
|
+
return
|
|
98
|
+
}
|
|
99
|
+
const total_time_spent = global.performance.now() - start
|
|
100
|
+
const info = {
|
|
101
|
+
...this._info,
|
|
102
|
+
total_time_spent,
|
|
103
|
+
}
|
|
104
|
+
if (DEBUG) {
|
|
105
|
+
const derived = {
|
|
106
|
+
avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,
|
|
107
|
+
avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),
|
|
108
|
+
avg_speed_when_any_blank:
|
|
109
|
+
this._info.any_blank_speed_sum / this._info.any_blank_count,
|
|
110
|
+
any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),
|
|
111
|
+
any_blank_time_frac: this._info.any_blank_ms / total_time_spent,
|
|
112
|
+
mostly_blank_per_min:
|
|
113
|
+
this._info.mostly_blank_count / (total_time_spent / 1000 / 60),
|
|
114
|
+
mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent,
|
|
115
|
+
}
|
|
116
|
+
for (const key in derived) {
|
|
117
|
+
// $FlowFixMe[prop-missing]
|
|
118
|
+
derived[key] = Math.round(1000 * derived[key]) / 1000
|
|
119
|
+
}
|
|
120
|
+
console.debug('FillRateHelper deactivateAndFlush: ', { derived, info })
|
|
121
|
+
}
|
|
122
|
+
_listeners.forEach((listener) => listener(info))
|
|
123
|
+
this._resetData()
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
computeBlankness(props, cellsAroundViewport, scrollMetrics) {
|
|
127
|
+
if (
|
|
128
|
+
!this._enabled ||
|
|
129
|
+
props.getItemCount(props.data) === 0 ||
|
|
130
|
+
cellsAroundViewport.last < cellsAroundViewport.first ||
|
|
131
|
+
this._samplesStartTime == null
|
|
132
|
+
) {
|
|
133
|
+
return 0
|
|
134
|
+
}
|
|
135
|
+
const { dOffset, offset, velocity, visibleLength } = scrollMetrics
|
|
136
|
+
|
|
137
|
+
// Denominator metrics that we track for all events - most of the time there is no blankness and
|
|
138
|
+
// we want to capture that.
|
|
139
|
+
this._info.sample_count++
|
|
140
|
+
this._info.pixels_sampled += Math.round(visibleLength)
|
|
141
|
+
this._info.pixels_scrolled += Math.round(Math.abs(dOffset))
|
|
142
|
+
const scrollSpeed = Math.round(Math.abs(velocity) * 1000) // px / sec
|
|
143
|
+
|
|
144
|
+
// Whether blank now or not, record the elapsed time blank if we were blank last time.
|
|
145
|
+
const now = global.performance.now()
|
|
146
|
+
if (this._anyBlankStartTime != null) {
|
|
147
|
+
this._info.any_blank_ms += now - this._anyBlankStartTime
|
|
148
|
+
}
|
|
149
|
+
this._anyBlankStartTime = null
|
|
150
|
+
if (this._mostlyBlankStartTime != null) {
|
|
151
|
+
this._info.mostly_blank_ms += now - this._mostlyBlankStartTime
|
|
152
|
+
}
|
|
153
|
+
this._mostlyBlankStartTime = null
|
|
154
|
+
|
|
155
|
+
let blankTop = 0
|
|
156
|
+
let first = cellsAroundViewport.first
|
|
157
|
+
let firstFrame = this._getFrameMetrics(first, props)
|
|
158
|
+
while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) {
|
|
159
|
+
firstFrame = this._getFrameMetrics(first, props)
|
|
160
|
+
first++
|
|
161
|
+
}
|
|
162
|
+
// Only count blankTop if we aren't rendering the first item, otherwise we will count the header
|
|
163
|
+
// as blank.
|
|
164
|
+
if (firstFrame && first > 0) {
|
|
165
|
+
blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset))
|
|
166
|
+
}
|
|
167
|
+
let blankBottom = 0
|
|
168
|
+
let last = cellsAroundViewport.last
|
|
169
|
+
let lastFrame = this._getFrameMetrics(last, props)
|
|
170
|
+
while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) {
|
|
171
|
+
lastFrame = this._getFrameMetrics(last, props)
|
|
172
|
+
last--
|
|
173
|
+
}
|
|
174
|
+
// Only count blankBottom if we aren't rendering the last item, otherwise we will count the
|
|
175
|
+
// footer as blank.
|
|
176
|
+
if (lastFrame && last < props.getItemCount(props.data) - 1) {
|
|
177
|
+
const bottomEdge = lastFrame.offset + lastFrame.length
|
|
178
|
+
blankBottom = Math.min(
|
|
179
|
+
visibleLength,
|
|
180
|
+
Math.max(0, offset + visibleLength - bottomEdge)
|
|
181
|
+
)
|
|
182
|
+
}
|
|
183
|
+
const pixels_blank = Math.round(blankTop + blankBottom)
|
|
184
|
+
const blankness = pixels_blank / visibleLength
|
|
185
|
+
if (blankness > 0) {
|
|
186
|
+
this._anyBlankStartTime = now
|
|
187
|
+
this._info.any_blank_speed_sum += scrollSpeed
|
|
188
|
+
this._info.any_blank_count++
|
|
189
|
+
this._info.pixels_blank += pixels_blank
|
|
190
|
+
if (blankness > 0.5) {
|
|
191
|
+
this._mostlyBlankStartTime = now
|
|
192
|
+
this._info.mostly_blank_count++
|
|
193
|
+
}
|
|
194
|
+
} else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {
|
|
195
|
+
this.deactivateAndFlush()
|
|
196
|
+
}
|
|
197
|
+
return blankness
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
enabled() {
|
|
201
|
+
return this._enabled
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
_resetData() {
|
|
205
|
+
this._anyBlankStartTime = null
|
|
206
|
+
this._info = new Info()
|
|
207
|
+
this._mostlyBlankStartTime = null
|
|
208
|
+
this._samplesStartTime = null
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export { FillRateHelper }
|
|
213
|
+
export default FillRateHelper
|