react-native-windows 0.76.2 → 0.77.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 +5 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/NativeAnimatedAllowlist.windows.js +122 -0
- package/Libraries/Animated/animations/Animation.js +60 -25
- package/Libraries/Animated/animations/DecayAnimation.js +26 -38
- package/Libraries/Animated/animations/SpringAnimation.js +33 -39
- package/Libraries/Animated/animations/TimingAnimation.js +34 -42
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
- package/Libraries/Animated/createAnimatedComponent.js +60 -33
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +96 -46
- package/Libraries/Animated/nodes/AnimatedProps.windows.js +281 -0
- package/Libraries/Animated/nodes/AnimatedStyle.js +108 -39
- package/Libraries/Animated/nodes/AnimatedStyle.windows.js +251 -0
- package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +41 -35
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +82 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +9 -4
- package/Libraries/Components/Button.windows.js +19 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +2 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
- package/Libraries/Components/Popup/PopupNativeComponent.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.windows.js +10 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
- package/Libraries/Components/ScrollView/ScrollView.js +49 -88
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +0 -5
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
- package/Libraries/Components/Switch/Switch.js +8 -6
- package/Libraries/Components/Switch/Switch.windows.js +8 -6
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
- package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
- package/Libraries/Components/TextInput/TextInput.js +37 -13
- package/Libraries/Components/TextInput/TextInput.windows.js +47 -16
- package/Libraries/Components/TextInput/TextInputState.js +11 -13
- package/Libraries/Components/TextInput/TextInputState.windows.js +11 -13
- package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
- package/Libraries/Components/Touchable/Position.js +7 -2
- package/Libraries/Components/Touchable/Touchable.js +4 -0
- package/Libraries/Components/Touchable/Touchable.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +227 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +5 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +371 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +4 -4
- package/Libraries/Components/View/View.windows.js +88 -57
- package/Libraries/Components/View/ViewAccessibility.d.ts +10 -0
- package/Libraries/Components/View/ViewAccessibility.windows.js +2 -0
- package/Libraries/Components/View/ViewNativeComponent.js +6 -98
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/Libraries/Components/View/ViewPropTypes.js +0 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +2 -3
- package/Libraries/Core/ExceptionsManager.js +50 -29
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -10
- package/Libraries/Core/setUpDeveloperTools.js +1 -5
- package/Libraries/Core/setUpErrorHandling.js +20 -18
- package/Libraries/Core/setUpReactDevTools.js +107 -8
- package/Libraries/Core/setUpSegmentFetcher.js +1 -0
- package/Libraries/Core/setUpTimers.js +21 -18
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +12 -1
- package/Libraries/Image/Image.android.js +1 -5
- package/Libraries/Image/Image.d.ts +20 -29
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/Image.windows.js +5 -1
- package/Libraries/Image/ImageBackground.js +2 -5
- package/Libraries/Image/ImageProps.js +7 -6
- package/Libraries/Image/ImageResizeMode.d.ts +8 -1
- package/Libraries/Image/ImageResizeMode.js +4 -1
- package/Libraries/Image/ImageSource.d.ts +0 -2
- package/Libraries/Image/ImageSource.js +0 -2
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Image/ImageUtils.js +6 -3
- package/Libraries/Image/ImageViewNativeComponent.js +5 -3
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/NetworkOverlay.js +4 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/TouchHistoryMath.js +22 -19
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +1 -2
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +7 -7
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +3 -3
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
- package/Libraries/Modal/Modal.d.ts +12 -0
- package/Libraries/Modal/Modal.js +31 -4
- package/Libraries/Modal/Modal.windows.js +370 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -11
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/Network/XHRInterceptor.js +63 -14
- package/Libraries/Network/XMLHttpRequest.js +26 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +2 -3
- package/Libraries/Pressability/Pressability.windows.js +2 -3
- package/Libraries/Pressability/usePressability.js +4 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -11
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
- package/Libraries/ReactNative/RendererImplementation.js +18 -17
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
- package/Libraries/ReactNative/renderApplication.js +9 -8
- package/Libraries/ReactNative/requireNativeComponent.js +5 -2
- package/Libraries/Renderer/shims/ReactFabric.js +3 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +7 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
- package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
- package/Libraries/StyleSheet/processTransform.js +3 -34
- package/Libraries/Text/Text.js +248 -249
- package/Libraries/Text/Text.windows.js +298 -292
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/Text/TextProps.windows.js +2 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
- package/Libraries/Types/CoreEventTypes.d.ts +3 -10
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Types/CoreEventTypes.windows.js +4 -6
- package/Libraries/Utilities/Appearance.js +3 -1
- package/Libraries/Utilities/BackHandler.android.js +6 -18
- package/Libraries/Utilities/BackHandler.d.ts +0 -4
- package/Libraries/Utilities/BackHandler.ios.js +0 -7
- package/Libraries/Utilities/BackHandler.windows.js +6 -18
- package/Libraries/Utilities/HMRClient.js +3 -4
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/Platform.flow.windows.js +3 -2
- package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/WebSocket/WebSocketEvent.js +4 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +9 -8
- package/Microsoft.ReactNative/AsynchronousEventBeat.h +5 -5
- package/Microsoft.ReactNative/CompositionComponentView.idl +2 -1
- package/Microsoft.ReactNative/FBReactNativeSpec/FBReactNativeSpecJSI.h +5 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +6 -3
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +7 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +2 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +45 -50
- package/Microsoft.ReactNative/Fabric/ComponentView.h +14 -22
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +943 -0
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +80 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +223 -21
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +19 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +187 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +10 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +8 -32
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +349 -929
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +32 -29
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +9 -2
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +181 -123
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +16 -8
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +99 -37
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +25 -3
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +64 -3
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +51 -3
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +18 -8
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +6 -8
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +56 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +35 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +7 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -12
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +4 -4
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +4 -8
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +16 -15
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +1 -5
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +26 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +1 -1
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +15 -0
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +9 -0
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +20 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -6
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactNativeIsland.idl +3 -2
- package/Microsoft.ReactNative/SynchronousEventBeat.cpp +14 -4
- package/Microsoft.ReactNative/SynchronousEventBeat.h +4 -2
- package/Microsoft.ReactNative/ViewProps.idl +2 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +78 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.h +51 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +48 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.cpp +41 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.h +127 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.inc +125 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +16 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_win.cpp +23 -0
- package/Microsoft.ReactNative.Cxx/ComponentView.Experimental.interop.h +14 -0
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +834 -0
- package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +117 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +366 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +560 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +1611 -0
- package/Microsoft.ReactNative.Cxx/JSI/threadsafe.h +79 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +7 -11
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -1
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +2878 -0
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +36 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +64 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +22 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModule.cpp +63 -63
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +165 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +105 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModuleUtils.h +57 -58
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +42 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +151 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Base.h +177 -154
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +25 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +21 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +67 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +90 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Convert.h +170 -172
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +51 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/EventEmitter.h +134 -136
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Function.h +283 -283
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.cpp +63 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +61 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +93 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +104 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +107 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/flags.h +22 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +72 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +553 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +167 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +186 -0
- package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +82 -0
- package/PropertySheets/Bundle.Common.targets +1 -1
- package/PropertySheets/Bundle.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/PropertySheets/OutputMSBuildProperties.targets +3 -1
- package/ReactCommon/ReactCommon.vcxproj +5 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +61 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +26 -23
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +150 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +252 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +795 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +188 -39
- package/Scripts/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +97 -62
- package/Shared/InspectorPackagerConnection.cpp +3 -6
- package/Shared/InspectorPackagerConnection.h +2 -2
- package/Shared/InstanceManager.h +1 -1
- package/Shared/OInstance.h +1 -1
- package/Shared/Shared.vcxitems +20 -2
- package/Shared/Shared.vcxitems.filters +4 -1
- package/Shared/TurboModuleManager.cpp +29 -4
- package/codegen/NativeAccessibilityInfoSpec.g.h +28 -9
- package/codegen/NativeAccessibilityManagerSpec.g.h +20 -13
- package/codegen/NativeActionSheetManagerSpec.g.h +5 -0
- package/codegen/NativeAlertManagerSpec.g.h +1 -0
- package/codegen/NativeAnimatedModuleSpec.g.h +1 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +1 -0
- package/codegen/NativeAppStateSpec.g.h +1 -0
- package/codegen/NativeAppThemeSpec.g.h +1 -0
- package/codegen/NativeAppearanceSpec.g.h +1 -0
- package/codegen/NativeBlobModuleSpec.g.h +1 -0
- package/codegen/NativeBugReportingSpec.g.h +1 -0
- package/codegen/NativeClipboardSpec.g.h +1 -0
- package/codegen/NativeDOMSpec.g.h +1 -0
- package/codegen/NativeDevLoadingViewSpec.g.h +1 -0
- package/codegen/NativeDevMenuSpec.g.h +1 -0
- package/codegen/NativeDevSettingsSpec.g.h +1 -0
- package/codegen/NativeDeviceEventManagerSpec.g.h +1 -0
- package/codegen/NativeDeviceInfoSpec.g.h +1 -0
- package/codegen/NativeDialogManagerAndroidSpec.g.h +1 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +1 -0
- package/codegen/NativeExceptionsManagerSpec.g.h +2 -7
- package/codegen/NativeFileReaderModuleSpec.g.h +1 -0
- package/codegen/NativeFrameRateLoggerSpec.g.h +1 -0
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +1 -0
- package/codegen/NativeI18nManagerSpec.g.h +1 -0
- package/codegen/NativeIdleCallbacksSpec.g.h +1 -0
- package/codegen/NativeImageEditorSpec.g.h +1 -0
- package/codegen/NativeImageLoaderAndroidSpec.g.h +1 -0
- package/codegen/NativeImageLoaderIOSSpec.g.h +1 -0
- package/codegen/NativeImageStoreAndroidSpec.g.h +1 -0
- package/codegen/NativeImageStoreIOSSpec.g.h +1 -0
- package/codegen/NativeIntentAndroidSpec.g.h +1 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +3 -0
- package/codegen/NativeJSCHeapCaptureSpec.g.h +1 -0
- package/codegen/NativeJSCSamplingProfilerSpec.g.h +1 -0
- package/codegen/NativeKeyboardObserverSpec.g.h +1 -0
- package/codegen/NativeLinkingManagerSpec.g.h +1 -0
- package/codegen/NativeLogBoxSpec.g.h +1 -0
- package/codegen/NativeMicrotasksSpec.g.h +1 -0
- package/codegen/NativeModalManagerSpec.g.h +1 -0
- package/codegen/NativeMutationObserverSpec.g.h +1 -0
- package/codegen/NativeNetworkingAndroidSpec.g.h +1 -0
- package/codegen/NativeNetworkingIOSSpec.g.h +1 -0
- package/codegen/NativePerformanceSpec.g.h +128 -3
- package/codegen/NativePermissionsAndroidSpec.g.h +1 -0
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +1 -0
- package/codegen/NativePlatformConstantsIOSSpec.g.h +1 -0
- package/codegen/NativePlatformConstantsWindowsSpec.g.h +1 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +1 -0
- package/codegen/NativeReactDevToolsRuntimeSettingsModuleSpec.g.h +67 -0
- package/codegen/NativeReactDevToolsSettingsManagerSpec.g.h +41 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +126 -137
- package/codegen/NativeRedBoxSpec.g.h +1 -0
- package/codegen/NativeSampleTurboModuleSpec.g.h +1 -0
- package/codegen/NativeSegmentFetcherSpec.g.h +1 -0
- package/codegen/NativeSettingsManagerSpec.g.h +1 -0
- package/codegen/NativeShareModuleSpec.g.h +1 -0
- package/codegen/NativeSoundManagerSpec.g.h +1 -0
- package/codegen/NativeSourceCodeSpec.g.h +1 -0
- package/codegen/NativeStatusBarManagerAndroidSpec.g.h +1 -0
- package/codegen/NativeStatusBarManagerIOSSpec.g.h +1 -0
- package/codegen/NativeTimingSpec.g.h +1 -0
- package/codegen/NativeToastAndroidSpec.g.h +1 -0
- package/codegen/NativeUIManagerSpec.g.h +1 -0
- package/codegen/NativeVibrationSpec.g.h +1 -0
- package/codegen/NativeWebSocketModuleSpec.g.h +1 -0
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
- package/codegen/react/components/rnwcore/Props.cpp +1 -0
- package/codegen/react/components/rnwcore/Props.h +1 -0
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
- package/codegen/react/components/rnwcore/ShadowNodes.h +0 -11
- package/codegen/react/components/rnwcore/States.h +0 -12
- package/codegen/rnwcoreJSI-generated.cpp +219 -186
- package/codegen/rnwcoreJSI.h +942 -511
- package/index.js +10 -3
- package/index.windows.js +10 -3
- package/jest/setup.js +36 -1
- package/just-task.js +15 -0
- package/package.json +22 -22
- package/src/private/animated/NativeAnimatedHelper.js +18 -16
- package/src/private/animated/useAnimatedPropsMemo.js +348 -0
- package/src/private/animated/useAnimatedPropsMemo.windows.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +1 -27
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
- package/src/private/components/VScrollViewNativeComponents.js +2 -25
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +20 -0
- package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/setup/setUpDOM.js +14 -6
- package/src/private/setup/setUpMutationObserver.js +5 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
- package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
- package/src/private/webapis/performance/EventTiming.js +13 -8
- package/src/private/webapis/performance/Performance.js +66 -73
- package/src/private/webapis/performance/PerformanceEntry.js +2 -5
- package/src/private/webapis/performance/PerformanceObserver.js +65 -164
- package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +11 -7
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/templates/cpp-lib/template.config.js +13 -7
- package/templates/templateUtils.js +10 -0
- package/types/index.d.ts +1 -1
- package/types/public/ReactNativeTypes.d.ts +4 -8
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +0 -35
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
- package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +0 -101
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +0 -569
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +0 -52
- package/codegen/NativePerformanceObserverSpec.g.h +0 -130
- package/src/private/components/useSyncOnScroll.js +0 -48
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
- package/types/experimental.d.ts +0 -59
- /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @flow strict
|
|
7
|
+
* @flow strict
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -20,6 +20,12 @@ let overrides: ?ReactNativeFeatureFlagsJsOnlyOverrides;
|
|
|
20
20
|
|
|
21
21
|
export type Getter<T> = () => T;
|
|
22
22
|
|
|
23
|
+
// This defines the types for the overrides object, whose methods also receive
|
|
24
|
+
// the default value as a parameter.
|
|
25
|
+
export type OverridesFor<T> = Partial<{
|
|
26
|
+
[key in keyof T]: (ReturnType<T[key]>) => ReturnType<T[key]>,
|
|
27
|
+
}>;
|
|
28
|
+
|
|
23
29
|
function createGetter<T: boolean | number | string>(
|
|
24
30
|
configName: string,
|
|
25
31
|
customValueGetter: Getter<?T>,
|
|
@@ -45,7 +51,7 @@ export function createJavaScriptFlagGetter<
|
|
|
45
51
|
configName,
|
|
46
52
|
() => {
|
|
47
53
|
accessedFeatureFlags.add(configName);
|
|
48
|
-
return overrides?.[configName]?.();
|
|
54
|
+
return overrides?.[configName]?.(defaultValue);
|
|
49
55
|
},
|
|
50
56
|
defaultValue,
|
|
51
57
|
);
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
8
|
-
* @flow strict
|
|
7
|
+
* @generated SignedSource<<4caaf5dbaa68614ce53c8aecbd512df8>>
|
|
8
|
+
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js.
|
|
16
16
|
*
|
|
17
17
|
* To regenerate this code, run the following script from the repo root:
|
|
18
|
-
* yarn featureflags
|
|
18
|
+
* yarn featureflags --update
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
@@ -24,53 +24,51 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
|
|
|
24
24
|
|
|
25
25
|
export interface Spec extends TurboModule {
|
|
26
26
|
+commonTestFlag?: () => boolean;
|
|
27
|
-
+
|
|
28
|
-
+batchRenderingUpdatesInEventLoop?: () => boolean;
|
|
27
|
+
+commonTestFlagWithoutNativeImplementation?: () => boolean;
|
|
29
28
|
+completeReactInstanceCreationOnBgThreadOnAndroid?: () => boolean;
|
|
30
|
-
+
|
|
29
|
+
+disableEventLoopOnBridgeless?: () => boolean;
|
|
30
|
+
+disableMountItemReorderingAndroid?: () => boolean;
|
|
31
31
|
+enableAlignItemsBaselineOnFabricIOS?: () => boolean;
|
|
32
|
-
+
|
|
33
|
-
+
|
|
34
|
-
+
|
|
32
|
+
+enableAndroidLineHeightCentering?: () => boolean;
|
|
33
|
+
+enableBridgelessArchitecture?: () => boolean;
|
|
34
|
+
+enableCppPropsIteratorSetter?: () => boolean;
|
|
35
|
+
+enableDeletionOfUnmountedViews?: () => boolean;
|
|
35
36
|
+enableEagerRootViewAttachment?: () => boolean;
|
|
36
37
|
+enableEventEmitterRetentionDuringGesturesOnAndroid?: () => boolean;
|
|
37
38
|
+enableFabricLogs?: () => boolean;
|
|
39
|
+
+enableFabricRenderer?: () => boolean;
|
|
38
40
|
+enableFabricRendererExclusively?: () => boolean;
|
|
41
|
+
+enableFixForViewCommandRace?: () => boolean;
|
|
39
42
|
+enableGranularShadowTreeStateReconciliation?: () => boolean;
|
|
40
43
|
+enableIOSViewClipToPaddingBox?: () => boolean;
|
|
44
|
+
+enableLayoutAnimationsOnAndroid?: () => boolean;
|
|
41
45
|
+enableLayoutAnimationsOnIOS?: () => boolean;
|
|
42
46
|
+enableLongTaskAPI?: () => boolean;
|
|
43
|
-
+
|
|
47
|
+
+enableNewBackgroundAndBorderDrawables?: () => boolean;
|
|
48
|
+
+enablePreciseSchedulingForPremountItemsOnAndroid?: () => boolean;
|
|
44
49
|
+enablePropsUpdateReconciliationAndroid?: () => boolean;
|
|
45
50
|
+enableReportEventPaintTime?: () => boolean;
|
|
46
51
|
+enableSynchronousStateUpdates?: () => boolean;
|
|
47
52
|
+enableUIConsistency?: () => boolean;
|
|
48
53
|
+enableViewRecycling?: () => boolean;
|
|
49
54
|
+excludeYogaFromRawProps?: () => boolean;
|
|
50
|
-
+fetchImagesInViewPreallocation?: () => boolean;
|
|
51
|
-
+fixIncorrectScrollViewStateUpdateOnAndroid?: () => boolean;
|
|
52
55
|
+fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
|
|
53
|
-
+fixMissedFabricStateUpdatesOnAndroid?: () => boolean;
|
|
54
56
|
+fixMountingCoordinatorReportedPendingTransactionsOnAndroid?: () => boolean;
|
|
55
|
-
+forceBatchingMountItemsOnAndroid?: () => boolean;
|
|
56
57
|
+fuseboxEnabledDebug?: () => boolean;
|
|
57
58
|
+fuseboxEnabledRelease?: () => boolean;
|
|
58
59
|
+initEagerTurboModulesOnNativeModulesQueueAndroid?: () => boolean;
|
|
59
60
|
+lazyAnimationCallbacks?: () => boolean;
|
|
60
61
|
+loadVectorDrawablesOnImages?: () => boolean;
|
|
61
|
-
+setAndroidLayoutDirection?: () => boolean;
|
|
62
62
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
63
|
+
+useAlwaysAvailableJSErrorHandling?: () => boolean;
|
|
63
64
|
+useFabricInterop?: () => boolean;
|
|
64
65
|
+useImmediateExecutorInAndroidBridgeless?: () => boolean;
|
|
65
|
-
+useModernRuntimeScheduler?: () => boolean;
|
|
66
66
|
+useNativeViewConfigsInBridgelessMode?: () => boolean;
|
|
67
|
-
+useNewReactImageViewBackgroundDrawing?: () => boolean;
|
|
68
67
|
+useOptimisedViewPreallocationOnAndroid?: () => boolean;
|
|
69
68
|
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
70
69
|
+useRuntimeShadowNodeReferenceUpdate?: () => boolean;
|
|
71
|
-
+useRuntimeShadowNodeReferenceUpdateOnLayout?: () => boolean;
|
|
72
|
-
+useStateAlignmentMechanism?: () => boolean;
|
|
73
70
|
+useTurboModuleInterop?: () => boolean;
|
|
71
|
+
+useTurboModules?: () => boolean;
|
|
74
72
|
}
|
|
75
73
|
|
|
76
74
|
const NativeReactNativeFeatureFlags: ?Spec = TurboModuleRegistry.get<Spec>(
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
* @oncall react_native
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
13
|
+
|
|
14
|
+
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
15
|
+
|
|
16
|
+
export type ReloadAndProfileConfig = {
|
|
17
|
+
shouldReloadAndProfile: boolean,
|
|
18
|
+
recordChangeDescriptions: boolean,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// Linter doesn't speak Flow's `Partial` type
|
|
22
|
+
export type PartialReloadAndProfileConfig = {
|
|
23
|
+
shouldReloadAndProfile?: boolean,
|
|
24
|
+
recordChangeDescriptions?: boolean,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export interface Spec extends TurboModule {
|
|
28
|
+
+setReloadAndProfileConfig: (config: PartialReloadAndProfileConfig) => void;
|
|
29
|
+
+getReloadAndProfileConfig: () => ReloadAndProfileConfig;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default (TurboModuleRegistry.get<Spec>(
|
|
33
|
+
'ReactDevToolsRuntimeSettingsModule',
|
|
34
|
+
): ?Spec);
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
import DOMRectReadOnly from '../webapis/dom/geometry/DOMRectReadOnly';
|
|
11
|
+
import {polyfillGlobal} from '../../../Libraries/Utilities/PolyfillFunctions';
|
|
13
12
|
|
|
14
13
|
let initialized = false;
|
|
15
14
|
|
|
@@ -20,9 +19,18 @@ export default function setUpDOM() {
|
|
|
20
19
|
|
|
21
20
|
initialized = true;
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
polyfillGlobal(
|
|
23
|
+
'DOMRect',
|
|
24
|
+
() => require('../webapis/dom/geometry/DOMRect').default,
|
|
25
|
+
);
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
polyfillGlobal(
|
|
28
|
+
'DOMRectReadOnly',
|
|
29
|
+
() => require('../webapis/dom/geometry/DOMRectReadOnly').default,
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
polyfillGlobal(
|
|
33
|
+
'NodeList',
|
|
34
|
+
() => require('../webapis/dom/oldstylecollections/NodeList').default,
|
|
35
|
+
);
|
|
28
36
|
}
|
|
@@ -23,4 +23,9 @@ export default function setUpMutationObserver() {
|
|
|
23
23
|
'MutationObserver',
|
|
24
24
|
() => require('../webapis/mutationobserver/MutationObserver').default,
|
|
25
25
|
);
|
|
26
|
+
|
|
27
|
+
polyfillGlobal(
|
|
28
|
+
'MutationRecord',
|
|
29
|
+
() => require('../webapis/mutationobserver/MutationRecord').default,
|
|
30
|
+
);
|
|
26
31
|
}
|
|
@@ -58,6 +58,14 @@ type NativeProps = $ReadOnly<{|
|
|
|
58
58
|
*/
|
|
59
59
|
statusBarTranslucent?: WithDefault<boolean, false>,
|
|
60
60
|
|
|
61
|
+
/**
|
|
62
|
+
* The `navigationBarTranslucent` prop determines whether your modal should go under
|
|
63
|
+
* the system navigationbar.
|
|
64
|
+
*
|
|
65
|
+
* See https://reactnative.dev/docs/modal#navigationBarTranslucent
|
|
66
|
+
*/
|
|
67
|
+
navigationBarTranslucent?: WithDefault<boolean, false>,
|
|
68
|
+
|
|
61
69
|
/**
|
|
62
70
|
* The `hardwareAccelerated` prop controls whether to force hardware
|
|
63
71
|
* acceleration for the underlying window.
|
|
@@ -16,6 +16,12 @@ export interface Spec extends TurboModule {
|
|
|
16
16
|
+isReduceMotionEnabled: (
|
|
17
17
|
onSuccess: (isReduceMotionEnabled: boolean) => void,
|
|
18
18
|
) => void;
|
|
19
|
+
+isInvertColorsEnabled?: (
|
|
20
|
+
onSuccess: (isInvertColorsEnabled: boolean) => void,
|
|
21
|
+
) => void;
|
|
22
|
+
+isHighTextContrastEnabled?: (
|
|
23
|
+
onSuccess: (isHighTextContrastEnabled: boolean) => void,
|
|
24
|
+
) => void;
|
|
19
25
|
+isTouchExplorationEnabled: (
|
|
20
26
|
onSuccess: (isScreenReaderEnabled: boolean) => void,
|
|
21
27
|
) => void;
|
|
@@ -28,6 +34,9 @@ export interface Spec extends TurboModule {
|
|
|
28
34
|
mSec: number,
|
|
29
35
|
onSuccess: (recommendedTimeoutMillis: number) => void,
|
|
30
36
|
) => void;
|
|
37
|
+
+isGrayscaleEnabled?: (
|
|
38
|
+
onSuccess: (isGrayscaleEnabled: boolean) => void,
|
|
39
|
+
) => void;
|
|
31
40
|
}
|
|
32
41
|
|
|
33
42
|
export default (TurboModuleRegistry.get<Spec>('AccessibilityInfo'): ?Spec);
|
|
@@ -29,6 +29,10 @@ export interface Spec extends TurboModule {
|
|
|
29
29
|
onSuccess: (isReduceMotionEnabled: boolean) => void,
|
|
30
30
|
onError: (error: Object) => void,
|
|
31
31
|
) => void;
|
|
32
|
+
+getCurrentDarkerSystemColorsState?: (
|
|
33
|
+
onSuccess: (isDarkerSystemColorsEnabled: boolean) => void,
|
|
34
|
+
onError: (error: Object) => void,
|
|
35
|
+
) => void;
|
|
32
36
|
+getCurrentPrefersCrossFadeTransitionsState?: (
|
|
33
37
|
onSuccess: (prefersCrossFadeTransitions: boolean) => void,
|
|
34
38
|
onError: (error: Object) => void,
|
|
@@ -24,6 +24,7 @@ export interface Spec extends TurboModule {
|
|
|
24
24
|
+anchor?: ?number,
|
|
25
25
|
+tintColor?: ?number,
|
|
26
26
|
+cancelButtonTintColor?: ?number,
|
|
27
|
+
+disabledButtonTintColor?: ?number,
|
|
27
28
|
+userInterfaceStyle?: ?string,
|
|
28
29
|
+disabledButtonIndices?: Array<number>,
|
|
29
30
|
|},
|
|
@@ -37,6 +38,7 @@ export interface Spec extends TurboModule {
|
|
|
37
38
|
+anchor?: ?number,
|
|
38
39
|
+tintColor?: ?number,
|
|
39
40
|
+cancelButtonTintColor?: ?number,
|
|
41
|
+
+disabledButtonTintColor?: ?number,
|
|
40
42
|
+excludedActivityTypes?: ?Array<string>,
|
|
41
43
|
+userInterfaceStyle?: ?string,
|
|
42
44
|
|},
|
|
@@ -12,21 +12,15 @@ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
|
12
12
|
|
|
13
13
|
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
14
14
|
|
|
15
|
-
export type ColorSchemeName = 'light' | 'dark';
|
|
15
|
+
export type ColorSchemeName = 'light' | 'dark' | 'unspecified';
|
|
16
16
|
|
|
17
17
|
export type AppearancePreferences = {
|
|
18
|
-
|
|
19
|
-
// types.
|
|
20
|
-
/* 'light' | 'dark' */
|
|
21
|
-
colorScheme?: ?string,
|
|
18
|
+
colorScheme?: ?ColorSchemeName,
|
|
22
19
|
};
|
|
23
20
|
|
|
24
21
|
export interface Spec extends TurboModule {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/* 'light' | 'dark' */
|
|
28
|
-
+getColorScheme: () => ?string;
|
|
29
|
-
+setColorScheme: (colorScheme: string) => void;
|
|
22
|
+
+getColorScheme: () => ?ColorSchemeName;
|
|
23
|
+
+setColorScheme: (colorScheme: ColorSchemeName) => void;
|
|
30
24
|
|
|
31
25
|
// RCTEventEmitter
|
|
32
26
|
+addListener: (eventName: string) => void;
|
|
@@ -47,11 +47,6 @@ export interface Spec extends TurboModule {
|
|
|
47
47
|
exceptionId: number,
|
|
48
48
|
) => void;
|
|
49
49
|
+reportException?: (data: ExceptionData) => void;
|
|
50
|
-
+updateExceptionMessage: (
|
|
51
|
-
message: string,
|
|
52
|
-
stack: Array<StackFrame>,
|
|
53
|
-
exceptionId: number,
|
|
54
|
-
) => void;
|
|
55
50
|
// TODO(T53311281): This is a noop on iOS now. Implement it.
|
|
56
51
|
+dismissRedbox?: () => void;
|
|
57
52
|
}
|
|
@@ -74,13 +69,6 @@ const ExceptionsManager = {
|
|
|
74
69
|
) {
|
|
75
70
|
NativeModule.reportSoftException(message, stack, exceptionId);
|
|
76
71
|
},
|
|
77
|
-
updateExceptionMessage(
|
|
78
|
-
message: string,
|
|
79
|
-
stack: Array<StackFrame>,
|
|
80
|
-
exceptionId: number,
|
|
81
|
-
) {
|
|
82
|
-
NativeModule.updateExceptionMessage(message, stack, exceptionId);
|
|
83
|
-
},
|
|
84
72
|
dismissRedbox(): void {
|
|
85
73
|
if (Platform.OS !== 'ios' && NativeModule.dismissRedbox) {
|
|
86
74
|
// TODO(T53311281): This is a noop on iOS now. Implement it.
|
|
@@ -13,12 +13,10 @@ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
|
13
13
|
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
14
14
|
|
|
15
15
|
export interface Spec extends TurboModule {
|
|
16
|
-
+
|
|
17
|
-
+
|
|
18
|
-
+setProfilingSettings?: (newProfilingSettings: string) => void;
|
|
19
|
-
+getProfilingSettings?: () => ?string;
|
|
16
|
+
+setGlobalHookSettings: (settings: string) => void;
|
|
17
|
+
+getGlobalHookSettings: () => ?string;
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
export default (TurboModuleRegistry.get<Spec>(
|
|
23
|
-
'
|
|
21
|
+
'ReactDevToolsSettingsManager',
|
|
24
22
|
): ?Spec);
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import DOMRectReadOnly, {type
|
|
17
|
+
import DOMRectReadOnly, {type DOMRectInit} from './DOMRectReadOnly';
|
|
18
18
|
|
|
19
19
|
// flowlint unsafe-getters-setters:off
|
|
20
20
|
|
|
@@ -72,7 +72,7 @@ export default class DOMRect extends DOMRectReadOnly {
|
|
|
72
72
|
/**
|
|
73
73
|
* Creates a new `DOMRect` object with a given location and dimensions.
|
|
74
74
|
*/
|
|
75
|
-
static fromRect(rect?: ?
|
|
75
|
+
static fromRect(rect?: ?DOMRectInit): DOMRect {
|
|
76
76
|
if (!rect) {
|
|
77
77
|
return new DOMRect();
|
|
78
78
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
// flowlint sketchy-null:off, unsafe-getters-setters:off
|
|
18
18
|
|
|
19
|
-
export interface
|
|
19
|
+
export interface DOMRectInit {
|
|
20
20
|
x?: ?number;
|
|
21
21
|
y?: ?number;
|
|
22
22
|
width?: ?number;
|
|
@@ -146,7 +146,7 @@ export default class DOMRectReadOnly {
|
|
|
146
146
|
/**
|
|
147
147
|
* Creates a new `DOMRectReadOnly` object with a given location and dimensions.
|
|
148
148
|
*/
|
|
149
|
-
static fromRect(rect?: ?
|
|
149
|
+
static fromRect(rect?: ?DOMRectInit): DOMRectReadOnly {
|
|
150
150
|
if (!rect) {
|
|
151
151
|
return new DOMRectReadOnly();
|
|
152
152
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// flowlint unsafe-getters-setters:off
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
|
-
|
|
14
|
+
HostInstance,
|
|
15
15
|
INativeMethods,
|
|
16
16
|
InternalInstanceHandle,
|
|
17
17
|
MeasureInWindowOnSuccessCallback,
|
|
@@ -19,7 +19,6 @@ import type {
|
|
|
19
19
|
MeasureOnSuccessCallback,
|
|
20
20
|
ViewConfig,
|
|
21
21
|
} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
22
|
-
import type {ElementRef} from 'react';
|
|
23
22
|
|
|
24
23
|
import TextInputState from '../../../../../Libraries/Components/TextInput/TextInputState';
|
|
25
24
|
import {getFabricUIManager} from '../../../../../Libraries/ReactNative/FabricUIManager';
|
|
@@ -143,7 +142,7 @@ export default class ReactNativeElement
|
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
measureLayout(
|
|
146
|
-
relativeToNativeNode: number |
|
|
145
|
+
relativeToNativeNode: number | HostInstance,
|
|
147
146
|
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
148
147
|
onFail?: () => void /* currently unused */,
|
|
149
148
|
) {
|
|
@@ -25,6 +25,18 @@ type IntersectionObserverInit = {
|
|
|
25
25
|
// root?: ReactNativeElement, // This option exists on the Web but it's not currently supported in React Native.
|
|
26
26
|
// rootMargin?: string, // This option exists on the Web but it's not currently supported in React Native.
|
|
27
27
|
threshold?: number | $ReadOnlyArray<number>,
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* This is a React Native specific option (not spec compliant) that specifies
|
|
31
|
+
* ratio threshold(s) of the intersection area to the total `root` area.
|
|
32
|
+
*
|
|
33
|
+
* If set, it will either be a singular ratio value between 0-1 (inclusive)
|
|
34
|
+
* or an array of such ratios.
|
|
35
|
+
*
|
|
36
|
+
* Note: If `rn_rootThreshold` is set, and `threshold` is not set,
|
|
37
|
+
* `threshold` will not default to [0] (as per spec)
|
|
38
|
+
*/
|
|
39
|
+
rn_rootThreshold?: number | $ReadOnlyArray<number>,
|
|
28
40
|
};
|
|
29
41
|
|
|
30
42
|
/**
|
|
@@ -44,13 +56,16 @@ type IntersectionObserverInit = {
|
|
|
44
56
|
* elements with the same observer.
|
|
45
57
|
*
|
|
46
58
|
* This implementation only supports the `threshold` option at the moment
|
|
47
|
-
* (`root` and `rootMargin` are not supported)
|
|
59
|
+
* (`root` and `rootMargin` are not supported) and provides a React Native specific
|
|
60
|
+
* option `rn_rootThreshold`.
|
|
61
|
+
*
|
|
48
62
|
*/
|
|
49
63
|
export default class IntersectionObserver {
|
|
50
64
|
_callback: IntersectionObserverCallback;
|
|
51
65
|
_thresholds: $ReadOnlyArray<number>;
|
|
52
66
|
_observationTargets: Set<ReactNativeElement> = new Set();
|
|
53
67
|
_intersectionObserverId: ?IntersectionObserverId;
|
|
68
|
+
_rootThresholds: $ReadOnlyArray<number> | null;
|
|
54
69
|
|
|
55
70
|
constructor(
|
|
56
71
|
callback: IntersectionObserverCallback,
|
|
@@ -83,7 +98,12 @@ export default class IntersectionObserver {
|
|
|
83
98
|
}
|
|
84
99
|
|
|
85
100
|
this._callback = callback;
|
|
86
|
-
|
|
101
|
+
|
|
102
|
+
this._rootThresholds = normalizeRootThreshold(options?.rn_rootThreshold);
|
|
103
|
+
this._thresholds = normalizeThreshold(
|
|
104
|
+
options?.threshold,
|
|
105
|
+
this._rootThresholds != null, // only provide default if no rootThreshold
|
|
106
|
+
);
|
|
87
107
|
}
|
|
88
108
|
|
|
89
109
|
/**
|
|
@@ -115,14 +135,27 @@ export default class IntersectionObserver {
|
|
|
115
135
|
* A list of thresholds, sorted in increasing numeric order, where each
|
|
116
136
|
* threshold is a ratio of intersection area to bounding box area of an
|
|
117
137
|
* observed target.
|
|
118
|
-
* Notifications for a target are generated when any of the thresholds
|
|
119
|
-
* crossed for that target.
|
|
120
|
-
*
|
|
138
|
+
* Notifications for a target are generated when any of the thresholds specified
|
|
139
|
+
* in `rn_rootThreshold` or `threshold` are crossed for that target.
|
|
140
|
+
*
|
|
141
|
+
* If no value was passed to the constructor, and no `rn_rootThreshold`
|
|
142
|
+
* is set, `0` is used.
|
|
121
143
|
*/
|
|
122
144
|
get thresholds(): $ReadOnlyArray<number> {
|
|
123
145
|
return this._thresholds;
|
|
124
146
|
}
|
|
125
147
|
|
|
148
|
+
/**
|
|
149
|
+
* A list of root thresholds, sorted in increasing numeric order, where each
|
|
150
|
+
* threshold is a ratio of intersection area to bounding box area of the specified
|
|
151
|
+
* root view, which defaults to the viewport.
|
|
152
|
+
* Notifications for a target are generated when any of the thresholds specified
|
|
153
|
+
* in `rn_rootThreshold` or `threshold` are crossed for that target.
|
|
154
|
+
*/
|
|
155
|
+
get rootThresholds(): $ReadOnlyArray<number> | null {
|
|
156
|
+
return this._rootThresholds;
|
|
157
|
+
}
|
|
158
|
+
|
|
126
159
|
/**
|
|
127
160
|
* Adds an element to the set of target elements being watched by the
|
|
128
161
|
* `IntersectionObserver`.
|
|
@@ -131,6 +164,12 @@ export default class IntersectionObserver {
|
|
|
131
164
|
* To stop observing the element, call `IntersectionObserver.unobserve()`.
|
|
132
165
|
*/
|
|
133
166
|
observe(target: ReactNativeElement): void {
|
|
167
|
+
if (target == null) {
|
|
168
|
+
throw new TypeError(
|
|
169
|
+
"Failed to execute 'observe' on 'IntersectionObserver': parameter 1 is null or undefined.",
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
|
|
134
173
|
if (!(target instanceof ReactNativeElement)) {
|
|
135
174
|
throw new TypeError(
|
|
136
175
|
"Failed to execute 'observe' on 'IntersectionObserver': parameter 1 is not of type 'ReactNativeElement'.",
|
|
@@ -215,32 +254,84 @@ export default class IntersectionObserver {
|
|
|
215
254
|
* Converts the user defined `threshold` value into an array of sorted valid
|
|
216
255
|
* threshold options for `IntersectionObserver` (double ∈ [0, 1]).
|
|
217
256
|
*
|
|
257
|
+
* If `defaultEmpty` is true, then defaults to empty array, otherwise [0].
|
|
258
|
+
*
|
|
218
259
|
* @example
|
|
219
260
|
* normalizeThresholds(0.5); // → [0.5]
|
|
220
261
|
* normalizeThresholds([1, 0.5, 0]); // → [0, 0.5, 1]
|
|
221
262
|
* normalizeThresholds(['1', '0.5', '0']); // → [0, 0.5, 1]
|
|
263
|
+
* normalizeThresholds(null); // → [0]
|
|
264
|
+
* normalizeThresholds([null, null]); // → [0, 0]
|
|
265
|
+
*
|
|
266
|
+
* normalizeThresholds([null], true); // → [0]
|
|
267
|
+
* normalizeThresholds(null, true); // → []
|
|
268
|
+
* normalizeThresholds([], true); // → []
|
|
222
269
|
*/
|
|
223
|
-
function
|
|
270
|
+
function normalizeThreshold(
|
|
271
|
+
threshold: mixed,
|
|
272
|
+
defaultEmpty: boolean = false,
|
|
273
|
+
): $ReadOnlyArray<number> {
|
|
224
274
|
if (Array.isArray(threshold)) {
|
|
225
275
|
if (threshold.length > 0) {
|
|
226
|
-
return threshold
|
|
276
|
+
return threshold
|
|
277
|
+
.map(t => normalizeThresholdValue(t, 'threshold'))
|
|
278
|
+
.map(t => t ?? 0)
|
|
279
|
+
.sort();
|
|
280
|
+
} else if (defaultEmpty) {
|
|
281
|
+
return [];
|
|
227
282
|
} else {
|
|
228
283
|
return [0];
|
|
229
284
|
}
|
|
230
285
|
}
|
|
231
286
|
|
|
232
|
-
|
|
287
|
+
const normalized = normalizeThresholdValue(threshold, 'threshold');
|
|
288
|
+
if (normalized == null) {
|
|
289
|
+
return defaultEmpty ? [] : [0];
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return [normalized];
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Converts the user defined `rn_rootThreshold` value into an array of sorted valid
|
|
297
|
+
* threshold options for `IntersectionObserver` (double ∈ [0, 1]).
|
|
298
|
+
*
|
|
299
|
+
* If invalid array or null, returns null.
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* normalizeRootThreshold(0.5); // → [0.5]
|
|
303
|
+
* normalizeRootThresholds([1, 0.5, 0]); // → [0, 0.5, 1]
|
|
304
|
+
* normalizeRootThresholds([null, '0.5', '0']); // → [0, 0.5]
|
|
305
|
+
* normalizeRootThresholds(null); // → null
|
|
306
|
+
* normalizeRootThresholds([null, null]); // → null
|
|
307
|
+
*/
|
|
308
|
+
function normalizeRootThreshold(
|
|
309
|
+
rootThreshold: mixed,
|
|
310
|
+
): null | $ReadOnlyArray<number> {
|
|
311
|
+
if (Array.isArray(rootThreshold)) {
|
|
312
|
+
const normalizedArr = rootThreshold
|
|
313
|
+
.map(rt => normalizeThresholdValue(rt, 'rn_rootThreshold'))
|
|
314
|
+
.filter((rt): rt is number => rt != null)
|
|
315
|
+
.sort();
|
|
316
|
+
return normalizedArr.length === 0 ? null : normalizedArr;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
const normalized = normalizeThresholdValue(rootThreshold, 'rn_rootThreshold');
|
|
320
|
+
return normalized == null ? null : [normalized];
|
|
233
321
|
}
|
|
234
322
|
|
|
235
|
-
function normalizeThresholdValue(
|
|
323
|
+
function normalizeThresholdValue(
|
|
324
|
+
threshold: mixed,
|
|
325
|
+
property: string,
|
|
326
|
+
): null | number {
|
|
236
327
|
if (threshold == null) {
|
|
237
|
-
return
|
|
328
|
+
return null;
|
|
238
329
|
}
|
|
239
330
|
|
|
240
331
|
const thresholdAsNumber = Number(threshold);
|
|
241
332
|
if (!Number.isFinite(thresholdAsNumber)) {
|
|
242
333
|
throw new TypeError(
|
|
243
|
-
|
|
334
|
+
`Failed to read the '${property}' property from 'IntersectionObserverInit': The provided double value is non-finite.`,
|
|
244
335
|
);
|
|
245
336
|
}
|
|
246
337
|
|
|
@@ -74,6 +74,32 @@ export default class IntersectionObserverEntry {
|
|
|
74
74
|
return Math.min(ratio, 1);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Returns the ratio of the `intersectionRect` to the `boundingRootRect`.
|
|
79
|
+
*/
|
|
80
|
+
get rn_intersectionRootRatio(): number {
|
|
81
|
+
const intersectionRect = this.intersectionRect;
|
|
82
|
+
|
|
83
|
+
const rootRect = this._nativeEntry.rootRect;
|
|
84
|
+
const boundingRootRect = new DOMRectReadOnly(
|
|
85
|
+
rootRect[0],
|
|
86
|
+
rootRect[1],
|
|
87
|
+
rootRect[2],
|
|
88
|
+
rootRect[3],
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
if (boundingRootRect.width === 0 || boundingRootRect.height === 0) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const ratio =
|
|
96
|
+
(intersectionRect.width * intersectionRect.height) /
|
|
97
|
+
(boundingRootRect.width * boundingRootRect.height);
|
|
98
|
+
|
|
99
|
+
// Prevent rounding errors from making this value greater than 1.
|
|
100
|
+
return Math.min(ratio, 1);
|
|
101
|
+
}
|
|
102
|
+
|
|
77
103
|
/**
|
|
78
104
|
* Returns a `DOMRectReadOnly` representing the target's visible area.
|
|
79
105
|
*/
|