react-native-windows 0.79.5 → 0.80.0-preview.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +12 -3
- package/Directory.Build.props +11 -2
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -1
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Alert/Alert.windows.js +3 -0
- package/Libraries/Alert/RCTAlertManager.js +17 -0
- package/Libraries/Animated/Animated.js.flow +1 -3
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +2 -2
- package/Libraries/Animated/AnimatedExports.js.flow +140 -0
- package/Libraries/Animated/AnimatedImplementation.js +2 -123
- package/Libraries/Animated/Easing.js +13 -15
- package/Libraries/Animated/animations/Animation.js +8 -4
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/createAnimatedComponent.js +105 -57
- package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
- package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
- package/Libraries/AppState/AppState.js +7 -2
- package/Libraries/BatchedBridge/MessageQueue.js +2 -2
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/BlobManager.js +1 -0
- package/Libraries/Blob/FileReader.js +219 -8
- package/Libraries/Blob/URL.js +37 -12
- package/Libraries/Blob/URLSearchParams.js +106 -31
- package/Libraries/Blob/URLSearchParams.js.flow +12 -7
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
- package/Libraries/Components/Button.d.ts +3 -0
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Button.windows.js +27 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
- package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
- package/Libraries/Components/Flyout/Flyout.js +11 -0
- package/Libraries/Components/Keyboard/Keyboard.js +5 -3
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Popup/Popup.js +11 -0
- package/Libraries/Components/Pressable/Pressable.js +20 -4
- package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
- package/Libraries/Components/ScrollView/ScrollView.js +132 -122
- package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/Switch/Switch.d.ts +3 -0
- package/Libraries/Components/Switch/Switch.js +8 -4
- package/Libraries/Components/Switch/Switch.windows.js +17 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
- package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
- package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
- package/Libraries/Components/TextInput/TextInput.js +88 -1027
- package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
- package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
- package/Libraries/Components/Touchable/Touchable.js +5 -5
- package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
- package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
- package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
- package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
- package/Libraries/Components/View/View.js +18 -21
- package/Libraries/Components/View/View.windows.js +39 -41
- package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
- package/Libraries/Components/View/ViewAccessibility.js +25 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.js +49 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/setUpReactDevTools.js +5 -5
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
- package/Libraries/Image/Image.d.ts +26 -10
- package/Libraries/Image/Image.js +17 -0
- package/Libraries/Image/Image.js.flow +5 -5
- package/Libraries/Image/Image.windows.js +13 -1
- package/Libraries/Image/ImageBackground.js +2 -0
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageProps.js +22 -17
- package/Libraries/Image/ImageSource.js +3 -1
- package/Libraries/Image/ImageSourceUtils.js +4 -2
- package/Libraries/Image/ImageTypes.flow.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +13 -0
- package/Libraries/Interaction/InteractionManager.js +1 -1
- package/Libraries/Interaction/PanResponder.js +3 -3
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -2
- package/Libraries/Lists/FlatList.js +8 -11
- package/Libraries/Lists/SectionList.js +39 -42
- package/Libraries/Lists/SectionListModern.js +25 -34
- package/Libraries/Lists/VirtualizedList.js +1 -0
- package/Libraries/Lists/VirtualizedSectionList.js +1 -0
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/Modal/Modal.js +33 -7
- package/Libraries/Modal/Modal.windows.js +33 -10
- package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js +17 -0
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +781 -10
- package/Libraries/Performance/Systrace.js +7 -7
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.windows.js +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +5 -4
- package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -322
- package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
- package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
- package/Libraries/ReactNative/FabricUIManager.js +10 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
- package/Libraries/ReactNative/RendererImplementation.js +10 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +9 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
- package/Libraries/Settings/Settings.ios.js +1 -0
- package/Libraries/Settings/Settings.js +13 -19
- package/Libraries/Settings/SettingsFallback.js +33 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
- package/Libraries/StyleSheet/Rect.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.js +31 -200
- package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
- package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
- package/Libraries/StyleSheet/flattenStyle.js +14 -4
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
- package/Libraries/Text/Text.d.ts +2 -5
- package/Libraries/Text/Text.js +3 -3
- package/Libraries/Text/Text.windows.js +3 -3
- package/Libraries/Text/TextNativeComponent.js +0 -4
- package/Libraries/Text/TextProps.js +5 -33
- package/Libraries/Text/TextProps.windows.js +5 -32
- package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
- package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
- package/Libraries/Types/CoreEventTypes.d.ts +6 -1
- package/Libraries/Types/CoreEventTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.windows.js +1 -1
- package/Libraries/Utilities/Appearance.js +2 -0
- package/Libraries/Utilities/BackHandler.js +17 -0
- package/Libraries/Utilities/DeviceInfo.js +2 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Platform.js +17 -0
- package/Libraries/Utilities/PlatformTypes.js +11 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
- package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
- package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
- package/Libraries/WebSocket/WebSocket.js +313 -8
- package/Libraries/vendor/core/ErrorUtils.js +28 -2
- package/Libraries/vendor/emitter/EventEmitter.js +6 -2
- package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +248 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +55 -160
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +30 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +36 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +22 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +37 -5
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +177 -25
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +225 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +23 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/ImageManager.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +64 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +11 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +36 -96
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +1 -1
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +29 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
- package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +49 -0
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +31 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +4 -0
- package/PropertySheets/Warnings.props +45 -0
- package/README.md +6 -2
- package/ReactCommon/ReactCommon.vcxproj +9 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
- package/Scripts/creaternwapp.cmd +9 -3
- package/Scripts/rnw-dependencies.ps1 +16 -3
- package/Shared/Shared.vcxitems +3 -2
- package/Shared/Shared.vcxitems.filters +2 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativePerformanceSpec.g.h +14 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
- package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
- package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
- package/codegen/rnwcoreJSI-generated.cpp +159 -129
- package/codegen/rnwcoreJSI.h +534 -408
- package/index.js +51 -331
- package/index.windows.js +70 -352
- package/interface.js +0 -4
- package/jest/resolver.js +31 -0
- package/jest/setup.js +6 -2
- package/package.json +29 -28
- package/src/private/animated/NativeAnimatedHelper.js +21 -8
- package/src/private/animated/createAnimatedPropsHook.js +11 -16
- package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
- package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
- package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
- package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
- package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
- package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
- package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/types/HostInstance.js +67 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
- package/src/private/webapis/performance/Performance.js +1 -3
- package/src/private/webapis/performance/PerformanceEntry.js +6 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
- package/src/types/globals.d.ts +42 -0
- package/stubs/double-conversion/double-conversion.h +3 -1
- package/templates/cpp-app/template.config.js +2 -1
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
- package/templates/cpp-lib/example/metro.config.js +1 -1
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
- package/templates/old/generateWrapper.js +1 -1
- package/templates/old/uwp-cpp-app/template.config.js +1 -1
- package/types/index.d.ts +6 -3
- package/types/public/ReactNativeTypes.d.ts +2 -2
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
- package/Libraries/Blob/FileReader_new.js +0 -231
- package/Libraries/Blob/FileReader_old.js +0 -186
- package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
- package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
- package/Libraries/Events/CustomEvent.js +0 -32
- package/Libraries/Events/EventPolyfill.js +0 -239
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
- package/Libraries/Network/XMLHttpRequest_new.js +0 -794
- package/Libraries/Network/XMLHttpRequest_old.js +0 -701
- package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
- package/Libraries/NewAppScreen/components/Header.js +0 -77
- package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
- package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -25
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
- package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
- package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
- package/Libraries/WebSocket/WebSocketEvent.js +0 -30
- package/Libraries/WebSocket/WebSocket_new.js +0 -325
- package/Libraries/WebSocket/WebSocket_old.js +0 -297
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
- package/jest/__tests__/setup-test.js +0 -18
- package/src/private/components/VScrollViewNativeComponents.js +0 -25
- package/src/private/utilities/ensureInstance.js +0 -21
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
- package/types/modules/LaunchScreen.d.ts +0 -18
- /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
- /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {RootTag} from '../Types/RootTagTypes';
|
|
12
|
+
import type {
|
|
13
|
+
AppConfig,
|
|
14
|
+
AppParameters,
|
|
15
|
+
ComponentProvider,
|
|
16
|
+
ComponentProviderInstrumentationHook,
|
|
17
|
+
Registry,
|
|
18
|
+
RootViewStyleProvider,
|
|
19
|
+
Runnable,
|
|
20
|
+
Runnables,
|
|
21
|
+
TaskProvider,
|
|
22
|
+
WrapperComponentProvider,
|
|
23
|
+
} from './AppRegistry.flow';
|
|
24
|
+
|
|
25
|
+
import BugReporting from '../BugReporting/BugReporting';
|
|
26
|
+
import createPerformanceLogger from '../Utilities/createPerformanceLogger';
|
|
27
|
+
import infoLog from '../Utilities/infoLog';
|
|
28
|
+
import SceneTracker from '../Utilities/SceneTracker';
|
|
29
|
+
import {coerceDisplayMode} from './DisplayMode';
|
|
30
|
+
import HeadlessJsTaskError from './HeadlessJsTaskError';
|
|
31
|
+
import NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';
|
|
32
|
+
import renderApplication from './renderApplication';
|
|
33
|
+
import {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';
|
|
34
|
+
import invariant from 'invariant';
|
|
35
|
+
|
|
36
|
+
type TaskCanceller = () => void;
|
|
37
|
+
type TaskCancelProvider = () => TaskCanceller;
|
|
38
|
+
|
|
39
|
+
const runnables: Runnables = {};
|
|
40
|
+
let runCount = 1;
|
|
41
|
+
const sections: Runnables = {};
|
|
42
|
+
const taskProviders: Map<string, TaskProvider> = new Map();
|
|
43
|
+
const taskCancelProviders: Map<string, TaskCancelProvider> = new Map();
|
|
44
|
+
let componentProviderInstrumentationHook: ComponentProviderInstrumentationHook =
|
|
45
|
+
(component: ComponentProvider) => component();
|
|
46
|
+
|
|
47
|
+
let wrapperComponentProvider: ?WrapperComponentProvider;
|
|
48
|
+
let rootViewStyleProvider: ?RootViewStyleProvider;
|
|
49
|
+
|
|
50
|
+
export function setWrapperComponentProvider(
|
|
51
|
+
provider: WrapperComponentProvider,
|
|
52
|
+
) {
|
|
53
|
+
wrapperComponentProvider = provider;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function setRootViewStyleProvider(provider: RootViewStyleProvider) {
|
|
57
|
+
rootViewStyleProvider = provider;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function registerConfig(config: Array<AppConfig>): void {
|
|
61
|
+
config.forEach(appConfig => {
|
|
62
|
+
if (appConfig.run) {
|
|
63
|
+
registerRunnable(appConfig.appKey, appConfig.run);
|
|
64
|
+
} else {
|
|
65
|
+
invariant(
|
|
66
|
+
appConfig.component != null,
|
|
67
|
+
'AppRegistry.registerConfig(...): Every config is expected to set ' +
|
|
68
|
+
'either `run` or `component`, but `%s` has neither.',
|
|
69
|
+
appConfig.appKey,
|
|
70
|
+
);
|
|
71
|
+
registerComponent(
|
|
72
|
+
appConfig.appKey,
|
|
73
|
+
appConfig.component,
|
|
74
|
+
appConfig.section,
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Registers an app's root component.
|
|
82
|
+
*
|
|
83
|
+
* See https://reactnative.dev/docs/appregistry#registercomponent
|
|
84
|
+
*/
|
|
85
|
+
export function registerComponent(
|
|
86
|
+
appKey: string,
|
|
87
|
+
componentProvider: ComponentProvider,
|
|
88
|
+
section?: boolean,
|
|
89
|
+
): string {
|
|
90
|
+
const scopedPerformanceLogger = createPerformanceLogger();
|
|
91
|
+
runnables[appKey] = (appParameters, displayMode) => {
|
|
92
|
+
renderApplication(
|
|
93
|
+
componentProviderInstrumentationHook(
|
|
94
|
+
componentProvider,
|
|
95
|
+
scopedPerformanceLogger,
|
|
96
|
+
),
|
|
97
|
+
appParameters.initialProps,
|
|
98
|
+
appParameters.rootTag,
|
|
99
|
+
wrapperComponentProvider && wrapperComponentProvider(appParameters),
|
|
100
|
+
rootViewStyleProvider && rootViewStyleProvider(appParameters),
|
|
101
|
+
appParameters.fabric,
|
|
102
|
+
scopedPerformanceLogger,
|
|
103
|
+
appKey === 'LogBox', // is logbox
|
|
104
|
+
appKey,
|
|
105
|
+
displayMode,
|
|
106
|
+
);
|
|
107
|
+
};
|
|
108
|
+
if (section) {
|
|
109
|
+
sections[appKey] = runnables[appKey];
|
|
110
|
+
}
|
|
111
|
+
return appKey;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function registerRunnable(appKey: string, run: Runnable): string {
|
|
115
|
+
runnables[appKey] = run;
|
|
116
|
+
return appKey;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export function registerSection(
|
|
120
|
+
appKey: string,
|
|
121
|
+
component: ComponentProvider,
|
|
122
|
+
): void {
|
|
123
|
+
registerComponent(appKey, component, true);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export function getAppKeys(): $ReadOnlyArray<string> {
|
|
127
|
+
return Object.keys(runnables);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export function getSectionKeys(): $ReadOnlyArray<string> {
|
|
131
|
+
return Object.keys(sections);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export function getSections(): Runnables {
|
|
135
|
+
return {
|
|
136
|
+
...sections,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export function getRunnable(appKey: string): ?Runnable {
|
|
141
|
+
return runnables[appKey];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export function getRegistry(): Registry {
|
|
145
|
+
return {
|
|
146
|
+
sections: getSectionKeys(),
|
|
147
|
+
runnables: {...runnables},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export function setComponentProviderInstrumentationHook(
|
|
152
|
+
hook: ComponentProviderInstrumentationHook,
|
|
153
|
+
) {
|
|
154
|
+
componentProviderInstrumentationHook = hook;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Loads the JavaScript bundle and runs the app.
|
|
159
|
+
*
|
|
160
|
+
* See https://reactnative.dev/docs/appregistry#runapplication
|
|
161
|
+
*/
|
|
162
|
+
export function runApplication(
|
|
163
|
+
appKey: string,
|
|
164
|
+
appParameters: AppParameters,
|
|
165
|
+
displayMode?: number,
|
|
166
|
+
): void {
|
|
167
|
+
if (appKey !== 'LogBox') {
|
|
168
|
+
const logParams = __DEV__ ? ` with ${JSON.stringify(appParameters)}` : '';
|
|
169
|
+
const msg = `Running "${appKey}"${logParams}`;
|
|
170
|
+
infoLog(msg);
|
|
171
|
+
BugReporting.addSource(
|
|
172
|
+
'AppRegistry.runApplication' + runCount++,
|
|
173
|
+
() => msg,
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
invariant(
|
|
177
|
+
runnables[appKey],
|
|
178
|
+
`"${appKey}" has not been registered. This can happen if:\n` +
|
|
179
|
+
'* Metro (the local dev server) is run from the wrong folder. ' +
|
|
180
|
+
'Check if Metro is running, stop it and restart it in the current project.\n' +
|
|
181
|
+
"* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.",
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
SceneTracker.setActiveScene({name: appKey});
|
|
185
|
+
runnables[appKey](appParameters, coerceDisplayMode(displayMode));
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Update initial props for a surface that's already rendered
|
|
190
|
+
*/
|
|
191
|
+
export function setSurfaceProps(
|
|
192
|
+
appKey: string,
|
|
193
|
+
appParameters: Object,
|
|
194
|
+
displayMode?: number,
|
|
195
|
+
): void {
|
|
196
|
+
if (appKey !== 'LogBox') {
|
|
197
|
+
const msg =
|
|
198
|
+
'Updating props for Surface "' +
|
|
199
|
+
appKey +
|
|
200
|
+
'" with ' +
|
|
201
|
+
JSON.stringify(appParameters);
|
|
202
|
+
infoLog(msg);
|
|
203
|
+
BugReporting.addSource(
|
|
204
|
+
'AppRegistry.setSurfaceProps' + runCount++,
|
|
205
|
+
() => msg,
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
invariant(
|
|
209
|
+
runnables[appKey],
|
|
210
|
+
`"${appKey}" has not been registered. This can happen if:\n` +
|
|
211
|
+
'* Metro (the local dev server) is run from the wrong folder. ' +
|
|
212
|
+
'Check if Metro is running, stop it and restart it in the current project.\n' +
|
|
213
|
+
"* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.",
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
runnables[appKey](appParameters, coerceDisplayMode(displayMode));
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Stops an application when a view should be destroyed.
|
|
221
|
+
*
|
|
222
|
+
* See https://reactnative.dev/docs/appregistry#unmountapplicationcomponentatroottag
|
|
223
|
+
*/
|
|
224
|
+
export function unmountApplicationComponentAtRootTag(rootTag: RootTag): void {
|
|
225
|
+
unmountComponentAtNodeAndRemoveContainer(rootTag);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Register a headless task. A headless task is a bit of code that runs without a UI.
|
|
230
|
+
*
|
|
231
|
+
* See https://reactnative.dev/docs/appregistry#registerheadlesstask
|
|
232
|
+
*/
|
|
233
|
+
export function registerHeadlessTask(
|
|
234
|
+
taskKey: string,
|
|
235
|
+
taskProvider: TaskProvider,
|
|
236
|
+
): void {
|
|
237
|
+
// $FlowFixMe[object-this-reference]
|
|
238
|
+
registerCancellableHeadlessTask(taskKey, taskProvider, () => () => {
|
|
239
|
+
/* Cancel is no-op */
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Register a cancellable headless task. A headless task is a bit of code that runs without a UI.
|
|
245
|
+
*
|
|
246
|
+
* See https://reactnative.dev/docs/appregistry#registercancellableheadlesstask
|
|
247
|
+
*/
|
|
248
|
+
export function registerCancellableHeadlessTask(
|
|
249
|
+
taskKey: string,
|
|
250
|
+
taskProvider: TaskProvider,
|
|
251
|
+
taskCancelProvider: TaskCancelProvider,
|
|
252
|
+
): void {
|
|
253
|
+
if (taskProviders.has(taskKey)) {
|
|
254
|
+
console.warn(
|
|
255
|
+
`registerHeadlessTask or registerCancellableHeadlessTask called multiple times for same key '${taskKey}'`,
|
|
256
|
+
);
|
|
257
|
+
}
|
|
258
|
+
taskProviders.set(taskKey, taskProvider);
|
|
259
|
+
taskCancelProviders.set(taskKey, taskCancelProvider);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Only called from native code. Starts a headless task.
|
|
264
|
+
*
|
|
265
|
+
* See https://reactnative.dev/docs/appregistry#startheadlesstask
|
|
266
|
+
*/
|
|
267
|
+
export function startHeadlessTask(
|
|
268
|
+
taskId: number,
|
|
269
|
+
taskKey: string,
|
|
270
|
+
data: any,
|
|
271
|
+
): void {
|
|
272
|
+
const taskProvider = taskProviders.get(taskKey);
|
|
273
|
+
if (!taskProvider) {
|
|
274
|
+
console.warn(`No task registered for key ${taskKey}`);
|
|
275
|
+
if (NativeHeadlessJsTaskSupport) {
|
|
276
|
+
NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
|
|
277
|
+
}
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
taskProvider()(data)
|
|
281
|
+
.then(() => {
|
|
282
|
+
if (NativeHeadlessJsTaskSupport) {
|
|
283
|
+
NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
|
|
284
|
+
}
|
|
285
|
+
})
|
|
286
|
+
.catch(reason => {
|
|
287
|
+
console.error(reason);
|
|
288
|
+
|
|
289
|
+
if (
|
|
290
|
+
NativeHeadlessJsTaskSupport &&
|
|
291
|
+
reason instanceof HeadlessJsTaskError
|
|
292
|
+
) {
|
|
293
|
+
// $FlowFixMe[unused-promise]
|
|
294
|
+
NativeHeadlessJsTaskSupport.notifyTaskRetry(taskId).then(
|
|
295
|
+
retryPosted => {
|
|
296
|
+
if (!retryPosted) {
|
|
297
|
+
NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Only called from native code. Cancels a headless task.
|
|
307
|
+
*
|
|
308
|
+
* See https://reactnative.dev/docs/appregistry#cancelheadlesstask
|
|
309
|
+
*/
|
|
310
|
+
export function cancelHeadlessTask(taskId: number, taskKey: string): void {
|
|
311
|
+
const taskCancelProvider = taskCancelProviders.get(taskKey);
|
|
312
|
+
if (!taskCancelProvider) {
|
|
313
|
+
throw new Error(`No task canceller registered for key '${taskKey}'`);
|
|
314
|
+
}
|
|
315
|
+
taskCancelProvider()();
|
|
316
|
+
}
|
|
@@ -92,6 +92,11 @@ export interface Spec {
|
|
|
92
92
|
/* width: */ number,
|
|
93
93
|
/* height: */ number,
|
|
94
94
|
];
|
|
95
|
+
+unstable_DefaultEventPriority: number;
|
|
96
|
+
+unstable_DiscreteEventPriority: number;
|
|
97
|
+
+unstable_ContinuousEventPriority: number;
|
|
98
|
+
+unstable_IdleEventPriority: number;
|
|
99
|
+
+unstable_getCurrentEventPriority: () => number;
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
let nativeFabricUIManagerProxy: ?Spec;
|
|
@@ -119,6 +124,11 @@ const CACHED_PROPERTIES = [
|
|
|
119
124
|
'dispatchCommand',
|
|
120
125
|
'compareDocumentPosition',
|
|
121
126
|
'getBoundingClientRect',
|
|
127
|
+
'unstable_DefaultEventPriority',
|
|
128
|
+
'unstable_DiscreteEventPriority',
|
|
129
|
+
'unstable_ContinuousEventPriority',
|
|
130
|
+
'unstable_IdleEventPriority',
|
|
131
|
+
'unstable_getCurrentEventPriority',
|
|
122
132
|
];
|
|
123
133
|
|
|
124
134
|
// This is exposed as a getter because apps using the legacy renderer AND
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
import type {
|
|
12
12
|
HostInstance,
|
|
13
|
-
LegacyHostInstanceMethods,
|
|
14
13
|
MeasureInWindowOnSuccessCallback,
|
|
15
14
|
MeasureLayoutOnSuccessCallback,
|
|
16
15
|
MeasureOnSuccessCallback,
|
|
16
|
+
NativeMethods,
|
|
17
17
|
} from '../../../src/private/types/HostInstance';
|
|
18
18
|
import type {
|
|
19
19
|
InternalInstanceHandle,
|
|
@@ -40,9 +40,7 @@ const noop = () => {};
|
|
|
40
40
|
/**
|
|
41
41
|
* This is used for refs on host components.
|
|
42
42
|
*/
|
|
43
|
-
export default class ReactFabricHostComponent
|
|
44
|
-
implements LegacyHostInstanceMethods
|
|
45
|
-
{
|
|
43
|
+
export default class ReactFabricHostComponent implements NativeMethods {
|
|
46
44
|
// These need to be accessible from `ReactFabricPublicInstanceUtils`.
|
|
47
45
|
__nativeTag: number;
|
|
48
46
|
__internalInstanceHandle: InternalInstanceHandle;
|
|
@@ -71,10 +71,7 @@ function getReadOnlyTextClass(): Class<ReadOnlyTextT> {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export function createPublicRootInstance(rootTag: RootTag): PublicRootInstance {
|
|
74
|
-
if (
|
|
75
|
-
ReactNativeFeatureFlags.enableAccessToHostTreeInFabric() &&
|
|
76
|
-
ReactNativeFeatureFlags.enableDOMDocumentAPI()
|
|
77
|
-
) {
|
|
74
|
+
if (ReactNativeFeatureFlags.enableAccessToHostTreeInFabric()) {
|
|
78
75
|
const ReactNativeDocumentModule = getReactNativeDocumentModule();
|
|
79
76
|
|
|
80
77
|
// $FlowExpectedError[incompatible-return]
|
|
@@ -13,7 +13,6 @@ import type {
|
|
|
13
13
|
InternalInstanceHandle,
|
|
14
14
|
Node,
|
|
15
15
|
} from '../Renderer/shims/ReactNativeTypes';
|
|
16
|
-
import type {ElementRef, ElementType} from 'react';
|
|
17
16
|
|
|
18
17
|
import {
|
|
19
18
|
onCaughtError,
|
|
@@ -21,6 +20,8 @@ import {
|
|
|
21
20
|
onUncaughtError,
|
|
22
21
|
} from '../../src/private/renderer/errorhandling/ErrorHandlers';
|
|
23
22
|
import {type RootTag} from './RootTag';
|
|
23
|
+
import * as React from 'react';
|
|
24
|
+
|
|
24
25
|
export function renderElement({
|
|
25
26
|
element,
|
|
26
27
|
rootTag,
|
|
@@ -58,18 +59,22 @@ export function renderElement({
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
|
|
61
|
-
export function findHostInstance_DEPRECATED<TElementType: ElementType>(
|
|
62
|
-
|
|
62
|
+
export function findHostInstance_DEPRECATED<TElementType: React.ElementType>(
|
|
63
|
+
// $FlowFixMe[incompatible-call]
|
|
64
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
63
65
|
): ?HostInstance {
|
|
64
66
|
return require('../Renderer/shims/ReactNative').default.findHostInstance_DEPRECATED(
|
|
67
|
+
// $FlowFixMe[incompatible-call]
|
|
65
68
|
componentOrHandle,
|
|
66
69
|
);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
|
-
export function findNodeHandle<TElementType: ElementType>(
|
|
70
|
-
|
|
72
|
+
export function findNodeHandle<TElementType: React.ElementType>(
|
|
73
|
+
// $FlowFixMe[incompatible-call]
|
|
74
|
+
componentOrHandle: ?(React.ElementRef<TElementType> | number),
|
|
71
75
|
): ?number {
|
|
72
76
|
return require('../Renderer/shims/ReactNative').default.findNodeHandle(
|
|
77
|
+
// $FlowFixMe[incompatible-call]
|
|
73
78
|
componentOrHandle,
|
|
74
79
|
);
|
|
75
80
|
}
|
|
@@ -90,6 +90,7 @@ function getNativeComponentAttributes(uiViewClassName: string): any {
|
|
|
90
90
|
// top-level props on the native side.
|
|
91
91
|
validAttributes.style = ReactNativeStyleAttributes;
|
|
92
92
|
|
|
93
|
+
// $FlowFixMe[unsafe-object-assign]
|
|
93
94
|
Object.assign(viewConfig, {
|
|
94
95
|
uiViewClassName,
|
|
95
96
|
validAttributes,
|
|
@@ -13,6 +13,7 @@ import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
|
|
|
13
13
|
|
|
14
14
|
import GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';
|
|
15
15
|
import PerformanceLoggerContext from '../Utilities/PerformanceLoggerContext';
|
|
16
|
+
import warnOnce from '../Utilities/warnOnce';
|
|
16
17
|
import AppContainer from './AppContainer';
|
|
17
18
|
import DisplayMode, {type DisplayModeType} from './DisplayMode';
|
|
18
19
|
import getCachedComponentWithDebugName from './getCachedComponentWithDebugName';
|
|
@@ -104,5 +105,13 @@ export default function renderApplication<Props: Object>(
|
|
|
104
105
|
useFabric: Boolean(fabric),
|
|
105
106
|
useConcurrentRoot,
|
|
106
107
|
});
|
|
108
|
+
|
|
109
|
+
const newArchitecture = !!fabric;
|
|
110
|
+
if (!newArchitecture) {
|
|
111
|
+
warnOnce(
|
|
112
|
+
'[OSS][OldArchDeprecatedWarning]',
|
|
113
|
+
'The app is running using the Legacy Architecture. The Legacy Architecture is deprecated and will be removed in a future version of React Native. Please consider migrating to the New Architecture. For more information, please see https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here',
|
|
114
|
+
);
|
|
115
|
+
}
|
|
107
116
|
performanceLogger.stopTimespan('renderApplication_React_render');
|
|
108
117
|
}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import typeof CustomEvent from '../../src/private/webapis/dom/events/CustomEvent';
|
|
11
12
|
import typeof BatchedBridge from '../BatchedBridge/BatchedBridge';
|
|
12
13
|
import typeof legacySendAccessibilityEvent from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
|
|
13
14
|
import typeof TextInputState from '../Components/TextInput/TextInputState';
|
|
@@ -15,7 +16,6 @@ import typeof ExceptionsManager from '../Core/ExceptionsManager';
|
|
|
15
16
|
import typeof RawEventEmitter from '../Core/RawEventEmitter';
|
|
16
17
|
import typeof ReactFiberErrorDialog from '../Core/ReactFiberErrorDialog';
|
|
17
18
|
import typeof RCTEventEmitter from '../EventEmitter/RCTEventEmitter';
|
|
18
|
-
import typeof CustomEvent from '../Events/CustomEvent';
|
|
19
19
|
import typeof {
|
|
20
20
|
createPublicInstance,
|
|
21
21
|
createPublicRootInstance,
|
|
@@ -41,7 +41,7 @@ export type {
|
|
|
41
41
|
HostInstance as PublicInstance,
|
|
42
42
|
|
|
43
43
|
// These types are only necessary for Paper
|
|
44
|
-
|
|
44
|
+
NativeMethods as LegacyPublicInstance,
|
|
45
45
|
MeasureOnSuccessCallback,
|
|
46
46
|
MeasureInWindowOnSuccessCallback,
|
|
47
47
|
MeasureLayoutOnSuccessCallback,
|
|
@@ -99,7 +99,7 @@ module.exports = {
|
|
|
99
99
|
return require('../Core/RawEventEmitter').default;
|
|
100
100
|
},
|
|
101
101
|
get CustomEvent(): CustomEvent {
|
|
102
|
-
return require('
|
|
102
|
+
return require('../../src/private/webapis/dom/events/CustomEvent').default;
|
|
103
103
|
},
|
|
104
104
|
get createAttributePayload(): createAttributePayload {
|
|
105
105
|
return require('../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload')
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
import typeof {createPublicTextInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
|
|
12
|
+
|
|
13
|
+
export type {
|
|
14
|
+
HostInstance as PublicInstance,
|
|
15
|
+
|
|
16
|
+
// These types are only necessary for Paper
|
|
17
|
+
NativeMethods as LegacyPublicInstance,
|
|
18
|
+
MeasureOnSuccessCallback,
|
|
19
|
+
MeasureInWindowOnSuccessCallback,
|
|
20
|
+
MeasureLayoutOnSuccessCallback,
|
|
21
|
+
} from '../../src/private/types/HostInstance';
|
|
22
|
+
|
|
23
|
+
export type {PublicRootInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
|
|
24
|
+
export type PublicTextInstance = ReturnType<createPublicTextInstance>;
|
|
25
|
+
|
|
26
|
+
export {default as BatchedBridge} from '../BatchedBridge/BatchedBridge';
|
|
27
|
+
export {default as ExceptionsManager} from '../Core/ExceptionsManager';
|
|
28
|
+
export {default as Platform} from '../Utilities/Platform';
|
|
29
|
+
export {default as RCTEventEmitter} from '../EventEmitter/RCTEventEmitter';
|
|
30
|
+
export * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';
|
|
31
|
+
export {default as TextInputState} from '../Components/TextInput/TextInputState';
|
|
32
|
+
export {default as UIManager} from '../ReactNative/UIManager';
|
|
33
|
+
export {default as deepDiffer} from '../Utilities/differ/deepDiffer';
|
|
34
|
+
export {default as deepFreezeAndThrowOnMutationInDev} from '../Utilities/deepFreezeAndThrowOnMutationInDev';
|
|
35
|
+
export {default as flattenStyle} from '../StyleSheet/flattenStyle';
|
|
36
|
+
export {default as ReactFiberErrorDialog} from '../Core/ReactFiberErrorDialog';
|
|
37
|
+
export {default as legacySendAccessibilityEvent} from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
|
|
38
|
+
export {default as RawEventEmitter} from '../Core/RawEventEmitter';
|
|
39
|
+
export {default as CustomEvent} from '../../src/private/webapis/dom/events/CustomEvent';
|
|
40
|
+
export {
|
|
41
|
+
create as createAttributePayload,
|
|
42
|
+
diff as diffAttributePayloads,
|
|
43
|
+
} from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
|
|
44
|
+
export {
|
|
45
|
+
createPublicRootInstance,
|
|
46
|
+
createPublicInstance,
|
|
47
|
+
createPublicTextInstance,
|
|
48
|
+
getNativeTagFromPublicInstance,
|
|
49
|
+
getNodeFromPublicInstance,
|
|
50
|
+
getInternalInstanceHandleFromPublicInstance,
|
|
51
|
+
} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
|