react-native-windows 0.73.11 → 0.74.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +12 -7
- package/Chakra/ChakraUtils.cpp +5 -10
- package/Chakra/ChakraUtils.h +2 -2
- package/Common/packages.lock.json +3 -3
- package/Directory.Build.props +5 -5
- package/Folly/Folly.vcxproj +2 -2
- package/Folly/Folly.vcxproj.filters +7 -0
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +22 -1
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +4 -1
- package/Folly/cgmanifest.json +1 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
- package/Libraries/Alert/Alert.windows.js +2 -3
- package/Libraries/Alert/NativeAlertManager.js +4 -26
- package/Libraries/Animated/Animated.js +2 -2
- package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
- package/Libraries/Animated/NativeAnimatedModule.js +4 -68
- package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
- package/Libraries/Animated/animations/Animation.js +6 -22
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
- package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
- package/Libraries/Animated/createAnimatedComponent.js +45 -40
- package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +21 -1
- package/Libraries/AppState/NativeAppState.js +4 -24
- package/Libraries/AppTheme/NativeAppTheme.js +4 -25
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/Blob.js +1 -4
- package/Libraries/Blob/BlobManager.js +6 -8
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/NativeBlobModule.js +4 -50
- package/Libraries/Blob/NativeFileReaderModule.js +4 -13
- package/Libraries/BugReporting/NativeBugReporting.js +4 -12
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +3 -2
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
- package/Libraries/Components/Button.js +103 -107
- package/Libraries/Components/Button.windows.js +199 -206
- package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -8
- package/Libraries/Components/Keyboard/KeyboardExt.js +27 -27
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -7
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/Pressable/Pressable.windows.js +1 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
- package/Libraries/Components/ScrollView/ScrollView.js +12 -38
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
- package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
- package/Libraries/Components/Switch/Switch.js +0 -2
- package/Libraries/Components/Switch/Switch.windows.js +0 -2
- package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
- package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
- package/Libraries/Components/TextInput/TextInput.js +65 -32
- package/Libraries/Components/TextInput/TextInput.windows.js +87 -38
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +773 -9
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/View.js +0 -11
- package/Libraries/Components/View/View.windows.js +19 -18
- package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
- package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
- package/Libraries/Components/View/ViewPropTypes.js +36 -36
- package/Libraries/Components/View/ViewPropTypes.windows.js +36 -36
- package/Libraries/Core/InitializeCore.js +1 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -93
- package/Libraries/Core/ReactNativeVersion.js +12 -6
- package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
- package/Libraries/Core/Timers/NativeTiming.js +3 -16
- package/Libraries/Core/registerCallableModule.js +42 -0
- package/Libraries/Core/setUpPerformance.js +2 -2
- package/Libraries/Core/setUpPerformanceObserver.js +3 -1
- package/Libraries/Debugging/DebuggingOverlay.js +111 -0
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
- package/Libraries/Image/AssetSourceResolver.js +5 -5
- package/Libraries/Image/AssetUtils.js +4 -5
- package/Libraries/Image/Image.android.js +146 -174
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +53 -79
- package/Libraries/Image/Image.windows.js +53 -79
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageInjection.js +76 -18
- package/Libraries/Image/ImageTypes.flow.js +71 -0
- package/Libraries/Image/ImageUtils.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +18 -0
- package/Libraries/Image/NativeImageEditor.js +3 -42
- package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
- package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
- package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
- package/Libraries/Image/NativeImageStoreIOS.js +3 -23
- package/Libraries/Image/resolveAssetSource.js +59 -26
- package/Libraries/Image/resolveAssetSource.windows.js +148 -0
- package/Libraries/Inspector/ElementProperties.js +26 -52
- package/Libraries/Inspector/Inspector.js +122 -186
- package/Libraries/Inspector/InspectorOverlay.js +21 -33
- package/Libraries/Inspector/InspectorPanel.js +3 -17
- package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
- package/Libraries/Interaction/FrameRateLogger.js +8 -18
- package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
- package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
- package/Libraries/Linking/NativeIntentAndroid.js +3 -20
- package/Libraries/Linking/NativeLinkingManager.js +3 -17
- package/Libraries/Lists/FillRateHelper.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -2
- package/Libraries/Lists/FlatList.js +6 -1
- package/Libraries/Lists/FlatList.windows.js +717 -0
- package/Libraries/Lists/SectionList.d.ts +6 -1
- package/Libraries/Lists/ViewabilityHelper.js +1 -1
- package/Libraries/Lists/VirtualizeUtils.js +1 -1
- package/Libraries/Lists/VirtualizedList.js +1 -1
- package/Libraries/Lists/VirtualizedListContext.js +1 -1
- package/Libraries/Lists/VirtualizedSectionList.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/Modal/Modal.js +43 -11
- package/Libraries/Modal/NativeModalManager.js +3 -11
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
- package/Libraries/MutationObserver/MutationObserver.js +1 -1
- package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
- package/Libraries/MutationObserver/MutationRecord.js +12 -10
- package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
- package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
- package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
- package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
- package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
- package/Libraries/Network/FormData.js +3 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
- package/Libraries/Network/NativeNetworkingIOS.js +4 -28
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +4 -2
- package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +3 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +12 -2
- package/Libraries/Pressability/Pressability.windows.js +13 -3
- package/Libraries/Pressability/usePressability.js +7 -0
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
- package/Libraries/ReactNative/AppContainer-dev.js +192 -0
- package/Libraries/ReactNative/AppContainer-prod.js +53 -0
- package/Libraries/ReactNative/AppContainer.js +6 -149
- package/Libraries/ReactNative/AppRegistry.js +3 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
- package/Libraries/ReactNative/NativeI18nManager.js +3 -18
- package/Libraries/ReactNative/NativeUIManager.js +4 -112
- package/Libraries/ReactNative/PaperUIManager.js +8 -7
- package/Libraries/ReactNative/PaperUIManager.windows.js +29 -8
- package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
- package/Libraries/ReactNative/RendererImplementation.js +11 -0
- package/Libraries/ReactNative/UIManager.d.ts +11 -34
- package/Libraries/ReactNative/UIManager.js +2 -23
- package/Libraries/ReactNative/UIManagerProperties.js +0 -2
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
- package/Libraries/ReactNative/renderApplication.js +9 -6
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
- package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
- package/Libraries/Settings/NativeSettingsManager.js +4 -16
- package/Libraries/Share/NativeShareModule.js +3 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
- package/Libraries/StyleSheet/StyleSheet.js +5 -28
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
- package/Libraries/StyleSheet/flattenStyle.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/Text/Text.js +0 -6
- package/Libraries/Text/Text.windows.js +0 -6
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
- package/Libraries/Types/ReactDevToolsTypes.js +58 -0
- package/Libraries/Types/UIManagerJSInterface.js +16 -0
- package/Libraries/Utilities/DebugEnvironment.js +1 -4
- package/Libraries/Utilities/Dimensions.js +8 -16
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
- package/Libraries/Utilities/NativeAppearance.js +3 -26
- package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
- package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
- package/Libraries/Utilities/PixelRatio.d.ts +4 -4
- package/Libraries/Utilities/Platform.android.js +4 -0
- package/Libraries/Utilities/Platform.d.ts +3 -0
- package/Libraries/Utilities/Platform.flow.js +7 -0
- package/Libraries/Utilities/Platform.flow.windows.js +9 -0
- package/Libraries/Utilities/Platform.ios.js +11 -0
- package/Libraries/Utilities/Platform.windows.js +6 -0
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +4 -6
- package/Libraries/Utilities/createPerformanceLogger.js +2 -74
- package/Libraries/Utilities/useMergeRefs.js +5 -9
- package/Libraries/Vibration/NativeVibration.js +3 -14
- package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +1 -0
- package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
- package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
- package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -0
- package/Microsoft.ReactNative/Base/CxxReactIncludes.h +1 -1
- package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
- package/Microsoft.ReactNative/ComponentView.idl +106 -0
- package/Microsoft.ReactNative/Composition.Input.idl +16 -2
- package/Microsoft.ReactNative/CompositionComponentView.idl +117 -0
- package/Microsoft.ReactNative/CompositionContext.idl +1 -1
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +25 -14
- package/Microsoft.ReactNative/DevMenuControl.idl +0 -3
- package/Microsoft.ReactNative/DevMenuControl.xaml +0 -15
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
- package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
- package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +48 -19
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +8 -16
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +39 -0
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +130 -64
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +48 -24
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +18 -14
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +42 -27
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +3 -1
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +123 -28
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +69 -13
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +651 -284
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +7 -7
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +9 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +120 -31
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +12 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +308 -129
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +34 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +61 -54
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +0 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +99 -30
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +4 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +273 -28
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +28 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +7 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +479 -280
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +133 -79
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +61 -41
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +19 -14
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +343 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +53 -186
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +20 -12
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +59 -150
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +27 -76
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +81 -32
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +27 -14
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +707 -64
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +47 -26
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +225 -125
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +34 -21
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +110 -115
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +228 -79
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +43 -22
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +5 -5
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +4 -44
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +550 -0
- package/Microsoft.ReactNative/Fabric/Composition/Theme.h +73 -0
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +48 -26
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +6 -2
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +30 -65
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +16 -25
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +72 -88
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +5 -2
- package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +3 -2
- package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +6 -6
- package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +2 -2
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +12 -7
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +28 -19
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/{Color.cpp → PlatformColorUtils.cpp} +7 -77
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +6 -87
- package/Microsoft.ReactNative/IReactContext.idl +3 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +71 -1
- package/Microsoft.ReactNative/JsiApi.cpp +17 -7
- package/Microsoft.ReactNative/JsiApi.h +2 -2
- package/Microsoft.ReactNative/JsiApi.idl +5 -4
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -22
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +6 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.h +2 -2
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +12 -8
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -3
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +4 -4
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +10 -1
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +71 -38
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +5 -5
- package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
- package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +11 -10
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +8 -6
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -3
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +5 -28
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +8 -5
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +3 -3
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
- package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
- package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
- package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
- package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
- package/Microsoft.ReactNative/Modules/Timing.h +121 -0
- package/Microsoft.ReactNative/QuirkSettings.cpp +32 -0
- package/Microsoft.ReactNative/QuirkSettings.h +9 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +15 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +4 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +8 -0
- package/Microsoft.ReactNative/ReactHost/IReactInstance.h +1 -1
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +556 -234
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +36 -9
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +3 -0
- package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +8 -0
- package/Microsoft.ReactNative/ReactPointerEventArgs.h +4 -0
- package/Microsoft.ReactNative/ReactPointerEventArgs.idl +12 -0
- package/Microsoft.ReactNative/SchedulerSettings.cpp +23 -0
- package/Microsoft.ReactNative/SchedulerSettings.h +9 -1
- package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
- package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
- package/Microsoft.ReactNative/Theme.idl +57 -0
- package/Microsoft.ReactNative/Timer.cpp +63 -0
- package/Microsoft.ReactNative/{CoreAppPage.h → Timer.h} +12 -5
- package/Microsoft.ReactNative/Timer.idl +34 -0
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +4 -0
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +37 -3
- package/Microsoft.ReactNative/Utils/ImageUtils.h +0 -1
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +11 -12
- package/Microsoft.ReactNative/Utils/LocalBundleReader.h +3 -3
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -5
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -3
- package/Microsoft.ReactNative/ViewProps.idl +17 -0
- package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -20
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +157 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +5 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +20 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +4 -0
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -5
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +137 -0
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +0 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -5
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -5
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +11 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -4
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -6
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -11
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +46 -0
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +77 -2
- package/Microsoft.ReactNative/microsoft.reactnative.def +0 -3
- package/Microsoft.ReactNative/packages.lock.json +9 -6
- package/{Shared/Composition → Microsoft.ReactNative.Cxx}/AutoDraw.h +2 -0
- package/{Shared/Composition → Microsoft.ReactNative.Cxx}/CompositionSwitcher.interop.h +4 -10
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -5
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +5 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +19 -10
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +2 -0
- package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
- package/Microsoft.ReactNative.Cxx/JSValueReader.h +19 -0
- package/Microsoft.ReactNative.Cxx/JSValueXaml.h +1 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +6 -4
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +15 -15
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +1 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +6 -3
- package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +0 -1
- package/Mso/future/details/executor.h +1 -1
- package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +8 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +2 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +0 -8
- package/PropertySheets/React.Cpp.props +14 -3
- package/PropertySheets/ReactCommunity.cpp.props +2 -2
- package/PropertySheets/Release.props +0 -1
- package/PropertySheets/WinUI.props +21 -1
- package/PropertySheets/x64.props +3 -0
- package/PropertySheets/x86.props +3 -0
- package/ReactCommon/ReactCommon.vcxproj +13 -8
- package/ReactCommon/ReactCommon.vcxproj.filters +12 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +114 -19
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +114 -52
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +13 -15
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +437 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +19 -24
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +600 -980
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +5 -11
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
- package/Scripts/IntegrationTests.ps1 +26 -15
- package/Scripts/Microsoft.ReactNative.targets +0 -6
- package/Scripts/OfficeReact.Win32.nuspec +1 -2
- package/Scripts/TestServers.ps1 +2 -28
- package/Scripts/Tfs/Start-TestServers.ps1 +1 -21
- package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
- package/Scripts/rnw-dependencies.ps1 +38 -67
- package/Shared/CreateInstance.h +25 -0
- package/Shared/DevServerHelper.h +0 -3
- package/Shared/DevSettings.h +9 -0
- package/Shared/HermesRuntimeHolder.cpp +17 -0
- package/Shared/HermesRuntimeHolder.h +17 -0
- package/Shared/HermesSamplingProfiler.cpp +12 -10
- package/Shared/HermesSamplingProfiler.h +5 -4
- package/Shared/IDevSupportManager.h +4 -2
- package/Shared/InstanceManager.cpp +13 -11
- package/Shared/InstanceManager.h +8 -18
- package/Shared/JSI/ChakraRuntime.cpp +66 -9
- package/Shared/JSI/ChakraRuntime.h +8 -0
- package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
- package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
- package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
- package/Shared/Modules/BlobModule.h +1 -1
- package/Shared/Modules/FileReaderModule.h +1 -1
- package/Shared/Modules/HttpModule.h +1 -1
- package/Shared/Modules/WebSocketTurboModule.h +1 -1
- package/Shared/OInstance.cpp +212 -165
- package/Shared/OInstance.h +19 -0
- package/Shared/Shared.vcxitems +134 -50
- package/Shared/Shared.vcxitems.filters +81 -24
- package/Shared/Utils.cpp +12 -10
- package/Shared/Utils.h +2 -2
- package/Shared/WebSocketJSExecutorFactory.h +1 -0
- package/codegen/NativeBugReportingSpec.g.h +0 -6
- package/codegen/NativeFrameRateLoggerSpec.g.h +0 -2
- package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -23
- package/codegen/NativePerformanceObserverSpec.g.h +6 -0
- package/codegen/NativePlatformConstantsIOSSpec.g.h +2 -0
- package/codegen/NativePlatformConstantsWinSpec.g.h +17 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +8 -6
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +88 -0
- package/codegen/NativeUIManagerSpec.g.h +83 -95
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +10 -7
- package/codegen/react/components/rnwcore/EventEmitters.cpp +40 -52
- package/codegen/react/components/rnwcore/EventEmitters.h +66 -84
- package/codegen/react/components/rnwcore/Props.cpp +60 -95
- package/codegen/react/components/rnwcore/Props.h +198 -239
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +6 -7
- package/codegen/react/components/rnwcore/ShadowNodes.h +38 -29
- package/codegen/react/components/rnwcore/States.cpp +3 -5
- package/codegen/react/components/rnwcore/States.h +29 -16
- package/codegen/rnwcoreJSI-generated.cpp +1442 -1398
- package/codegen/rnwcoreJSI.h +6066 -3593
- package/index.js +66 -99
- package/index.windows.js +60 -102
- package/jest/assetFileTransformer.js +1 -1
- package/jest/local-setup.js +0 -5
- package/jest/mockModal.js +2 -1
- package/jest/mockScrollView.js +1 -2
- package/jest/renderer.js +1 -1
- package/jest/setup.js +6 -3
- package/just-task.js +1 -1
- package/package.json +30 -29
- package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
- package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
- package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
- package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
- package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
- package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
- package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
- package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
- package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
- package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
- package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
- package/src/private/specs/components/SwitchNativeComponent.js +61 -0
- package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
- package/src/private/specs/modules/NativeAlertManager.js +35 -0
- package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
- package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
- package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
- package/src/private/specs/modules/NativeAppState.js +33 -0
- package/src/private/specs/modules/NativeAppTheme.js +33 -0
- package/src/private/specs/modules/NativeAppearance.js +36 -0
- package/src/private/specs/modules/NativeBlobModule.js +59 -0
- package/src/private/specs/modules/NativeBugReporting.js +20 -0
- package/src/private/specs/modules/NativeClipboard.js +21 -0
- package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
- package/src/private/specs/modules/NativeDevMenu.js +23 -0
- package/src/private/specs/modules/NativeDevSettings.js +33 -0
- package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
- package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
- package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
- package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
- package/{Libraries/Alert → src/private/specs/modules}/NativeDialogManagerWindows.js +5 -4
- package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
- package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
- package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
- package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
- package/src/private/specs/modules/NativeI18nManager.js +28 -0
- package/src/private/specs/modules/NativeImageEditor.js +52 -0
- package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
- package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
- package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
- package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
- package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
- package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
- package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
- package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
- package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
- package/src/private/specs/modules/NativeLinkingManager.js +27 -0
- package/src/private/specs/modules/NativeLogBox.js +20 -0
- package/src/private/specs/modules/NativeModalManager.js +21 -0
- package/src/private/specs/modules/NativeMutationObserver.js +58 -0
- package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
- package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
- package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
- package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
- package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
- package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
- package/src/private/specs/modules/NativeRedBox.js +20 -0
- package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
- package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
- package/src/private/specs/modules/NativeSettingsManager.js +25 -0
- package/src/private/specs/modules/NativeShareModule.js +23 -0
- package/src/private/specs/modules/NativeSoundManager.js +22 -0
- package/src/private/specs/modules/NativeSourceCode.js +36 -0
- package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
- package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
- package/src/private/specs/modules/NativeTiming.js +26 -0
- package/src/private/specs/modules/NativeToastAndroid.js +38 -0
- package/src/private/specs/modules/NativeUIManager.js +118 -0
- package/src/private/specs/modules/NativeVibration.js +24 -0
- package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
- package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
- package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
- package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
- package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
- package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
- package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
- package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
- package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
- package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
- package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
- package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
- package/template/cpp-app/src/App.cpp +2 -2
- package/template/cs-app/src/App.xaml.cs +2 -2
- package/templates/cpp-app/jest.config.windows.js +3 -0
- package/templates/cpp-app/metro.config.js +0 -2
- package/templates/cpp-app/template.config.js +24 -9
- package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -1
- package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
- package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +134 -249
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +12 -11
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +6 -3
- package/templates/cpp-app/windows/MyApp/pch.h +12 -9
- package/templates/cpp-app/windows/MyApp/resource.h +0 -1
- package/templates/cpp-app/windows/MyApp.sln +26 -26
- package/templates/cpp-lib/example/metro.config.js +74 -0
- package/templates/cpp-lib/template.config.js +235 -0
- package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
- package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
- package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
- package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
- package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
- package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
- package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
- package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
- package/templates/cpp-lib/windows/MyLib.sln +156 -0
- package/templates/cpp-lib/windows/_gitignore +41 -0
- package/templates/templateUtils.js +137 -0
- package/types/modules/globals.d.ts +1 -0
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +0 -1016
- package/Libraries/Components/Button.flow.js +0 -265
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -14
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -34
- package/Libraries/Components/ScrollView/ScrollView.windows.js +0 -1941
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -45
- package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
- package/Libraries/Image/Image.flow.js +0 -64
- package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
- package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
- package/Libraries/Settings/Settings.windows.js +0 -28
- package/Microsoft.ReactNative/CoreApp.cpp +0 -303
- package/Microsoft.ReactNative/CoreAppPage.cpp +0 -21
- package/Microsoft.ReactNative/CoreAppPage.idl +0 -12
- package/Microsoft.ReactNative/CoreAppPage.xaml +0 -14
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +0 -197
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +0 -84
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/ShadowNodes.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +0 -245
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +0 -134
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +0 -27
- package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -229
- package/Microsoft.ReactNative/Modules/TimingModule.h +0 -88
- package/Microsoft.ReactNative.Cxx/CoreApp.h +0 -60
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +0 -60
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +0 -60
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +0 -63
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +0 -1038
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +0 -503
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -895
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -182
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +0 -543
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +0 -1505
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +0 -67
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -88
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -606
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +0 -344
- package/ReactCommon/Yoga.cpp +0 -961
- /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
- /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
- /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
- /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
- /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
- /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
- /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
#pragma once
|
|
5
5
|
|
|
6
|
+
#include <JSI/ScriptStore.h>
|
|
7
|
+
#include <tuple>
|
|
6
8
|
#include "IReactDispatcher.h"
|
|
7
9
|
#include "IReactInstanceInternal.h"
|
|
8
10
|
#include "MsoReactContext.h"
|
|
@@ -16,7 +18,9 @@
|
|
|
16
18
|
#include <Views/ExpressionAnimationStore.h>
|
|
17
19
|
#endif
|
|
18
20
|
|
|
19
|
-
#
|
|
21
|
+
#ifdef USE_FABRIC
|
|
22
|
+
#include <react/runtime/ReactInstance.h>
|
|
23
|
+
#endif
|
|
20
24
|
|
|
21
25
|
namespace winrt::Microsoft::ReactNative {
|
|
22
26
|
class NativeModulesProvider;
|
|
@@ -95,6 +99,7 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
95
99
|
Mso::Promise<void> &&whenLoaded,
|
|
96
100
|
Mso::VoidFunctor &&updateUI) noexcept;
|
|
97
101
|
void LoadModules(
|
|
102
|
+
const std::shared_ptr<facebook::react::DevSettings> &devSettings,
|
|
98
103
|
const std::shared_ptr<winrt::Microsoft::ReactNative::NativeModulesProvider> &nativeModulesProvider,
|
|
99
104
|
const std::shared_ptr<winrt::Microsoft::ReactNative::TurboModulesProvider> &turboModulesProvider) noexcept;
|
|
100
105
|
void Initialize() noexcept override;
|
|
@@ -105,9 +110,25 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
105
110
|
void InitJSMessageThread() noexcept;
|
|
106
111
|
void InitNativeMessageThread() noexcept;
|
|
107
112
|
void InitUIMessageThread() noexcept;
|
|
113
|
+
void SetupHMRClient() noexcept;
|
|
108
114
|
#ifndef CORE_ABI
|
|
109
115
|
void InitUIManager() noexcept;
|
|
110
116
|
#endif
|
|
117
|
+
|
|
118
|
+
#ifdef USE_FABRIC
|
|
119
|
+
void InitializeBridgeless() noexcept;
|
|
120
|
+
void LoadJSBundlesBridgeless(std::shared_ptr<facebook::react::DevSettings> devSettings) noexcept;
|
|
121
|
+
#endif
|
|
122
|
+
|
|
123
|
+
void InitializeWithBridge() noexcept;
|
|
124
|
+
void InitUIQueue() noexcept;
|
|
125
|
+
void InitDevMenu() noexcept;
|
|
126
|
+
void InitUIDependentCalls() noexcept;
|
|
127
|
+
void FireInstanceCreatedCallback() noexcept;
|
|
128
|
+
|
|
129
|
+
std::shared_ptr<facebook::react::DevSettings> CreateDevSettings() noexcept;
|
|
130
|
+
std::unique_ptr<facebook::jsi::PreparedScriptStore> CreateHermesPreparedScriptStore() noexcept;
|
|
131
|
+
|
|
111
132
|
std::string GetBytecodeFileName() noexcept;
|
|
112
133
|
std::function<void()> GetLiveReloadCallback() noexcept;
|
|
113
134
|
std::function<void(std::string)> GetErrorCallback() noexcept;
|
|
@@ -115,9 +136,13 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
115
136
|
std::shared_ptr<Mso::React::IRedBoxHandler> GetRedBoxHandler() noexcept;
|
|
116
137
|
std::function<void()> GetWaitingForDebuggerCallback() noexcept;
|
|
117
138
|
std::function<void()> GetDebuggerAttachCallback() noexcept;
|
|
139
|
+
bool IsBridgeless() noexcept;
|
|
118
140
|
|
|
119
141
|
void OnError(const Mso::ErrorCode &errorcode) noexcept;
|
|
120
142
|
void OnErrorWithMessage(const std::string &errorMessage) noexcept;
|
|
143
|
+
#ifdef USE_FABRIC
|
|
144
|
+
void OnJSError(facebook::react::MapBuffer errorMap) noexcept;
|
|
145
|
+
#endif
|
|
121
146
|
void OnLiveReload() noexcept;
|
|
122
147
|
void OnWaitingForDebugger() noexcept;
|
|
123
148
|
void OnDebuggerAttach() noexcept;
|
|
@@ -136,8 +161,6 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
136
161
|
folly::dynamic Args;
|
|
137
162
|
};
|
|
138
163
|
|
|
139
|
-
static std::string getApplicationTempFolder();
|
|
140
|
-
|
|
141
164
|
private: // immutable fields
|
|
142
165
|
const Mso::WeakPtr<IReactHost> m_weakReactHost;
|
|
143
166
|
const ReactOptions m_options;
|
|
@@ -162,8 +185,8 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
162
185
|
private: // fields controlled by mutex
|
|
163
186
|
mutable std::mutex m_mutex;
|
|
164
187
|
|
|
188
|
+
// !Bridgeless
|
|
165
189
|
const Mso::ActiveReadableField<Mso::DispatchQueue> m_jsDispatchQueue{Queue(), m_mutex};
|
|
166
|
-
|
|
167
190
|
const Mso::ActiveReadableField<std::shared_ptr<facebook::react::MessageQueueThread>> m_jsMessageThread{
|
|
168
191
|
Queue(),
|
|
169
192
|
m_mutex};
|
|
@@ -173,19 +196,23 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
|
|
|
173
196
|
const Mso::ActiveReadableField<std::shared_ptr<facebook::react::MessageQueueThread>> m_uiMessageThread{
|
|
174
197
|
Queue(),
|
|
175
198
|
m_mutex};
|
|
176
|
-
|
|
177
199
|
const Mso::ActiveReadableField<std::shared_ptr<facebook::react::InstanceWrapper>> m_instanceWrapper{Queue(), m_mutex};
|
|
178
200
|
const Mso::ActiveReadableField<std::shared_ptr<facebook::react::Instance>> m_instance{Queue(), m_mutex};
|
|
201
|
+
std::deque<JSCallEntry> m_jsCallQueue;
|
|
202
|
+
winrt::Microsoft::ReactNative::JsiRuntime m_jsiRuntime{nullptr};
|
|
203
|
+
std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> m_jsiRuntimeHolder;
|
|
204
|
+
|
|
205
|
+
#ifdef USE_FABRIC
|
|
206
|
+
// Bridgeless
|
|
207
|
+
std::unique_ptr<facebook::react::ReactInstance> m_bridgelessReactInstance;
|
|
208
|
+
#endif
|
|
209
|
+
|
|
179
210
|
std::atomic<ReactInstanceState> m_state{ReactInstanceState::Loading};
|
|
180
211
|
|
|
181
212
|
std::shared_ptr<facebook::react::MessageQueueThread> m_batchingUIThread;
|
|
182
213
|
|
|
183
214
|
std::shared_ptr<IRedBoxHandler> m_redboxHandler;
|
|
184
215
|
Mso::CntPtr<Mso::React::IDispatchQueue2> m_uiQueue;
|
|
185
|
-
std::deque<JSCallEntry> m_jsCallQueue;
|
|
186
|
-
|
|
187
|
-
std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> m_jsiRuntimeHolder;
|
|
188
|
-
winrt::Microsoft::ReactNative::JsiRuntime m_jsiRuntime{nullptr};
|
|
189
216
|
|
|
190
217
|
static std::mutex s_registryMutex; // protects access to s_instanceRegistry
|
|
191
218
|
static std::vector<ReactInstanceWin *> s_instanceRegistry;
|
|
@@ -119,6 +119,9 @@ namespace Microsoft.ReactNative
|
|
|
119
119
|
"Controls whether the instance JavaScript runs in a remote environment such as within a browser.\n"
|
|
120
120
|
"By default, this is using a browser navigated to http://localhost:8081/debugger-ui served by Metro/Haul.\n"
|
|
121
121
|
"Debugging will start as soon as the react native instance is loaded.")
|
|
122
|
+
[deprecated(
|
|
123
|
+
"Debugging should be done using DirectDebugging rather than WebDebugger. Web debugging changes the app behavior "
|
|
124
|
+
"and will be removed in a future version.", deprecate, 1)]
|
|
122
125
|
Boolean UseWebDebugger { get; set; };
|
|
123
126
|
|
|
124
127
|
DOC_STRING(
|
|
@@ -39,6 +39,14 @@ void ReactPointerEventArgs::Target(winrt::IInspectable const &target) noexcept {
|
|
|
39
39
|
m_target = target;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
bool ReactPointerEventArgs::AllowUncaptured() const noexcept {
|
|
43
|
+
return m_allowUncaptured;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
void ReactPointerEventArgs::AllowUncaptured(bool allowUncaptured) noexcept {
|
|
47
|
+
m_allowUncaptured = allowUncaptured;
|
|
48
|
+
}
|
|
49
|
+
|
|
42
50
|
ReactPointerEventArgs::ReactPointerEventArgs(
|
|
43
51
|
PointerEventKind kind,
|
|
44
52
|
xaml::Input::PointerRoutedEventArgs const &args) noexcept
|
|
@@ -16,6 +16,9 @@ struct ReactPointerEventArgs : ReactPointerEventArgsT<ReactPointerEventArgs> {
|
|
|
16
16
|
winrt::IInspectable Target() const noexcept;
|
|
17
17
|
void Target(winrt::IInspectable const &target) noexcept;
|
|
18
18
|
|
|
19
|
+
bool AllowUncaptured() const noexcept;
|
|
20
|
+
void AllowUncaptured(bool allowUncaptured) noexcept;
|
|
21
|
+
|
|
19
22
|
// Internal use
|
|
20
23
|
ReactPointerEventArgs(PointerEventKind kind, xaml::Input::PointerRoutedEventArgs const &args) noexcept;
|
|
21
24
|
|
|
@@ -23,6 +26,7 @@ struct ReactPointerEventArgs : ReactPointerEventArgsT<ReactPointerEventArgs> {
|
|
|
23
26
|
PointerEventKind m_kind;
|
|
24
27
|
xaml::Input::PointerRoutedEventArgs const &m_args;
|
|
25
28
|
winrt::IInspectable m_target{nullptr};
|
|
29
|
+
bool m_allowUncaptured{false};
|
|
26
30
|
};
|
|
27
31
|
|
|
28
32
|
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -63,5 +63,17 @@ namespace Microsoft.ReactNative {
|
|
|
63
63
|
get;
|
|
64
64
|
set;
|
|
65
65
|
};
|
|
66
|
+
DOC_STRING(
|
|
67
|
+
"Gets or sets a flag that allows the ReactRootView to handle pointer "
|
|
68
|
+
"events even when it does not capture the pointer. This is particularly "
|
|
69
|
+
"useful for view managers that seek to capture the pointer to handle "
|
|
70
|
+
"move events for a gesture (e.g., dragging), but conditionally may "
|
|
71
|
+
"allow the ReactRootView to emit events (e.g., if the "
|
|
72
|
+
"@PointerEventKind.End event is received before a drag threshold is hit."
|
|
73
|
+
)
|
|
74
|
+
Boolean AllowUncaptured {
|
|
75
|
+
get;
|
|
76
|
+
set;
|
|
77
|
+
};
|
|
66
78
|
}
|
|
67
79
|
} // namespace Microsoft.ReactNative
|
|
@@ -48,4 +48,27 @@ facebook::react::RuntimeExecutor &GetRuntimeExecutor(
|
|
|
48
48
|
return properties.Get(RuntimeExecutorProperty()).Value();
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
winrt::Microsoft::ReactNative::ReactPropertyId<
|
|
52
|
+
winrt::Microsoft::ReactNative::ReactNonAbiValue<std::shared_ptr<facebook::react::RuntimeScheduler>>>
|
|
53
|
+
RuntimeSchedulerProperty() noexcept {
|
|
54
|
+
winrt::Microsoft::ReactNative::ReactPropertyId<
|
|
55
|
+
winrt::Microsoft::ReactNative::ReactNonAbiValue<std::shared_ptr<facebook::react::RuntimeScheduler>>>
|
|
56
|
+
propId{L"ReactNative", L"RuntimeScheduler"};
|
|
57
|
+
return propId;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
void SetRuntimeScheduler(
|
|
61
|
+
winrt::Microsoft::ReactNative::ReactPropertyBag properties,
|
|
62
|
+
const std::shared_ptr<facebook::react::RuntimeScheduler> &runtimeScheduler) noexcept {
|
|
63
|
+
properties.Set(RuntimeSchedulerProperty(), runtimeScheduler);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> RuntimeSchedulerFromProperties(
|
|
67
|
+
winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept {
|
|
68
|
+
auto runtimeScheduler = properties.Get(RuntimeSchedulerProperty());
|
|
69
|
+
if (!runtimeScheduler)
|
|
70
|
+
return nullptr;
|
|
71
|
+
return runtimeScheduler.Value();
|
|
72
|
+
}
|
|
73
|
+
|
|
51
74
|
} // namespace Microsoft::ReactNative::SchedulerSettings
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
namespace facebook::react {
|
|
10
10
|
class MessageQueueThread;
|
|
11
|
-
|
|
11
|
+
class RuntimeScheduler;
|
|
12
|
+
} // namespace facebook::react
|
|
12
13
|
|
|
13
14
|
namespace Microsoft::ReactNative::SchedulerSettings {
|
|
14
15
|
|
|
@@ -24,4 +25,11 @@ void SetRuntimeExecutor(
|
|
|
24
25
|
facebook::react::RuntimeExecutor &GetRuntimeExecutor(
|
|
25
26
|
winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
|
|
26
27
|
|
|
28
|
+
void SetRuntimeScheduler(
|
|
29
|
+
winrt::Microsoft::ReactNative::ReactPropertyBag properties,
|
|
30
|
+
const std::shared_ptr<facebook::react::RuntimeScheduler> &runtimeScheduler) noexcept;
|
|
31
|
+
|
|
32
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> RuntimeSchedulerFromProperties(
|
|
33
|
+
winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
|
|
34
|
+
|
|
27
35
|
} // namespace Microsoft::ReactNative::SchedulerSettings
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "SynchronousEventBeat.h"
|
|
5
|
+
|
|
6
|
+
namespace Microsoft::ReactNative {
|
|
7
|
+
|
|
8
|
+
SynchronousEventBeat::SynchronousEventBeat(
|
|
9
|
+
facebook::react::EventBeat::SharedOwnerBox const &ownerBox,
|
|
10
|
+
const winrt::Microsoft::ReactNative::ReactContext &context,
|
|
11
|
+
facebook::react::RuntimeExecutor runtimeExecutor,
|
|
12
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> runtimeScheduler)
|
|
13
|
+
: EventBeat(ownerBox),
|
|
14
|
+
m_context(context),
|
|
15
|
+
m_runtimeExecutor(runtimeExecutor),
|
|
16
|
+
m_runtimeScheduler(std::move(runtimeScheduler)) {}
|
|
17
|
+
|
|
18
|
+
void SynchronousEventBeat::induce() const {
|
|
19
|
+
if (!isRequested_) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (m_context.JSDispatcher().HasThreadAccess()) {
|
|
24
|
+
lockExecutorAndBeat();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
void SynchronousEventBeat::lockExecutorAndBeat() const {
|
|
29
|
+
if (!this->isRequested_) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (m_runtimeScheduler) {
|
|
34
|
+
m_runtimeScheduler->executeNowOnTheSameThread([this](facebook::jsi::Runtime &runtime) { beat(runtime); });
|
|
35
|
+
} else {
|
|
36
|
+
facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(
|
|
37
|
+
m_runtimeExecutor, [this](facebook::jsi::Runtime &runtime) { beat(runtime); });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include <NativeModules.h>
|
|
5
|
+
#include <ReactCommon/RuntimeExecutor.h>
|
|
6
|
+
#include <react/renderer/core/EventBeat.h>
|
|
7
|
+
#include <react/renderer/runtimescheduler/RuntimeScheduler.h>
|
|
8
|
+
|
|
9
|
+
namespace Microsoft::ReactNative {
|
|
10
|
+
|
|
11
|
+
class SynchronousEventBeat final : public facebook::react::EventBeat {
|
|
12
|
+
public:
|
|
13
|
+
SynchronousEventBeat(
|
|
14
|
+
facebook::react::EventBeat::SharedOwnerBox const &ownerBox,
|
|
15
|
+
const winrt::Microsoft::ReactNative::ReactContext &context,
|
|
16
|
+
facebook::react::RuntimeExecutor runtimeExecutor,
|
|
17
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> runtimeScheduler);
|
|
18
|
+
|
|
19
|
+
void induce() const override;
|
|
20
|
+
|
|
21
|
+
void lockExecutorAndBeat() const;
|
|
22
|
+
|
|
23
|
+
private:
|
|
24
|
+
winrt::Microsoft::ReactNative::ReactContext m_context;
|
|
25
|
+
facebook::react::RuntimeExecutor m_runtimeExecutor;
|
|
26
|
+
std::shared_ptr<facebook::react::RuntimeScheduler> m_runtimeScheduler;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "DocString.h"
|
|
5
|
+
import "CompositionSwitcher.idl";
|
|
6
|
+
import "IReactContext.idl";
|
|
7
|
+
import "IReactPropertyBag.idl";
|
|
8
|
+
import "ReactInstanceSettings.idl";
|
|
9
|
+
|
|
10
|
+
namespace Microsoft.ReactNative.Composition
|
|
11
|
+
{
|
|
12
|
+
[experimental]
|
|
13
|
+
[webhosthidden]
|
|
14
|
+
enum ResourceType {
|
|
15
|
+
DOC_STRING("Resource type for a @Windows.UI.Color")
|
|
16
|
+
Color
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
[webhosthidden]
|
|
20
|
+
[experimental]
|
|
21
|
+
runtimeclass CustomResourceResult {
|
|
22
|
+
Object Resource;
|
|
23
|
+
DOC_STRING("The value of this resource should resolve to the value of another ResourceId")
|
|
24
|
+
String AlternateResourceId;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
[webhosthidden]
|
|
28
|
+
[experimental]
|
|
29
|
+
DOC_STRING("Applications can implement this interface to provide custom values for native platform colors.")
|
|
30
|
+
interface ICustomResourceLoader {
|
|
31
|
+
DOC_STRING("Called when a theme is queried for a specific resource. "
|
|
32
|
+
"resourceId will be the name of the platform color. "
|
|
33
|
+
"Implementations should return an empty result if the resource is not being overridden.")
|
|
34
|
+
void GetResource(String resourceId, ResourceType resourceType, CustomResourceResult result);
|
|
35
|
+
|
|
36
|
+
DOC_STRING("Implementations should raise this event if the platform colors will return new values")
|
|
37
|
+
event Windows.Foundation.EventHandler<Object> ResourcesChanged;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
[webhosthidden]
|
|
41
|
+
[experimental]
|
|
42
|
+
runtimeclass Theme {
|
|
43
|
+
Theme(Microsoft.ReactNative.IReactContext reactContext, ICustomResourceLoader resourceLoader);
|
|
44
|
+
|
|
45
|
+
Microsoft.ReactNative.Composition.IBrush PlatformBrush(String platformColor);
|
|
46
|
+
Boolean TryGetPlatformColor(String platformColor, out Windows.UI.Color color);
|
|
47
|
+
DOC_STRING("An empty theme is used when the final theme is not yet known. It will generally return transparent colors.")
|
|
48
|
+
Boolean IsEmpty { get; };
|
|
49
|
+
|
|
50
|
+
event Windows.Foundation.EventHandler<Object> ThemeChanged;
|
|
51
|
+
|
|
52
|
+
static Theme GetDefaultTheme(Microsoft.ReactNative.IReactContext context);
|
|
53
|
+
static void SetDefaultTheme(Microsoft.ReactNative.ReactInstanceSettings settings, Theme theme);
|
|
54
|
+
static Microsoft.ReactNative.IReactPropertyName ThemeChangedEventName { get; };
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
} // namespace Microsoft.ReactNative
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "pch.h"
|
|
5
|
+
#include "Timer.h"
|
|
6
|
+
#include "Timer.g.cpp"
|
|
7
|
+
|
|
8
|
+
#include <CppWinRTIncludes.h>
|
|
9
|
+
#include "ReactCoreInjection.h"
|
|
10
|
+
|
|
11
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
12
|
+
|
|
13
|
+
// Implementation of ITimer based on Windows' DispatcherQueue
|
|
14
|
+
struct ReactTimer : winrt::implements<ReactTimer, ITimer> {
|
|
15
|
+
ReactTimer(const IReactPropertyBag &properties) {
|
|
16
|
+
const auto queue = winrt::dispatching::DispatcherQueue::GetForCurrentThread();
|
|
17
|
+
m_dispatcherQueueTimer = queue.CreateTimer();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
winrt::Windows::Foundation::TimeSpan Interval() noexcept {
|
|
21
|
+
return m_dispatcherQueueTimer.Interval();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
void Interval(winrt::Windows::Foundation::TimeSpan value) noexcept {
|
|
25
|
+
m_dispatcherQueueTimer.Interval(value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
void Start() noexcept {
|
|
29
|
+
return m_dispatcherQueueTimer.Start();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
void Stop() noexcept {
|
|
33
|
+
return m_dispatcherQueueTimer.Stop();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
winrt::event_token Tick(const winrt::Windows::Foundation::EventHandler<IInspectable> &handler) {
|
|
37
|
+
return m_dispatcherQueueTimer.Tick([handler](auto sender, auto args) { handler(sender, args); });
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
void Tick(winrt::event_token const &token) {
|
|
41
|
+
m_dispatcherQueueTimer.Tick(token);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private:
|
|
45
|
+
winrt::dispatching::DispatcherQueueTimer m_dispatcherQueueTimer{nullptr};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
Timer::Timer() noexcept {}
|
|
49
|
+
|
|
50
|
+
ITimer Timer::Create(const IReactPropertyBag &properties) {
|
|
51
|
+
auto dispatcher = properties.Get(ReactDispatcherHelper::UIDispatcherProperty()).try_as<IReactDispatcher>();
|
|
52
|
+
if (!dispatcher.HasThreadAccess()) {
|
|
53
|
+
throw winrt::hresult_wrong_thread();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (auto customTimerFactory = implementation::ReactCoreInjection::GetTimerFactory(properties)) {
|
|
57
|
+
return customTimerFactory();
|
|
58
|
+
} else {
|
|
59
|
+
return winrt::make<ReactTimer>(properties);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
+
|
|
3
4
|
#pragma once
|
|
4
|
-
|
|
5
|
-
#include
|
|
5
|
+
|
|
6
|
+
#include "Timer.g.h"
|
|
7
|
+
|
|
8
|
+
#include "winrt/Microsoft.ReactNative.h"
|
|
6
9
|
|
|
7
10
|
namespace winrt::Microsoft::ReactNative::implementation {
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
|
|
12
|
+
struct Timer : TimerT<Timer> {
|
|
13
|
+
Timer() noexcept;
|
|
14
|
+
|
|
15
|
+
static ITimer Create(const IReactPropertyBag &properties);
|
|
10
16
|
};
|
|
17
|
+
|
|
11
18
|
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
12
19
|
|
|
13
20
|
namespace winrt::Microsoft::ReactNative::factory_implementation {
|
|
14
|
-
struct
|
|
21
|
+
struct Timer : TimerT<Timer, implementation::Timer> {};
|
|
15
22
|
} // namespace winrt::Microsoft::ReactNative::factory_implementation
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "DocString.h"
|
|
5
|
+
import "IJSValueReader.idl";
|
|
6
|
+
import "IJSValueWriter.idl";
|
|
7
|
+
import "Theme.idl";
|
|
8
|
+
|
|
9
|
+
namespace Microsoft.ReactNative {
|
|
10
|
+
|
|
11
|
+
[webhosthidden]
|
|
12
|
+
interface ITimer
|
|
13
|
+
{
|
|
14
|
+
Windows.Foundation.TimeSpan Interval;
|
|
15
|
+
void Start();
|
|
16
|
+
void Stop();
|
|
17
|
+
|
|
18
|
+
event Windows.Foundation.EventHandler<Object> Tick;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
[default_interface]
|
|
22
|
+
[webhosthidden]
|
|
23
|
+
DOC_STRING(
|
|
24
|
+
"Used to create timers.")
|
|
25
|
+
runtimeclass Timer
|
|
26
|
+
{
|
|
27
|
+
DOC_STRING(
|
|
28
|
+
"Creates a UI timer. Must be called on the UI thread. Using this rather than "
|
|
29
|
+
"System/Windows.DispatcherQueue.CreateTimer works when applications have provided "
|
|
30
|
+
"custom Timer implementations using @ReactCoreInjection.SetTimerFactory")
|
|
31
|
+
static ITimer Create(IReactPropertyBag properties);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
} // namespace Microsoft.ReactNative
|
|
@@ -436,6 +436,10 @@ std::vector<std::string> TurboModulesProvider::getEagerInitModuleNames() noexcep
|
|
|
436
436
|
if (it != m_moduleProviders.end()) {
|
|
437
437
|
eagerModules.push_back("UIManager");
|
|
438
438
|
}
|
|
439
|
+
it = m_moduleProviders.find("FabricUIManagerBinding");
|
|
440
|
+
if (it != m_moduleProviders.end()) {
|
|
441
|
+
eagerModules.push_back("FabricUIManagerBinding");
|
|
442
|
+
}
|
|
439
443
|
return eagerModules;
|
|
440
444
|
}
|
|
441
445
|
|
|
@@ -23,13 +23,47 @@ winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageStreamAsync(ReactImag
|
|
|
23
23
|
try {
|
|
24
24
|
co_await winrt::resume_background();
|
|
25
25
|
|
|
26
|
-
auto httpMethod{
|
|
27
|
-
source.method.empty() ? winrt::HttpMethod::Get() : winrt::HttpMethod{winrt::to_hstring(source.method)}};
|
|
28
|
-
|
|
29
26
|
winrt::Uri uri = UriTryCreate(winrt::to_hstring(source.uri));
|
|
30
27
|
if (!uri) {
|
|
31
28
|
co_return nullptr;
|
|
32
29
|
}
|
|
30
|
+
|
|
31
|
+
bool isFile = (uri.SchemeName() == L"file");
|
|
32
|
+
bool isAppx = (uri.SchemeName() == L"ms-appx");
|
|
33
|
+
|
|
34
|
+
if (isFile || isAppx) {
|
|
35
|
+
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::StorageFile> getFileSync{nullptr};
|
|
36
|
+
|
|
37
|
+
if (isFile) {
|
|
38
|
+
getFileSync = winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(uri.AbsoluteCanonicalUri());
|
|
39
|
+
} else {
|
|
40
|
+
getFileSync = winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
co_await lessthrow_await_adapter<
|
|
44
|
+
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::StorageFile>>{getFileSync};
|
|
45
|
+
|
|
46
|
+
if (FAILED(getFileSync.ErrorCode())) {
|
|
47
|
+
co_return nullptr;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
winrt::Windows::Storage::StorageFile file{getFileSync.GetResults()};
|
|
51
|
+
|
|
52
|
+
auto openReadAsync = file.OpenReadAsync();
|
|
53
|
+
co_await lessthrow_await_adapter<winrt::Windows::Foundation::IAsyncOperation<
|
|
54
|
+
winrt::Windows::Storage::Streams::IRandomAccessStreamWithContentType>>{openReadAsync};
|
|
55
|
+
|
|
56
|
+
if (FAILED(openReadAsync.ErrorCode())) {
|
|
57
|
+
co_return nullptr;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
winrt::Windows::Storage::Streams::IRandomAccessStreamWithContentType stream{openReadAsync.GetResults()};
|
|
61
|
+
co_return stream;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
auto httpMethod{
|
|
65
|
+
source.method.empty() ? winrt::HttpMethod::Get() : winrt::HttpMethod{winrt::to_hstring(source.method)}};
|
|
66
|
+
|
|
33
67
|
winrt::HttpRequestMessage request{httpMethod, uri};
|
|
34
68
|
|
|
35
69
|
if (!source.headers.empty()) {
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
namespace Microsoft::ReactNative {
|
|
17
17
|
|
|
18
|
-
std::string GetBundleFromEmbeddedResource(winrt::
|
|
19
|
-
winrt::Windows::Foundation::Uri uri(str);
|
|
18
|
+
std::string GetBundleFromEmbeddedResource(const winrt::Windows::Foundation::Uri &uri) {
|
|
20
19
|
auto moduleName = uri.Host();
|
|
21
20
|
auto path = uri.Path();
|
|
22
21
|
// skip past the leading / slash
|
|
@@ -54,21 +53,21 @@ std::string GetBundleFromEmbeddedResource(winrt::hstring str) {
|
|
|
54
53
|
return std::string(start, start + size);
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::
|
|
58
|
-
winrt::hstring str(Microsoft::Common::Unicode::Utf8ToUtf16(bundleUri));
|
|
59
|
-
|
|
56
|
+
std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::wstring bundleUri) {
|
|
60
57
|
co_await winrt::resume_background();
|
|
61
58
|
|
|
62
59
|
winrt::Windows::Storage::StorageFile file{nullptr};
|
|
63
60
|
|
|
64
61
|
// Supports "ms-appx://" or "ms-appdata://"
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
// TODO: Replace call to private string function with C++ 20 `starts_with`
|
|
63
|
+
if (bundleUri._Starts_with(L"ms-app")) {
|
|
64
|
+
winrt::Windows::Foundation::Uri uri(bundleUri);
|
|
67
65
|
file = co_await winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
|
|
68
|
-
} else if (bundleUri._Starts_with("resource://")) {
|
|
69
|
-
|
|
66
|
+
} else if (bundleUri._Starts_with(L"resource://")) {
|
|
67
|
+
winrt::Windows::Foundation::Uri uri(bundleUri);
|
|
68
|
+
co_return GetBundleFromEmbeddedResource(uri);
|
|
70
69
|
} else {
|
|
71
|
-
file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(
|
|
70
|
+
file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(bundleUri);
|
|
72
71
|
}
|
|
73
72
|
|
|
74
73
|
// Read the buffer manually to avoid a Utf8 -> Utf16 -> Utf8 encoding
|
|
@@ -90,11 +89,11 @@ std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::string &b
|
|
|
90
89
|
co_return script;
|
|
91
90
|
}
|
|
92
91
|
|
|
93
|
-
std::string LocalBundleReader::LoadBundle(const std::
|
|
92
|
+
std::string LocalBundleReader::LoadBundle(const std::wstring &bundlePath) {
|
|
94
93
|
return LoadBundleAsync(bundlePath).get();
|
|
95
94
|
}
|
|
96
95
|
|
|
97
|
-
StorageFileBigString::StorageFileBigString(const std::
|
|
96
|
+
StorageFileBigString::StorageFileBigString(const std::wstring &path) {
|
|
98
97
|
m_futureBuffer = LocalBundleReader::LoadBundleAsync(path);
|
|
99
98
|
}
|
|
100
99
|
|
|
@@ -10,13 +10,13 @@ namespace Microsoft::ReactNative {
|
|
|
10
10
|
|
|
11
11
|
class LocalBundleReader {
|
|
12
12
|
public:
|
|
13
|
-
static std::future<std::string> LoadBundleAsync(const std::
|
|
14
|
-
static std::string LoadBundle(const std::
|
|
13
|
+
static std::future<std::string> LoadBundleAsync(const std::wstring bundlePath);
|
|
14
|
+
static std::string LoadBundle(const std::wstring &bundlePath);
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
class StorageFileBigString : public facebook::react::JSBigString {
|
|
18
18
|
public:
|
|
19
|
-
StorageFileBigString(const std::
|
|
19
|
+
StorageFileBigString(const std::wstring &path);
|
|
20
20
|
bool isAscii() const override;
|
|
21
21
|
const char *c_str() const override;
|
|
22
22
|
size_t size() const override;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "pch.h"
|
|
5
|
+
#include <Utils/ThemeUtils.h>
|
|
6
|
+
|
|
7
|
+
#include <winuser.h>
|
|
8
|
+
|
|
9
|
+
namespace Microsoft::ReactNative {
|
|
10
|
+
|
|
11
|
+
bool IsColorLight(const winrt::Windows::UI::Color &clr) noexcept {
|
|
12
|
+
return (((5 * clr.G) + (2 * clr.R) + clr.B) > (8 * 128));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
bool IsInHighContrastWin32() noexcept {
|
|
16
|
+
BOOL fResult;
|
|
17
|
+
HIGHCONTRAST info;
|
|
18
|
+
|
|
19
|
+
fResult = SystemParametersInfo(
|
|
20
|
+
SPI_GETHIGHCONTRAST, // Get contrast information
|
|
21
|
+
0, // Not used
|
|
22
|
+
&info, // Holds contrast information
|
|
23
|
+
0); // Not used
|
|
24
|
+
|
|
25
|
+
// Double it.
|
|
26
|
+
if (fResult) {
|
|
27
|
+
return !!(info.dwFlags & HCF_HIGHCONTRASTON);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
} // namespace Microsoft::ReactNative
|