react-native-windows 0.84.0-preview.9 → 0.85.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 +1 -5
- package/Common/unicode.cpp +36 -0
- package/Common/unicode.h +8 -0
- package/Directory.Build.props +1 -16
- package/Directory.Build.targets +12 -4
- package/Folly/ThreadNameStub.cpp +4 -6
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.windows.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/Switch/Switch.windows.js +3 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.windows.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +4 -0
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +7 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +5 -5
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/Text.windows.js +342 -717
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Text/TextProps.windows.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/CoreEventTypes.windows.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +32 -5
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +94 -26
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +11 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +9 -5
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +28 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +80 -0
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.h +17 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +3 -8
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -63
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
- package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
- package/Microsoft.ReactNative/QuirkSettings.h +0 -43
- package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
- package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -5
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
- package/Microsoft.ReactNative/RedBox.cpp +0 -9
- package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
- package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +33 -25
- package/Microsoft.ReactNative/Utils/LocalBundleReader.h +5 -3
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +3 -3
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
- package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +10 -10
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
- package/PropertySheets/Autolink.props +1 -1
- package/PropertySheets/Bundle.props +1 -1
- package/PropertySheets/Codegen.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/NuGet.LockFile.props +8 -0
- package/PropertySheets/React.Cpp.props +8 -7
- package/PropertySheets/ReactNativeArchitecture.props +6 -24
- package/PropertySheets/WinUI.props +2 -2
- package/ReactCommon/ReactCommon.vcxproj +5 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
- package/Scripts/JustMyXaml.ps1 +8 -8
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
- package/Scripts/UnitTest.ps1 +3 -1
- package/Scripts/creaternwapp.cmd +1 -9
- package/Scripts/creaternwlib.cmd +4 -24
- package/Scripts/rnw-dependencies.ps1 +15 -16
- package/Shared/DevSettings.h +0 -3
- package/Shared/DevSupportManager.cpp +55 -48
- package/Shared/DevSupportManager.h +0 -1
- package/Shared/Modules/IWebSocketModuleContentHandler.h +15 -0
- package/Shared/Modules/WebSocketModule.cpp +8 -3
- package/Shared/Networking/DefaultBlobResource.cpp +37 -0
- package/Shared/Networking/DefaultBlobResource.h +12 -0
- package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
- package/Shared/Networking/WinRTWebSocketResource.h +8 -120
- package/Shared/Shared.vcxitems +63 -38
- package/Shared/Shared.vcxitems.filters +54 -0
- package/Shared/Utils.cpp +0 -88
- package/Shared/Utils.h +0 -14
- package/Shared/WebSocketResourceFactory.cpp +28 -0
- package/Shared/tracing/fbsystrace.h +1 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
- package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
- package/codegen/react/components/rnwcore/Props.cpp +17 -7
- package/codegen/react/components/rnwcore/Props.h +3 -1
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
- package/codegen/rnwcoreJSI.h +93 -77
- package/index.js +9 -0
- package/index.windows.js +9 -0
- package/jest/RefreshControlMock.js +2 -2
- package/jest/assetFileTransformer.js +8 -3
- package/jest/mockComponent.js +3 -4
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mocks/ActivityIndicator.js +2 -2
- package/jest/mocks/Image.js +2 -2
- package/jest/mocks/Modal.js +2 -2
- package/jest/mocks/RefreshControl.js +3 -3
- package/jest/mocks/RendererProxy.js +2 -2
- package/jest/mocks/ScrollView.js +5 -5
- package/jest/mocks/Text.js +2 -2
- package/jest/mocks/TextInput.js +2 -2
- package/jest/mocks/View.js +2 -2
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/mocks/requireNativeComponent.js +1 -1
- package/jest/mocks/useColorScheme.js +1 -1
- package/jest/setup.js +68 -31
- package/just-task.js +13 -2
- package/package.json +25 -20
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/template/cpp-lib/proj/MyLib.sln +0 -33
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.sln +0 -33
- package/template/metro.config.js +12 -2
- package/templates/cpp-app/metro.config.js +12 -2
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +2 -2
- package/templates/cpp-app/windows/MyApp.sln +0 -33
- package/templates/cpp-lib/example/metro.config.js +12 -2
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +2 -2
- package/templates/cpp-lib/windows/MyLib.sln +0 -33
- package/types/index.d.ts +2 -0
- package/Folly/.clang-format +0 -2
- package/Folly/Folly.natvis +0 -25
- package/Folly/Folly.vcxproj +0 -378
- package/Folly/Folly.vcxproj.filters +0 -558
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
- package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
- package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
- package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
- package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
- package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
- package/Folly/cgmanifest.json +0 -25
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
- package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
- package/Microsoft.ReactNative/ReactSupport.h +0 -13
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
- package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
- package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -22
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
- package/Microsoft.ReactNative/XamlUIService.h +0 -37
- package/Microsoft.ReactNative/XamlUIService.idl +0 -53
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
- package/fmt/.clang-format +0 -2
- package/fmt/cgmanifest.json +0 -15
- package/fmt/fmt.vcxproj +0 -153
- package/fmt/fmt.vcxproj.filters +0 -59
- package/fmt/pch.cpp +0 -4
- package/fmt/pch.h +0 -2
|
@@ -68,20 +68,17 @@
|
|
|
68
68
|
#include <react/threading/MessageQueueThreadImpl.h>
|
|
69
69
|
#include "Inspector/ReactInspectorThread.h"
|
|
70
70
|
|
|
71
|
-
#ifndef CORE_ABI
|
|
72
|
-
#include <Utils/UwpPreparedScriptStore.h>
|
|
73
|
-
#include <Utils/UwpScriptStore.h>
|
|
74
71
|
#include "Modules/AccessibilityInfoModule.h"
|
|
75
72
|
#include "Modules/AlertModule.h"
|
|
76
73
|
#include "Modules/AppStateModule.h"
|
|
77
74
|
#include "Modules/AppThemeModuleUwp.h"
|
|
75
|
+
#include "Modules/AppearanceModule.h"
|
|
78
76
|
#include "Modules/ClipboardModule.h"
|
|
79
77
|
#include "Modules/DeviceInfoModule.h"
|
|
78
|
+
#include "Modules/ExceptionsManager.h"
|
|
80
79
|
#include "Modules/I18nManagerModule.h"
|
|
81
80
|
#include "Modules/LinkingManagerModule.h"
|
|
82
81
|
#include "Modules/LogBoxModule.h"
|
|
83
|
-
#endif
|
|
84
|
-
#include "Modules/ExceptionsManager.h"
|
|
85
82
|
#include "Modules/PlatformConstantsWinModule.h"
|
|
86
83
|
#include "Modules/ReactRootViewTagGenerator.h"
|
|
87
84
|
#include "Modules/SourceCode.h"
|
|
@@ -244,8 +241,8 @@ void ReactInstanceWin::LoadModules(
|
|
|
244
241
|
registerTurboModule(
|
|
245
242
|
L"FabricUIManagerBinding",
|
|
246
243
|
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::FabricUIManager>());
|
|
244
|
+
turboModulesProvider->AddEagerInit("FabricUIManagerBinding");
|
|
247
245
|
|
|
248
|
-
#ifndef CORE_ABI
|
|
249
246
|
registerTurboModule(
|
|
250
247
|
L"AccessibilityInfo",
|
|
251
248
|
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::AccessibilityInfo>());
|
|
@@ -278,15 +275,6 @@ void ReactInstanceWin::LoadModules(
|
|
|
278
275
|
L"NativeAnimatedModule",
|
|
279
276
|
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
280
277
|
|
|
281
|
-
#else
|
|
282
|
-
registerTurboModule(
|
|
283
|
-
L"ImageLoader", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ImageLoader>());
|
|
284
|
-
|
|
285
|
-
registerTurboModule(
|
|
286
|
-
L"NativeAnimatedModule",
|
|
287
|
-
winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
|
|
288
|
-
#endif
|
|
289
|
-
|
|
290
278
|
turboModulesProvider->AddModuleProvider(
|
|
291
279
|
L"SampleTurboModule",
|
|
292
280
|
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::SampleTurboModule>(),
|
|
@@ -330,14 +318,12 @@ void ReactInstanceWin::LoadModules(
|
|
|
330
318
|
registerTurboModule(
|
|
331
319
|
L"DevSettings", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::DevSettings>());
|
|
332
320
|
|
|
333
|
-
#ifndef CORE_ABI
|
|
334
321
|
registerTurboModule(
|
|
335
322
|
L"I18nManager", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::I18nManager>());
|
|
336
323
|
|
|
337
324
|
registerTurboModule(
|
|
338
325
|
L"LinkingManager",
|
|
339
326
|
winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::LinkingManager>());
|
|
340
|
-
#endif
|
|
341
327
|
|
|
342
328
|
registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
|
|
343
329
|
|
|
@@ -362,13 +348,11 @@ void ReactInstanceWin::InitDevMenu() noexcept {
|
|
|
362
348
|
}
|
|
363
349
|
|
|
364
350
|
void ReactInstanceWin::InitUIDependentCalls() noexcept {
|
|
365
|
-
#ifndef CORE_ABI
|
|
366
351
|
Microsoft::ReactNative::AppThemeHolder::InitAppThemeHolder(GetReactContext());
|
|
367
352
|
Microsoft::ReactNative::I18nManager::InitI18nInfo(
|
|
368
353
|
winrt::Microsoft::ReactNative::ReactPropertyBag(Options().Properties));
|
|
369
354
|
Microsoft::ReactNative::Appearance::InitOnUIThread(GetReactContext());
|
|
370
355
|
Microsoft::ReactNative::DeviceInfoHolder::InitDeviceInfoHolder(GetReactContext());
|
|
371
|
-
#endif // CORE_ABI
|
|
372
356
|
}
|
|
373
357
|
|
|
374
358
|
std::shared_ptr<facebook::react::DevSettings> ReactInstanceWin::CreateDevSettings() noexcept {
|
|
@@ -400,11 +384,6 @@ std::shared_ptr<facebook::react::DevSettings> ReactInstanceWin::CreateDevSetting
|
|
|
400
384
|
}
|
|
401
385
|
};
|
|
402
386
|
|
|
403
|
-
bool useRuntimeScheduler = winrt::Microsoft::ReactNative::implementation::QuirkSettings::GetUseRuntimeScheduler(
|
|
404
|
-
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
|
|
405
|
-
|
|
406
|
-
devSettings->useRuntimeScheduler = useRuntimeScheduler;
|
|
407
|
-
|
|
408
387
|
devSettings->inspectorHostTarget = m_options.InspectorHostTarget;
|
|
409
388
|
|
|
410
389
|
return devSettings;
|
|
@@ -797,14 +776,12 @@ facebook::react::NativeLoggingHook ReactInstanceWin::GetLoggingCallback() noexce
|
|
|
797
776
|
std::shared_ptr<IRedBoxHandler> ReactInstanceWin::GetRedBoxHandler() noexcept {
|
|
798
777
|
if (m_options.RedBoxHandler) {
|
|
799
778
|
return m_options.RedBoxHandler;
|
|
800
|
-
#ifndef CORE_ABI
|
|
801
779
|
} else if (UseDeveloperSupport()) {
|
|
802
780
|
auto localWkReactHost = m_weakReactHost;
|
|
803
781
|
return CreateDefaultRedBoxHandler(
|
|
804
782
|
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()),
|
|
805
783
|
std::move(localWkReactHost),
|
|
806
784
|
*m_uiQueue);
|
|
807
|
-
#endif
|
|
808
785
|
} else {
|
|
809
786
|
return {};
|
|
810
787
|
}
|
|
@@ -12,11 +12,6 @@
|
|
|
12
12
|
#include "React_win.h"
|
|
13
13
|
#include "activeObject/activeObject.h"
|
|
14
14
|
|
|
15
|
-
#ifndef CORE_ABI
|
|
16
|
-
#include <Modules/AppearanceModule.h>
|
|
17
|
-
#include <Modules/I18nManagerModule.h>
|
|
18
|
-
#endif
|
|
19
|
-
|
|
20
15
|
#include <react/runtime/ReactInstance.h>
|
|
21
16
|
|
|
22
17
|
namespace winrt::Microsoft::ReactNative {
|
|
@@ -3,6 +3,7 @@ import "ReactNativeHost.idl";
|
|
|
3
3
|
import "ReactNativeIsland.idl";
|
|
4
4
|
import "ReactInstanceSettings.idl";
|
|
5
5
|
import "IReactPackageProvider.idl";
|
|
6
|
+
import "ReactNativeWindow.idl";
|
|
6
7
|
|
|
7
8
|
#include "DocString.h"
|
|
8
9
|
|
|
@@ -14,6 +15,8 @@ namespace Microsoft.ReactNative {
|
|
|
14
15
|
// Properties
|
|
15
16
|
Microsoft.UI.Windowing.AppWindow AppWindow {get;};
|
|
16
17
|
|
|
18
|
+
ReactNativeWindow ReactNativeWindow {get;};
|
|
19
|
+
|
|
17
20
|
ReactNativeHost ReactNativeHost {get;};
|
|
18
21
|
|
|
19
22
|
ReactViewOptions ReactViewOptions {get;};
|
|
@@ -34,6 +34,13 @@ void ReactPackageBuilder::AddTurboModule(
|
|
|
34
34
|
m_turboModulesProvider->AddModuleProvider(moduleName, moduleProvider, true);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
void ReactPackageBuilder::AddEagerInitTurboModule(
|
|
38
|
+
hstring const &moduleName,
|
|
39
|
+
ReactModuleProvider const &moduleProvider) noexcept {
|
|
40
|
+
m_turboModulesProvider->AddModuleProvider(moduleName, moduleProvider, true);
|
|
41
|
+
m_turboModulesProvider->AddEagerInit(winrt::to_string(moduleName));
|
|
42
|
+
}
|
|
43
|
+
|
|
37
44
|
void ReactPackageBuilder::AddViewComponent(
|
|
38
45
|
winrt::hstring componentName,
|
|
39
46
|
ReactViewComponentProvider const &viewComponentProvider) noexcept {
|
|
@@ -20,6 +20,7 @@ struct ReactPackageBuilder : winrt::implements<ReactPackageBuilder, IReactPackag
|
|
|
20
20
|
public: // IReactPackageBuilder
|
|
21
21
|
void AddModule(hstring const &moduleName, ReactModuleProvider const &moduleProvider) noexcept;
|
|
22
22
|
void AddTurboModule(hstring const &moduleName, ReactModuleProvider const &moduleProvider) noexcept;
|
|
23
|
+
void AddEagerInitTurboModule(hstring const &moduleName, ReactModuleProvider const &moduleProvider) noexcept;
|
|
23
24
|
|
|
24
25
|
// IReactPackageBuilderFabric
|
|
25
26
|
void AddViewComponent(winrt::hstring componentName, ReactViewComponentProvider const &viewComponentProvider) noexcept;
|
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
#include <winrt/Windows.Foundation.Collections.h>
|
|
15
15
|
#include <winrt/Windows.Foundation.h>
|
|
16
16
|
|
|
17
|
-
#ifndef CORE_ABI
|
|
18
|
-
|
|
19
17
|
#include <ReactCoreInjection.h>
|
|
20
18
|
#include <Shobjidl.h>
|
|
21
19
|
#include <Utils/Helpers.h>
|
|
@@ -27,7 +25,6 @@
|
|
|
27
25
|
#include <winrt/Windows.Web.Http.h>
|
|
28
26
|
#include "CppWinRTIncludes.h"
|
|
29
27
|
#include "Utils/Helpers.h"
|
|
30
|
-
#endif // CORE_ABI
|
|
31
28
|
#include "XamlUtils.h"
|
|
32
29
|
|
|
33
30
|
using namespace winrt::Windows::Foundation;
|
|
@@ -36,7 +33,6 @@ namespace Mso::React {
|
|
|
36
33
|
|
|
37
34
|
using IInspectable = winrt::Windows::Foundation::IInspectable;
|
|
38
35
|
|
|
39
|
-
#ifndef CORE_ABI
|
|
40
36
|
struct RedBox : public std::enable_shared_from_this<RedBox> {
|
|
41
37
|
RedBox(
|
|
42
38
|
winrt::Microsoft::ReactNative::ReactPropertyBag &propBag,
|
|
@@ -272,7 +268,6 @@ struct DefaultRedBoxHandler final : public std::enable_shared_from_this<DefaultR
|
|
|
272
268
|
std::vector<std::shared_ptr<RedBox>> m_redBoxes; // Protected by m_lockRedBox
|
|
273
269
|
const Mso::WeakPtr<IReactHost> m_weakReactHost;
|
|
274
270
|
};
|
|
275
|
-
#endif // CORE_ABI
|
|
276
271
|
|
|
277
272
|
struct RedBoxHandler final : public Mso::React::IRedBoxHandler {
|
|
278
273
|
RedBoxHandler(winrt::Microsoft::ReactNative::IRedBoxHandler const &redBoxHandler) : m_redBoxHandler(redBoxHandler) {}
|
|
@@ -316,11 +311,7 @@ std::shared_ptr<IRedBoxHandler> CreateDefaultRedBoxHandler(
|
|
|
316
311
|
const winrt::Microsoft::ReactNative::ReactPropertyBag &propBag,
|
|
317
312
|
Mso::WeakPtr<IReactHost> &&weakReactHost,
|
|
318
313
|
const Mso::React::IDispatchQueue2 &uiQueue) noexcept {
|
|
319
|
-
#ifndef CORE_ABI
|
|
320
314
|
return std::make_shared<DefaultRedBoxHandler>(propBag, std::move(weakReactHost), uiQueue);
|
|
321
|
-
#else
|
|
322
|
-
return nullptr;
|
|
323
|
-
#endif
|
|
324
315
|
}
|
|
325
316
|
|
|
326
317
|
} // namespace Mso::React
|
|
@@ -61,11 +61,7 @@ struct DefaultRedBoxHandler : winrt::implements<DefaultRedBoxHandler, IRedBoxHan
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
IRedBoxHandler RedBoxHelper::CreateDefaultHandler(winrt::Microsoft::ReactNative::ReactNativeHost const &host) noexcept {
|
|
64
|
-
#ifndef CORE_ABI
|
|
65
64
|
return winrt::make<DefaultRedBoxHandler>(host);
|
|
66
|
-
#else
|
|
67
|
-
return nullptr;
|
|
68
|
-
#endif
|
|
69
65
|
}
|
|
70
66
|
|
|
71
67
|
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -494,16 +494,11 @@ std::shared_ptr<facebook::react::TurboModule> TurboModulesProvider::getModule(
|
|
|
494
494
|
}
|
|
495
495
|
|
|
496
496
|
std::vector<std::string> TurboModulesProvider::getEagerInitModuleNames() noexcept {
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
it = m_moduleProviders.find("FabricUIManagerBinding");
|
|
503
|
-
if (it != m_moduleProviders.end()) {
|
|
504
|
-
eagerModules.push_back("FabricUIManagerBinding");
|
|
505
|
-
}
|
|
506
|
-
return eagerModules;
|
|
497
|
+
return m_eagerInitModuleNames;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
void TurboModulesProvider::AddEagerInit(std::string moduleName) noexcept {
|
|
501
|
+
m_eagerInitModuleNames.push_back(moduleName);
|
|
507
502
|
}
|
|
508
503
|
|
|
509
504
|
void TurboModulesProvider::SetReactContext(const IReactContext &reactContext) noexcept {
|
|
@@ -26,6 +26,7 @@ class TurboModulesProvider final : public facebook::react::TurboModuleRegistry {
|
|
|
26
26
|
winrt::hstring const &moduleName,
|
|
27
27
|
ReactModuleProvider const &moduleProvider,
|
|
28
28
|
bool overwriteExisting) noexcept;
|
|
29
|
+
void AddEagerInit(std::string moduleName) noexcept;
|
|
29
30
|
std::shared_ptr<facebook::react::LongLivedObjectCollection> const &LongLivedObjectCollection() noexcept;
|
|
30
31
|
|
|
31
32
|
private:
|
|
@@ -33,6 +34,7 @@ class TurboModulesProvider final : public facebook::react::TurboModuleRegistry {
|
|
|
33
34
|
std::shared_ptr<facebook::react::LongLivedObjectCollection> m_longLivedObjectCollection{
|
|
34
35
|
std::make_shared<facebook::react::LongLivedObjectCollection>()};
|
|
35
36
|
std::unordered_map<std::string, ReactModuleProvider> m_moduleProviders;
|
|
37
|
+
std::vector<std::string> m_eagerInitModuleNames;
|
|
36
38
|
IReactContext m_reactContext;
|
|
37
39
|
};
|
|
38
40
|
|
|
@@ -54,7 +54,29 @@ std::string GetBundleFromEmbeddedResource(const winrt::Windows::Foundation::Uri
|
|
|
54
54
|
return std::string(start, start + size);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
namespace {
|
|
58
|
+
|
|
59
|
+
std::string BufferToString(const winrt::Windows::Storage::Streams::IBuffer &buffer) {
|
|
60
|
+
std::string result(buffer.Length(), '\0');
|
|
61
|
+
if (!result.empty()) {
|
|
62
|
+
auto reader = winrt::Windows::Storage::Streams::DataReader::FromBuffer(buffer);
|
|
63
|
+
reader.ReadBytes(winrt::array_view<uint8_t>{
|
|
64
|
+
reinterpret_cast<uint8_t *>(&result[0]), reinterpret_cast<uint8_t *>(&result[result.length()])});
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
winrt::Windows::Storage::Streams::IBuffer BytesToBuffer(const void *data, uint32_t size) {
|
|
70
|
+
winrt::Windows::Storage::Streams::DataWriter writer;
|
|
71
|
+
auto bytes = static_cast<const uint8_t *>(data);
|
|
72
|
+
writer.WriteBytes(winrt::array_view<const uint8_t>(bytes, bytes + size));
|
|
73
|
+
return writer.DetachBuffer();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
} // namespace
|
|
77
|
+
|
|
78
|
+
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IBuffer>
|
|
79
|
+
LocalBundleReader::LoadBundleAsync(const std::wstring bundleUri) {
|
|
58
80
|
try {
|
|
59
81
|
co_await winrt::resume_background();
|
|
60
82
|
|
|
@@ -66,41 +88,26 @@ std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::wstring b
|
|
|
66
88
|
file = co_await winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
|
|
67
89
|
} else if (bundleUri.starts_with(L"resource://")) {
|
|
68
90
|
winrt::Windows::Foundation::Uri uri(bundleUri);
|
|
69
|
-
|
|
91
|
+
auto bytes = GetBundleFromEmbeddedResource(uri);
|
|
92
|
+
co_return BytesToBuffer(bytes.data(), static_cast<uint32_t>(bytes.size()));
|
|
70
93
|
} else {
|
|
71
94
|
file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(bundleUri);
|
|
72
95
|
}
|
|
73
96
|
|
|
74
|
-
|
|
75
|
-
// roundtrip.
|
|
76
|
-
auto fileBuffer{co_await winrt::Windows::Storage::FileIO::ReadBufferAsync(file)};
|
|
77
|
-
auto dataReader{winrt::Windows::Storage::Streams::DataReader::FromBuffer(fileBuffer)};
|
|
78
|
-
|
|
79
|
-
// No need to use length + 1, STL guarantees that string storage is null-terminated.
|
|
80
|
-
std::string script(fileBuffer.Length(), '\0');
|
|
81
|
-
|
|
82
|
-
// Construct the array_view to slice into the first fileBuffer.Length bytes.
|
|
83
|
-
// DataReader.ReadBytes will read as many bytes as are present in the
|
|
84
|
-
// array_view. The backing string has fileBuffer.Length() + 1 bytes, without
|
|
85
|
-
// an explicit end it will read 1 byte to many and throw.
|
|
86
|
-
dataReader.ReadBytes(winrt::array_view<uint8_t>{
|
|
87
|
-
reinterpret_cast<uint8_t *>(&script[0]), reinterpret_cast<uint8_t *>(&script[script.length()])});
|
|
88
|
-
dataReader.Close();
|
|
89
|
-
|
|
90
|
-
co_return script;
|
|
97
|
+
co_return co_await winrt::Windows::Storage::FileIO::ReadBufferAsync(file);
|
|
91
98
|
}
|
|
92
99
|
// RuntimeScheduler only handles std::exception or jsi::JSError
|
|
93
|
-
catch (winrt::hresult_error const &
|
|
94
|
-
throw
|
|
100
|
+
catch (winrt::hresult_error const &) {
|
|
101
|
+
throw;
|
|
95
102
|
}
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
std::string LocalBundleReader::LoadBundle(const std::wstring &bundlePath) {
|
|
99
|
-
return LoadBundleAsync(bundlePath).get();
|
|
106
|
+
return BufferToString(LoadBundleAsync(bundlePath).get());
|
|
100
107
|
}
|
|
101
108
|
|
|
102
109
|
StorageFileBigString::StorageFileBigString(const std::wstring &path) {
|
|
103
|
-
|
|
110
|
+
m_pendingLoad = LocalBundleReader::LoadBundleAsync(path);
|
|
104
111
|
}
|
|
105
112
|
|
|
106
113
|
bool StorageFileBigString::isAscii() const {
|
|
@@ -118,8 +125,9 @@ size_t StorageFileBigString::size() const {
|
|
|
118
125
|
}
|
|
119
126
|
|
|
120
127
|
void StorageFileBigString::ensure() const {
|
|
121
|
-
if (
|
|
122
|
-
m_string =
|
|
128
|
+
if (m_pendingLoad) {
|
|
129
|
+
m_string = BufferToString(m_pendingLoad.get());
|
|
130
|
+
m_pendingLoad = nullptr;
|
|
123
131
|
}
|
|
124
132
|
}
|
|
125
133
|
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
#pragma once
|
|
5
5
|
#include <cxxreact/JSBigString.h>
|
|
6
|
-
#include <
|
|
6
|
+
#include <winrt/Windows.Foundation.h>
|
|
7
|
+
#include <winrt/Windows.Storage.Streams.h>
|
|
7
8
|
#include <string>
|
|
8
9
|
|
|
9
10
|
namespace Microsoft::ReactNative {
|
|
10
11
|
|
|
11
12
|
class LocalBundleReader {
|
|
12
13
|
public:
|
|
13
|
-
static
|
|
14
|
+
static winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IBuffer> LoadBundleAsync(
|
|
15
|
+
const std::wstring bundlePath);
|
|
14
16
|
static std::string LoadBundle(const std::wstring &bundlePath);
|
|
15
17
|
};
|
|
16
18
|
|
|
@@ -24,7 +26,7 @@ class StorageFileBigString : public facebook::react::JSBigString {
|
|
|
24
26
|
void ensure() const;
|
|
25
27
|
|
|
26
28
|
private:
|
|
27
|
-
mutable
|
|
29
|
+
mutable winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IBuffer> m_pendingLoad;
|
|
28
30
|
mutable std::string m_string;
|
|
29
31
|
};
|
|
30
32
|
|
|
@@ -48,7 +48,7 @@ struct ColorComp {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
winrt::Color ColorFromNumber(DWORD argb) noexcept {
|
|
51
|
-
return
|
|
51
|
+
return winrt::Windows::UI::Color{GetAFromArgb(argb), GetRFromArgb(argb), GetGFromArgb(argb), GetBFromArgb(argb)};
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
REACTWINDOWS_API_(winrt::Color) ColorFrom(const folly::dynamic &d) {
|
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
|
|
4
4
|
#pragma once
|
|
5
|
-
#include "NamespaceRedirect.h"
|
|
6
|
-
|
|
7
5
|
#include <winrt/Windows.Foundation.Collections.h>
|
|
8
6
|
#include <winrt/Windows.Foundation.h>
|
|
9
7
|
|
|
10
8
|
#include <winrt/Microsoft.UI.Xaml.h>
|
|
11
9
|
|
|
12
|
-
#define XAML_CPPWINRT_NAMESPACE winrt::Microsoft::UI::Xaml
|
|
13
10
|
namespace xaml = winrt::Microsoft::UI::Xaml;
|
|
14
11
|
namespace comp = winrt::Microsoft::UI::Composition;
|
|
15
12
|
namespace ui = winrt::Microsoft::UI;
|
|
@@ -28,7 +25,3 @@ using namespace Windows::UI::Core;
|
|
|
28
25
|
using namespace Windows::Foundation;
|
|
29
26
|
using namespace Windows::Foundation::Collections;
|
|
30
27
|
} // namespace winrt
|
|
31
|
-
|
|
32
|
-
#define _QUOTE(x) L#x
|
|
33
|
-
#define QUOTE(x) _QUOTE(x)
|
|
34
|
-
#define XAML_NAMESPACE_STR QUOTE(XAML_NAMESPACE)
|
|
@@ -8,9 +8,6 @@
|
|
|
8
8
|
#include <winrt/Windows.Foundation.h>
|
|
9
9
|
#include <functional>
|
|
10
10
|
|
|
11
|
-
#if !defined(CORE_ABI) && !defined(__APPLE__) && \
|
|
12
|
-
WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM | WINAPI_PARTITION_GAMES)
|
|
13
|
-
|
|
14
11
|
#include <winrt/Microsoft.ReactNative.h>
|
|
15
12
|
|
|
16
13
|
#include "CppWinRTIncludes.h"
|
|
@@ -63,25 +60,6 @@ inline std::unordered_map<uint32_t, ReactNotificationSubscription> SubscribeToWi
|
|
|
63
60
|
return result;
|
|
64
61
|
}
|
|
65
62
|
|
|
66
|
-
#else
|
|
67
|
-
namespace winrt::Microsoft::ReactNative {
|
|
68
|
-
|
|
69
|
-
/// Stubs for UWP
|
|
70
|
-
template <typename... T>
|
|
71
|
-
void ForwardWindowMessage(const ReactNotificationService &svc, T &&...) noexcept {}
|
|
72
|
-
|
|
73
|
-
template <typename... T>
|
|
74
|
-
ReactNotificationSubscription SubscribeToWindowMessage(const ReactNotificationService &svc, T &&...) noexcept {
|
|
75
|
-
return nullptr;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
template <typename... T>
|
|
79
|
-
std::unordered_map<uint32_t, ReactNotificationSubscription>
|
|
80
|
-
SubscribeToWindowMessage(const ReactNotificationService &svc, std::initializer_list<uint32_t> msgs, T &&...) noexcept {
|
|
81
|
-
return std::unordered_map<uint32_t, ReactNotificationSubscription>{};
|
|
82
|
-
}
|
|
83
|
-
#endif
|
|
84
|
-
|
|
85
63
|
namespace details {
|
|
86
64
|
struct IndirectLibraryDeleter {
|
|
87
65
|
void operator()(void *l) {
|
|
@@ -18,7 +18,10 @@ ModuleRegistration::ModuleRegistration(wchar_t const *moduleName) noexcept : m_m
|
|
|
18
18
|
void AddAttributedModules(IReactPackageBuilder const &packageBuilder, bool useTurboModules) noexcept {
|
|
19
19
|
for (auto const *reg = ModuleRegistration::Head(); reg != nullptr; reg = reg->Next()) {
|
|
20
20
|
if (useTurboModules || reg->ShouldRegisterAsTurboModule())
|
|
21
|
-
|
|
21
|
+
if (reg->IsEagerInit())
|
|
22
|
+
packageBuilder.AddEagerInitTurboModule(reg->ModuleName(), reg->MakeModuleProvider());
|
|
23
|
+
else
|
|
24
|
+
packageBuilder.AddTurboModule(reg->ModuleName(), reg->MakeModuleProvider());
|
|
22
25
|
else
|
|
23
26
|
packageBuilder.AddModule(reg->ModuleName(), reg->MakeModuleProvider());
|
|
24
27
|
}
|
|
@@ -31,7 +34,10 @@ bool TryAddAttributedModule(
|
|
|
31
34
|
for (auto const *reg = ModuleRegistration::Head(); reg != nullptr; reg = reg->Next()) {
|
|
32
35
|
if (moduleName == reg->ModuleName()) {
|
|
33
36
|
if (useTurboModule || reg->ShouldRegisterAsTurboModule()) {
|
|
34
|
-
|
|
37
|
+
if (reg->IsEagerInit())
|
|
38
|
+
packageBuilder.AddEagerInitTurboModule(moduleName, reg->MakeModuleProvider());
|
|
39
|
+
else
|
|
40
|
+
packageBuilder.AddTurboModule(moduleName, reg->MakeModuleProvider());
|
|
35
41
|
} else {
|
|
36
42
|
packageBuilder.AddModule(moduleName, reg->MakeModuleProvider());
|
|
37
43
|
}
|
|
@@ -17,19 +17,24 @@
|
|
|
17
17
|
// The macros below are internal implementation details for macro defined in nativeModules.h
|
|
18
18
|
//
|
|
19
19
|
|
|
20
|
+
// ADL-based fallback: returns false for any type not tagged by the macros below.
|
|
21
|
+
// Using ADL instead of explicit template specialization allows the macros to be
|
|
22
|
+
// used inside a namespace (explicit specializations of a global template must
|
|
23
|
+
// occur at global scope, which the macros cannot guarantee).
|
|
20
24
|
template <typename T>
|
|
21
|
-
|
|
25
|
+
constexpr bool ReactIsReactTurboModuleImpl(T *) noexcept {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
22
28
|
|
|
23
|
-
// Default to false if no specific override
|
|
24
29
|
template <typename T>
|
|
25
|
-
struct IsReactTurboModule : std::
|
|
30
|
+
struct IsReactTurboModule : std::bool_constant<ReactIsReactTurboModuleImpl(static_cast<T *>(nullptr))> {};
|
|
26
31
|
|
|
27
32
|
#define INTERNAL_REACT_MODULE_REGISTRATION_AND_PROVIDER( \
|
|
28
|
-
moduleStruct, moduleName, eventEmitterName, isReactTurboModule)
|
|
33
|
+
moduleStruct, moduleName, eventEmitterName, isReactTurboModule, isEagerInit) \
|
|
29
34
|
struct moduleStruct; \
|
|
30
35
|
\
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
constexpr bool ReactIsReactTurboModuleImpl(moduleStruct *) noexcept { return isReactTurboModule; } \
|
|
37
|
+
constexpr bool ReactIsEagerInitTurboModuleImpl(moduleStruct *) noexcept { return isEagerInit; } \
|
|
33
38
|
\
|
|
34
39
|
template <class TDummy> \
|
|
35
40
|
struct moduleStruct##_ModuleRegistration final : winrt::Microsoft::ReactNative::ModuleRegistration { \
|
|
@@ -40,6 +45,7 @@ struct IsReactTurboModule : std::false_type {};
|
|
|
40
45
|
} \
|
|
41
46
|
\
|
|
42
47
|
bool ShouldRegisterAsTurboModule() const noexcept override { return isReactTurboModule; } \
|
|
48
|
+
bool IsEagerInit() const noexcept override { return isEagerInit; } \
|
|
43
49
|
\
|
|
44
50
|
static const moduleStruct##_ModuleRegistration Registration; \
|
|
45
51
|
}; \
|
|
@@ -55,7 +61,7 @@ struct IsReactTurboModule : std::false_type {};
|
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
#define INTERNAL_REACT_MODULE_3_ARGS(moduleStruct, moduleName, eventEmitterName) \
|
|
58
|
-
INTERNAL_REACT_MODULE_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, eventEmitterName, false)
|
|
64
|
+
INTERNAL_REACT_MODULE_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, eventEmitterName, false, false)
|
|
59
65
|
|
|
60
66
|
#define INTERNAL_REACT_MODULE_2_ARGS(moduleStruct, moduleName) \
|
|
61
67
|
INTERNAL_REACT_MODULE_3_ARGS(moduleStruct, moduleName, L"")
|
|
@@ -66,17 +72,16 @@ struct IsReactTurboModule : std::false_type {};
|
|
|
66
72
|
INTERNAL_REACT_RECOMPOSER_4( \
|
|
67
73
|
(__VA_ARGS__, INTERNAL_REACT_MODULE_3_ARGS, INTERNAL_REACT_MODULE_2_ARGS, INTERNAL_REACT_MODULE_1_ARG, ))
|
|
68
74
|
|
|
69
|
-
#define INTERNAL_REACT_MODULE_NO_REGISTRATION_AND_PROVIDER(
|
|
70
|
-
moduleStruct, moduleName, eventEmitterName, isReactTurboModule)
|
|
71
|
-
struct moduleStruct;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
moduleName, eventEmitterName, winrt::Microsoft::ReactNative::ReactAttributeId<__COUNTER__>{}); \
|
|
75
|
+
#define INTERNAL_REACT_MODULE_NO_REGISTRATION_AND_PROVIDER( \
|
|
76
|
+
moduleStruct, moduleName, eventEmitterName, isReactTurboModule) \
|
|
77
|
+
struct moduleStruct; \
|
|
78
|
+
\
|
|
79
|
+
[[maybe_unused]] constexpr bool ReactIsReactTurboModuleImpl(moduleStruct *) noexcept { return isReactTurboModule; } \
|
|
80
|
+
\
|
|
81
|
+
template <class TRegistry> \
|
|
82
|
+
constexpr void GetReactModuleInfo(moduleStruct *, TRegistry ®istry) noexcept { \
|
|
83
|
+
registry.RegisterModule( \
|
|
84
|
+
moduleName, eventEmitterName, winrt::Microsoft::ReactNative::ReactAttributeId<__COUNTER__>{}); \
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
// Another version of REACT_MODULE but does not do auto registration
|
|
@@ -101,17 +106,27 @@ struct IsReactTurboModule : std::false_type {};
|
|
|
101
106
|
|
|
102
107
|
// Register struct as a ReactNative module.
|
|
103
108
|
#define INTERNAL_REACT_TURBO_MODULE_2_ARGS(moduleStruct, moduleName) \
|
|
104
|
-
INTERNAL_REACT_MODULE_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, L"", true)
|
|
109
|
+
INTERNAL_REACT_MODULE_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, L"", true, false)
|
|
110
|
+
|
|
111
|
+
#define INTERNAL_REACT_EAGER_TURBO_MODULE_2_ARGS(moduleStruct, moduleName) \
|
|
112
|
+
INTERNAL_REACT_MODULE_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, L"", true, true)
|
|
105
113
|
|
|
106
114
|
#define INTERNAL_REACT_TURBO_MODULE_1_ARG(moduleStruct) \
|
|
107
115
|
INTERNAL_REACT_TURBO_MODULE_2_ARGS(moduleStruct, L## #moduleStruct)
|
|
108
116
|
|
|
117
|
+
#define INTERNAL_REACT_EAGER_TURBO_MODULE_1_ARG(moduleStruct) \
|
|
118
|
+
INTERNAL_REACT_EAGER_TURBO_MODULE_2_ARGS(moduleStruct, L## #moduleStruct)
|
|
119
|
+
|
|
109
120
|
#define INTERNAL_REACT_TURBO_MODULE(...) \
|
|
110
121
|
INTERNAL_REACT_RECOMPOSER_3((__VA_ARGS__, INTERNAL_REACT_TURBO_MODULE_2_ARGS, INTERNAL_REACT_TURBO_MODULE_1_ARG, ))
|
|
111
122
|
|
|
123
|
+
#define INTERNAL_REACT_EAGER_TURBO_MODULE(...) \
|
|
124
|
+
INTERNAL_REACT_RECOMPOSER_3( \
|
|
125
|
+
(__VA_ARGS__, INTERNAL_REACT_EAGER_TURBO_MODULE_2_ARGS, INTERNAL_REACT_EAGER_TURBO_MODULE_1_ARG, ))
|
|
126
|
+
|
|
112
127
|
// Another version of REACT_MODULE but does not do auto registration
|
|
113
128
|
#define INTERNAL_REACT_TURBO_MODULE_NOREG_2_ARGS(moduleStruct, moduleName) \
|
|
114
|
-
INTERNAL_REACT_MODULE_NO_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, L"", true)
|
|
129
|
+
INTERNAL_REACT_MODULE_NO_REGISTRATION_AND_PROVIDER(moduleStruct, moduleName, L"", true, false)
|
|
115
130
|
|
|
116
131
|
#define INTERNAL_REACT_TURBO_MODULE_NOREG_1_ARG(moduleStruct) \
|
|
117
132
|
INTERNAL_REACT_TURBO_MODULE_NOREG_2_ARGS(moduleStruct, L## #moduleStruct)
|
|
@@ -150,6 +165,7 @@ struct ModuleRegistration {
|
|
|
150
165
|
|
|
151
166
|
virtual ReactModuleProvider MakeModuleProvider() const noexcept = 0;
|
|
152
167
|
virtual bool ShouldRegisterAsTurboModule() const noexcept = 0;
|
|
168
|
+
virtual bool IsEagerInit() const noexcept = 0;
|
|
153
169
|
|
|
154
170
|
static ModuleRegistration const *Head() noexcept {
|
|
155
171
|
return s_head;
|
|
@@ -47,6 +47,11 @@
|
|
|
47
47
|
#define REACT_TURBO_MODULE(/* moduleStruct, [opt] moduleName */...) \
|
|
48
48
|
INTERNAL_REACT_TURBO_MODULE(__VA_ARGS__)(__VA_ARGS__)
|
|
49
49
|
|
|
50
|
+
// Same as REACT_TURBO_MODULE, but will register using AddEagerInitTurboModule, and this module
|
|
51
|
+
// will be created and init'd on instance creation.
|
|
52
|
+
#define REACT_EAGER_TURBO_MODULE(/* moduleStruct, [opt] moduleName */...) \
|
|
53
|
+
INTERNAL_REACT_EAGER_TURBO_MODULE(__VA_ARGS__)(__VA_ARGS__)
|
|
54
|
+
|
|
50
55
|
// REACT_MODULE_NOREG is REACT_MODULE without auto registration
|
|
51
56
|
// they have the same arguments
|
|
52
57
|
#define REACT_MODULE_NOREG(/* moduleStruct, [opt] moduleName, [opt] eventEmitterName */...) \
|
|
@@ -522,7 +527,8 @@ struct ModuleJsiInitMethodInfo<void (TModule::*)(ReactContext const &, facebook:
|
|
|
522
527
|
return
|
|
523
528
|
[module = static_cast<ModuleType *>(module), method](
|
|
524
529
|
ReactContext const &reactContext, winrt::Windows::Foundation::IInspectable const &runtimeHandle) noexcept {
|
|
525
|
-
|
|
530
|
+
if (runtimeHandle)
|
|
531
|
+
(module->*method)(reactContext, GetOrCreateContextRuntime(reactContext, runtimeHandle));
|
|
526
532
|
};
|
|
527
533
|
}
|
|
528
534
|
};
|
|
@@ -918,7 +924,7 @@ struct ModuleEventFieldInfo<TFunc<void(TArgs...)> TModule::*> {
|
|
|
918
924
|
return [module = static_cast<ModuleType *>(module), field](IReactContext const &) noexcept {
|
|
919
925
|
// Default emitter will do nothing
|
|
920
926
|
// This will be replaced with a method that will call the jsi EventEmitter when JS requests the emitter
|
|
921
|
-
module->*field = [](TArgs... args) noexcept {};
|
|
927
|
+
module->*field = [](TArgs... /*args*/) noexcept {};
|
|
922
928
|
};
|
|
923
929
|
} else {
|
|
924
930
|
return [module = static_cast<ModuleType *>(module), field, eventName, eventEmitterName](
|
|
@@ -30,12 +30,3 @@ WINRT_IMPL_GetModuleHandleW(_In_opt_ LPCWSTR lpModuleName);
|
|
|
30
30
|
#endif
|
|
31
31
|
WINRT_IMPL_LINK(GetModuleHandleW, 4);
|
|
32
32
|
#undef WINRT_IMPL_LINK
|
|
33
|
-
|
|
34
|
-
namespace XAML_CPPWINRT_NAMESPACE {
|
|
35
|
-
|
|
36
|
-
// Using Windows::UI::ColorHelper causes the process to load Windows.UI.Xaml.dll which is not needed just to fill a
|
|
37
|
-
// Color struct
|
|
38
|
-
inline winrt::Windows::UI::Color FromArgb(uint8_t a, uint8_t r, uint8_t g, uint8_t b) {
|
|
39
|
-
return winrt::Windows::UI::Color{a, r, g, b};
|
|
40
|
-
}
|
|
41
|
-
} // namespace XAML_CPPWINRT_NAMESPACE
|