react-native-windows 0.79.2 → 0.80.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 +12 -3
- package/Directory.Build.props +5 -2
- 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 +8 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +197 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +34 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +81 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +5 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +148 -14
- 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/FabricUIManagerModule.cpp +4 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- 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/textlayoutmanager/WindowsTextLayoutManager.cpp +34 -94
- 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.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/React.Cpp.props +4 -0
- package/README.md +2 -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 +2 -1
- 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/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/windows/MyApp/MyApp.vcxproj +4 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
- 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
|
@@ -12,8 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
14
14
|
import type {
|
|
15
|
+
ListRenderItemInfo,
|
|
15
16
|
ScrollToLocationParamsType,
|
|
16
17
|
SectionBase as _SectionBase,
|
|
18
|
+
SectionData,
|
|
17
19
|
VirtualizedSectionListProps,
|
|
18
20
|
} from '@react-native/virtualized-lists';
|
|
19
21
|
|
|
@@ -23,11 +25,21 @@ import * as React from 'react';
|
|
|
23
25
|
|
|
24
26
|
const VirtualizedSectionList = VirtualizedLists.VirtualizedSectionList;
|
|
25
27
|
|
|
26
|
-
type
|
|
28
|
+
type DefaultSectionT = {
|
|
29
|
+
[key: string]: any,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export type SectionBase<
|
|
33
|
+
SectionItemT,
|
|
34
|
+
SectionT = DefaultSectionT,
|
|
35
|
+
> = _SectionBase<SectionItemT, SectionT>;
|
|
27
36
|
|
|
28
|
-
export type
|
|
37
|
+
export type {
|
|
38
|
+
SectionData as SectionListData,
|
|
39
|
+
ScrollToLocationParamsType as SectionListScrollParams,
|
|
40
|
+
};
|
|
29
41
|
|
|
30
|
-
type RequiredProps<SectionT
|
|
42
|
+
type RequiredProps<ItemT, SectionT = DefaultSectionT> = {
|
|
31
43
|
/**
|
|
32
44
|
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
33
45
|
*
|
|
@@ -39,25 +51,24 @@ type RequiredProps<SectionT: SectionBase<any>> = {
|
|
|
39
51
|
* ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>,
|
|
40
52
|
* }>
|
|
41
53
|
*/
|
|
42
|
-
sections: $ReadOnlyArray<SectionT
|
|
54
|
+
sections: $ReadOnlyArray<SectionData<ItemT, SectionT>>,
|
|
43
55
|
};
|
|
44
56
|
|
|
45
|
-
type
|
|
57
|
+
export type SectionListRenderItemInfo<ItemT, SectionT = DefaultSectionT> = {
|
|
58
|
+
...ListRenderItemInfo<ItemT>,
|
|
59
|
+
section: SectionData<ItemT, SectionT>,
|
|
60
|
+
...
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export type SectionListRenderItem<ItemT, SectionT = DefaultSectionT> = (
|
|
64
|
+
info: SectionListRenderItemInfo<ItemT, SectionT>,
|
|
65
|
+
) => React.Node | null;
|
|
66
|
+
|
|
67
|
+
type OptionalProps<ItemT, SectionT = DefaultSectionT> = {
|
|
46
68
|
/**
|
|
47
69
|
* Default renderer for every item in every section. Can be over-ridden on a per-section basis.
|
|
48
70
|
*/
|
|
49
|
-
renderItem?:
|
|
50
|
-
item: Item,
|
|
51
|
-
index: number,
|
|
52
|
-
section: SectionT,
|
|
53
|
-
separators: {
|
|
54
|
-
highlight: () => void,
|
|
55
|
-
unhighlight: () => void,
|
|
56
|
-
updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,
|
|
57
|
-
...
|
|
58
|
-
},
|
|
59
|
-
...
|
|
60
|
-
}) => null | React.Node,
|
|
71
|
+
renderItem?: SectionListRenderItem<ItemT, SectionT>,
|
|
61
72
|
/**
|
|
62
73
|
* A marker property for telling the list to re-render (since it implements `PureComponent`). If
|
|
63
74
|
* any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the
|
|
@@ -80,7 +91,7 @@ type OptionalProps<SectionT: SectionBase<any>> = {
|
|
|
80
91
|
* falls back to using the index, like react does. Note that this sets keys for each item, but
|
|
81
92
|
* each overall section still needs its own key.
|
|
82
93
|
*/
|
|
83
|
-
keyExtractor?: ?(item:
|
|
94
|
+
keyExtractor?: ?(item: ItemT, index: number) => string,
|
|
84
95
|
/**
|
|
85
96
|
* Called once when the scroll position gets within `onEndReachedThreshold` of the rendered
|
|
86
97
|
* content.
|
|
@@ -94,28 +105,13 @@ type OptionalProps<SectionT: SectionBase<any>> = {
|
|
|
94
105
|
removeClippedSubviews?: boolean,
|
|
95
106
|
};
|
|
96
107
|
|
|
97
|
-
export type
|
|
98
|
-
|
|
99
|
-
VirtualizedSectionListProps<SectionT>,
|
|
100
|
-
|
|
101
|
-
getItem: $PropertyType<VirtualizedSectionListProps<SectionT>, 'getItem'>,
|
|
102
|
-
getItemCount: $PropertyType<
|
|
103
|
-
VirtualizedSectionListProps<SectionT>,
|
|
104
|
-
'getItemCount',
|
|
105
|
-
>,
|
|
106
|
-
renderItem: $PropertyType<
|
|
107
|
-
VirtualizedSectionListProps<SectionT>,
|
|
108
|
-
'renderItem',
|
|
109
|
-
>,
|
|
110
|
-
keyExtractor: $PropertyType<
|
|
111
|
-
VirtualizedSectionListProps<SectionT>,
|
|
112
|
-
'keyExtractor',
|
|
113
|
-
>,
|
|
114
|
-
...
|
|
115
|
-
},
|
|
108
|
+
export type SectionListProps<ItemT, SectionT = DefaultSectionT> = {
|
|
109
|
+
...Omit<
|
|
110
|
+
VirtualizedSectionListProps<ItemT, SectionT>,
|
|
111
|
+
'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor',
|
|
116
112
|
>,
|
|
117
|
-
...RequiredProps<SectionT>,
|
|
118
|
-
...OptionalProps<SectionT>,
|
|
113
|
+
...RequiredProps<ItemT, SectionT>,
|
|
114
|
+
...OptionalProps<ItemT, SectionT>,
|
|
119
115
|
};
|
|
120
116
|
|
|
121
117
|
/**
|
|
@@ -174,9 +170,10 @@ export type Props<SectionT> = {
|
|
|
174
170
|
*
|
|
175
171
|
*/
|
|
176
172
|
export default class SectionList<
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
173
|
+
ItemT = any,
|
|
174
|
+
SectionT = DefaultSectionT,
|
|
175
|
+
> extends React.PureComponent<SectionListProps<ItemT, SectionT>> {
|
|
176
|
+
props: SectionListProps<ItemT, SectionT>;
|
|
180
177
|
|
|
181
178
|
/**
|
|
182
179
|
* Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)
|
|
@@ -14,21 +14,27 @@ import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
|
14
14
|
import type {
|
|
15
15
|
ScrollToLocationParamsType,
|
|
16
16
|
SectionBase as _SectionBase,
|
|
17
|
+
SectionData,
|
|
17
18
|
VirtualizedSectionListProps,
|
|
18
19
|
} from '@react-native/virtualized-lists';
|
|
19
|
-
import type {ElementRef} from 'react';
|
|
20
20
|
|
|
21
21
|
import Platform from '../Utilities/Platform';
|
|
22
22
|
import VirtualizedLists from '@react-native/virtualized-lists';
|
|
23
|
-
import
|
|
23
|
+
import * as React from 'react';
|
|
24
|
+
import {forwardRef, useImperativeHandle, useRef} from 'react';
|
|
24
25
|
|
|
25
26
|
const VirtualizedSectionList = VirtualizedLists.VirtualizedSectionList;
|
|
26
27
|
|
|
27
|
-
type
|
|
28
|
+
type DefaultSectionT = {
|
|
29
|
+
[key: string]: any,
|
|
30
|
+
};
|
|
28
31
|
|
|
29
|
-
export type SectionBase<
|
|
32
|
+
export type SectionBase<
|
|
33
|
+
SectionItemT,
|
|
34
|
+
SectionT = DefaultSectionT,
|
|
35
|
+
> = _SectionBase<SectionItemT, SectionT>;
|
|
30
36
|
|
|
31
|
-
type RequiredProps<SectionT
|
|
37
|
+
type RequiredProps<ItemT, SectionT = DefaultSectionT> = {
|
|
32
38
|
/**
|
|
33
39
|
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
34
40
|
*
|
|
@@ -40,17 +46,17 @@ type RequiredProps<SectionT: SectionBase<any>> = {
|
|
|
40
46
|
* ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>,
|
|
41
47
|
* }>
|
|
42
48
|
*/
|
|
43
|
-
sections: $ReadOnlyArray<SectionT
|
|
49
|
+
sections: $ReadOnlyArray<SectionData<ItemT, SectionT>>,
|
|
44
50
|
};
|
|
45
51
|
|
|
46
|
-
type OptionalProps<SectionT
|
|
52
|
+
type OptionalProps<ItemT, SectionT = DefaultSectionT> = {
|
|
47
53
|
/**
|
|
48
54
|
* Default renderer for every item in every section. Can be over-ridden on a per-section basis.
|
|
49
55
|
*/
|
|
50
56
|
renderItem?: (info: {
|
|
51
|
-
item:
|
|
57
|
+
item: ItemT,
|
|
52
58
|
index: number,
|
|
53
|
-
section: SectionT
|
|
59
|
+
section: SectionData<ItemT, SectionT>,
|
|
54
60
|
separators: {
|
|
55
61
|
highlight: () => void,
|
|
56
62
|
unhighlight: () => void,
|
|
@@ -81,7 +87,7 @@ type OptionalProps<SectionT: SectionBase<any>> = {
|
|
|
81
87
|
* falls back to using the index, like react does. Note that this sets keys for each item, but
|
|
82
88
|
* each overall section still needs its own key.
|
|
83
89
|
*/
|
|
84
|
-
keyExtractor?: ?(item:
|
|
90
|
+
keyExtractor?: ?(item: ItemT, index: number) => string,
|
|
85
91
|
/**
|
|
86
92
|
* Called once when the scroll position gets within `onEndReachedThreshold` of the rendered
|
|
87
93
|
* content.
|
|
@@ -95,28 +101,13 @@ type OptionalProps<SectionT: SectionBase<any>> = {
|
|
|
95
101
|
removeClippedSubviews?: boolean,
|
|
96
102
|
};
|
|
97
103
|
|
|
98
|
-
export type Props<SectionT
|
|
99
|
-
|
|
100
|
-
VirtualizedSectionListProps<SectionT>,
|
|
101
|
-
|
|
102
|
-
getItem: $PropertyType<VirtualizedSectionListProps<SectionT>, 'getItem'>,
|
|
103
|
-
getItemCount: $PropertyType<
|
|
104
|
-
VirtualizedSectionListProps<SectionT>,
|
|
105
|
-
'getItemCount',
|
|
106
|
-
>,
|
|
107
|
-
renderItem: $PropertyType<
|
|
108
|
-
VirtualizedSectionListProps<SectionT>,
|
|
109
|
-
'renderItem',
|
|
110
|
-
>,
|
|
111
|
-
keyExtractor: $PropertyType<
|
|
112
|
-
VirtualizedSectionListProps<SectionT>,
|
|
113
|
-
'keyExtractor',
|
|
114
|
-
>,
|
|
115
|
-
...
|
|
116
|
-
},
|
|
104
|
+
export type Props<ItemT, SectionT = DefaultSectionT> = $ReadOnly<{
|
|
105
|
+
...Omit<
|
|
106
|
+
VirtualizedSectionListProps<ItemT, SectionT>,
|
|
107
|
+
'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor',
|
|
117
108
|
>,
|
|
118
|
-
...RequiredProps<SectionT>,
|
|
119
|
-
...OptionalProps<SectionT>,
|
|
109
|
+
...RequiredProps<ItemT, SectionT>,
|
|
110
|
+
...OptionalProps<ItemT, SectionT>,
|
|
120
111
|
}>;
|
|
121
112
|
|
|
122
113
|
/**
|
|
@@ -176,14 +167,14 @@ export type Props<SectionT: SectionBase<any>> = $ReadOnly<{
|
|
|
176
167
|
*/
|
|
177
168
|
const SectionList: component(
|
|
178
169
|
ref?: React.RefSetter<any>,
|
|
179
|
-
...Props<
|
|
180
|
-
) = forwardRef<Props<
|
|
170
|
+
...Props<any, DefaultSectionT>
|
|
171
|
+
) = forwardRef<Props<any, DefaultSectionT>, any>((props, ref) => {
|
|
181
172
|
const propsWithDefaults = {
|
|
182
173
|
stickySectionHeadersEnabled: Platform.OS === 'ios',
|
|
183
174
|
...props,
|
|
184
175
|
};
|
|
185
176
|
|
|
186
|
-
const wrapperRef = useRef<?ElementRef<typeof VirtualizedSectionList>>();
|
|
177
|
+
const wrapperRef = useRef<?React.ElementRef<typeof VirtualizedSectionList>>();
|
|
187
178
|
|
|
188
179
|
useImperativeHandle(
|
|
189
180
|
ref,
|
|
@@ -18,7 +18,7 @@ import type {
|
|
|
18
18
|
Message,
|
|
19
19
|
} from './parseLogBoxLog';
|
|
20
20
|
|
|
21
|
-
import DebuggerSessionObserver from '../../../src/private/
|
|
21
|
+
import DebuggerSessionObserver from '../../../src/private/devsupport/rndevtools/FuseboxSessionObserver';
|
|
22
22
|
import parseErrorStack from '../../Core/Devtools/parseErrorStack';
|
|
23
23
|
import NativeDevSettings from '../../NativeModules/specs/NativeDevSettings';
|
|
24
24
|
import NativeLogBox from '../../NativeModules/specs/NativeLogBox';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import SafeAreaView from '../../src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE';
|
|
11
|
+
import SafeAreaView from '../../src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE';
|
|
12
12
|
import View from '../Components/View/View';
|
|
13
13
|
import StyleSheet from '../StyleSheet/StyleSheet';
|
|
14
14
|
import * as LogBoxData from './Data/LogBoxData';
|
package/Libraries/Modal/Modal.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {HostInstance} from '../../src/private/types/HostInstance';
|
|
11
12
|
import type {ViewProps} from '../Components/View/ViewPropTypes';
|
|
12
13
|
import type {RootTag} from '../ReactNative/RootTag';
|
|
13
14
|
import type {DirectEventHandler} from '../Types/CodegenTypes';
|
|
@@ -15,11 +16,10 @@ import type {DirectEventHandler} from '../Types/CodegenTypes';
|
|
|
15
16
|
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
|
16
17
|
import {type ColorValue} from '../StyleSheet/StyleSheet';
|
|
17
18
|
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
18
|
-
import ModalInjection from './ModalInjection';
|
|
19
19
|
import NativeModalManager from './NativeModalManager';
|
|
20
20
|
import RCTModalHostView from './RCTModalHostViewNativeComponent';
|
|
21
21
|
import VirtualizedLists from '@react-native/virtualized-lists';
|
|
22
|
-
import React from 'react';
|
|
22
|
+
import * as React from 'react';
|
|
23
23
|
|
|
24
24
|
const ScrollView = require('../Components/ScrollView/ScrollView').default;
|
|
25
25
|
const View = require('../Components/View/View').default;
|
|
@@ -36,6 +36,8 @@ type ModalEventDefinitions = {
|
|
|
36
36
|
modalDismissed: [{modalID: number}],
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
+
export type PublicModalInstance = HostInstance;
|
|
40
|
+
|
|
39
41
|
const ModalEventEmitter =
|
|
40
42
|
Platform.OS === 'ios' && NativeModalManager != null
|
|
41
43
|
? new NativeEventEmitter<ModalEventDefinitions>(
|
|
@@ -101,6 +103,11 @@ export type ModalBaseProps = {
|
|
|
101
103
|
* Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`.
|
|
102
104
|
*/
|
|
103
105
|
backdropColor?: ColorValue,
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* A ref to the native Modal component.
|
|
109
|
+
*/
|
|
110
|
+
modalRef?: React.RefSetter<PublicModalInstance>,
|
|
104
111
|
};
|
|
105
112
|
|
|
106
113
|
export type ModalPropsIOS = {
|
|
@@ -190,11 +197,11 @@ function confirmProps(props: ModalProps) {
|
|
|
190
197
|
|
|
191
198
|
// Create a state to track whether the Modal is rendering or not.
|
|
192
199
|
// This is the only prop that controls whether the modal is rendered or not.
|
|
193
|
-
type
|
|
200
|
+
type ModalState = {
|
|
194
201
|
isRendered: boolean,
|
|
195
202
|
};
|
|
196
203
|
|
|
197
|
-
class Modal extends React.Component<ModalProps,
|
|
204
|
+
class Modal extends React.Component<ModalProps, ModalState> {
|
|
198
205
|
static defaultProps: {hardwareAccelerated: boolean, visible: boolean} = {
|
|
199
206
|
visible: true,
|
|
200
207
|
hardwareAccelerated: false,
|
|
@@ -308,6 +315,7 @@ class Modal extends React.Component<ModalProps, State> {
|
|
|
308
315
|
onRequestClose={this.props.onRequestClose}
|
|
309
316
|
onShow={this.props.onShow}
|
|
310
317
|
onDismiss={onDismiss}
|
|
318
|
+
ref={this.props.modalRef}
|
|
311
319
|
visible={this.props.visible}
|
|
312
320
|
statusBarTranslucent={this.props.statusBarTranslucent}
|
|
313
321
|
navigationBarTranslucent={this.props.navigationBarTranslucent}
|
|
@@ -354,7 +362,25 @@ const styles = StyleSheet.create({
|
|
|
354
362
|
},
|
|
355
363
|
});
|
|
356
364
|
|
|
357
|
-
|
|
358
|
-
|
|
365
|
+
type ModalRefProps = $ReadOnly<{
|
|
366
|
+
ref?: React.RefSetter<PublicModalInstance>,
|
|
367
|
+
}>;
|
|
368
|
+
|
|
369
|
+
// NOTE: This wrapper component is necessary because `Modal` is a class
|
|
370
|
+
// component and we need to map `ref` to a differently named prop. This can be
|
|
371
|
+
// removed when `Modal` is a functional component.
|
|
372
|
+
function Wrapper({
|
|
373
|
+
ref,
|
|
374
|
+
...props
|
|
375
|
+
}: {
|
|
376
|
+
...ModalRefProps,
|
|
377
|
+
...ModalProps,
|
|
378
|
+
}): React.Node {
|
|
379
|
+
return <Modal {...props} modalRef={ref} />;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
Wrapper.displayName = 'Modal';
|
|
383
|
+
// $FlowExpectedError[prop-missing]
|
|
384
|
+
Wrapper.Context = VirtualizedListContextResetter;
|
|
359
385
|
|
|
360
|
-
export default
|
|
386
|
+
export default Wrapper;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {HostInstance} from '../../src/private/types/HostInstance';
|
|
11
12
|
import type {ViewProps} from '../Components/View/ViewPropTypes';
|
|
12
13
|
import type {RootTag} from '../ReactNative/RootTag';
|
|
13
14
|
import type {DirectEventHandler} from '../Types/CodegenTypes';
|
|
@@ -15,11 +16,10 @@ import type {DirectEventHandler} from '../Types/CodegenTypes';
|
|
|
15
16
|
import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
|
|
16
17
|
import {type ColorValue} from '../StyleSheet/StyleSheet';
|
|
17
18
|
import {type EventSubscription} from '../vendor/emitter/EventEmitter';
|
|
18
|
-
import ModalInjection from './ModalInjection';
|
|
19
19
|
import NativeModalManager from './NativeModalManager';
|
|
20
20
|
import RCTModalHostView from './RCTModalHostViewNativeComponent';
|
|
21
21
|
import VirtualizedLists from '@react-native/virtualized-lists';
|
|
22
|
-
import React from 'react';
|
|
22
|
+
import * as React from 'react';
|
|
23
23
|
|
|
24
24
|
const ScrollView = require('../Components/ScrollView/ScrollView').default;
|
|
25
25
|
const View = require('../Components/View/View').default;
|
|
@@ -36,6 +36,8 @@ type ModalEventDefinitions = {
|
|
|
36
36
|
modalDismissed: [{modalID: number}],
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
+
export type PublicModalInstance = HostInstance;
|
|
40
|
+
|
|
39
41
|
const ModalEventEmitter =
|
|
40
42
|
(Platform.OS === 'ios' || Platform.OS === 'windows') && // [Windows]
|
|
41
43
|
NativeModalManager != null
|
|
@@ -104,6 +106,11 @@ export type ModalBaseProps = {
|
|
|
104
106
|
* Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`.
|
|
105
107
|
*/
|
|
106
108
|
backdropColor?: ColorValue,
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* A ref to the native Modal component.
|
|
112
|
+
*/
|
|
113
|
+
modalRef?: React.RefSetter<PublicModalInstance>,
|
|
107
114
|
};
|
|
108
115
|
|
|
109
116
|
export type ModalPropsIOS = {
|
|
@@ -201,11 +208,11 @@ function confirmProps(props: ModalProps) {
|
|
|
201
208
|
|
|
202
209
|
// Create a state to track whether the Modal is rendering or not.
|
|
203
210
|
// This is the only prop that controls whether the modal is rendered or not.
|
|
204
|
-
type
|
|
211
|
+
type ModalState = {
|
|
205
212
|
isRendered: boolean,
|
|
206
213
|
};
|
|
207
214
|
|
|
208
|
-
class Modal extends React.Component<ModalProps,
|
|
215
|
+
class Modal extends React.Component<ModalProps, ModalState> {
|
|
209
216
|
static defaultProps: {hardwareAccelerated: boolean, visible: boolean} = {
|
|
210
217
|
visible: true,
|
|
211
218
|
hardwareAccelerated: false,
|
|
@@ -321,6 +328,7 @@ class Modal extends React.Component<ModalProps, State> {
|
|
|
321
328
|
onRequestClose={this.props.onRequestClose}
|
|
322
329
|
onShow={this.props.onShow}
|
|
323
330
|
onDismiss={onDismiss}
|
|
331
|
+
ref={this.props.modalRef}
|
|
324
332
|
visible={this.props.visible}
|
|
325
333
|
statusBarTranslucent={this.props.statusBarTranslucent}
|
|
326
334
|
navigationBarTranslucent={this.props.navigationBarTranslucent}
|
|
@@ -368,10 +376,25 @@ const styles = StyleSheet.create({
|
|
|
368
376
|
},
|
|
369
377
|
});
|
|
370
378
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
379
|
+
type ModalRefProps = $ReadOnly<{
|
|
380
|
+
ref?: React.RefSetter<PublicModalInstance>,
|
|
381
|
+
}>;
|
|
382
|
+
|
|
383
|
+
// NOTE: This wrapper component is necessary because `Modal` is a class
|
|
384
|
+
// component and we need to map `ref` to a differently named prop. This can be
|
|
385
|
+
// removed when `Modal` is a functional component.
|
|
386
|
+
function Wrapper({
|
|
387
|
+
ref,
|
|
388
|
+
...props
|
|
389
|
+
}: {
|
|
390
|
+
...ModalRefProps,
|
|
391
|
+
...ModalProps,
|
|
392
|
+
}): React.Node {
|
|
393
|
+
return <Modal {...props} modalRef={ref} />;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
Wrapper.displayName = 'Modal';
|
|
397
|
+
// $FlowExpectedError[prop-missing]
|
|
398
|
+
Wrapper.Context = VirtualizedListContextResetter;
|
|
376
399
|
|
|
377
|
-
export default
|
|
400
|
+
export default Wrapper;
|
|
@@ -203,7 +203,9 @@ const validAttributesForNonEventProps = {
|
|
|
203
203
|
accessibilityState: true,
|
|
204
204
|
accessibilityActions: true,
|
|
205
205
|
accessibilityValue: true,
|
|
206
|
+
experimental_accessibilityOrder: true,
|
|
206
207
|
importantForAccessibility: true,
|
|
208
|
+
screenReaderFocusable: true,
|
|
207
209
|
role: true,
|
|
208
210
|
rotation: true,
|
|
209
211
|
scaleX: true,
|
|
@@ -197,6 +197,8 @@ const validAttributesForNonEventProps = {
|
|
|
197
197
|
accessibilityIgnoresInvertColors: true,
|
|
198
198
|
accessibilityShowsLargeContentViewer: true,
|
|
199
199
|
accessibilityLargeContentTitle: true,
|
|
200
|
+
experimental_accessibilityOrder: true,
|
|
201
|
+
accessibilityRespondsToUserInteraction: true,
|
|
200
202
|
testID: true,
|
|
201
203
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
202
204
|
backfaceVisibility: true,
|
|
@@ -0,0 +1,17 @@
|
|
|
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-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// NOTE: This file supports backwards compatibility of subpath (deep) imports
|
|
12
|
+
// from 'react-native' with platform-specific extensions. It can be deleted
|
|
13
|
+
// once we remove the "./*" mapping from package.json "exports".
|
|
14
|
+
|
|
15
|
+
import BaseViewConfig from './BaseViewConfig';
|
|
16
|
+
|
|
17
|
+
export default BaseViewConfig;
|
|
@@ -217,6 +217,7 @@ const validAttributesForNonEventProps = {
|
|
|
217
217
|
accessibilityIgnoresInvertColors: true,
|
|
218
218
|
accessibilityShowsLargeContentViewer: true,
|
|
219
219
|
accessibilityLargeContentTitle: true,
|
|
220
|
+
experimental_accessibilityOrder: true,
|
|
220
221
|
testID: true,
|
|
221
222
|
backgroundColor: {process: require('../StyleSheet/processColor').default},
|
|
222
223
|
backfaceVisibility: true,
|
|
@@ -384,6 +385,7 @@ const validAttributesForNonEventProps = {
|
|
|
384
385
|
accessibilityAnnotation: true, // [Windows]
|
|
385
386
|
accessibilityItemType: true, // [Windows]
|
|
386
387
|
accessibilityAccessKey: true, // [Windows]
|
|
388
|
+
accessibilityDescription: true, // [Windows]
|
|
387
389
|
disabled: true, // [Windows]
|
|
388
390
|
focusable: true, // [Windows]
|
|
389
391
|
keyDownEvents: true, // [Windows]
|
|
@@ -392,6 +394,7 @@ const validAttributesForNonEventProps = {
|
|
|
392
394
|
tooltip: true, // [Windows]
|
|
393
395
|
onClick: true, // [Windows]
|
|
394
396
|
enableFocusRing: true, // [Windows]
|
|
397
|
+
importantForAccessibility: true, // [Windows]
|
|
395
398
|
|
|
396
399
|
style: ReactNativeStyleAttributes,
|
|
397
400
|
};
|
|
@@ -12,9 +12,9 @@ import type {PartialViewConfig} from '../Renderer/shims/ReactNativeTypes';
|
|
|
12
12
|
|
|
13
13
|
import BaseViewConfig from './BaseViewConfig';
|
|
14
14
|
|
|
15
|
-
export type PartialViewConfigWithoutName =
|
|
15
|
+
export type PartialViewConfigWithoutName = Omit<
|
|
16
16
|
PartialViewConfig,
|
|
17
|
-
|
|
17
|
+
'uiViewClassName',
|
|
18
18
|
>;
|
|
19
19
|
|
|
20
20
|
const PlatformBaseViewConfig: PartialViewConfigWithoutName = BaseViewConfig;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../../src/private/
|
|
12
|
-
import NativeDevMenu from '../../../src/private/
|
|
11
|
+
export * from '../../../src/private/devsupport/devmenu/specs/NativeDevMenu';
|
|
12
|
+
import NativeDevMenu from '../../../src/private/devsupport/devmenu/specs/NativeDevMenu';
|
|
13
13
|
export default NativeDevMenu;
|
|
@@ -50,7 +50,7 @@ const emitter = new NativeEventEmitter<$FlowFixMe>(
|
|
|
50
50
|
const RCTNetworking = {
|
|
51
51
|
addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
|
|
52
52
|
eventType: K,
|
|
53
|
-
listener: (
|
|
53
|
+
listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
|
|
54
54
|
context?: mixed,
|
|
55
55
|
): EventSubscription {
|
|
56
56
|
// $FlowFixMe[incompatible-call]
|
|
@@ -20,7 +20,7 @@ import {type NativeResponseType} from './XMLHttpRequest';
|
|
|
20
20
|
const RCTNetworking = {
|
|
21
21
|
addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
|
|
22
22
|
eventType: K,
|
|
23
|
-
listener: (
|
|
23
|
+
listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
|
|
24
24
|
context?: mixed,
|
|
25
25
|
): EventSubscription {
|
|
26
26
|
// $FlowFixMe[incompatible-call]
|
|
@@ -0,0 +1,17 @@
|
|
|
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-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// NOTE: This file supports backwards compatibility of subpath (deep) imports
|
|
12
|
+
// from 'react-native' with platform-specific extensions. It can be deleted
|
|
13
|
+
// once we remove the "./*" mapping from package.json "exports".
|
|
14
|
+
|
|
15
|
+
import RCTNetworking from './RCTNetworking';
|
|
16
|
+
|
|
17
|
+
export default RCTNetworking;
|
|
@@ -19,7 +19,7 @@ declare const RCTNetworking: interface {
|
|
|
19
19
|
addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
|
|
20
20
|
eventType: K,
|
|
21
21
|
// $FlowFixMe[invalid-computed-prop]
|
|
22
|
-
listener: (
|
|
22
|
+
listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
|
|
23
23
|
context?: mixed,
|
|
24
24
|
): EventSubscription,
|
|
25
25
|
|
|
@@ -20,7 +20,7 @@ import {type NativeResponseType} from './XMLHttpRequest';
|
|
|
20
20
|
const RCTNetworking = {
|
|
21
21
|
addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
|
|
22
22
|
eventType: K,
|
|
23
|
-
listener: (
|
|
23
|
+
listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
|
|
24
24
|
context?: mixed,
|
|
25
25
|
): EventSubscription {
|
|
26
26
|
// $FlowFixMe[incompatible-call]
|