@office-iss/react-native-win32 0.80.0-preview.1 → 0.81.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +10 -4
- package/CHANGELOG.json +135 -6
- package/CHANGELOG.md +53 -4
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +1 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageCachePolicyTest.js +2 -2
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/LoggingTestModule.js +16 -20
- package/IntegrationTests/PromiseTest.js +1 -1
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +2 -1
- package/IntegrationTests/WebSocketTest.js +2 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.js +3 -3
- package/Libraries/Alert/Alert.win32.js +1 -1
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Alert/RCTAlertManager.android.js +19 -13
- package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
- package/Libraries/Alert/RCTAlertManager.js +1 -3
- package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
- package/Libraries/Animated/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +0 -1
- package/Libraries/Animated/AnimatedExports.js.flow +5 -1
- package/Libraries/Animated/AnimatedImplementation.js +44 -44
- package/Libraries/Animated/AnimatedMock.js +2 -2
- package/Libraries/Animated/Easing.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +1 -1
- package/Libraries/Animated/animations/Animation.js +10 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
- package/Libraries/Animated/components/AnimatedText.js +2 -5
- package/Libraries/Animated/components/AnimatedView.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +39 -37
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +4 -0
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +5 -1
- package/Libraries/Blob/URLSearchParams.js.flow +2 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.js +10 -7
- package/Libraries/Components/Button.win32.js +10 -7
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +17 -8
- package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
- package/Libraries/Components/ScrollView/ScrollView.js +25 -15
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
- package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
- package/Libraries/Components/Switch/Switch.js +10 -3
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
- package/Libraries/Components/TextInput/TextInput.js +42 -39
- package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +17 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
- package/Libraries/Components/View/View.js +114 -29
- package/Libraries/Components/View/View.win32.js +17 -3
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/Libraries/Components/View/ViewAccessibility.js +1 -8
- package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
- package/Libraries/Components/View/ViewPropTypes.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +27 -16
- package/Libraries/Core/InitializeCore.js +2 -23
- package/Libraries/Core/NativeExceptionsManager.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/checkNativeVersion.js +1 -0
- package/Libraries/Core/setUpDeveloperTools.js +13 -11
- package/Libraries/Core/setUpReactDevTools.js +21 -4
- package/Libraries/Debugging/DebuggingOverlay.js +12 -14
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +4 -10
- package/Libraries/Image/Image.android.js +113 -107
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.win32.js +11 -3
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageSource.d.ts +5 -0
- package/Libraries/Image/ImageViewNativeComponent.js +3 -3
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RelativeImageStub.js +2 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +64 -54
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/TaskQueue.js +8 -9
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/FlatList.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +6 -7
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/SectionListModern.js +9 -3
- package/Libraries/Lists/VirtualizedList.js +3 -2
- package/Libraries/LogBox/Data/LogBoxData.js +7 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
- package/Libraries/LogBox/LogBox.js +72 -99
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/Modal/Modal.d.ts +8 -2
- package/Libraries/Modal/Modal.js +24 -3
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.win32.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
- package/Libraries/ReactNative/AppContainer-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/RendererProxy.js +1 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/SettingsFallback.js +1 -1
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
- package/Libraries/StyleSheet/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +1 -2
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +7 -0
- package/Libraries/Text/Text.js +255 -246
- package/Libraries/Text/Text.win32.js +294 -285
- package/Libraries/Text/TextAncestor.js +3 -9
- package/Libraries/Text/TextAncestorContext.js +23 -0
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextNativeComponent.win32.js +4 -0
- package/Libraries/Text/TextProps.js +2 -5
- package/Libraries/Text/TextProps.win32.js +2 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CodegenTypesNamespace.js +2 -1
- package/Libraries/Types/CoreEventTypes.d.ts +4 -0
- package/Libraries/Types/ReactDevToolsTypes.js +0 -1
- package/Libraries/Utilities/Appearance.js +1 -1
- package/Libraries/Utilities/BackHandler.js.flow +1 -1
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/HMRClient.js +13 -3
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +2 -5
- package/Libraries/Utilities/Platform.ios.js +2 -5
- package/Libraries/Utilities/Platform.js +1 -1
- package/Libraries/Utilities/Platform.js.flow +2 -2
- package/Libraries/Utilities/Platform.win32.js +2 -5
- package/Libraries/Utilities/PlatformTypes.js +2 -2
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +5 -3
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/createPerformanceLogger.js +27 -20
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
- package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/stringifyViewConfig.js +1 -1
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +1 -1
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.js +1 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/index.js +22 -2
- package/index.win32.js +15 -2
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +9 -3
- package/jest/RefreshControlMock.js +32 -0
- package/jest/assetFileTransformer.js +1 -0
- package/jest/local-setup.js +4 -3
- package/jest/mock.js +39 -0
- package/jest/mockComponent.js +47 -17
- package/jest/mockNativeComponent.js +26 -15
- package/jest/mocks/AccessibilityInfo.js +62 -0
- package/jest/mocks/ActivityIndicator.js +23 -0
- package/jest/mocks/AppState.js +19 -0
- package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
- package/jest/mocks/Image.js +23 -0
- package/jest/mocks/InitializeCore.js +9 -0
- package/jest/mocks/Linking.js +28 -0
- package/jest/mocks/Modal.js +33 -0
- package/jest/mocks/NativeComponentRegistry.js +30 -0
- package/jest/mocks/NativeModules.js +239 -0
- package/jest/mocks/RefreshControl.js +31 -0
- package/jest/mocks/RendererProxy.js +45 -0
- package/jest/mocks/ScrollView.js +58 -0
- package/jest/mocks/Text.js +27 -0
- package/jest/mocks/TextInput.js +32 -0
- package/jest/mocks/UIManager.js +60 -0
- package/jest/mocks/Vibration.js +16 -0
- package/jest/mocks/View.js +27 -0
- package/jest/mocks/ViewNativeComponent.js +23 -0
- package/jest/mocks/requireNativeComponent.js +22 -0
- package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
- package/jest/react-native-env.js +1 -0
- package/jest/renderer.js +1 -2
- package/jest/resolver.js +1 -0
- package/jest/setup.js +64 -445
- package/overrides.json +49 -42
- package/package.json +18 -18
- package/src/private/animated/NativeAnimatedHelper.js +8 -1
- package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
- package/src/private/animated/createAnimatedPropsHook.js +14 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- package/src/private/components/virtualview/VirtualView.js +145 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- package/src/private/setup/setUpPerformanceObserver.js +7 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
- package/src/private/styles/composeStyles.js +5 -12
- package/src/private/types/HostInstance.js +1 -1
- package/src/private/webapis/dom/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/LongTasks.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +20 -9
- package/src/private/webapis/performance/PerformanceEntry.js +5 -1
- package/src/private/webapis/performance/PerformanceObserver.js +32 -28
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/ResourceTiming.js +108 -0
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
- package/src-win/Libraries/Text/Text.d.ts +7 -0
- package/types/modules/Devtools.d.ts +23 -9
- package/Libraries/BugReporting/BugReporting.js +0 -140
- package/Libraries/BugReporting/NativeBugReporting.js +0 -13
- package/Libraries/BugReporting/dumpReactTree.js +0 -151
- package/Libraries/BugReporting/getReactData.js +0 -187
- package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
- package/flow/HermesInternalType.js +0 -114
- package/flow/console.js +0 -49
- package/flow/global.js +0 -88
- package/jest/mockModal.js +0 -32
- package/jest/mockScrollView.js +0 -35
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
|
@@ -1,151 +0,0 @@
|
|
|
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
|
-
* @flow strict
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
const getReactData = require('getReactData').default;
|
|
15
|
-
|
|
16
|
-
const INDENTATION_SIZE = 2;
|
|
17
|
-
const MAX_DEPTH = 2;
|
|
18
|
-
const MAX_STRING_LENGTH = 50;
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Dump all React Native root views and their content. This function tries
|
|
23
|
-
* it best to get the content but ultimately relies on implementation details
|
|
24
|
-
* of React and will fail in future versions.
|
|
25
|
-
*/
|
|
26
|
-
function dumpReactTree(): string {
|
|
27
|
-
try {
|
|
28
|
-
return getReactTree();
|
|
29
|
-
} catch (e) {
|
|
30
|
-
return 'Failed to dump react tree: ' + e;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function getReactTree() {
|
|
35
|
-
// TODO(sema): Reenable tree dumps using the Fiber tree structure. #15945684
|
|
36
|
-
return (
|
|
37
|
-
'React tree dumps have been temporarily disabled while React is ' +
|
|
38
|
-
'upgraded to Fiber.'
|
|
39
|
-
);
|
|
40
|
-
/*
|
|
41
|
-
let output = '';
|
|
42
|
-
const rootIds = Object.getOwnPropertyNames(ReactNativeMount._instancesByContainerID);
|
|
43
|
-
for (const rootId of rootIds) {
|
|
44
|
-
const instance = ReactNativeMount._instancesByContainerID[rootId];
|
|
45
|
-
output += `============ Root ID: ${rootId} ============\n`;
|
|
46
|
-
output += dumpNode(instance, 0);
|
|
47
|
-
output += `============ End root ID: ${rootId} ============\n`;
|
|
48
|
-
}
|
|
49
|
-
return output;
|
|
50
|
-
*/
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/*
|
|
54
|
-
function dumpNode(node: Object, indentation: number) {
|
|
55
|
-
const data = getReactData(node);
|
|
56
|
-
if (data.nodeType === 'Text') {
|
|
57
|
-
return indent(indentation) + data.text + '\n';
|
|
58
|
-
} else if (data.nodeType === 'Empty') {
|
|
59
|
-
return '';
|
|
60
|
-
}
|
|
61
|
-
let output = indent(indentation) + `<${data.name}`;
|
|
62
|
-
if (data.nodeType === 'Composite') {
|
|
63
|
-
for (const propName of Object.getOwnPropertyNames(data.props || {})) {
|
|
64
|
-
if (isNormalProp(propName)) {
|
|
65
|
-
try {
|
|
66
|
-
const value = convertValue(data.props[propName]);
|
|
67
|
-
if (value) {
|
|
68
|
-
output += ` ${propName}=${value}`;
|
|
69
|
-
}
|
|
70
|
-
} catch (e) {
|
|
71
|
-
const message = `[Failed to get property: ${e}]`;
|
|
72
|
-
output += ` ${propName}=${message}`;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
let childOutput = '';
|
|
78
|
-
for (const child of data.children || []) {
|
|
79
|
-
childOutput += dumpNode(child, indentation + 1);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (childOutput) {
|
|
83
|
-
output += '>\n' + childOutput + indent(indentation) + `</${data.name}>\n`;
|
|
84
|
-
} else {
|
|
85
|
-
output += ' />\n';
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return output;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function isNormalProp(name: string): boolean {
|
|
92
|
-
switch (name) {
|
|
93
|
-
case 'children':
|
|
94
|
-
case 'key':
|
|
95
|
-
case 'ref':
|
|
96
|
-
return false;
|
|
97
|
-
default:
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function convertObject(object: Object, depth: number) {
|
|
103
|
-
if (depth >= MAX_DEPTH) {
|
|
104
|
-
return '[...omitted]';
|
|
105
|
-
}
|
|
106
|
-
let output = '{';
|
|
107
|
-
let first = true;
|
|
108
|
-
for (const key of Object.getOwnPropertyNames(object)) {
|
|
109
|
-
if (!first) {
|
|
110
|
-
output += ', ';
|
|
111
|
-
}
|
|
112
|
-
output += `${key}: ${convertValue(object[key], depth + 1)}`;
|
|
113
|
-
first = false;
|
|
114
|
-
}
|
|
115
|
-
return output + '}';
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function convertValue(value, depth = 0): ?string {
|
|
119
|
-
if (!value) {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
switch (typeof value) {
|
|
124
|
-
case 'string':
|
|
125
|
-
return JSON.stringify(possiblyEllipsis(value).replace('\n', '\\n'));
|
|
126
|
-
case 'boolean':
|
|
127
|
-
case 'number':
|
|
128
|
-
return JSON.stringify(value);
|
|
129
|
-
case 'function':
|
|
130
|
-
return '[function]';
|
|
131
|
-
case 'object':
|
|
132
|
-
return convertObject(value, depth);
|
|
133
|
-
default:
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function possiblyEllipsis(value: string) {
|
|
139
|
-
if (value.length > MAX_STRING_LENGTH) {
|
|
140
|
-
return value.slice(0, MAX_STRING_LENGTH) + '...';
|
|
141
|
-
} else {
|
|
142
|
-
return value;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function indent(size: number) {
|
|
147
|
-
return ' '.repeat(size * INDENTATION_SIZE);
|
|
148
|
-
}
|
|
149
|
-
*/
|
|
150
|
-
|
|
151
|
-
export default dumpReactTree;
|
|
@@ -1,187 +0,0 @@
|
|
|
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
|
-
* @flow
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Convert a react internal instance to a sanitized data object.
|
|
15
|
-
*
|
|
16
|
-
* This is shamelessly stolen from react-devtools:
|
|
17
|
-
* https://github.com/facebook/react-devtools/blob/HEAD/backend/getData.js
|
|
18
|
-
*/
|
|
19
|
-
function getData(element: Object): Object {
|
|
20
|
-
let children = null;
|
|
21
|
-
let props = null;
|
|
22
|
-
let state = null;
|
|
23
|
-
let context = null;
|
|
24
|
-
let updater = null;
|
|
25
|
-
let name = null;
|
|
26
|
-
let type = null;
|
|
27
|
-
let text = null;
|
|
28
|
-
let publicInstance = null;
|
|
29
|
-
let nodeType = 'Native';
|
|
30
|
-
// If the parent is a native node without rendered children, but with
|
|
31
|
-
// multiple string children, then the `element` that gets passed in here is
|
|
32
|
-
// a plain value -- a string or number.
|
|
33
|
-
if (typeof element !== 'object') {
|
|
34
|
-
nodeType = 'Text';
|
|
35
|
-
text = element + '';
|
|
36
|
-
} else if (
|
|
37
|
-
element._currentElement === null ||
|
|
38
|
-
element._currentElement === false
|
|
39
|
-
) {
|
|
40
|
-
nodeType = 'Empty';
|
|
41
|
-
} else if (element._renderedComponent) {
|
|
42
|
-
nodeType = 'NativeWrapper';
|
|
43
|
-
children = [element._renderedComponent];
|
|
44
|
-
props = element._instance.props;
|
|
45
|
-
state = element._instance.state;
|
|
46
|
-
context = element._instance.context;
|
|
47
|
-
if (context && Object.keys(context).length === 0) {
|
|
48
|
-
context = null;
|
|
49
|
-
}
|
|
50
|
-
} else if (element._renderedChildren) {
|
|
51
|
-
children = childrenList(element._renderedChildren);
|
|
52
|
-
} else if (element._currentElement && element._currentElement.props) {
|
|
53
|
-
// This is a native node without rendered children -- meaning the children
|
|
54
|
-
// prop is just a string or (in the case of the <option>) a list of
|
|
55
|
-
// strings & numbers.
|
|
56
|
-
children = element._currentElement.props.children;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (!props && element._currentElement && element._currentElement.props) {
|
|
60
|
-
props = element._currentElement.props;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// != used deliberately here to catch undefined and null
|
|
64
|
-
if (element._currentElement != null) {
|
|
65
|
-
type = element._currentElement.type;
|
|
66
|
-
if (typeof type === 'string') {
|
|
67
|
-
name = type;
|
|
68
|
-
} else if (element.getName) {
|
|
69
|
-
nodeType = 'Composite';
|
|
70
|
-
name = element.getName();
|
|
71
|
-
// 0.14 top-level wrapper
|
|
72
|
-
// TODO(jared): The backend should just act as if these don't exist.
|
|
73
|
-
if (
|
|
74
|
-
element._renderedComponent &&
|
|
75
|
-
element._currentElement.props ===
|
|
76
|
-
element._renderedComponent._currentElement
|
|
77
|
-
) {
|
|
78
|
-
nodeType = 'Wrapper';
|
|
79
|
-
}
|
|
80
|
-
if (name === null) {
|
|
81
|
-
name = 'No display name';
|
|
82
|
-
}
|
|
83
|
-
} else if (element._stringText) {
|
|
84
|
-
nodeType = 'Text';
|
|
85
|
-
text = element._stringText;
|
|
86
|
-
} else {
|
|
87
|
-
name = type.displayName || type.name || 'Unknown';
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (element._instance) {
|
|
92
|
-
const inst = element._instance;
|
|
93
|
-
updater = {
|
|
94
|
-
setState: inst.setState && inst.setState.bind(inst),
|
|
95
|
-
forceUpdate: inst.forceUpdate && inst.forceUpdate.bind(inst),
|
|
96
|
-
setInProps: inst.forceUpdate && setInProps.bind(null, element),
|
|
97
|
-
setInState: inst.forceUpdate && setInState.bind(null, inst),
|
|
98
|
-
setInContext: inst.forceUpdate && setInContext.bind(null, inst),
|
|
99
|
-
};
|
|
100
|
-
publicInstance = inst;
|
|
101
|
-
|
|
102
|
-
// TODO: React ART currently falls in this bucket, but this doesn't
|
|
103
|
-
// actually make sense and we should clean this up after stabilizing our
|
|
104
|
-
// API for backends
|
|
105
|
-
if (inst._renderedChildren) {
|
|
106
|
-
children = childrenList(inst._renderedChildren);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
nodeType,
|
|
112
|
-
type,
|
|
113
|
-
name,
|
|
114
|
-
props,
|
|
115
|
-
state,
|
|
116
|
-
context,
|
|
117
|
-
children,
|
|
118
|
-
text,
|
|
119
|
-
updater,
|
|
120
|
-
publicInstance,
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function setInProps(
|
|
125
|
-
internalInst: any,
|
|
126
|
-
path: Array<string | number>,
|
|
127
|
-
value: any,
|
|
128
|
-
) {
|
|
129
|
-
const element = internalInst._currentElement;
|
|
130
|
-
internalInst._currentElement = {
|
|
131
|
-
...element,
|
|
132
|
-
props: copyWithSet(element.props, path, value),
|
|
133
|
-
};
|
|
134
|
-
internalInst._instance.forceUpdate();
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function setInState(inst: any, path: Array<string | number>, value: any) {
|
|
138
|
-
setIn(inst.state, path, value);
|
|
139
|
-
inst.forceUpdate();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
function setInContext(inst: any, path: Array<string | number>, value: any) {
|
|
143
|
-
setIn(inst.context, path, value);
|
|
144
|
-
inst.forceUpdate();
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function setIn(obj: Object, path: Array<string | number>, value: any) {
|
|
148
|
-
const last = path.pop();
|
|
149
|
-
const parent = path.reduce((obj_, attr) => (obj_ ? obj_[attr] : null), obj);
|
|
150
|
-
if (parent) {
|
|
151
|
-
parent[last] = value;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function childrenList(children: any) {
|
|
156
|
-
const res = [];
|
|
157
|
-
for (const name in children) {
|
|
158
|
-
res.push(children[name]);
|
|
159
|
-
}
|
|
160
|
-
return res;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
function copyWithSetImpl(
|
|
164
|
-
obj: any | Array<any>,
|
|
165
|
-
path: Array<string | number>,
|
|
166
|
-
idx: number,
|
|
167
|
-
value: any,
|
|
168
|
-
): any {
|
|
169
|
-
if (idx >= path.length) {
|
|
170
|
-
return value;
|
|
171
|
-
}
|
|
172
|
-
const key = path[idx];
|
|
173
|
-
const updated = Array.isArray(obj) ? obj.slice() : {...obj};
|
|
174
|
-
// $FlowFixMe[incompatible-use] number or string is fine here
|
|
175
|
-
updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value);
|
|
176
|
-
return updated;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
function copyWithSet(
|
|
180
|
-
obj: Object | Array<any>,
|
|
181
|
-
path: Array<string | number>,
|
|
182
|
-
value: any,
|
|
183
|
-
): Object | Array<any> {
|
|
184
|
-
return copyWithSetImpl(obj, path, 0, value);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export default getData;
|
|
@@ -1,88 +0,0 @@
|
|
|
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
|
-
* @flow
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
const infoLog = require('../Utilities/infoLog').default;
|
|
14
|
-
|
|
15
|
-
type Handler = {
|
|
16
|
-
onIterate?: () => void,
|
|
17
|
-
onStall: (params: {lastInterval: number, busyTime: number, ...}) => ?string,
|
|
18
|
-
...
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* A utility for tracking stalls in the JS event loop that prevent timers and
|
|
23
|
-
* other events from being processed in a timely manner.
|
|
24
|
-
*
|
|
25
|
-
* The "stall" time is defined as the amount of time in access of the acceptable
|
|
26
|
-
* threshold, which is typically around 100-200ms. So if the threshold is set to
|
|
27
|
-
* 100 and a timer fires 150 ms later than it was scheduled because the event
|
|
28
|
-
* loop was tied up, that would be considered a 50ms stall.
|
|
29
|
-
*
|
|
30
|
-
* By default, logs stall events to the console when installed. Can also be
|
|
31
|
-
* queried with `getStats`.
|
|
32
|
-
*/
|
|
33
|
-
const JSEventLoopWatchdog = {
|
|
34
|
-
getStats: function (): Object {
|
|
35
|
-
return {stallCount, totalStallTime, longestStall, acceptableBusyTime};
|
|
36
|
-
},
|
|
37
|
-
reset: function () {
|
|
38
|
-
infoLog('JSEventLoopWatchdog: reset');
|
|
39
|
-
totalStallTime = 0;
|
|
40
|
-
stallCount = 0;
|
|
41
|
-
longestStall = 0;
|
|
42
|
-
lastInterval = global.performance.now();
|
|
43
|
-
},
|
|
44
|
-
addHandler: function (handler: Handler) {
|
|
45
|
-
handlers.push(handler);
|
|
46
|
-
},
|
|
47
|
-
install: function ({thresholdMS}: {thresholdMS: number, ...}) {
|
|
48
|
-
acceptableBusyTime = thresholdMS;
|
|
49
|
-
if (installed) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
installed = true;
|
|
53
|
-
lastInterval = global.performance.now();
|
|
54
|
-
function iteration() {
|
|
55
|
-
const now = global.performance.now();
|
|
56
|
-
const busyTime = now - lastInterval;
|
|
57
|
-
if (busyTime >= thresholdMS) {
|
|
58
|
-
const stallTime = busyTime - thresholdMS;
|
|
59
|
-
stallCount++;
|
|
60
|
-
totalStallTime += stallTime;
|
|
61
|
-
longestStall = Math.max(longestStall, stallTime);
|
|
62
|
-
let msg =
|
|
63
|
-
`JSEventLoopWatchdog: JS thread busy for ${busyTime}ms. ` +
|
|
64
|
-
`${totalStallTime}ms in ${stallCount} stalls so far. `;
|
|
65
|
-
handlers.forEach(handler => {
|
|
66
|
-
msg += handler.onStall({lastInterval, busyTime}) || '';
|
|
67
|
-
});
|
|
68
|
-
infoLog(msg);
|
|
69
|
-
}
|
|
70
|
-
handlers.forEach(handler => {
|
|
71
|
-
handler.onIterate && handler.onIterate();
|
|
72
|
-
});
|
|
73
|
-
lastInterval = now;
|
|
74
|
-
setTimeout(iteration, thresholdMS / 5);
|
|
75
|
-
}
|
|
76
|
-
iteration();
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
let acceptableBusyTime = 0;
|
|
81
|
-
let installed = false;
|
|
82
|
-
let totalStallTime = 0;
|
|
83
|
-
let stallCount = 0;
|
|
84
|
-
let longestStall = 0;
|
|
85
|
-
let lastInterval = 0;
|
|
86
|
-
const handlers: Array<Handler> = [];
|
|
87
|
-
|
|
88
|
-
export default JSEventLoopWatchdog;
|
|
@@ -1,114 +0,0 @@
|
|
|
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
|
-
// Declarations for functionality exposed by the Hermes VM.
|
|
12
|
-
//
|
|
13
|
-
// For backwards-compatibility, code that uses such functionality must also
|
|
14
|
-
// check explicitly at run-time whether the object(s) and method(s) exist, and
|
|
15
|
-
// fail safely if not.
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* HermesInternalType is an object containing functions used to interact with
|
|
19
|
-
* the VM in a way that is not standardized by the JS spec.
|
|
20
|
-
* There are limited guarantees about these functions, and they should not be
|
|
21
|
-
* widely used. Consult with the Hermes team before using any of these.
|
|
22
|
-
* There may be other visible properties on this object; however, those are
|
|
23
|
-
* only exposed for testing purposes: do not use them.
|
|
24
|
-
*/
|
|
25
|
-
declare type $HermesInternalType = {
|
|
26
|
-
// All members are optional because they may not exist when OTA'd to older
|
|
27
|
-
// VMs.
|
|
28
|
-
|
|
29
|
-
+getNumGCs?: () => number,
|
|
30
|
-
+getGCTime?: () => number,
|
|
31
|
-
+getNativeCallTime?: () => number,
|
|
32
|
-
+getNativeCallCount?: () => number,
|
|
33
|
-
+getGCCPUTime?: () => number,
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Hermes can embed an "epilogue" to the bytecode file with arbitrary bytes.
|
|
37
|
-
* At most one epilogue will exist per bytecode module (which can be
|
|
38
|
-
* different than a JS module).
|
|
39
|
-
* Calling this function will return all such epilogues and convert the
|
|
40
|
-
* bytes to numbers in the range of 0-255.
|
|
41
|
-
*/
|
|
42
|
-
+getEpilogues?: () => Array<Array<number>>,
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Query the VM for various statistics about performance.
|
|
46
|
-
* There are no guarantees about what keys exist in it, but they can be
|
|
47
|
-
* printed for informational purposes.
|
|
48
|
-
* @return An object that maps strings to various types of performance
|
|
49
|
-
* statistics.
|
|
50
|
-
*/
|
|
51
|
-
+getInstrumentedStats?: () => {[string]: number | string, ...},
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Query the VM for any sort of runtime properties that it wants to report.
|
|
55
|
-
* There are no guarantees about what keys exist in it, but they can be
|
|
56
|
-
* printed for informational purposes.
|
|
57
|
-
* @return An object that maps strings to various types of runtime properties.
|
|
58
|
-
*/
|
|
59
|
-
+getRuntimeProperties?: () => {
|
|
60
|
-
'OSS Release Version': string,
|
|
61
|
-
Build: string,
|
|
62
|
-
[string]: mixed,
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Tell Hermes that at this point the surface has transitioned from TTI to
|
|
67
|
-
* post-TTI. The VM can change some of its internal behavior to optimize for
|
|
68
|
-
* post-TTI scenarios.
|
|
69
|
-
* This can be called several times but will have no effect after the first
|
|
70
|
-
* call.
|
|
71
|
-
*/
|
|
72
|
-
+ttiReached?: () => void,
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Tell Hermes that at this point the surface has transitioned from TTRC to
|
|
76
|
-
* post-TTRC. The VM can change some of its internal behavior to optimize for
|
|
77
|
-
* post-TTRC scenarios.
|
|
78
|
-
* This can be called several times but will have no effect after the first
|
|
79
|
-
* call.
|
|
80
|
-
*/
|
|
81
|
-
+ttrcReached?: () => void,
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Query the VM to see whether or not it enabled Promise.
|
|
85
|
-
*/
|
|
86
|
-
+hasPromise?: () => boolean,
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Enable promise rejection tracking with the given options.
|
|
90
|
-
* The API mirrored the `promise` npm package, therefore it's typed same as
|
|
91
|
-
* the `enable` function of module `promise/setimmediate/rejection-tracking`
|
|
92
|
-
* declared in ./flow-typed/npm/promise_v8.x.x.js.
|
|
93
|
-
*/
|
|
94
|
-
+enablePromiseRejectionTracker?: (
|
|
95
|
-
options: ?{
|
|
96
|
-
whitelist?: ?Array<mixed>,
|
|
97
|
-
allRejections?: ?boolean,
|
|
98
|
-
onUnhandled?: ?(number, mixed) => void,
|
|
99
|
-
onHandled?: ?(number, mixed) => void,
|
|
100
|
-
},
|
|
101
|
-
) => void,
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Query the VM to see whether or not it use the engine Job queue.
|
|
105
|
-
*/
|
|
106
|
-
+useEngineQueue?: () => boolean,
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Enqueue a JavaScript callback function as a Job into the engine Job queue.
|
|
110
|
-
*/
|
|
111
|
-
+enqueueJob?: <TArguments: Array<mixed>>(
|
|
112
|
-
jobCallback: (...args: TArguments) => mixed,
|
|
113
|
-
) => void,
|
|
114
|
-
};
|
package/flow/console.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
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
|
-
declare module 'console' {
|
|
12
|
-
declare function assert(value: any, ...message: any): void;
|
|
13
|
-
declare function dir(
|
|
14
|
-
obj: Object,
|
|
15
|
-
options: {
|
|
16
|
-
showHidden: boolean,
|
|
17
|
-
depth: number,
|
|
18
|
-
colors: boolean,
|
|
19
|
-
...
|
|
20
|
-
},
|
|
21
|
-
): void;
|
|
22
|
-
declare function error(...data: any): void;
|
|
23
|
-
declare function info(...data: any): void;
|
|
24
|
-
declare function log(...data: any): void;
|
|
25
|
-
declare function time(label: any): void;
|
|
26
|
-
declare function timeEnd(label: any): void;
|
|
27
|
-
declare function trace(first: any, ...rest: any): void;
|
|
28
|
-
declare function warn(...data: any): void;
|
|
29
|
-
declare class Console {
|
|
30
|
-
constructor(stdout: stream$Writable, stdin?: stream$Writable): void;
|
|
31
|
-
assert(value: any, ...message: any): void;
|
|
32
|
-
dir(
|
|
33
|
-
obj: Object,
|
|
34
|
-
options: {
|
|
35
|
-
showHidden: boolean,
|
|
36
|
-
depth: number,
|
|
37
|
-
colors: boolean,
|
|
38
|
-
...
|
|
39
|
-
},
|
|
40
|
-
): void;
|
|
41
|
-
error(...data: any): void;
|
|
42
|
-
info(...data: any): void;
|
|
43
|
-
log(...data: any): void;
|
|
44
|
-
time(label: any): void;
|
|
45
|
-
timeEnd(label: any): void;
|
|
46
|
-
trace(first: any, ...rest: any): void;
|
|
47
|
-
warn(...data: any): void;
|
|
48
|
-
}
|
|
49
|
-
}
|
package/flow/global.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
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
|
-
/**
|
|
12
|
-
* `global` is a object containing all the global variables for React Native.
|
|
13
|
-
*
|
|
14
|
-
* NOTE: Consider cross-platform as well as JS environments compatibility
|
|
15
|
-
* when defining the types here. Consider both presence (`?`) as well as
|
|
16
|
-
* writeability (`+`) when defining types.
|
|
17
|
-
*/
|
|
18
|
-
// $FlowFixMe[libdef-override]
|
|
19
|
-
declare var global: {
|
|
20
|
-
// setUpGlobals
|
|
21
|
-
+window: typeof global,
|
|
22
|
-
+self: typeof global,
|
|
23
|
-
+process: {
|
|
24
|
-
+env: {
|
|
25
|
-
+NODE_ENV: 'development' | 'production',
|
|
26
|
-
},
|
|
27
|
-
+argv?: $ReadOnlyArray<string>,
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
// setUpPerformance
|
|
31
|
-
+performance: Performance,
|
|
32
|
-
|
|
33
|
-
// setUpXHR
|
|
34
|
-
+XMLHttpRequest: typeof XMLHttpRequest,
|
|
35
|
-
+FormData: typeof FormData,
|
|
36
|
-
+fetch: typeof fetch,
|
|
37
|
-
+Headers: typeof Headers,
|
|
38
|
-
+Request: typeof Request,
|
|
39
|
-
+Response: typeof Response,
|
|
40
|
-
+WebSocket: typeof WebSocket,
|
|
41
|
-
+Blob: typeof Blob,
|
|
42
|
-
+File: typeof File,
|
|
43
|
-
+FileReader: typeof FileReader,
|
|
44
|
-
+URL: typeof URL,
|
|
45
|
-
+URLSearchParams: typeof URLSearchParams,
|
|
46
|
-
+AbortController: typeof AbortController,
|
|
47
|
-
+AbortSignal: typeof AbortSignal,
|
|
48
|
-
|
|
49
|
-
// setUpAlert
|
|
50
|
-
+alert: typeof alert,
|
|
51
|
-
|
|
52
|
-
// setUpNavigator
|
|
53
|
-
+navigator: {
|
|
54
|
-
+product: 'ReactNative',
|
|
55
|
-
+appName?: ?string,
|
|
56
|
-
...
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
// setUpTimers
|
|
60
|
-
+setInterval: typeof setInterval,
|
|
61
|
-
+clearInterval: typeof clearInterval,
|
|
62
|
-
+setTimeout: typeof setTimeout,
|
|
63
|
-
+clearTimeout: typeof clearTimeout,
|
|
64
|
-
+requestAnimationFrame: typeof requestAnimationFrame,
|
|
65
|
-
+cancelAnimationFrame: typeof cancelAnimationFrame,
|
|
66
|
-
+requestIdleCallback: typeof requestIdleCallback,
|
|
67
|
-
+cancelIdleCallback: typeof cancelIdleCallback,
|
|
68
|
-
+queueMicrotask: typeof queueMicrotask,
|
|
69
|
-
+setImmediate: typeof setImmediate,
|
|
70
|
-
+clearImmediate: typeof clearImmediate,
|
|
71
|
-
|
|
72
|
-
// Polyfills
|
|
73
|
-
+console: typeof console,
|
|
74
|
-
|
|
75
|
-
// JavaScript environments specific
|
|
76
|
-
+HermesInternal: ?$HermesInternalType,
|
|
77
|
-
|
|
78
|
-
// Internal-specific
|
|
79
|
-
+__DEV__?: boolean,
|
|
80
|
-
+RN$Bridgeless?: boolean,
|
|
81
|
-
|
|
82
|
-
// setupDOM
|
|
83
|
-
+DOMRect: typeof DOMRect,
|
|
84
|
-
+DOMRectReadOnly: typeof DOMRectReadOnly,
|
|
85
|
-
|
|
86
|
-
// Undeclared properties are implicitly `any`.
|
|
87
|
-
[string | symbol]: any,
|
|
88
|
-
};
|
package/jest/mockModal.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
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
|
-
* @flow strict-local
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/* eslint-env jest */
|
|
12
|
-
|
|
13
|
-
'use strict';
|
|
14
|
-
|
|
15
|
-
const React = require('react');
|
|
16
|
-
|
|
17
|
-
function mockModal(BaseComponent: $FlowFixMe) {
|
|
18
|
-
class ModalMock extends BaseComponent {
|
|
19
|
-
render(): React.MixedElement | null {
|
|
20
|
-
if (this.props.visible === false) {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<BaseComponent {...this.props}>{this.props.children}</BaseComponent>
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return ModalMock;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
module.exports = (mockModal: $FlowFixMe);
|