react-native-windows 0.71.7 → 0.72.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 +13 -3
- package/Directory.Build.props +19 -19
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.windows.js +2 -0
- package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/AppTheme/AppTheme.js +1 -0
- package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.windows.js +3 -2
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
- package/Libraries/Components/Flyout/Flyout.js +110 -51
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
- package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
- package/Libraries/Components/Glyph/Glyph.js +43 -30
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Popup/Popup.d.ts +41 -19
- package/Libraries/Components/Popup/Popup.js +86 -52
- package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +71 -45
- package/Libraries/Components/View/View.windows.js +40 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
- package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.windows.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +11 -5
- package/Libraries/Pressability/Pressability.windows.js +11 -4
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +142 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/Text.windows.js +48 -38
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.windows.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/platform-types.d.ts +3 -5
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
- package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
- package/Microsoft.ReactNative/IReactContext.cpp +4 -0
- package/Microsoft.ReactNative/IReactContext.h +1 -0
- package/Microsoft.ReactNative/IReactContext.idl +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
- package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
- package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
- package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
- package/Microsoft.ReactNative/QuirkSettings.h +5 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
- package/Microsoft.ReactNative/ReactApplication.h +3 -0
- package/Microsoft.ReactNative/ReactApplication.idl +3 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
- package/Microsoft.ReactNative/ReactHost/React.h +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
- package/Microsoft.ReactNative/RedBox.cpp +2 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
- package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
- package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
- package/Microsoft.ReactNative/ViewProps.idl +30 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
- package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
- package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
- package/Microsoft.ReactNative/XamlHelper.h +27 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +2 -3
- package/PropertySheets/Warnings.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
- package/ReactCommon/Yoga.cpp +60 -127
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
- package/Scripts/rnw-dependencies.ps1 +12 -4
- package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
- package/Shared/DevServerHelper.h +11 -2
- package/Shared/DevSettings.h +1 -0
- package/Shared/DevSupportManager.cpp +11 -1
- package/Shared/DevSupportManager.h +1 -0
- package/Shared/HermesRuntimeHolder.cpp +53 -30
- package/Shared/HermesRuntimeHolder.h +26 -11
- package/Shared/HermesSamplingProfiler.cpp +61 -8
- package/Shared/HermesSamplingProfiler.h +6 -3
- package/Shared/HermesShim.cpp +86 -82
- package/Shared/HermesShim.h +28 -8
- package/Shared/JSI/ChakraRuntime.cpp +7 -4
- package/Shared/JSI/ChakraRuntime.h +4 -4
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/Logging.cpp +1 -1
- package/Shared/Modules/BlobModule.cpp +3 -4
- package/Shared/Modules/BlobModule.h +0 -4
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
- package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
- package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
- package/Shared/OInstance.cpp +9 -2
- package/Shared/Shared.vcxitems +265 -58
- package/Shared/Shared.vcxitems.filters +312 -42
- package/Shared/V8JSIRuntimeHolder.cpp +1 -0
- package/Shared/V8JSIRuntimeHolder.h +7 -2
- package/codegen/NativeAppearanceSpec.g.h +9 -3
- package/codegen/NativeClipboardSpec.g.h +3 -3
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
- package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
- package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
- package/codegen/NativeIntentAndroidSpec.g.h +15 -15
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativePerformanceObserverSpec.g.h +48 -10
- package/codegen/NativePerformanceSpec.g.h +63 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
- package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
- package/codegen/NativeShareModuleSpec.g.h +9 -3
- package/codegen/NativeUIManagerSpec.g.h +12 -12
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
- package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
- package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
- package/codegen/react/components/rnwcore/Props.cpp +47 -48
- package/codegen/react/components/rnwcore/Props.h +59 -166
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
- package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
- package/codegen/react/components/rnwcore/States.h +15 -30
- package/codegen/rnwcoreJSI-generated.cpp +87 -25
- package/codegen/rnwcoreJSI.h +1077 -417
- package/generate.js +6 -1
- package/include/Include.vcxitems +0 -1
- package/include/Include.vcxitems.filters +0 -3
- package/index.js +56 -42
- package/index.windows.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/just-task.js +12 -5
- package/package.json +32 -29
- package/rn-get-polyfills.js +1 -1
- package/template/metro.config.js +2 -0
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/Flyout/Flyout.js.map +0 -1
- package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
- package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
- package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
- package/Libraries/Components/Glyph/Glyph.js.map +0 -1
- package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
- package/Libraries/Components/Glyph/GlyphProps.js +0 -8
- package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
- package/Libraries/Components/Popup/Popup.js.map +0 -1
- package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
- package/Libraries/Components/Popup/PopupProps.js +0 -8
- package/Libraries/Components/Popup/PopupProps.js.map +0 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
- package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
- package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
- package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
- package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
- package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
- package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
- package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
- package/Shared/AsyncStorage/StorageFileIO.h +0 -40
- package/Shared/AsyncStorageModule.h +0 -25
- package/Shared/Modules/AsyncStorageModule.cpp +0 -87
- package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
- package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
- package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
- package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
- package/types/index.d.ts +0 -216
- package/types/modules/BatchedBridge.d.ts +0 -32
- package/types/modules/Codegen.d.ts +0 -74
- package/types/modules/Devtools.d.ts +0 -31
- package/types/modules/LaunchScreen.d.ts +0 -18
- package/types/modules/globals.d.ts +0 -577
- package/types/private/TimerMixin.d.ts +0 -19
- package/types/private/Utilities.d.ts +0 -10
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
- package/types/public/Insets.d.ts +0 -15
- package/types/public/ReactNativeRenderer.d.ts +0 -149
- package/types/public/ReactNativeTypes.d.ts +0 -143
|
@@ -101,14 +101,33 @@ void ImageLoader::Initialize(React::ReactContext const &reactContext) noexcept {
|
|
|
101
101
|
m_context = reactContext;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
void ImageLoader::getSize(std::string uri, React::ReactPromise<
|
|
105
|
-
|
|
104
|
+
void ImageLoader::getSize(std::string uri, React::ReactPromise<std::vector<double>> &&result) noexcept {
|
|
105
|
+
m_context.UIDispatcher().Post(
|
|
106
|
+
[context = m_context, uri = std::move(uri), result = std::move(result)]() mutable noexcept {
|
|
107
|
+
GetImageSizeAsync(
|
|
108
|
+
std::move(uri),
|
|
109
|
+
{},
|
|
110
|
+
[result, context](double width, double height) noexcept {
|
|
111
|
+
context.JSDispatcher().Post([result = std::move(result), width, height]() noexcept {
|
|
112
|
+
result.Resolve(std::vector<double>{width, height});
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
[result, context]() noexcept {
|
|
116
|
+
context.JSDispatcher().Post([result = std::move(result)]() noexcept { result.Reject("Failed"); });
|
|
117
|
+
}
|
|
118
|
+
#ifdef USE_FABRIC
|
|
119
|
+
,
|
|
120
|
+
IsFabricEnabled(context.Properties().Handle())
|
|
121
|
+
#endif // USE_FABRIC
|
|
122
|
+
);
|
|
123
|
+
});
|
|
106
124
|
}
|
|
107
125
|
|
|
108
126
|
void ImageLoader::getSizeWithHeaders(
|
|
109
127
|
std::string uri,
|
|
110
128
|
React::JSValue &&headers,
|
|
111
|
-
React::ReactPromise<
|
|
129
|
+
React::ReactPromise<Microsoft::ReactNativeSpecs::ImageLoaderIOSSpec_getSizeWithHeaders_returnType>
|
|
130
|
+
&&result) noexcept {
|
|
112
131
|
m_context.UIDispatcher().Post([context = m_context,
|
|
113
132
|
uri = std::move(uri),
|
|
114
133
|
headers = std::move(headers),
|
|
@@ -116,9 +135,10 @@ void ImageLoader::getSizeWithHeaders(
|
|
|
116
135
|
GetImageSizeAsync(
|
|
117
136
|
std::move(uri),
|
|
118
137
|
std::move(headers),
|
|
119
|
-
[result, context](
|
|
138
|
+
[result, context](double width, double height) noexcept {
|
|
120
139
|
context.JSDispatcher().Post([result = std::move(result), width, height]() noexcept {
|
|
121
|
-
result.Resolve(
|
|
140
|
+
result.Resolve(
|
|
141
|
+
Microsoft::ReactNativeSpecs::ImageLoaderIOSSpec_getSizeWithHeaders_returnType{width, height});
|
|
122
142
|
});
|
|
123
143
|
},
|
|
124
144
|
[result, context]() noexcept {
|
|
@@ -132,7 +152,7 @@ void ImageLoader::getSizeWithHeaders(
|
|
|
132
152
|
});
|
|
133
153
|
}
|
|
134
154
|
|
|
135
|
-
void ImageLoader::prefetchImage(std::string uri, React::ReactPromise<
|
|
155
|
+
void ImageLoader::prefetchImage(std::string uri, React::ReactPromise<bool> &&result) noexcept {
|
|
136
156
|
// NYI
|
|
137
157
|
result.Resolve(true);
|
|
138
158
|
}
|
|
@@ -141,7 +161,7 @@ void ImageLoader::prefetchImageWithMetadata(
|
|
|
141
161
|
std::string uri,
|
|
142
162
|
std::string queryRootName,
|
|
143
163
|
double rootTag,
|
|
144
|
-
React::ReactPromise<
|
|
164
|
+
React::ReactPromise<bool> &&result) noexcept {
|
|
145
165
|
// NYI
|
|
146
166
|
result.Resolve(true);
|
|
147
167
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#pragma once
|
|
5
5
|
|
|
6
6
|
#include "codegen/NativeImageLoaderIOSSpec.g.h"
|
|
7
|
+
#include <NativeImageLoaderIOSSpec.g.h>
|
|
7
8
|
#include <NativeModules.h>
|
|
8
9
|
#include <winrt/Windows.ApplicationModel.h>
|
|
9
10
|
#include <winrt/Windows.Foundation.h>
|
|
@@ -19,21 +20,24 @@ struct ImageLoader {
|
|
|
19
20
|
void Initialize(React::ReactContext const &reactContext) noexcept;
|
|
20
21
|
|
|
21
22
|
REACT_METHOD(getSize)
|
|
22
|
-
void getSize(std::string uri, React::ReactPromise<
|
|
23
|
+
void getSize(std::string uri, React::ReactPromise<std::vector<double>> &&result) noexcept;
|
|
23
24
|
|
|
24
25
|
REACT_METHOD(getSizeWithHeaders)
|
|
25
|
-
void
|
|
26
|
-
|
|
26
|
+
void getSizeWithHeaders(
|
|
27
|
+
std::string uri,
|
|
28
|
+
React::JSValue &&headers,
|
|
29
|
+
React::ReactPromise<Microsoft::ReactNativeSpecs::ImageLoaderIOSSpec_getSizeWithHeaders_returnType>
|
|
30
|
+
&&result) noexcept;
|
|
27
31
|
|
|
28
32
|
REACT_METHOD(prefetchImage)
|
|
29
|
-
void prefetchImage(std::string uri, React::ReactPromise<
|
|
33
|
+
void prefetchImage(std::string uri, React::ReactPromise<bool> &&result) noexcept;
|
|
30
34
|
|
|
31
35
|
REACT_METHOD(prefetchImageWithMetadata)
|
|
32
36
|
void prefetchImageWithMetadata(
|
|
33
37
|
std::string uri,
|
|
34
38
|
std::string queryRootName,
|
|
35
39
|
double rootTag,
|
|
36
|
-
React::ReactPromise<
|
|
40
|
+
React::ReactPromise<bool> &&result) noexcept;
|
|
37
41
|
|
|
38
42
|
REACT_METHOD(queryCache)
|
|
39
43
|
void queryCache(std::vector<std::string> const &uris, React::ReactPromise<React::JSValue> &&result) noexcept;
|
|
@@ -48,10 +48,8 @@ LinkingManager::~LinkingManager() noexcept {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
/*static*/ fire_and_forget LinkingManager::canOpenURL(
|
|
52
|
-
|
|
53
|
-
::React::ReactPromise<::React::JSValue> result) noexcept {
|
|
54
|
-
winrt::Windows::Foundation::Uri uri(Utf8ToUtf16(url));
|
|
51
|
+
/*static*/ fire_and_forget LinkingManager::canOpenURL(std::wstring url, ::React::ReactPromise<bool> result) noexcept {
|
|
52
|
+
winrt::Windows::Foundation::Uri uri(url);
|
|
55
53
|
auto status = co_await Launcher::QueryUriSupportAsync(uri, LaunchQuerySupportType::Uri);
|
|
56
54
|
if (status == LaunchQuerySupportStatus::Available) {
|
|
57
55
|
result.Resolve(true);
|
|
@@ -60,21 +58,21 @@ LinkingManager::~LinkingManager() noexcept {
|
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
fire_and_forget openUrlAsync(std::
|
|
61
|
+
fire_and_forget openUrlAsync(std::wstring url, ::React::ReactPromise<void> result) noexcept {
|
|
64
62
|
try {
|
|
65
|
-
winrt::Windows::Foundation::Uri uri(
|
|
63
|
+
winrt::Windows::Foundation::Uri uri(url);
|
|
66
64
|
|
|
67
65
|
if (co_await Launcher::LaunchUriAsync(uri)) {
|
|
68
|
-
result.Resolve(
|
|
66
|
+
result.Resolve();
|
|
69
67
|
} else {
|
|
70
|
-
result.Reject(("Unable to open URL: " + url).c_str());
|
|
68
|
+
result.Reject(("Unable to open URL: " + Utf16ToUtf8(url)).c_str());
|
|
71
69
|
}
|
|
72
70
|
} catch (winrt::hresult_error &e) {
|
|
73
|
-
result.Reject(("Unable to open URL: " + url + "error: " + winrt::to_string(e.message())).c_str());
|
|
71
|
+
result.Reject(("Unable to open URL: " + Utf16ToUtf8(url) + "error: " + winrt::to_string(e.message())).c_str());
|
|
74
72
|
}
|
|
75
73
|
}
|
|
76
74
|
|
|
77
|
-
void LinkingManager::openURL(std::
|
|
75
|
+
void LinkingManager::openURL(std::wstring &&url, ::React::ReactPromise<void> &&result) noexcept {
|
|
78
76
|
m_context.UIDispatcher().Post(
|
|
79
77
|
[url = std::move(url), result = std::move(result)]() { openUrlAsync(std::move(url), std::move(result)); });
|
|
80
78
|
}
|
|
@@ -99,7 +97,7 @@ void LinkingManager::HandleOpenUri(winrt::hstring const &uri) noexcept {
|
|
|
99
97
|
m_context.EmitJSEvent(L"RCTDeviceEventEmitter", L"url", React::JSValueObject{{"url", winrt::to_string(uri)}});
|
|
100
98
|
}
|
|
101
99
|
|
|
102
|
-
/*static*/ void LinkingManager::openSettings(::React::ReactPromise
|
|
100
|
+
/*static*/ void LinkingManager::openSettings(::React::ReactPromise<void> &&result) noexcept {
|
|
103
101
|
result.Reject(L"Could not open settings. Not suported on this platform.");
|
|
104
102
|
}
|
|
105
103
|
|
|
@@ -111,7 +109,7 @@ void LinkingManager::HandleOpenUri(winrt::hstring const &uri) noexcept {
|
|
|
111
109
|
// no-op
|
|
112
110
|
}
|
|
113
111
|
|
|
114
|
-
/*static*/ void LinkingManager::getInitialURL(::React::ReactPromise
|
|
112
|
+
/*static*/ void LinkingManager::getInitialURL(::React::ReactPromise<std::string> &&result) noexcept {
|
|
115
113
|
if (s_initialUri) {
|
|
116
114
|
result.Resolve(to_string(s_initialUri.AbsoluteUri()));
|
|
117
115
|
} else {
|
|
@@ -22,13 +22,13 @@ struct LinkingManager {
|
|
|
22
22
|
void Initialize(React::ReactContext const &reactContext) noexcept;
|
|
23
23
|
|
|
24
24
|
REACT_METHOD(canOpenURL)
|
|
25
|
-
static winrt::fire_and_forget canOpenURL(std::
|
|
25
|
+
static winrt::fire_and_forget canOpenURL(std::wstring url, ::React::ReactPromise<bool> result) noexcept;
|
|
26
26
|
|
|
27
27
|
REACT_METHOD(openURL)
|
|
28
|
-
void openURL(std::
|
|
28
|
+
void openURL(std::wstring &&url, ::React::ReactPromise<void> &&result) noexcept;
|
|
29
29
|
|
|
30
30
|
REACT_METHOD(openSettings)
|
|
31
|
-
static void openSettings(::React::ReactPromise
|
|
31
|
+
static void openSettings(::React::ReactPromise<void> &&result) noexcept;
|
|
32
32
|
|
|
33
33
|
REACT_METHOD(addListener)
|
|
34
34
|
static void addListener(std::string eventName) noexcept;
|
|
@@ -37,7 +37,7 @@ struct LinkingManager {
|
|
|
37
37
|
static void removeListeners(double count) noexcept;
|
|
38
38
|
|
|
39
39
|
REACT_METHOD(getInitialURL)
|
|
40
|
-
static void getInitialURL(::React::ReactPromise
|
|
40
|
+
static void getInitialURL(::React::ReactPromise<std::string> &&result) noexcept;
|
|
41
41
|
|
|
42
42
|
static void OpenUri(winrt::Windows::Foundation::Uri const &uri) noexcept;
|
|
43
43
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#include "pch.h"
|
|
5
5
|
|
|
6
|
+
#include <QuirkSettings.h>
|
|
6
7
|
#include <UI.Xaml.Controls.h>
|
|
7
8
|
#include <UI.Xaml.Input.h>
|
|
8
9
|
#include <UI.Xaml.Media.h>
|
|
@@ -1138,7 +1139,26 @@ void NativeUIManager::findSubviewIn(
|
|
|
1138
1139
|
|
|
1139
1140
|
void NativeUIManager::focus(int64_t reactTag) {
|
|
1140
1141
|
if (auto shadowNode = static_cast<ShadowNodeBase *>(m_host->FindShadowNodeForTag(reactTag))) {
|
|
1141
|
-
|
|
1142
|
+
const auto view = shadowNode->GetView();
|
|
1143
|
+
|
|
1144
|
+
// Only allow focus on an element with a XamlRoot that matches the current XamlRoot or that
|
|
1145
|
+
// has a different CoreDispatcher for the XamlRoot, otherwise focusing the element will steal
|
|
1146
|
+
// window focus, which is generally not desired behavior.
|
|
1147
|
+
const auto properties = React::ReactPropertyBag(m_context.Properties());
|
|
1148
|
+
if (winrt::Microsoft::ReactNative::implementation::QuirkSettings::GetSuppressWindowFocusOnViewFocus(properties)) {
|
|
1149
|
+
if (const auto uiElement = view.try_as<xaml::UIElement>()) {
|
|
1150
|
+
if (const auto activeXamlRoot = React::XamlUIService::GetXamlRoot(properties.Handle())) {
|
|
1151
|
+
const auto activeDispatcher = activeXamlRoot.Content() ? activeXamlRoot.Content().Dispatcher() : nullptr;
|
|
1152
|
+
if (uiElement.XamlRoot() != activeXamlRoot && uiElement.Dispatcher() == activeDispatcher) {
|
|
1153
|
+
const auto suppressedFocusMessage = L"Suppressed focus on view in XamlRoot not currently in focus.";
|
|
1154
|
+
m_context.CallJSFunction(L"RCTLog", L"logToConsole", L"warn", suppressedFocusMessage);
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
xaml::Input::FocusManager::TryFocusAsync(view, winrt::FocusState::Programmatic);
|
|
1142
1162
|
}
|
|
1143
1163
|
}
|
|
1144
1164
|
|
|
@@ -64,6 +64,13 @@ winrt::Microsoft::ReactNative::ReactPropertyId<bool> MapWindowDeactivatedToAppSt
|
|
|
64
64
|
properties.Set(MapWindowDeactivatedToAppStateInactiveProperty(), value);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
winrt::Microsoft::ReactNative::ReactPropertyId<bool> SuppressWindowFocusOnViewFocusProperty() noexcept {
|
|
68
|
+
winrt::Microsoft::ReactNative::ReactPropertyId<bool> propId{
|
|
69
|
+
L"ReactNative.QuirkSettings", L"SuppressWindowFocusOnViewFocus"};
|
|
70
|
+
|
|
71
|
+
return propId;
|
|
72
|
+
}
|
|
73
|
+
|
|
67
74
|
#pragma region IDL interface
|
|
68
75
|
|
|
69
76
|
/*static*/ void QuirkSettings::SetMatchAndroidAndIOSStretchBehavior(
|
|
@@ -96,6 +103,12 @@ winrt::Microsoft::ReactNative::ReactPropertyId<bool> MapWindowDeactivatedToAppSt
|
|
|
96
103
|
SetMapWindowDeactivatedToAppStateInactive(ReactPropertyBag(settings.Properties()), value);
|
|
97
104
|
}
|
|
98
105
|
|
|
106
|
+
/*static*/ void QuirkSettings::SetSuppressWindowFocusOnViewFocus(
|
|
107
|
+
winrt::Microsoft::ReactNative::ReactInstanceSettings settings,
|
|
108
|
+
bool value) noexcept {
|
|
109
|
+
ReactPropertyBag(settings.Properties()).Set(SuppressWindowFocusOnViewFocusProperty(), value);
|
|
110
|
+
}
|
|
111
|
+
|
|
99
112
|
#pragma endregion IDL interface
|
|
100
113
|
|
|
101
114
|
/*static*/ bool QuirkSettings::GetMatchAndroidAndIOSStretchBehavior(ReactPropertyBag properties) noexcept {
|
|
@@ -120,4 +133,8 @@ winrt::Microsoft::ReactNative::ReactPropertyId<bool> MapWindowDeactivatedToAppSt
|
|
|
120
133
|
return properties.Get(MapWindowDeactivatedToAppStateInactiveProperty()).value_or(false);
|
|
121
134
|
}
|
|
122
135
|
|
|
136
|
+
/*static*/ bool QuirkSettings::GetSuppressWindowFocusOnViewFocus(ReactPropertyBag properties) noexcept {
|
|
137
|
+
return properties.Get(SuppressWindowFocusOnViewFocusProperty()).value_or(false);
|
|
138
|
+
}
|
|
139
|
+
|
|
123
140
|
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -28,6 +28,7 @@ struct QuirkSettings : QuirkSettingsT<QuirkSettings> {
|
|
|
28
28
|
static bool GetAcceptSelfSigned(winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
|
|
29
29
|
static winrt::Microsoft::ReactNative::BackNavigationHandlerKind GetBackHandlerKind(
|
|
30
30
|
winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
|
|
31
|
+
static bool GetSuppressWindowFocusOnViewFocus(winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
|
|
31
32
|
|
|
32
33
|
static bool GetEnableFabric(winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
|
|
33
34
|
|
|
@@ -54,6 +55,10 @@ struct QuirkSettings : QuirkSettingsT<QuirkSettings> {
|
|
|
54
55
|
static void SetMapWindowDeactivatedToAppStateInactive(
|
|
55
56
|
winrt::Microsoft::ReactNative::ReactInstanceSettings settings,
|
|
56
57
|
bool value) noexcept;
|
|
58
|
+
|
|
59
|
+
static void SetSuppressWindowFocusOnViewFocus(
|
|
60
|
+
winrt::Microsoft::ReactNative::ReactInstanceSettings settings,
|
|
61
|
+
bool value) noexcept;
|
|
57
62
|
#pragma endregion Public API - part of IDL interface
|
|
58
63
|
};
|
|
59
64
|
|
|
@@ -53,5 +53,11 @@ namespace Microsoft.ReactNative
|
|
|
53
53
|
"`inactive` tracks the [Window.Activated Event](https://docs.microsoft.com/uwp/api/windows.ui.core.corewindow.activated) when the window is deactivated.")
|
|
54
54
|
DOC_DEFAULT("false")
|
|
55
55
|
static void SetMapWindowDeactivatedToAppStateInactive(ReactInstanceSettings settings, Boolean value);
|
|
56
|
+
|
|
57
|
+
DOC_STRING(
|
|
58
|
+
"When running multiple windows from a single UI thread, focusing a native view causes the parent "
|
|
59
|
+
"window of that view to get focus as well. Set this setting to true to prevent focus of a blurred "
|
|
60
|
+
"window when a view in that window is programmatically focused.")
|
|
61
|
+
static void SetSuppressWindowFocusOnViewFocus(ReactInstanceSettings settings, Boolean value);
|
|
56
62
|
}
|
|
57
63
|
} // namespace Microsoft.ReactNative
|
|
@@ -97,6 +97,14 @@ void ReactApplication::JavaScriptBundleFile(hstring const &value) noexcept {
|
|
|
97
97
|
InstanceSettings().JavaScriptBundleFile(value);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
hstring ReactApplication::BundleAppId() noexcept {
|
|
101
|
+
return InstanceSettings().BundleAppId();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
void ReactApplication::BundleAppId(hstring const &value) noexcept {
|
|
105
|
+
InstanceSettings().BundleAppId(value);
|
|
106
|
+
}
|
|
107
|
+
|
|
100
108
|
void ReactApplication::OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs const &e) {
|
|
101
109
|
if (e.Kind() == Windows::ApplicationModel::Activation::ActivationKind::Protocol) {
|
|
102
110
|
auto protocolActivatedEventArgs{e.as<Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs>()};
|
|
@@ -91,6 +91,9 @@ struct ReactApplication : NoDefaultCtorReactApplication_base<ReactApplication, x
|
|
|
91
91
|
hstring JavaScriptBundleFile() noexcept;
|
|
92
92
|
void JavaScriptBundleFile(hstring const &value) noexcept;
|
|
93
93
|
|
|
94
|
+
hstring BundleAppId() noexcept;
|
|
95
|
+
void BundleAppId(hstring const &value) noexcept;
|
|
96
|
+
|
|
94
97
|
void OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs const &e);
|
|
95
98
|
void OnLaunched(activation::LaunchActivatedEventArgs const &e);
|
|
96
99
|
void OnSuspending(IInspectable const &, Windows::ApplicationModel::SuspendingEventArgs const &);
|
|
@@ -41,5 +41,8 @@ namespace Microsoft.ReactNative
|
|
|
41
41
|
|
|
42
42
|
DOC_STRING("See @ReactInstanceSettings.JavaScriptBundleFile.")
|
|
43
43
|
String JavaScriptBundleFile { get; set; };
|
|
44
|
+
|
|
45
|
+
DOC_STRING("See @ReactInstanceSettings.BundleAppId.")
|
|
46
|
+
String BundleAppId { get; set; };
|
|
44
47
|
}
|
|
45
48
|
} // namespace Microsoft.ReactNative
|
|
@@ -41,6 +41,11 @@ Mso::React::ReactViewOptions ReactViewOptions::CreateViewOptions() noexcept {
|
|
|
41
41
|
|
|
42
42
|
ReactCoreInjection::ReactCoreInjection() noexcept {}
|
|
43
43
|
|
|
44
|
+
static const ReactPropertyId<uint64_t> &TopLevelWindowIdPropertyId() noexcept {
|
|
45
|
+
static const ReactPropertyId<uint64_t> prop{L"ReactNative.Injection", L"TopLevelWindowId"};
|
|
46
|
+
return prop;
|
|
47
|
+
}
|
|
48
|
+
|
|
44
49
|
/*static*/ ReactPropertyId<UIBatchCompleteCallback> ReactCoreInjection::UIBatchCompleteCallbackProperty() noexcept {
|
|
45
50
|
static ReactPropertyId<UIBatchCompleteCallback> prop{L"ReactNative.Injection", L"UIBatchCompleteCallback"};
|
|
46
51
|
return prop;
|
|
@@ -80,6 +85,30 @@ ReactCoreInjection::PostToUIBatchingQueueProperty() noexcept {
|
|
|
80
85
|
postFn(callback);
|
|
81
86
|
}
|
|
82
87
|
|
|
88
|
+
ReactPropertyId<winrt::hstring> PlatformNameOverrideProperty() noexcept {
|
|
89
|
+
static ReactPropertyId<winrt::hstring> prop{L"ReactNative.Injection", L"PlatformNameOverride"};
|
|
90
|
+
return prop;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/*static*/ void ReactCoreInjection::SetPlatformNameOverride(
|
|
94
|
+
IReactPropertyBag const &properties,
|
|
95
|
+
winrt::hstring const &platformName) noexcept {
|
|
96
|
+
ReactNative::ReactPropertyBag(properties).Set(PlatformNameOverrideProperty(), platformName);
|
|
97
|
+
}
|
|
98
|
+
/*static*/ std::string ReactCoreInjection::GetPlatformName(IReactPropertyBag const &properties) noexcept {
|
|
99
|
+
return winrt::to_string(ReactNative::ReactPropertyBag(properties)
|
|
100
|
+
.Get(PlatformNameOverrideProperty())
|
|
101
|
+
.value_or(winrt::to_hstring(STRING(RN_PLATFORM))));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
uint64_t ReactCoreInjection::GetTopLevelWindowId(const IReactPropertyBag &properties) noexcept {
|
|
105
|
+
return ReactPropertyBag(properties).Get(TopLevelWindowIdPropertyId()).value_or(0);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
void ReactCoreInjection::SetTopLevelWindowId(const IReactPropertyBag &properties, uint64_t windowId) noexcept {
|
|
109
|
+
ReactPropertyBag(properties).Set(TopLevelWindowIdPropertyId(), windowId);
|
|
110
|
+
}
|
|
111
|
+
|
|
83
112
|
ReactViewHost::ReactViewHost(
|
|
84
113
|
const ReactNative::ReactNativeHost &host,
|
|
85
114
|
Mso::React::IReactViewHost &viewHost,
|
|
@@ -46,6 +46,12 @@ struct ReactCoreInjection : ReactCoreInjectionT<ReactCoreInjection> {
|
|
|
46
46
|
static void PostToUIBatchingQueue(
|
|
47
47
|
ReactNative::IReactContext context,
|
|
48
48
|
ReactNative::ReactDispatcherCallback callback) noexcept;
|
|
49
|
+
|
|
50
|
+
static void SetPlatformNameOverride(IReactPropertyBag const &properties, winrt::hstring const &platformName) noexcept;
|
|
51
|
+
static std::string GetPlatformName(IReactPropertyBag const &properties) noexcept;
|
|
52
|
+
|
|
53
|
+
static uint64_t GetTopLevelWindowId(const IReactPropertyBag &properties) noexcept;
|
|
54
|
+
static void SetTopLevelWindowId(const IReactPropertyBag &properties, uint64_t windowId) noexcept;
|
|
49
55
|
};
|
|
50
56
|
|
|
51
57
|
struct ReactViewHost : public winrt::implements<ReactViewHost, IReactViewHost> {
|
|
@@ -89,6 +89,19 @@ DOC_STRING("Settings per each IReactViewHost associated with an IReactHost insta
|
|
|
89
89
|
|
|
90
90
|
DOC_STRING("Post something to the main UI dispatcher using the batching queue")
|
|
91
91
|
static void PostToUIBatchingQueue(IReactContext context, ReactDispatcherCallback callback);
|
|
92
|
+
|
|
93
|
+
DOC_STRING("Override platform name. This will change the platform used when requesting bundles from metro. Default: \"windows\"")
|
|
94
|
+
static void SetPlatformNameOverride(IReactPropertyBag properties, String platformName);
|
|
95
|
+
|
|
96
|
+
DOC_STRING(
|
|
97
|
+
"Gets the window handle HWND (as an UInt64) for the active top level application window.")
|
|
98
|
+
static UInt64 GetTopLevelWindowId(IReactPropertyBag properties);
|
|
99
|
+
|
|
100
|
+
DOC_STRING(
|
|
101
|
+
"Sets the window handle HWND (as an UInt64) for the active top level application window."
|
|
102
|
+
"This must be manually provided to the @ReactInstanceSettings object when using ReactNativeWindows"
|
|
103
|
+
"without XAML for certain APIs work correctly.")
|
|
104
|
+
static void SetTopLevelWindowId(IReactPropertyBag properties, UInt64 windowId);
|
|
92
105
|
}
|
|
93
106
|
|
|
94
107
|
|
|
@@ -93,6 +93,13 @@ std::string ReactSettingsSnapshot::JavaScriptBundleFile() const noexcept {
|
|
|
93
93
|
return {};
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
std::string ReactSettingsSnapshot::BundleAppId() const noexcept {
|
|
97
|
+
if (auto instance = m_reactInstance.GetStrongPtr()) {
|
|
98
|
+
return instance->BundleAppId();
|
|
99
|
+
}
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
|
|
96
103
|
JSIEngine ReactSettingsSnapshot::JsiEngine() const noexcept {
|
|
97
104
|
if (auto instance = m_reactInstance.GetStrongPtr()) {
|
|
98
105
|
return instance->JsiEngine();
|
|
@@ -29,6 +29,7 @@ class ReactSettingsSnapshot final : public Mso::UnknownObject<IReactSettingsSnap
|
|
|
29
29
|
uint16_t SourceBundlePort() const noexcept override;
|
|
30
30
|
bool RequestInlineSourceMap() const noexcept override;
|
|
31
31
|
std::string JavaScriptBundleFile() const noexcept override;
|
|
32
|
+
std::string BundleAppId() const noexcept override;
|
|
32
33
|
bool UseDeveloperSupport() const noexcept override;
|
|
33
34
|
JSIEngine JsiEngine() const noexcept override;
|
|
34
35
|
|
|
@@ -104,6 +104,7 @@ struct IReactSettingsSnapshot : IUnknown {
|
|
|
104
104
|
virtual uint16_t SourceBundlePort() const noexcept = 0;
|
|
105
105
|
virtual bool RequestInlineSourceMap() const noexcept = 0;
|
|
106
106
|
virtual std::string JavaScriptBundleFile() const noexcept = 0;
|
|
107
|
+
virtual std::string BundleAppId() const noexcept = 0;
|
|
107
108
|
virtual bool UseDeveloperSupport() const noexcept = 0;
|
|
108
109
|
virtual JSIEngine JsiEngine() const noexcept = 0;
|
|
109
110
|
};
|
|
@@ -150,6 +151,7 @@ struct ReactDevOptions {
|
|
|
150
151
|
bool RequestInlineSourceMap{true}; // Request the source map inline
|
|
151
152
|
std::string SourceBundleName; // Bundle name without any extension (e.g. "index.win32"). Default: "index.{PLATFORM}"
|
|
152
153
|
std::string SourceBundleExtension; // Bundle name extension. Default: ".bundle".
|
|
154
|
+
std::string BundleAppId; // Bundle app id. Default: "".
|
|
153
155
|
|
|
154
156
|
//! Module name used for loading the debug bundle.
|
|
155
157
|
//! e.g. The modules name registered in the jsbundle via AppRegistry.registerComponent('ModuleName', () =>
|
|
@@ -35,23 +35,31 @@
|
|
|
35
35
|
#include "DynamicWriter.h"
|
|
36
36
|
#ifndef CORE_ABI
|
|
37
37
|
#include "ConfigureBundlerDlg.h"
|
|
38
|
-
#include "DevMenu.h"
|
|
39
38
|
#endif
|
|
39
|
+
#include "DevMenu.h"
|
|
40
40
|
#include "IReactContext.h"
|
|
41
41
|
#include "IReactDispatcher.h"
|
|
42
42
|
#ifndef CORE_ABI
|
|
43
43
|
#include "Modules/AccessibilityInfoModule.h"
|
|
44
44
|
#include "Modules/AlertModule.h"
|
|
45
|
+
#endif
|
|
46
|
+
#if !defined(CORE_ABI) || defined(USE_FABRIC)
|
|
45
47
|
#include "Modules/Animated/NativeAnimatedModule.h"
|
|
48
|
+
#endif
|
|
49
|
+
#ifndef CORE_ABI
|
|
46
50
|
#include "Modules/AppStateModule.h"
|
|
47
51
|
#include "Modules/AppThemeModuleUwp.h"
|
|
48
52
|
#include "Modules/ClipboardModule.h"
|
|
49
53
|
#endif
|
|
50
54
|
#include "Modules/DevSettingsModule.h"
|
|
51
55
|
#ifndef CORE_ABI
|
|
52
|
-
#include <Modules/ImageViewManagerModule.h>
|
|
53
56
|
#include "Modules/DeviceInfoModule.h"
|
|
54
57
|
#include "Modules/I18nManagerModule.h"
|
|
58
|
+
#endif
|
|
59
|
+
#if !defined(CORE_ABI) || defined(USE_FABRIC)
|
|
60
|
+
#include <Modules/ImageViewManagerModule.h>
|
|
61
|
+
#endif
|
|
62
|
+
#ifndef CORE_ABI
|
|
55
63
|
#include "Modules/LinkingManagerModule.h"
|
|
56
64
|
#include "Modules/LogBoxModule.h"
|
|
57
65
|
#include "Modules/NativeUIManager.h"
|
|
@@ -78,6 +86,7 @@
|
|
|
78
86
|
#include <tuple>
|
|
79
87
|
#include "ChakraRuntimeHolder.h"
|
|
80
88
|
|
|
89
|
+
#include <Utils/Helpers.h>
|
|
81
90
|
#include "CrashManager.h"
|
|
82
91
|
#include "JsiApi.h"
|
|
83
92
|
#include "ReactCoreInjection.h"
|
|
@@ -246,6 +255,7 @@ ReactInstanceWin::ReactInstanceWin(
|
|
|
246
255
|
onDestroyed = m_options.OnInstanceDestroyed,
|
|
247
256
|
reactContext = m_reactContext]() noexcept {
|
|
248
257
|
whenLoaded.TryCancel(); // It only has an effect if whenLoaded was not set before
|
|
258
|
+
facebook::react::HermesRuntimeHolder::storeTo(ReactPropertyBag(reactContext->Properties()), nullptr);
|
|
249
259
|
if (onDestroyed) {
|
|
250
260
|
onDestroyed.Get()->Invoke(reactContext);
|
|
251
261
|
}
|
|
@@ -355,6 +365,17 @@ void ReactInstanceWin::LoadModules(
|
|
|
355
365
|
registerTurboModule(
|
|
356
366
|
L"NativeAnimatedModule",
|
|
357
367
|
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
368
|
+
|
|
369
|
+
#elif defined(CORE_ABI) && defined(USE_FABRIC)
|
|
370
|
+
if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
|
|
371
|
+
registerTurboModule(
|
|
372
|
+
L"ImageLoader",
|
|
373
|
+
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ImageLoader>());
|
|
374
|
+
|
|
375
|
+
registerTurboModule(
|
|
376
|
+
L"NativeAnimatedModule",
|
|
377
|
+
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
378
|
+
}
|
|
358
379
|
#endif
|
|
359
380
|
|
|
360
381
|
registerTurboModule(
|
|
@@ -382,11 +403,13 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
382
403
|
#ifndef CORE_ABI
|
|
383
404
|
// InitUIManager uses m_legacyReactInstance
|
|
384
405
|
InitUIManager();
|
|
406
|
+
#endif
|
|
385
407
|
|
|
386
408
|
Microsoft::ReactNative::DevMenuManager::InitDevMenu(m_reactContext, [weakReactHost = m_weakReactHost]() noexcept {
|
|
409
|
+
#ifndef CORE_ABI
|
|
387
410
|
Microsoft::ReactNative::ShowConfigureBundlerDialog(weakReactHost);
|
|
411
|
+
#endif // CORE_ABI
|
|
388
412
|
});
|
|
389
|
-
#endif
|
|
390
413
|
|
|
391
414
|
m_uiQueue->Post([this, weakThis = Mso::WeakPtr{this}]() noexcept {
|
|
392
415
|
// Objects that must be created on the UI thread
|
|
@@ -421,20 +444,19 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
421
444
|
devSettings->useWebDebugger = m_useWebDebugger;
|
|
422
445
|
devSettings->useFastRefresh = m_isFastReloadEnabled;
|
|
423
446
|
devSettings->bundleRootPath = BundleRootPath();
|
|
424
|
-
|
|
447
|
+
devSettings->platformName =
|
|
448
|
+
winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::GetPlatformName(
|
|
449
|
+
strongThis->m_reactContext->Properties());
|
|
425
450
|
devSettings->waitingForDebuggerCallback = GetWaitingForDebuggerCallback();
|
|
426
451
|
devSettings->debuggerAttachCallback = GetDebuggerAttachCallback();
|
|
427
452
|
devSettings->enableDefaultCrashHandler = m_options.EnableDefaultCrashHandler();
|
|
428
|
-
|
|
429
|
-
#ifndef CORE_ABI
|
|
453
|
+
devSettings->bundleAppId = BundleAppId();
|
|
430
454
|
devSettings->showDevMenuCallback = [weakThis]() noexcept {
|
|
431
455
|
if (auto strongThis = weakThis.GetStrongPtr()) {
|
|
432
|
-
strongThis->m_uiQueue->Post(
|
|
433
|
-
|
|
434
|
-
});
|
|
456
|
+
strongThis->m_uiQueue->Post(
|
|
457
|
+
[context = strongThis->m_reactContext]() { Microsoft::ReactNative::DevMenuManager::Show(context); });
|
|
435
458
|
}
|
|
436
459
|
};
|
|
437
|
-
#endif
|
|
438
460
|
|
|
439
461
|
#ifdef CORE_ABI
|
|
440
462
|
std::vector<facebook::react::NativeModuleDescription> cxxModules;
|
|
@@ -463,10 +485,14 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
463
485
|
std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore = nullptr;
|
|
464
486
|
|
|
465
487
|
switch (m_options.JsiEngine()) {
|
|
466
|
-
case JSIEngine::Hermes:
|
|
467
|
-
|
|
488
|
+
case JSIEngine::Hermes: {
|
|
489
|
+
auto hermesRuntimeHolder =
|
|
468
490
|
std::make_shared<facebook::react::HermesRuntimeHolder>(devSettings, m_jsMessageThread.Load());
|
|
491
|
+
facebook::react::HermesRuntimeHolder::storeTo(
|
|
492
|
+
ReactPropertyBag(m_reactContext->Properties()), hermesRuntimeHolder);
|
|
493
|
+
devSettings->jsiRuntimeHolder = hermesRuntimeHolder;
|
|
469
494
|
break;
|
|
495
|
+
}
|
|
470
496
|
case JSIEngine::V8:
|
|
471
497
|
#if defined(USE_V8)
|
|
472
498
|
{
|
|
@@ -480,10 +506,20 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
480
506
|
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
|
|
481
507
|
}
|
|
482
508
|
}
|
|
483
|
-
|
|
509
|
+
|
|
510
|
+
bool enableMultiThreadSupport{false};
|
|
511
|
+
#ifdef USE_FABRIC
|
|
512
|
+
enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
|
|
513
|
+
#endif // USE_FABRIC
|
|
514
|
+
|
|
484
515
|
devSettings->jsiRuntimeHolder = std::make_shared<facebook::react::V8JSIRuntimeHolder>(
|
|
485
|
-
devSettings,
|
|
486
|
-
|
|
516
|
+
devSettings,
|
|
517
|
+
m_jsMessageThread.Load(),
|
|
518
|
+
std::move(scriptStore),
|
|
519
|
+
std::move(preparedScriptStore),
|
|
520
|
+
enableMultiThreadSupport);
|
|
521
|
+
|
|
522
|
+
} break;
|
|
487
523
|
#endif // USE_V8
|
|
488
524
|
case JSIEngine::Chakra:
|
|
489
525
|
#ifndef CORE_ABI
|
|
@@ -542,7 +578,8 @@ void ReactInstanceWin::Initialize() noexcept {
|
|
|
542
578
|
|
|
543
579
|
if (UseDeveloperSupport() && State() != ReactInstanceState::HasError) {
|
|
544
580
|
folly::dynamic params = folly::dynamic::array(
|
|
545
|
-
|
|
581
|
+
winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::GetPlatformName(
|
|
582
|
+
m_reactContext->Properties()),
|
|
546
583
|
DebugBundlePath(),
|
|
547
584
|
SourceBundleHost(),
|
|
548
585
|
SourceBundlePort(),
|
|
@@ -1125,6 +1162,10 @@ std::string ReactInstanceWin::JavaScriptBundleFile() const noexcept {
|
|
|
1125
1162
|
return m_options.Identity;
|
|
1126
1163
|
}
|
|
1127
1164
|
|
|
1165
|
+
std::string ReactInstanceWin::BundleAppId() const noexcept {
|
|
1166
|
+
return m_options.DeveloperSettings.BundleAppId;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1128
1169
|
bool ReactInstanceWin::UseDeveloperSupport() const noexcept {
|
|
1129
1170
|
return m_options.UseDeveloperSupport();
|
|
1130
1171
|
}
|
|
@@ -79,6 +79,7 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
79
79
|
uint16_t SourceBundlePort() const noexcept;
|
|
80
80
|
bool RequestInlineSourceMap() const noexcept;
|
|
81
81
|
std::string JavaScriptBundleFile() const noexcept;
|
|
82
|
+
std::string BundleAppId() const noexcept;
|
|
82
83
|
bool UseDeveloperSupport() const noexcept;
|
|
83
84
|
JSIEngine JsiEngine() const noexcept;
|
|
84
85
|
|