react-native-windows 0.72.13 → 0.73.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 +16 -5
- package/Chakra/ChakraHelpers.cpp +1 -1
- package/Chakra/ChakraUtils.cpp +1 -1
- package/Chakra/ChakraValue.h +1 -1
- package/Common/packages.lock.json +13 -0
- package/Directory.Build.props +6 -2
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
- package/Folly/cgmanifest.json +1 -1
- package/Folly/packages.lock.json +23 -0
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
- package/Libraries/Animated/NativeAnimatedModule.js +6 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
- package/Libraries/Animated/animations/Animation.js +57 -3
- package/Libraries/Animated/animations/DecayAnimation.js +9 -0
- package/Libraries/Animated/animations/SpringAnimation.js +8 -0
- package/Libraries/Animated/animations/TimingAnimation.js +8 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
- package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +9 -10
- package/Libraries/AppState/AppState.d.ts +1 -1
- package/Libraries/AppState/NativeAppState.js +8 -4
- package/Libraries/AppTheme/AppTheme.js +5 -5
- package/Libraries/BatchedBridge/MessageQueue.js +45 -36
- package/Libraries/Blob/Blob.js +6 -2
- package/Libraries/Blob/BlobManager.js +9 -10
- package/Libraries/Blob/BlobRegistry.js +14 -9
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -2
- package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
- package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Pressable/Pressable.js +3 -2
- package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
- package/Libraries/Components/Switch/Switch.js +1 -0
- package/Libraries/Components/Switch/Switch.windows.js +259 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
- package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
- package/Libraries/Components/TextInput/TextInput.js +62 -10
- package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
- package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +46 -32
- package/Libraries/Components/View/View.windows.js +23 -7
- package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +1 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
- package/Libraries/Components/View/ViewPropTypes.js +18 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
- package/Libraries/Core/ExceptionsManager.js +16 -7
- package/Libraries/Core/ExtendedError.js +12 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/Core/setUpMutationObserver.js +16 -0
- package/Libraries/Core/setUpPerformance.js +6 -13
- package/Libraries/Core/setUpPerformanceObserver.js +16 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
- package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
- package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
- package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
- package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
- package/Libraries/Image/Image.android.js +8 -2
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +4 -1
- package/Libraries/Image/Image.windows.js +6 -3
- package/Libraries/Image/ImageBackground.js +3 -0
- package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
- package/Libraries/Inspector/NetworkOverlay.js +2 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
- package/Libraries/Interaction/PanResponder.js +1 -4
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -1
- package/Libraries/Lists/FlatList.js +15 -5
- package/Libraries/Lists/SectionList.js +4 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
- package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +82 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
- package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
- package/Libraries/Network/RCTNetworking.android.js +2 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
- package/Libraries/Pressability/Pressability.js +28 -3
- package/Libraries/Pressability/Pressability.windows.js +30 -5
- package/Libraries/ReactNative/AppContainer.js +2 -3
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
- package/Libraries/ReactNative/AppRegistry.js +66 -53
- package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
- package/Libraries/ReactNative/FabricUIManager.js +143 -34
- package/Libraries/ReactNative/I18nManager.js +5 -11
- package/Libraries/ReactNative/NativeI18nManager.js +7 -5
- package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
- package/Libraries/ReactNative/UIManager.js +8 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
- package/Libraries/Renderer/shims/ReactFabric.js +5 -6
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
- package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
- package/Libraries/Share/Share.d.ts +3 -9
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
- package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
- package/Libraries/StyleSheet/flattenStyle.js +4 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
- package/Libraries/StyleSheet/processColor.js +1 -2
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
- package/Libraries/Text/Text.d.ts +5 -5
- package/Libraries/Text/Text.js +17 -10
- package/Libraries/Text/Text.windows.js +53 -20
- package/Libraries/Text/TextProps.windows.js +275 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CoreEventTypes.d.ts +5 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
- package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
- package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/Platform.android.js +12 -8
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +84 -0
- package/Libraries/Utilities/Platform.flow.windows.js +111 -0
- package/Libraries/Utilities/Platform.ios.js +12 -8
- package/Libraries/Utilities/Platform.windows.js +12 -8
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +63 -32
- package/Libraries/Utilities/useColorScheme.js +7 -8
- package/Libraries/WebPerformance/MemoryInfo.js +1 -1
- package/Libraries/WebPerformance/NativePerformance.js +3 -8
- package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
- package/Libraries/WebPerformance/Performance.js +42 -15
- package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
- package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
- package/Libraries/__tests__/ViewWindows-test.js +3 -3
- package/Libraries/platform-types.d.ts +6 -2
- package/Libraries/promiseRejectionTrackingOptions.js +1 -3
- package/Libraries/vendor/emitter/EventEmitter.js +20 -18
- package/Microsoft.ReactNative/Composition.Input.idl +103 -0
- package/Microsoft.ReactNative/CompositionContext.idl +31 -8
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
- package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
- package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
- package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
- package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
- package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
- package/Microsoft.ReactNative/IReactContext.cpp +1 -1
- package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
- package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
- package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
- package/Microsoft.ReactNative/ReactApplication.h +4 -4
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
- package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
- package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/React.h +3 -6
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
- package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
- package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
- package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
- package/Microsoft.ReactNative/ReactRootView.h +2 -2
- package/Microsoft.ReactNative/ReactSupport.h +1 -1
- package/Microsoft.ReactNative/RedBox.cpp +1 -1
- package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
- package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
- package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
- package/Microsoft.ReactNative/XamlHelper.h +1 -1
- package/Microsoft.ReactNative/packages.lock.json +128 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
- package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
- package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
- package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
- package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
- package/Mso/compilerAdapters/compilerFeatures.h +1 -1
- package/Mso/compilerAdapters/functionDecorations.h +6 -6
- package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
- package/Mso/dispatchQueue/dispatchQueue.h +3 -3
- package/Mso/motifCpp/motifCppTest.h +1 -1
- package/Mso/motifCpp/testCheck.h +1 -1
- package/Mso/oacr/oacr.h +1 -1
- package/Mso/smartPtr/smartPointerBase.h +1 -1
- package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
- package/Mso/src/dispatchQueue/queueService.cpp +1 -1
- package/Mso/src/dispatchQueue/taskQueue.h +1 -1
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
- package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
- package/Mso/src/future/futureImpl.cpp +5 -5
- package/Mso/src/future/futureImpl.h +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/HybridCRT.props +34 -0
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/React.Cpp.props +0 -1
- package/PropertySheets/Warnings.props +1 -1
- package/PropertySheets/WinUI.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +15 -9
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
- package/ReactCommon/Yoga.cpp +497 -3895
- package/ReactCommon/packages.lock.json +30 -0
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/rnw-dependencies.ps1 +79 -26
- package/Shared/BaseScriptStoreImpl.cpp +42 -13
- package/Shared/BaseScriptStoreImpl.h +1 -1
- package/Shared/Composition/AutoDraw.h +36 -0
- package/Shared/CxxMessageQueue.cpp +1 -1
- package/Shared/DevSettings.h +3 -0
- package/Shared/DevSupportManager.h +1 -1
- package/Shared/Hasher.cpp +64 -0
- package/Shared/Hasher.h +24 -0
- package/Shared/HermesRuntimeHolder.cpp +6 -6
- package/Shared/IDevSupportManager.h +1 -1
- package/Shared/JSI/ChakraApi.cpp +1 -1
- package/Shared/JSI/ChakraRuntime.cpp +10 -10
- package/Shared/JSI/ChakraRuntime.h +6 -6
- package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
- package/Shared/Modules/IRequestBodyHandler.h +1 -1
- package/Shared/Modules/IUriHandler.h +1 -1
- package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Networking/DefaultBlobResource.cpp +2 -2
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
- package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
- package/Shared/OInstance.cpp +9 -23
- package/Shared/OInstance.h +1 -1
- package/Shared/PackagerConnection.h +1 -1
- package/Shared/SafeLoadLibrary.cpp +8 -44
- package/Shared/SafeLoadLibrary.h +1 -5
- package/Shared/Shared.vcxitems +50 -20
- package/Shared/Shared.vcxitems.filters +26 -17
- package/Shared/Threading/BatchingQueueThread.cpp +5 -5
- package/Shared/Threading/BatchingQueueThread.h +4 -4
- package/Shared/TurboModuleManager.cpp +1 -1
- package/Shared/Utils.cpp +1 -1
- package/Shared/tracing/fbsystrace.h +1 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativeAppStateSpec.g.h +11 -21
- package/codegen/NativeDeviceInfoSpec.g.h +4 -14
- package/codegen/NativeI18nManagerSpec.g.h +6 -16
- package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
- package/codegen/NativeMutationObserverSpec.g.h +90 -0
- package/codegen/NativePerformanceObserverSpec.g.h +19 -13
- package/codegen/NativePerformanceSpec.g.h +6 -23
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
- package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
- package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
- package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
- package/codegen/NativeSourceCodeSpec.g.h +3 -13
- package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
- package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
- package/codegen/react/components/rnwcore/Props.h +16 -17
- package/codegen/rnwcoreJSI-generated.cpp +1462 -319
- package/codegen/rnwcoreJSI.h +1609 -462
- package/fmt/packages.lock.json +13 -0
- package/index.windows.js +3 -3
- package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/mockModal.js +6 -4
- package/jest/setup.js +61 -30
- package/just-task.js +1 -0
- package/package.json +37 -42
- package/template/cs-app/proj/MyApp.csproj +0 -1
- package/template/cs-lib/proj/MyLib.csproj +0 -1
- package/templates/.clang-format +4 -0
- package/templates/cpp-app/metro.config.js +51 -0
- package/templates/cpp-app/template.config.js +119 -0
- package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
- package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
- package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
- package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
- package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
- package/templates/cpp-app/windows/MyApp/pch.h +35 -0
- package/templates/cpp-app/windows/MyApp/resource.h +18 -0
- package/templates/cpp-app/windows/MyApp/small.ico +0 -0
- package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
- package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
- package/templates/cpp-app/windows/MyApp.sln +176 -0
- package/templates/cpp-app/windows/_gitignore +41 -0
- package/templates/old/generateWrapper.js +67 -0
- package/templates/old/uwp-cpp-app/template.config.js +15 -0
- package/templates/old/uwp-cpp-lib/template.config.js +15 -0
- package/templates/old/uwp-cs-app/template.config.js +15 -0
- package/templates/old/uwp-cs-lib/template.config.js +15 -0
- package/types/experimental.d.ts +44 -0
- package/types/index.d.ts +2 -1
- package/types/modules/Devtools.d.ts +1 -0
- package/types/modules/globals.d.ts +16 -1
- package/Libraries/Components/View/ViewWindows.d.ts +0 -19
- package/Libraries/Components/View/ViewWindows.js +0 -22
- package/Libraries/Components/View/ViewWindows.js.map +0 -1
- package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
- package/Libraries/Components/View/ViewWindowsProps.js +0 -8
- package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
- package/Libraries/Utilities/AcessibilityMapping.js +0 -154
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
- package/Libraries/Utilities/useColorScheme.windows.js +0 -26
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
- package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
- package/Shared/V8JSIRuntimeHolder.cpp +0 -71
- package/Shared/V8JSIRuntimeHolder.h +0 -56
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
- package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
- /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
- /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
|
@@ -42,8 +42,8 @@ static inline bool YogaFloatEquals(float x, float y) {
|
|
|
42
42
|
|
|
43
43
|
#if defined(_DEBUG)
|
|
44
44
|
static int YogaLog(
|
|
45
|
-
const
|
|
46
|
-
const
|
|
45
|
+
const YGConfigConstRef /*config*/,
|
|
46
|
+
const YGNodeConstRef /*node*/,
|
|
47
47
|
YGLogLevel /*level*/,
|
|
48
48
|
const char *format,
|
|
49
49
|
va_list args) {
|
|
@@ -153,9 +153,10 @@ NativeUIManager::NativeUIManager(winrt::Microsoft::ReactNative::ReactContext con
|
|
|
153
153
|
m_yogaConfig = YGConfigNew();
|
|
154
154
|
if (React::implementation::QuirkSettings::GetUseWebFlexBasisBehavior(m_context.Properties()))
|
|
155
155
|
YGConfigSetExperimentalFeatureEnabled(m_yogaConfig, YGExperimentalFeatureWebFlexBasis, true);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
156
|
+
auto errata = YGErrataAll;
|
|
157
|
+
if (!React::implementation::QuirkSettings::GetMatchAndroidAndIOSStretchBehavior(m_context.Properties()))
|
|
158
|
+
errata &= ~YGErrataStretchFlexBasis;
|
|
159
|
+
YGConfigSetErrata(m_yogaConfig, errata);
|
|
159
160
|
#if defined(_DEBUG)
|
|
160
161
|
YGConfigSetLogger(m_yogaConfig, &YogaLog);
|
|
161
162
|
|
|
@@ -217,8 +218,9 @@ void NativeUIManager::AddRootView(ShadowNode &shadowNode, facebook::react::IReac
|
|
|
217
218
|
SystraceSection s("NativeUIManager::AddRootView");
|
|
218
219
|
auto xamlRootView = static_cast<IXamlRootView *>(pReactRootView);
|
|
219
220
|
XamlView view = xamlRootView->GetXamlView();
|
|
221
|
+
const auto rootTag = shadowNode.m_tag;
|
|
220
222
|
m_tagsToXamlReactControl.emplace(
|
|
221
|
-
|
|
223
|
+
rootTag,
|
|
222
224
|
winrt::weak_ref<winrt::Microsoft::ReactNative::ReactRootView>(
|
|
223
225
|
view.as<winrt::Microsoft::ReactNative::ReactRootView>()));
|
|
224
226
|
|
|
@@ -226,14 +228,16 @@ void NativeUIManager::AddRootView(ShadowNode &shadowNode, facebook::react::IReac
|
|
|
226
228
|
view.as<xaml::FrameworkElement>().FlowDirection(
|
|
227
229
|
I18nManager::IsRTL(m_context.Properties()) ? xaml::FlowDirection::RightToLeft : xaml::FlowDirection::LeftToRight);
|
|
228
230
|
|
|
229
|
-
m_tagsToYogaNodes.emplace(
|
|
231
|
+
m_tagsToYogaNodes.emplace(rootTag, make_yoga_node(m_yogaConfig));
|
|
230
232
|
|
|
231
233
|
auto element = view.as<xaml::FrameworkElement>();
|
|
232
|
-
Microsoft::ReactNative::SetTag(element,
|
|
234
|
+
Microsoft::ReactNative::SetTag(element, rootTag);
|
|
233
235
|
|
|
234
236
|
// Add listener to size change so we can redo the layout when that happens
|
|
235
|
-
m_sizeChangedVector.push_back(
|
|
236
|
-
|
|
237
|
+
m_sizeChangedVector.push_back(view.as<xaml::FrameworkElement>().SizeChanged(
|
|
238
|
+
winrt::auto_revoke, [this, rootTag](auto &&, xaml::SizeChangedEventArgs const &args) {
|
|
239
|
+
ApplyLayout(rootTag, args.NewSize().Width, args.NewSize().Height);
|
|
240
|
+
}));
|
|
237
241
|
}
|
|
238
242
|
|
|
239
243
|
void NativeUIManager::removeRootView(Microsoft::ReactNative::ShadowNode &shadow) {
|
|
@@ -831,8 +835,8 @@ void NativeUIManager::RemoveView(ShadowNode &shadowNode, bool removeChildren /*=
|
|
|
831
835
|
|
|
832
836
|
YGNodeRef yogaNode = pViewManager->RequiresYogaNode() ? GetYogaNode(node.m_tag) : nullptr;
|
|
833
837
|
if (yogaNode != nullptr && !pViewManager->IsNativeControlWithSelfLayout()) {
|
|
834
|
-
|
|
835
|
-
for (
|
|
838
|
+
auto childCount = YGNodeGetChildCount(yogaNode);
|
|
839
|
+
for (auto i = childCount; i > 0; --i) {
|
|
836
840
|
YGNodeRef yogaNodeToRemove = YGNodeGetChild(yogaNode, i - 1);
|
|
837
841
|
YGNodeRemoveChild(yogaNode, yogaNodeToRemove);
|
|
838
842
|
}
|
|
@@ -1069,9 +1073,9 @@ void NativeUIManager::measureLayout(
|
|
|
1069
1073
|
const auto &target = static_cast<ShadowNodeBase &>(shadowNode);
|
|
1070
1074
|
const auto &ancestor = static_cast<ShadowNodeBase &>(ancestorNode);
|
|
1071
1075
|
const auto targetElement = target.GetView().as<xaml::FrameworkElement>();
|
|
1072
|
-
const auto
|
|
1076
|
+
const auto ancestorElement = ancestor.GetView().as<xaml::FrameworkElement>();
|
|
1073
1077
|
|
|
1074
|
-
const auto ancestorTransform = targetElement.TransformToVisual(
|
|
1078
|
+
const auto ancestorTransform = targetElement.TransformToVisual(ancestorElement);
|
|
1075
1079
|
const auto width = static_cast<float>(targetElement.ActualWidth());
|
|
1076
1080
|
const auto height = static_cast<float>(targetElement.ActualHeight());
|
|
1077
1081
|
const auto transformedBounds = ancestorTransform.TransformBounds(winrt::Rect(0, 0, width, height));
|
|
@@ -1167,7 +1171,9 @@ void NativeUIManager::blur(int64_t reactTag) {
|
|
|
1167
1171
|
if (auto shadowNode = static_cast<ShadowNodeBase *>(m_host->FindShadowNodeForTag(reactTag))) {
|
|
1168
1172
|
// Only blur if current UI is focused to avoid problem described in PR #2687
|
|
1169
1173
|
const auto xamlRoot = tryGetXamlRoot(shadowNode->m_rootTag);
|
|
1170
|
-
|
|
1174
|
+
const auto focusedElement = xamlRoot ? xaml::Input::FocusManager::GetFocusedElement(xamlRoot)
|
|
1175
|
+
: xaml::Input::FocusManager::GetFocusedElement();
|
|
1176
|
+
if (shadowNode->GetView() == focusedElement) {
|
|
1171
1177
|
if (auto reactControl = GetParentXamlReactControl(reactTag).get()) {
|
|
1172
1178
|
reactControl.as<winrt::Microsoft::ReactNative::implementation::ReactRootView>()->blur(shadowNode->GetView());
|
|
1173
1179
|
} else {
|
|
@@ -54,8 +54,11 @@ UIManagerSettingsProperty() noexcept {
|
|
|
54
54
|
|
|
55
55
|
UIManagerSettings::UIManagerSettings(
|
|
56
56
|
const std::shared_ptr<facebook::react::MessageQueueThread> batchingUIMessageQueue,
|
|
57
|
+
const std::shared_ptr<facebook::react::MessageQueueThread> uiMessageQueue,
|
|
57
58
|
std::vector<std::unique_ptr<IViewManager>> &&viewManagers)
|
|
58
|
-
: batchingUIMessageQueue(std::move(batchingUIMessageQueue)),
|
|
59
|
+
: batchingUIMessageQueue(std::move(batchingUIMessageQueue)),
|
|
60
|
+
uiMessageQueue(std::move(uiMessageQueue)),
|
|
61
|
+
viewManagers(std::move(viewManagers)) {}
|
|
59
62
|
|
|
60
63
|
void UIManager::SetSettings(
|
|
61
64
|
winrt::Microsoft::ReactNative::IReactPropertyBag const &properties,
|
|
@@ -534,6 +537,7 @@ void UIManager::Initialize(winrt::Microsoft::ReactNative::ReactContext const &re
|
|
|
534
537
|
|
|
535
538
|
auto settings = m_context.Properties().Get(UIManagerSettingsProperty());
|
|
536
539
|
m_batchingUIMessageQueue = std::move((*settings)->batchingUIMessageQueue);
|
|
540
|
+
m_uiMessageQueue = std::move((*settings)->uiMessageQueue);
|
|
537
541
|
|
|
538
542
|
m_module->Initialize(reactContext);
|
|
539
543
|
}
|
|
@@ -568,11 +572,11 @@ void UIManager::createView(
|
|
|
568
572
|
std::string viewName,
|
|
569
573
|
double rootTag,
|
|
570
574
|
React::JSValueObject &&props) noexcept {
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
575
|
+
m_uiMessageQueue->runOnQueue(Mso::VoidFunctor([m = std::weak_ptr<UIManagerModule>(m_module),
|
|
576
|
+
reactTag,
|
|
577
|
+
viewName = std::move(viewName),
|
|
578
|
+
rootTag,
|
|
579
|
+
props = std::move(props)]() mutable {
|
|
576
580
|
SystraceSection s("UIManager::createView");
|
|
577
581
|
if (auto module = m.lock()) {
|
|
578
582
|
module->createView(static_cast<int64_t>(reactTag), viewName, static_cast<int64_t>(rootTag), std::move(props));
|
|
@@ -22,9 +22,11 @@ class NativeUIManager;
|
|
|
22
22
|
struct UIManagerSettings {
|
|
23
23
|
UIManagerSettings(
|
|
24
24
|
const std::shared_ptr<facebook::react::MessageQueueThread> batchingUIMessageQueue,
|
|
25
|
+
const std::shared_ptr<facebook::react::MessageQueueThread> uiMessageQueue,
|
|
25
26
|
std::vector<std::unique_ptr<IViewManager>> &&viewManagers);
|
|
26
27
|
UIManagerSettings(UIManagerSettings const &) = delete;
|
|
27
28
|
const std::shared_ptr<facebook::react::MessageQueueThread> batchingUIMessageQueue;
|
|
29
|
+
const std::shared_ptr<facebook::react::MessageQueueThread> uiMessageQueue;
|
|
28
30
|
std::vector<std::unique_ptr<IViewManager>> viewManagers;
|
|
29
31
|
};
|
|
30
32
|
|
|
@@ -35,7 +37,7 @@ REACT_MODULE(UIManager)
|
|
|
35
37
|
struct UIManager final {
|
|
36
38
|
// TODO:
|
|
37
39
|
// Spec incorrectly reports commandID as a number, but its actually a number | string..
|
|
38
|
-
// There is also other issues to catch up, so
|
|
40
|
+
// There is also other issues to catch up, so don't use the spec for now
|
|
39
41
|
// using ModuleSpec = ReactNativeSpecs::UIManagerSpec;
|
|
40
42
|
|
|
41
43
|
UIManager();
|
|
@@ -175,6 +177,7 @@ struct UIManager final {
|
|
|
175
177
|
|
|
176
178
|
private:
|
|
177
179
|
std::shared_ptr<facebook::react::MessageQueueThread> m_batchingUIMessageQueue;
|
|
180
|
+
std::shared_ptr<facebook::react::MessageQueueThread> m_uiMessageQueue;
|
|
178
181
|
std::shared_ptr<UIManagerModule> m_module;
|
|
179
182
|
winrt::Microsoft::ReactNative::ReactContext m_context;
|
|
180
183
|
};
|
|
@@ -33,7 +33,7 @@ namespace Microsoft.ReactNative
|
|
|
33
33
|
DOC_STRING(
|
|
34
34
|
"There is a chance that cached flex basis values can cause text truncation in some re-layout scenarios. "
|
|
35
35
|
"Enabling [Yoga](https://github.com/facebook/yoga)'s experimental web flex basis behavior fixes this issue, "
|
|
36
|
-
"however using it may result in
|
|
36
|
+
"however using it may result in performance regressions due to additional layout passes.")
|
|
37
37
|
DOC_DEFAULT("false")
|
|
38
38
|
static void SetUseWebFlexBasisBehavior(ReactInstanceSettings settings, Boolean value);
|
|
39
39
|
|
|
@@ -105,9 +105,9 @@ void ReactApplication::BundleAppId(hstring const &value) noexcept {
|
|
|
105
105
|
InstanceSettings().BundleAppId(value);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
void ReactApplication::OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs const &e) {
|
|
109
|
-
if (e.Kind() == Windows::ApplicationModel::Activation::ActivationKind::Protocol) {
|
|
110
|
-
auto protocolActivatedEventArgs{e.as<Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs>()};
|
|
108
|
+
void ReactApplication::OnActivated(winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs const &e) {
|
|
109
|
+
if (e.Kind() == winrt::Windows::ApplicationModel::Activation::ActivationKind::Protocol) {
|
|
110
|
+
auto protocolActivatedEventArgs{e.as<winrt::Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs>()};
|
|
111
111
|
::Microsoft::ReactNative::LinkingManager::OpenUri(protocolActivatedEventArgs.Uri());
|
|
112
112
|
}
|
|
113
113
|
this->OnCreate(e);
|
|
@@ -115,7 +115,7 @@ void ReactApplication::OnActivated(Windows::ApplicationModel::Activation::IActiv
|
|
|
115
115
|
|
|
116
116
|
void ReactApplication::OnLaunched(activation::LaunchActivatedEventArgs const &e_) {
|
|
117
117
|
base_type::OnLaunched(e_);
|
|
118
|
-
Windows::ApplicationModel::Activation::LaunchActivatedEventArgs e =
|
|
118
|
+
winrt::Windows::ApplicationModel::Activation::LaunchActivatedEventArgs e =
|
|
119
119
|
#ifdef USE_WINUI3
|
|
120
120
|
e_.UWPLaunchActivatedEventArgs();
|
|
121
121
|
#else
|
|
@@ -165,15 +165,16 @@ void ApplyArguments(ReactNative::ReactNativeHost const &host, std::wstring const
|
|
|
165
165
|
/// specific file.
|
|
166
166
|
/// </summary>
|
|
167
167
|
/// <param name="e">Details about the launch request and process.</param>
|
|
168
|
-
void ReactApplication::OnCreate(Windows::ApplicationModel::Activation::IActivatedEventArgs const &e) {
|
|
168
|
+
void ReactApplication::OnCreate(winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs const &e) {
|
|
169
169
|
bool isPrelaunchActivated = false;
|
|
170
|
-
if (auto
|
|
171
|
-
|
|
170
|
+
if (auto prelaunchActivatedArgs =
|
|
171
|
+
e.try_as<winrt::Windows::ApplicationModel::Activation::IPrelaunchActivatedEventArgs>()) {
|
|
172
|
+
isPrelaunchActivated = prelaunchActivatedArgs.PrelaunchActivated();
|
|
172
173
|
}
|
|
173
174
|
|
|
174
175
|
hstring args;
|
|
175
|
-
if (auto
|
|
176
|
-
args =
|
|
176
|
+
if (auto launchActivatedArgs = e.try_as<activation::ILaunchActivatedEventArgs>()) {
|
|
177
|
+
args = launchActivatedArgs.Arguments();
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
Frame rootFrame{nullptr};
|
|
@@ -192,7 +193,8 @@ void ReactApplication::OnCreate(Windows::ApplicationModel::Activation::IActivate
|
|
|
192
193
|
|
|
193
194
|
rootFrame.NavigationFailed({this, &ReactApplication::OnNavigationFailed});
|
|
194
195
|
|
|
195
|
-
if (e.PreviousExecutionState() ==
|
|
196
|
+
if (e.PreviousExecutionState() ==
|
|
197
|
+
winrt::Windows::ApplicationModel::Activation::ApplicationExecutionState::Terminated) {
|
|
196
198
|
// Restore the saved session state only when appropriate, scheduling the
|
|
197
199
|
// final launch steps after the restore is complete
|
|
198
200
|
}
|
|
@@ -222,7 +224,7 @@ void ReactApplication::OnCreate(Windows::ApplicationModel::Activation::IActivate
|
|
|
222
224
|
/// <param name="e">Details about the suspend request.</param>
|
|
223
225
|
void ReactApplication::OnSuspending(
|
|
224
226
|
[[maybe_unused]] IInspectable const &sender,
|
|
225
|
-
[[maybe_unused]] Windows::ApplicationModel::SuspendingEventArgs const &e) {
|
|
227
|
+
[[maybe_unused]] winrt::Windows::ApplicationModel::SuspendingEventArgs const &e) {
|
|
226
228
|
// Save application state and stop any background activity
|
|
227
229
|
}
|
|
228
230
|
|
|
@@ -81,7 +81,7 @@ struct ReactApplication : NoDefaultCtorReactApplication_base<ReactApplication, x
|
|
|
81
81
|
ReactNative::ReactInstanceSettings InstanceSettings() noexcept;
|
|
82
82
|
void InstanceSettings(ReactNative::ReactInstanceSettings const &value) noexcept;
|
|
83
83
|
|
|
84
|
-
Windows::Foundation::Collections::IVector<IReactPackageProvider> PackageProviders() noexcept;
|
|
84
|
+
winrt::Windows::Foundation::Collections::IVector<IReactPackageProvider> PackageProviders() noexcept;
|
|
85
85
|
|
|
86
86
|
ReactNative::ReactNativeHost Host() noexcept;
|
|
87
87
|
|
|
@@ -94,9 +94,9 @@ struct ReactApplication : NoDefaultCtorReactApplication_base<ReactApplication, x
|
|
|
94
94
|
hstring BundleAppId() noexcept;
|
|
95
95
|
void BundleAppId(hstring const &value) noexcept;
|
|
96
96
|
|
|
97
|
-
void OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs const &e);
|
|
97
|
+
void OnActivated(winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs const &e);
|
|
98
98
|
void OnLaunched(activation::LaunchActivatedEventArgs const &e);
|
|
99
|
-
void OnSuspending(IInspectable const &, Windows::ApplicationModel::SuspendingEventArgs const &);
|
|
99
|
+
void OnSuspending(IInspectable const &, winrt::Windows::ApplicationModel::SuspendingEventArgs const &);
|
|
100
100
|
void OnNavigationFailed(IInspectable const &, xaml::Navigation::NavigationFailedEventArgs const &);
|
|
101
101
|
|
|
102
102
|
using AppLaunchedDelegate = winrt::delegate<void(
|
|
@@ -129,7 +129,7 @@ struct ReactApplication : NoDefaultCtorReactApplication_base<ReactApplication, x
|
|
|
129
129
|
winrt::Microsoft::ReactNative::ReactInstanceSettings m_instanceSettings{nullptr};
|
|
130
130
|
winrt::Microsoft::ReactNative::ReactNativeHost m_host{nullptr};
|
|
131
131
|
|
|
132
|
-
void OnCreate(Windows::ApplicationModel::Activation::IActivatedEventArgs const &e);
|
|
132
|
+
void OnCreate(winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs const &e);
|
|
133
133
|
|
|
134
134
|
AppLaunchedDelegate m_launched;
|
|
135
135
|
AppViewCreatedDelegate m_viewCreated;
|
|
@@ -60,11 +60,12 @@ struct ReactViewHost : public winrt::implements<ReactViewHost, IReactViewHost> {
|
|
|
60
60
|
Mso::React::IReactViewHost &viewHost,
|
|
61
61
|
const winrt::Microsoft::ReactNative::IReactDispatcher &uiDispatcher);
|
|
62
62
|
|
|
63
|
-
Windows::Foundation::IAsyncAction ReloadViewInstance() noexcept;
|
|
64
|
-
Windows::Foundation::IAsyncAction ReloadViewInstanceWithOptions(
|
|
65
|
-
|
|
66
|
-
Windows::Foundation::IAsyncAction
|
|
67
|
-
Windows::Foundation::IAsyncAction
|
|
63
|
+
winrt::Windows::Foundation::IAsyncAction ReloadViewInstance() noexcept;
|
|
64
|
+
winrt::Windows::Foundation::IAsyncAction ReloadViewInstanceWithOptions(
|
|
65
|
+
ReactNative::ReactViewOptions options) noexcept;
|
|
66
|
+
winrt::Windows::Foundation::IAsyncAction UnloadViewInstance() noexcept;
|
|
67
|
+
winrt::Windows::Foundation::IAsyncAction AttachViewInstance(IReactViewInstance viewInstance) noexcept;
|
|
68
|
+
winrt::Windows::Foundation::IAsyncAction DetachViewInstance() noexcept;
|
|
68
69
|
winrt::Microsoft::ReactNative::ReactNativeHost ReactNativeHost() noexcept;
|
|
69
70
|
|
|
70
71
|
private:
|
|
@@ -20,7 +20,7 @@ struct JSCallInvokerScheduler
|
|
|
20
20
|
|
|
21
21
|
public:
|
|
22
22
|
// IDispatchQueueScheduler
|
|
23
|
-
void
|
|
23
|
+
void InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
|
|
24
24
|
bool HasThreadAccess() noexcept override;
|
|
25
25
|
bool IsSerial() noexcept override;
|
|
26
26
|
void Post() noexcept override;
|
|
@@ -59,7 +59,7 @@ JSCallInvokerScheduler::~JSCallInvokerScheduler() noexcept {
|
|
|
59
59
|
AwaitTermination();
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
void JSCallInvokerScheduler::
|
|
62
|
+
void JSCallInvokerScheduler::InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
|
|
63
63
|
m_queue = std::move(queue);
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -35,7 +35,7 @@ struct WhenAllCompletedState : Mso::RefCountedObjectNoVTable<WhenAllCompletedSta
|
|
|
35
35
|
resultSlot = std::move(result);
|
|
36
36
|
if (--m_waitCount == 0) {
|
|
37
37
|
// All tasks are completed.
|
|
38
|
-
// If we have an error, then
|
|
38
|
+
// If we have an error, then propagate only the first error in the list.
|
|
39
39
|
for (auto &taskResult : m_taskResults) {
|
|
40
40
|
if (taskResult.IsError()) {
|
|
41
41
|
m_result.SetMaybe(std::move(taskResult));
|
|
@@ -186,7 +186,7 @@ struct ReactOptions {
|
|
|
186
186
|
//! Identity of the SDX. Must uniquely describe the SDX across the installed product.
|
|
187
187
|
std::string Identity;
|
|
188
188
|
|
|
189
|
-
//! List of names of Cxx modules that all
|
|
189
|
+
//! List of names of Cxx modules that all ReactInstances hosting this SDX should be configured with.
|
|
190
190
|
//!
|
|
191
191
|
//! In addition to this list, there are following hardcoded modules.
|
|
192
192
|
//!
|
|
@@ -200,7 +200,7 @@ struct ReactOptions {
|
|
|
200
200
|
//! ExceptionsManager: Implemented by facebook::react::ExceptionsManagerModule
|
|
201
201
|
std::vector<std::string> CxxModuleNames;
|
|
202
202
|
|
|
203
|
-
//! List of names of Java modules that all
|
|
203
|
+
//! List of names of Java modules that all ReactInstances hosting this SDX should be configured with.
|
|
204
204
|
std::vector<std::string> JavaModuleNames;
|
|
205
205
|
|
|
206
206
|
//! (Optional) Name of the registered IDataServiceProvider to use when creating data services
|
|
@@ -275,9 +275,6 @@ struct ReactOptions {
|
|
|
275
275
|
winrt::Microsoft::ReactNative::IReactPropertyBag const &properties,
|
|
276
276
|
JSIEngine value) noexcept;
|
|
277
277
|
|
|
278
|
-
bool JsiEngineV8NodeApi() const noexcept;
|
|
279
|
-
static bool JsiEngineV8NodeApi(winrt::Microsoft::ReactNative::IReactPropertyBag const &properties) noexcept;
|
|
280
|
-
|
|
281
278
|
//! Enable live reload to load the source bundle from the React Native packager.
|
|
282
279
|
//! When the file is saved, the packager will trigger reloading.
|
|
283
280
|
void SetUseLiveReload(bool enable) noexcept;
|
|
@@ -345,7 +342,7 @@ struct ReactOptions {
|
|
|
345
342
|
OnReactInstanceDestroyedCallback OnInstanceDestroyed;
|
|
346
343
|
};
|
|
347
344
|
|
|
348
|
-
//! IReactHost manages a
|
|
345
|
+
//! IReactHost manages a ReactNative instance.
|
|
349
346
|
MSO_GUID(IReactHost, "2a2474ff-264f-449a-9852-0463e6ac6bbf")
|
|
350
347
|
struct DECLSPEC_NOVTABLE IReactHost : IUnknown {
|
|
351
348
|
//! Returns a copy of react options.
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
#include "ReactHost.h"
|
|
5
5
|
#include <Future/FutureWait.h>
|
|
6
|
-
#include <ReactPropertyBag.h>
|
|
7
6
|
#include <winrt/Windows.Foundation.h>
|
|
8
7
|
|
|
9
8
|
namespace Mso::React {
|
|
@@ -36,12 +35,6 @@ winrt::Microsoft::ReactNative::IReactPropertyName JSIEngineProperty() noexcept {
|
|
|
36
35
|
return propName;
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
winrt::Microsoft::ReactNative::ReactPropertyId<bool> JSIEngineV8NodeApiProperty() noexcept {
|
|
40
|
-
static winrt::Microsoft::ReactNative::ReactPropertyId<bool> propId{
|
|
41
|
-
L"ReactNative.ReactOptions", L"JSIEngineV8NodeApi"};
|
|
42
|
-
return propId;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
38
|
winrt::Microsoft::ReactNative::IReactPropertyName LiveReloadEnabledProperty() noexcept {
|
|
46
39
|
static winrt::Microsoft::ReactNative::IReactPropertyName propName =
|
|
47
40
|
winrt::Microsoft::ReactNative::ReactPropertyBagHelper::GetName(
|
|
@@ -144,15 +137,6 @@ void ReactOptions::SetJsiEngine(JSIEngine value) noexcept {
|
|
|
144
137
|
properties.Set(JSIEngineProperty(), winrt::box_value(static_cast<uint32_t>(value)));
|
|
145
138
|
}
|
|
146
139
|
|
|
147
|
-
/*static*/ bool ReactOptions::JsiEngineV8NodeApi(
|
|
148
|
-
winrt::Microsoft::ReactNative::IReactPropertyBag const &properties) noexcept {
|
|
149
|
-
return winrt::Microsoft::ReactNative::ReactPropertyBag(properties).Get(JSIEngineV8NodeApiProperty()).value_or(false);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
bool ReactOptions::JsiEngineV8NodeApi() const noexcept {
|
|
153
|
-
return JsiEngineV8NodeApi(Properties);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
140
|
/*static*/ void ReactOptions::SetUseFastRefresh(
|
|
157
141
|
winrt::Microsoft::ReactNative::IReactPropertyBag const &properties,
|
|
158
142
|
bool value) noexcept {
|
|
@@ -76,9 +76,7 @@
|
|
|
76
76
|
|
|
77
77
|
#if defined(USE_V8)
|
|
78
78
|
#include <winrt/Windows.Storage.h>
|
|
79
|
-
#include "BaseScriptStoreImpl.h"
|
|
80
79
|
#include "JSI/V8RuntimeHolder.h"
|
|
81
|
-
#include "V8JSIRuntimeHolder.h"
|
|
82
80
|
#endif // USE_V8
|
|
83
81
|
|
|
84
82
|
#include "RedBox.h"
|
|
@@ -493,6 +491,7 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
493
491
|
|
|
494
492
|
switch (m_options.JsiEngine()) {
|
|
495
493
|
case JSIEngine::Hermes: {
|
|
494
|
+
// TODO: Should we use UwpPreparedScriptStore?
|
|
496
495
|
if (Microsoft::ReactNative::HasPackageIdentity()) {
|
|
497
496
|
preparedScriptStore =
|
|
498
497
|
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(getApplicationTempFolder());
|
|
@@ -530,18 +529,8 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
530
529
|
enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
|
|
531
530
|
#endif // USE_FABRIC
|
|
532
531
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore), enableMultiThreadSupport);
|
|
536
|
-
} else {
|
|
537
|
-
devSettings->jsiRuntimeHolder = std::make_shared<facebook::react::V8JSIRuntimeHolder>(
|
|
538
|
-
devSettings,
|
|
539
|
-
m_jsMessageThread.Load(),
|
|
540
|
-
std::move(scriptStore),
|
|
541
|
-
std::move(preparedScriptStore),
|
|
542
|
-
enableMultiThreadSupport);
|
|
543
|
-
}
|
|
544
|
-
|
|
532
|
+
devSettings->jsiRuntimeHolder = std::make_shared<Microsoft::ReactNative::V8RuntimeHolder>(
|
|
533
|
+
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore), enableMultiThreadSupport);
|
|
545
534
|
break;
|
|
546
535
|
}
|
|
547
536
|
#endif // USE_V8
|
|
@@ -567,6 +556,9 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
567
556
|
auto omitNetCxxPropName = ReactPropertyBagHelper::GetName(nullptr, L"OmitNetworkingCxxModules");
|
|
568
557
|
auto omitNetCxxPropValue = m_options.Properties.Get(omitNetCxxPropName);
|
|
569
558
|
devSettings->omitNetworkingCxxModules = winrt::unbox_value_or(omitNetCxxPropValue, false);
|
|
559
|
+
auto useWebSocketTurboModulePropName = ReactPropertyBagHelper::GetName(nullptr, L"UseWebSocketTurboModule");
|
|
560
|
+
auto useWebSocketTurboModulePropValue = m_options.Properties.Get(useWebSocketTurboModulePropName);
|
|
561
|
+
devSettings->useWebSocketTurboModule = winrt::unbox_value_or(useWebSocketTurboModulePropValue, false);
|
|
570
562
|
auto bundleRootPath = devSettings->bundleRootPath;
|
|
571
563
|
auto instanceWrapper = facebook::react::CreateReactInstance(
|
|
572
564
|
std::shared_ptr<facebook::react::Instance>(strongThis->m_instance.Load()),
|
|
@@ -821,8 +813,8 @@ void ReactInstanceWin::InitUIManager() noexcept {
|
|
|
821
813
|
|
|
822
814
|
Microsoft::ReactNative::AddStandardViewManagers(viewManagers, *m_reactContext);
|
|
823
815
|
|
|
824
|
-
auto uiManagerSettings =
|
|
825
|
-
|
|
816
|
+
auto uiManagerSettings = std::make_unique<Microsoft::ReactNative::UIManagerSettings>(
|
|
817
|
+
m_batchingUIThread, m_uiMessageThread.Load(), std::move(viewManagers));
|
|
826
818
|
Microsoft::ReactNative::UIManager::SetSettings(m_reactContext->Properties(), std::move(uiManagerSettings));
|
|
827
819
|
|
|
828
820
|
m_reactContext->Properties().Set(
|
|
@@ -155,12 +155,12 @@ IReactPropertyName InstanceDestroyedEventName() noexcept {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
// Subscribes to a notification from a ReactNotificationService, then returns the IReactNotificationSubscription as a
|
|
158
|
-
// event_token This allows easy implementation of winrt events which are implemented using the
|
|
158
|
+
// event_token This allows easy implementation of winrt events which are implemented using the ReactNotificationService.
|
|
159
159
|
template <typename argsT>
|
|
160
160
|
winrt::event_token subscribeToNotifications(
|
|
161
161
|
IReactNotificationService const ¬ifications,
|
|
162
162
|
IReactPropertyName const &property,
|
|
163
|
-
Windows::Foundation::EventHandler<argsT> const &handler) {
|
|
163
|
+
winrt::Windows::Foundation::EventHandler<argsT> const &handler) {
|
|
164
164
|
auto subscription = notifications.Subscribe(
|
|
165
165
|
property,
|
|
166
166
|
nullptr,
|
|
@@ -185,7 +185,7 @@ void unsubscribeFromNotifications(winrt::event_token const &token) {
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
winrt::event_token ReactInstanceSettings::InstanceCreated(
|
|
188
|
-
Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceCreatedEventArgs> const
|
|
188
|
+
winrt::Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceCreatedEventArgs> const
|
|
189
189
|
&handler) noexcept {
|
|
190
190
|
return subscribeToNotifications(Notifications(), InstanceCreatedEventName(), handler);
|
|
191
191
|
}
|
|
@@ -195,7 +195,8 @@ void ReactInstanceSettings::InstanceCreated(winrt::event_token const &token) noe
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
winrt::event_token ReactInstanceSettings::InstanceLoaded(
|
|
198
|
-
Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceLoadedEventArgs> const
|
|
198
|
+
winrt::Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceLoadedEventArgs> const
|
|
199
|
+
&handler) noexcept {
|
|
199
200
|
return subscribeToNotifications(Notifications(), InstanceLoadedEventName(), handler);
|
|
200
201
|
}
|
|
201
202
|
|
|
@@ -204,7 +205,7 @@ void ReactInstanceSettings::InstanceLoaded(winrt::event_token const &token) noex
|
|
|
204
205
|
}
|
|
205
206
|
|
|
206
207
|
winrt::event_token ReactInstanceSettings::InstanceDestroyed(
|
|
207
|
-
Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceDestroyedEventArgs> const
|
|
208
|
+
winrt::Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceDestroyedEventArgs> const
|
|
208
209
|
&handler) noexcept {
|
|
209
210
|
return subscribeToNotifications(Notifications(), InstanceDestroyedEventName(), handler);
|
|
210
211
|
}
|
|
@@ -53,7 +53,7 @@ struct ReactInstanceSettings : ReactInstanceSettingsT<ReactInstanceSettings> {
|
|
|
53
53
|
|
|
54
54
|
IReactNotificationService Notifications() noexcept;
|
|
55
55
|
|
|
56
|
-
Windows::Foundation::Collections::IVector<IReactPackageProvider> PackageProviders() noexcept;
|
|
56
|
+
winrt::Windows::Foundation::Collections::IVector<IReactPackageProvider> PackageProviders() noexcept;
|
|
57
57
|
|
|
58
58
|
//! This controls the availability of various developer support functionality including
|
|
59
59
|
//! RedBox, and the Developer Menu
|
|
@@ -83,7 +83,7 @@ struct ReactInstanceSettings : ReactInstanceSettingsT<ReactInstanceSettings> {
|
|
|
83
83
|
void UseFastRefresh(bool value) noexcept;
|
|
84
84
|
|
|
85
85
|
//! Should the instance monitor for changes to the JS and reload the instance when a change is
|
|
86
|
-
//! detected. Generally its
|
|
86
|
+
//! detected. Generally its preferred to use FastFreshed instead of this. But if there is some
|
|
87
87
|
//! issue with hot reloading in your app, then this can be used instead
|
|
88
88
|
bool UseLiveReload() noexcept;
|
|
89
89
|
void UseLiveReload(bool value) noexcept;
|
|
@@ -147,17 +147,17 @@ struct ReactInstanceSettings : ReactInstanceSettingsT<ReactInstanceSettings> {
|
|
|
147
147
|
void JSIEngineOverride(JSIEngine value) noexcept;
|
|
148
148
|
|
|
149
149
|
winrt::event_token InstanceCreated(
|
|
150
|
-
Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceCreatedEventArgs> const
|
|
150
|
+
winrt::Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceCreatedEventArgs> const
|
|
151
151
|
&handler) noexcept;
|
|
152
152
|
void InstanceCreated(winrt::event_token const &token) noexcept;
|
|
153
153
|
|
|
154
154
|
winrt::event_token InstanceLoaded(
|
|
155
|
-
Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceLoadedEventArgs> const
|
|
155
|
+
winrt::Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceLoadedEventArgs> const
|
|
156
156
|
&handler) noexcept;
|
|
157
157
|
void InstanceLoaded(winrt::event_token const &token) noexcept;
|
|
158
158
|
|
|
159
159
|
winrt::event_token InstanceDestroyed(
|
|
160
|
-
Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceDestroyedEventArgs> const
|
|
160
|
+
winrt::Windows::Foundation::EventHandler<winrt::Microsoft::ReactNative::InstanceDestroyedEventArgs> const
|
|
161
161
|
&handler) noexcept;
|
|
162
162
|
void InstanceDestroyed(winrt::event_token const &token) noexcept;
|
|
163
163
|
|
|
@@ -174,7 +174,7 @@ struct ReactInstanceSettings : ReactInstanceSettingsT<ReactInstanceSettings> {
|
|
|
174
174
|
private:
|
|
175
175
|
IReactPropertyBag m_properties{ReactPropertyBagHelper::CreatePropertyBag()};
|
|
176
176
|
IReactNotificationService m_notifications{ReactNotificationServiceHelper::CreateNotificationService()};
|
|
177
|
-
Windows::Foundation::Collections::IVector<IReactPackageProvider> m_packageProviders{
|
|
177
|
+
::winrt::Windows::Foundation::Collections::IVector<IReactPackageProvider> m_packageProviders{
|
|
178
178
|
single_threaded_vector<IReactPackageProvider>()};
|
|
179
179
|
hstring m_javaScriptBundleFile{};
|
|
180
180
|
hstring m_bundleAppId{};
|
|
@@ -223,7 +223,7 @@ inline IReactNotificationService ReactInstanceSettings::Notifications() noexcept
|
|
|
223
223
|
return m_notifications;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
inline Windows::Foundation::Collections::IVector<IReactPackageProvider>
|
|
226
|
+
inline winrt::Windows::Foundation::Collections::IVector<IReactPackageProvider>
|
|
227
227
|
ReactInstanceSettings::PackageProviders() noexcept {
|
|
228
228
|
return m_packageProviders;
|
|
229
229
|
}
|
|
@@ -20,15 +20,15 @@ struct ReactNativeHost : ReactNativeHostT<ReactNativeHost> {
|
|
|
20
20
|
static ReactNative::ReactNativeHost FromContext(ReactNative::IReactContext const &reactContext) noexcept;
|
|
21
21
|
|
|
22
22
|
// property PackageProviders
|
|
23
|
-
Windows::Foundation::Collections::IVector<IReactPackageProvider> PackageProviders() noexcept;
|
|
23
|
+
winrt::Windows::Foundation::Collections::IVector<IReactPackageProvider> PackageProviders() noexcept;
|
|
24
24
|
|
|
25
25
|
// property InstanceSettings
|
|
26
26
|
ReactNative::ReactInstanceSettings InstanceSettings() noexcept;
|
|
27
27
|
void InstanceSettings(ReactNative::ReactInstanceSettings const &value) noexcept;
|
|
28
28
|
|
|
29
|
-
Windows::Foundation::IAsyncAction LoadInstance() noexcept;
|
|
30
|
-
Windows::Foundation::IAsyncAction ReloadInstance() noexcept;
|
|
31
|
-
Windows::Foundation::IAsyncAction UnloadInstance() noexcept;
|
|
29
|
+
winrt::Windows::Foundation::IAsyncAction LoadInstance() noexcept;
|
|
30
|
+
winrt::Windows::Foundation::IAsyncAction ReloadInstance() noexcept;
|
|
31
|
+
winrt::Windows::Foundation::IAsyncAction UnloadInstance() noexcept;
|
|
32
32
|
|
|
33
33
|
public:
|
|
34
34
|
Mso::React::IReactHost *ReactHost() noexcept;
|
|
@@ -160,7 +160,7 @@ void ReactRootView::InitRootView(
|
|
|
160
160
|
|
|
161
161
|
m_touchEventHandler->AddTouchHandlers(*this);
|
|
162
162
|
m_previewKeyboardEventHandlerOnRoot->hook(*this);
|
|
163
|
-
m_SIPEventHandler->AttachView(*this, /*
|
|
163
|
+
m_SIPEventHandler->AttachView(*this, /*fireKeyboardEvents:*/ true);
|
|
164
164
|
|
|
165
165
|
UpdateRootViewInternal();
|
|
166
166
|
AttachBackHandlers();
|
|
@@ -430,8 +430,9 @@ void ReactRootView::ReactViewHost(Mso::React::IReactViewHost *viewHost) noexcept
|
|
|
430
430
|
}
|
|
431
431
|
}
|
|
432
432
|
|
|
433
|
-
Windows::Foundation::Size ReactRootView::MeasureOverride(
|
|
434
|
-
|
|
433
|
+
winrt::Windows::Foundation::Size ReactRootView::MeasureOverride(
|
|
434
|
+
winrt::Windows::Foundation::Size const &availableSize) const {
|
|
435
|
+
winrt::Windows::Foundation::Size size{0.0f, 0.0f};
|
|
435
436
|
|
|
436
437
|
for (xaml::UIElement child : Children()) {
|
|
437
438
|
child.Measure(availableSize);
|
|
@@ -445,7 +446,7 @@ Windows::Foundation::Size ReactRootView::MeasureOverride(Windows::Foundation::Si
|
|
|
445
446
|
return size;
|
|
446
447
|
}
|
|
447
448
|
|
|
448
|
-
Windows::Foundation::Size ReactRootView::ArrangeOverride(Windows::Foundation::Size finalSize) const {
|
|
449
|
+
winrt::Windows::Foundation::Size ReactRootView::ArrangeOverride(winrt::Windows::Foundation::Size finalSize) const {
|
|
449
450
|
for (xaml::UIElement child : Children()) {
|
|
450
451
|
child.Arrange(winrt::Rect(0, 0, finalSize.Width, finalSize.Height));
|
|
451
452
|
}
|
|
@@ -60,8 +60,8 @@ struct ReactRootView : ReactRootViewT<ReactRootView>, ::Microsoft::ReactNative::
|
|
|
60
60
|
void UpdateRootView() noexcept;
|
|
61
61
|
void UninitRootView() noexcept;
|
|
62
62
|
|
|
63
|
-
Windows::Foundation::Size MeasureOverride(Windows::Foundation::Size const &availableSize) const;
|
|
64
|
-
Windows::Foundation::Size ArrangeOverride(Windows::Foundation::Size finalSize) const;
|
|
63
|
+
winrt::Windows::Foundation::Size MeasureOverride(winrt::Windows::Foundation::Size const &availableSize) const;
|
|
64
|
+
winrt::Windows::Foundation::Size ArrangeOverride(winrt::Windows::Foundation::Size finalSize) const;
|
|
65
65
|
|
|
66
66
|
void blur(::Microsoft::ReactNative::XamlView const &xamlView) noexcept;
|
|
67
67
|
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
namespace winrt::Microsoft::ReactNative {
|
|
9
9
|
|
|
10
10
|
// Convert a WinRT IInspectable into a folly::dynamic object
|
|
11
|
-
folly::dynamic ConvertToDynamic(Windows::Foundation::IInspectable const &object);
|
|
11
|
+
folly::dynamic ConvertToDynamic(winrt::Windows::Foundation::IInspectable const &object);
|
|
12
12
|
|
|
13
13
|
} // namespace winrt::Microsoft::ReactNative
|
|
@@ -487,7 +487,7 @@ struct DefaultRedBoxHandler final : public std::enable_shared_from_this<DefaultR
|
|
|
487
487
|
}
|
|
488
488
|
|
|
489
489
|
virtual void showNewError(ErrorInfo &&info, ErrorType /*exceptionType*/) override {
|
|
490
|
-
// Check if the
|
|
490
|
+
// Check if the redbox has been suppressed
|
|
491
491
|
if (!info.ExtraData.isNull()) {
|
|
492
492
|
auto iterator = info.ExtraData.find("suppressRedBox");
|
|
493
493
|
if (iterator != info.ExtraData.items().end()) {
|
|
@@ -103,7 +103,7 @@ class MyRedBoxHandler : IRedBoxHandler
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
public void ShowNewError(IRedBoxErrorInfo info, RedBoxErrorType type) {
|
|
106
|
-
/-/
|
|
106
|
+
/-/ Do not report non-fatal errors (optional)
|
|
107
107
|
if (type != RedBoxErrorType.JavaScriptSoft)
|
|
108
108
|
ReportErrorToMyErrorReportingSystem(info, type);
|
|
109
109
|
|