react-native-windows 0.72.13 → 0.73.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +16 -5
- package/Chakra/ChakraHelpers.cpp +1 -1
- package/Chakra/ChakraUtils.cpp +1 -1
- package/Chakra/ChakraValue.h +1 -1
- package/Common/packages.lock.json +13 -0
- package/Directory.Build.props +6 -2
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
- package/Folly/cgmanifest.json +1 -1
- package/Folly/packages.lock.json +23 -0
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
- package/Libraries/Animated/NativeAnimatedModule.js +6 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
- package/Libraries/Animated/animations/Animation.js +57 -3
- package/Libraries/Animated/animations/DecayAnimation.js +9 -0
- package/Libraries/Animated/animations/SpringAnimation.js +8 -0
- package/Libraries/Animated/animations/TimingAnimation.js +8 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
- package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +9 -10
- package/Libraries/AppState/AppState.d.ts +1 -1
- package/Libraries/AppState/NativeAppState.js +8 -4
- package/Libraries/AppTheme/AppTheme.js +5 -5
- package/Libraries/BatchedBridge/MessageQueue.js +45 -36
- package/Libraries/Blob/Blob.js +6 -2
- package/Libraries/Blob/BlobManager.js +9 -10
- package/Libraries/Blob/BlobRegistry.js +14 -9
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -2
- package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
- package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Pressable/Pressable.js +3 -2
- package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
- package/Libraries/Components/Switch/Switch.js +1 -0
- package/Libraries/Components/Switch/Switch.windows.js +259 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
- package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
- package/Libraries/Components/TextInput/TextInput.js +62 -10
- package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
- package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +46 -32
- package/Libraries/Components/View/View.windows.js +23 -7
- package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +1 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
- package/Libraries/Components/View/ViewPropTypes.js +18 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
- package/Libraries/Core/ExceptionsManager.js +16 -7
- package/Libraries/Core/ExtendedError.js +12 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/Core/setUpMutationObserver.js +16 -0
- package/Libraries/Core/setUpPerformance.js +6 -13
- package/Libraries/Core/setUpPerformanceObserver.js +16 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
- package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
- package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
- package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
- package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
- package/Libraries/Image/Image.android.js +8 -2
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +4 -1
- package/Libraries/Image/Image.windows.js +6 -3
- package/Libraries/Image/ImageBackground.js +3 -0
- package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
- package/Libraries/Inspector/NetworkOverlay.js +2 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
- package/Libraries/Interaction/PanResponder.js +1 -4
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -1
- package/Libraries/Lists/FlatList.js +15 -5
- package/Libraries/Lists/SectionList.js +4 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
- package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +82 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
- package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
- package/Libraries/Network/RCTNetworking.android.js +2 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
- package/Libraries/Pressability/Pressability.js +28 -3
- package/Libraries/Pressability/Pressability.windows.js +30 -5
- package/Libraries/ReactNative/AppContainer.js +2 -3
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
- package/Libraries/ReactNative/AppRegistry.js +66 -53
- package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
- package/Libraries/ReactNative/FabricUIManager.js +143 -34
- package/Libraries/ReactNative/I18nManager.js +5 -11
- package/Libraries/ReactNative/NativeI18nManager.js +7 -5
- package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
- package/Libraries/ReactNative/UIManager.js +8 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
- package/Libraries/Renderer/shims/ReactFabric.js +5 -6
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
- package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
- package/Libraries/Share/Share.d.ts +3 -9
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
- package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
- package/Libraries/StyleSheet/flattenStyle.js +4 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
- package/Libraries/StyleSheet/processColor.js +1 -2
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
- package/Libraries/Text/Text.d.ts +5 -5
- package/Libraries/Text/Text.js +17 -10
- package/Libraries/Text/Text.windows.js +53 -20
- package/Libraries/Text/TextProps.windows.js +275 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CoreEventTypes.d.ts +5 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
- package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
- package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/Platform.android.js +12 -8
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +84 -0
- package/Libraries/Utilities/Platform.flow.windows.js +111 -0
- package/Libraries/Utilities/Platform.ios.js +12 -8
- package/Libraries/Utilities/Platform.windows.js +12 -8
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +63 -32
- package/Libraries/Utilities/useColorScheme.js +7 -8
- package/Libraries/WebPerformance/MemoryInfo.js +1 -1
- package/Libraries/WebPerformance/NativePerformance.js +3 -8
- package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
- package/Libraries/WebPerformance/Performance.js +42 -15
- package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
- package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
- package/Libraries/__tests__/ViewWindows-test.js +3 -3
- package/Libraries/platform-types.d.ts +6 -2
- package/Libraries/promiseRejectionTrackingOptions.js +1 -3
- package/Libraries/vendor/emitter/EventEmitter.js +20 -18
- package/Microsoft.ReactNative/Composition.Input.idl +103 -0
- package/Microsoft.ReactNative/CompositionContext.idl +31 -8
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
- package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
- package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
- package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
- package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
- package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
- package/Microsoft.ReactNative/IReactContext.cpp +1 -1
- package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
- package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
- package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
- package/Microsoft.ReactNative/ReactApplication.h +4 -4
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
- package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
- package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/React.h +3 -6
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
- package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
- package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
- package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
- package/Microsoft.ReactNative/ReactRootView.h +2 -2
- package/Microsoft.ReactNative/ReactSupport.h +1 -1
- package/Microsoft.ReactNative/RedBox.cpp +1 -1
- package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
- package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
- package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
- package/Microsoft.ReactNative/XamlHelper.h +1 -1
- package/Microsoft.ReactNative/packages.lock.json +128 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
- package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
- package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
- package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
- package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
- package/Mso/compilerAdapters/compilerFeatures.h +1 -1
- package/Mso/compilerAdapters/functionDecorations.h +6 -6
- package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
- package/Mso/dispatchQueue/dispatchQueue.h +3 -3
- package/Mso/motifCpp/motifCppTest.h +1 -1
- package/Mso/motifCpp/testCheck.h +1 -1
- package/Mso/oacr/oacr.h +1 -1
- package/Mso/smartPtr/smartPointerBase.h +1 -1
- package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
- package/Mso/src/dispatchQueue/queueService.cpp +1 -1
- package/Mso/src/dispatchQueue/taskQueue.h +1 -1
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
- package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
- package/Mso/src/future/futureImpl.cpp +5 -5
- package/Mso/src/future/futureImpl.h +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/HybridCRT.props +34 -0
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/React.Cpp.props +0 -1
- package/PropertySheets/Warnings.props +1 -1
- package/PropertySheets/WinUI.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +15 -9
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
- package/ReactCommon/Yoga.cpp +497 -3895
- package/ReactCommon/packages.lock.json +30 -0
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/rnw-dependencies.ps1 +79 -26
- package/Shared/BaseScriptStoreImpl.cpp +42 -13
- package/Shared/BaseScriptStoreImpl.h +1 -1
- package/Shared/Composition/AutoDraw.h +36 -0
- package/Shared/CxxMessageQueue.cpp +1 -1
- package/Shared/DevSettings.h +3 -0
- package/Shared/DevSupportManager.h +1 -1
- package/Shared/Hasher.cpp +64 -0
- package/Shared/Hasher.h +24 -0
- package/Shared/HermesRuntimeHolder.cpp +6 -6
- package/Shared/IDevSupportManager.h +1 -1
- package/Shared/JSI/ChakraApi.cpp +1 -1
- package/Shared/JSI/ChakraRuntime.cpp +10 -10
- package/Shared/JSI/ChakraRuntime.h +6 -6
- package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
- package/Shared/Modules/IRequestBodyHandler.h +1 -1
- package/Shared/Modules/IUriHandler.h +1 -1
- package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Networking/DefaultBlobResource.cpp +2 -2
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
- package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
- package/Shared/OInstance.cpp +9 -23
- package/Shared/OInstance.h +1 -1
- package/Shared/PackagerConnection.h +1 -1
- package/Shared/SafeLoadLibrary.cpp +8 -44
- package/Shared/SafeLoadLibrary.h +1 -5
- package/Shared/Shared.vcxitems +50 -20
- package/Shared/Shared.vcxitems.filters +26 -17
- package/Shared/Threading/BatchingQueueThread.cpp +5 -5
- package/Shared/Threading/BatchingQueueThread.h +4 -4
- package/Shared/TurboModuleManager.cpp +1 -1
- package/Shared/Utils.cpp +1 -1
- package/Shared/tracing/fbsystrace.h +1 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativeAppStateSpec.g.h +11 -21
- package/codegen/NativeDeviceInfoSpec.g.h +4 -14
- package/codegen/NativeI18nManagerSpec.g.h +6 -16
- package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
- package/codegen/NativeMutationObserverSpec.g.h +90 -0
- package/codegen/NativePerformanceObserverSpec.g.h +19 -13
- package/codegen/NativePerformanceSpec.g.h +6 -23
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
- package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
- package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
- package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
- package/codegen/NativeSourceCodeSpec.g.h +3 -13
- package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
- package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
- package/codegen/react/components/rnwcore/Props.h +16 -17
- package/codegen/rnwcoreJSI-generated.cpp +1462 -319
- package/codegen/rnwcoreJSI.h +1609 -462
- package/fmt/packages.lock.json +13 -0
- package/index.windows.js +3 -3
- package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/mockModal.js +6 -4
- package/jest/setup.js +61 -30
- package/just-task.js +1 -0
- package/package.json +37 -42
- package/template/cs-app/proj/MyApp.csproj +0 -1
- package/template/cs-lib/proj/MyLib.csproj +0 -1
- package/templates/.clang-format +4 -0
- package/templates/cpp-app/metro.config.js +51 -0
- package/templates/cpp-app/template.config.js +119 -0
- package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
- package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
- package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
- package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
- package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
- package/templates/cpp-app/windows/MyApp/pch.h +35 -0
- package/templates/cpp-app/windows/MyApp/resource.h +18 -0
- package/templates/cpp-app/windows/MyApp/small.ico +0 -0
- package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
- package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
- package/templates/cpp-app/windows/MyApp.sln +176 -0
- package/templates/cpp-app/windows/_gitignore +41 -0
- package/templates/old/generateWrapper.js +67 -0
- package/templates/old/uwp-cpp-app/template.config.js +15 -0
- package/templates/old/uwp-cpp-lib/template.config.js +15 -0
- package/templates/old/uwp-cs-app/template.config.js +15 -0
- package/templates/old/uwp-cs-lib/template.config.js +15 -0
- package/types/experimental.d.ts +44 -0
- package/types/index.d.ts +2 -1
- package/types/modules/Devtools.d.ts +1 -0
- package/types/modules/globals.d.ts +16 -1
- package/Libraries/Components/View/ViewWindows.d.ts +0 -19
- package/Libraries/Components/View/ViewWindows.js +0 -22
- package/Libraries/Components/View/ViewWindows.js.map +0 -1
- package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
- package/Libraries/Components/View/ViewWindowsProps.js +0 -8
- package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
- package/Libraries/Utilities/AcessibilityMapping.js +0 -154
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
- package/Libraries/Utilities/useColorScheme.windows.js +0 -26
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
- package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
- package/Shared/V8JSIRuntimeHolder.cpp +0 -71
- package/Shared/V8JSIRuntimeHolder.h +0 -56
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
- package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
- /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
- /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
|
@@ -4,9 +4,16 @@
|
|
|
4
4
|
#include "Color.h"
|
|
5
5
|
#include <Utils/ValueUtils.h>
|
|
6
6
|
|
|
7
|
+
#ifndef CORE_ABI
|
|
8
|
+
#include <XamlUtils.h>
|
|
9
|
+
#endif // CORE_ABI
|
|
10
|
+
|
|
11
|
+
#include <UI.Xaml.Media.h>
|
|
12
|
+
#include <winrt/Windows.UI.ViewManagement.h>
|
|
13
|
+
|
|
7
14
|
namespace facebook::react {
|
|
8
15
|
|
|
9
|
-
bool isColorMeaningful(SharedColor
|
|
16
|
+
bool isColorMeaningful(const SharedColor &color) noexcept {
|
|
10
17
|
if (!color) {
|
|
11
18
|
return false;
|
|
12
19
|
}
|
|
@@ -14,12 +21,156 @@ bool isColorMeaningful(SharedColor const &color) noexcept {
|
|
|
14
21
|
return colorComponentsFromColor(color).alpha > 0;
|
|
15
22
|
}
|
|
16
23
|
|
|
24
|
+
winrt::Windows::UI::Color ResolvePlatformColor(Color const *const color) {
|
|
25
|
+
if (!color->m_platformColor.empty()) {
|
|
26
|
+
for (auto platformColor : color->m_platformColor) {
|
|
27
|
+
#ifndef CORE_ABI
|
|
28
|
+
// If XAML is loaded, look in application resources
|
|
29
|
+
if (xaml::TryGetCurrentApplication()) {
|
|
30
|
+
xaml::Media::Brush brush{Microsoft::ReactNative::BrushFromColorObject(platformColor)};
|
|
31
|
+
if (auto scb{brush.try_as<xaml::Media::SolidColorBrush>()}) {
|
|
32
|
+
return scb.Color();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
#endif // CORE_ABI
|
|
36
|
+
|
|
37
|
+
// Accent colors
|
|
38
|
+
// https://learn.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.uicolortype?view=winrt-22621
|
|
39
|
+
static std::unordered_map<
|
|
40
|
+
std::string,
|
|
41
|
+
winrt::Windows::UI::ViewManagement::UIColorType,
|
|
42
|
+
std::hash<std::string_view>,
|
|
43
|
+
std::equal_to<>>
|
|
44
|
+
s_uiColorTypes = {
|
|
45
|
+
{"Accent", winrt::Windows::UI::ViewManagement::UIColorType::Accent},
|
|
46
|
+
{"AccentDark1", winrt::Windows::UI::ViewManagement::UIColorType::AccentDark1},
|
|
47
|
+
{"AccentDark2", winrt::Windows::UI::ViewManagement::UIColorType::AccentDark2},
|
|
48
|
+
{"AccentDark3", winrt::Windows::UI::ViewManagement::UIColorType::AccentDark3},
|
|
49
|
+
{"AccentLight1", winrt::Windows::UI::ViewManagement::UIColorType::AccentLight1},
|
|
50
|
+
{"AccentLight2", winrt::Windows::UI::ViewManagement::UIColorType::AccentLight2},
|
|
51
|
+
{"AccentLight3", winrt::Windows::UI::ViewManagement::UIColorType::AccentLight3},
|
|
52
|
+
{"Background", winrt::Windows::UI::ViewManagement::UIColorType::Background},
|
|
53
|
+
{"Complement", winrt::Windows::UI::ViewManagement::UIColorType::Complement},
|
|
54
|
+
{"Foreground", winrt::Windows::UI::ViewManagement::UIColorType::Foreground}};
|
|
55
|
+
|
|
56
|
+
auto uiColor = s_uiColorTypes.find(platformColor);
|
|
57
|
+
if (uiColor != s_uiColorTypes.end()) {
|
|
58
|
+
auto uiSettings{winrt::Windows::UI::ViewManagement::UISettings()};
|
|
59
|
+
return uiSettings.GetColorValue(uiColor->second);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// UI element colors
|
|
63
|
+
// https://learn.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.uielementtype?view=winrt-22621
|
|
64
|
+
static std::unordered_map<
|
|
65
|
+
std::string,
|
|
66
|
+
winrt::Windows::UI::ViewManagement::UIElementType,
|
|
67
|
+
std::hash<std::string_view>,
|
|
68
|
+
std::equal_to<>>
|
|
69
|
+
s_uiElementTypes = {
|
|
70
|
+
{"AccentColor", winrt::Windows::UI::ViewManagement::UIElementType::AccentColor},
|
|
71
|
+
{"ActiveCaption", winrt::Windows::UI::ViewManagement::UIElementType::ActiveCaption},
|
|
72
|
+
{"Background", winrt::Windows::UI::ViewManagement::UIElementType::Background},
|
|
73
|
+
{"ButtonFace", winrt::Windows::UI::ViewManagement::UIElementType::ButtonFace},
|
|
74
|
+
{"ButtonText", winrt::Windows::UI::ViewManagement::UIElementType::ButtonText},
|
|
75
|
+
{"CaptionText", winrt::Windows::UI::ViewManagement::UIElementType::CaptionText},
|
|
76
|
+
{"GrayText", winrt::Windows::UI::ViewManagement::UIElementType::GrayText},
|
|
77
|
+
{"Highlight", winrt::Windows::UI::ViewManagement::UIElementType::Highlight},
|
|
78
|
+
{"HighlightText", winrt::Windows::UI::ViewManagement::UIElementType::HighlightText},
|
|
79
|
+
{"Hotlight", winrt::Windows::UI::ViewManagement::UIElementType::Hotlight},
|
|
80
|
+
{"InactiveCaption", winrt::Windows::UI::ViewManagement::UIElementType::InactiveCaption},
|
|
81
|
+
{"InactiveCaptionText", winrt::Windows::UI::ViewManagement::UIElementType::InactiveCaptionText},
|
|
82
|
+
{"NonTextHigh", winrt::Windows::UI::ViewManagement::UIElementType::NonTextHigh},
|
|
83
|
+
{"NonTextLow", winrt::Windows::UI::ViewManagement::UIElementType::NonTextLow},
|
|
84
|
+
{"NonTextMedium", winrt::Windows::UI::ViewManagement::UIElementType::NonTextMedium},
|
|
85
|
+
{"NonTextMediumHigh", winrt::Windows::UI::ViewManagement::UIElementType::NonTextMediumHigh},
|
|
86
|
+
{"NonTextMediumLow", winrt::Windows::UI::ViewManagement::UIElementType::NonTextMediumLow},
|
|
87
|
+
{"OverlayOutsidePopup", winrt::Windows::UI::ViewManagement::UIElementType::OverlayOutsidePopup},
|
|
88
|
+
{"PageBackground", winrt::Windows::UI::ViewManagement::UIElementType::PageBackground},
|
|
89
|
+
{"PopupBackground", winrt::Windows::UI::ViewManagement::UIElementType::PopupBackground},
|
|
90
|
+
{"TextContrastWithHigh", winrt::Windows::UI::ViewManagement::UIElementType::TextContrastWithHigh},
|
|
91
|
+
{"TextHigh", winrt::Windows::UI::ViewManagement::UIElementType::TextHigh},
|
|
92
|
+
{"TextLow", winrt::Windows::UI::ViewManagement::UIElementType::TextLow},
|
|
93
|
+
{"TextMedium", winrt::Windows::UI::ViewManagement::UIElementType::TextMedium},
|
|
94
|
+
{"Window", winrt::Windows::UI::ViewManagement::UIElementType::Window},
|
|
95
|
+
{"WindowText", winrt::Windows::UI::ViewManagement::UIElementType::WindowText}};
|
|
96
|
+
|
|
97
|
+
auto uiElement = s_uiElementTypes.find(platformColor);
|
|
98
|
+
if (uiElement != s_uiElementTypes.end()) {
|
|
99
|
+
auto uiSettings{winrt::Windows::UI::ViewManagement::UISettings()};
|
|
100
|
+
return uiSettings.UIElementColor(uiElement->second);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Fallback light-theme XAML brushes
|
|
104
|
+
// Issue #11489. These are all the light-theme values. Which is better than no values.
|
|
105
|
+
// Where did these values come from? WinUI's common theme resources:
|
|
106
|
+
// https://github.com/microsoft/microsoft-ui-xaml/blob/7a33ad772d77d908aa6b316ec24e6d2eb3ebf571/dev/CommonStyles/Common_themeresources_any.xaml
|
|
107
|
+
// Specifically these are pulled from the "Light" ResourceDictionary. If any additional values
|
|
108
|
+
// are needed, they should be taken from that section (not "Dark" or "HighContrast").
|
|
109
|
+
// For control-specific values, they will be in a theme resource file for that control. Example:
|
|
110
|
+
// https://github.com/microsoft/microsoft-ui-xaml/blob/9052972906c8a0a1b6cb5d5c61b27d6d27cd7f11/dev/CommonStyles/Button_themeresources.xaml
|
|
111
|
+
static std::unordered_map<std::string, winrt::Windows::UI::Color, std::hash<std::string_view>, std::equal_to<>>
|
|
112
|
+
s_xamlBrushes = {
|
|
113
|
+
{"SolidBackgroundFillColorBase", {0xFF, 0xF3, 0xF3, 0xF3}},
|
|
114
|
+
{"ControlFillColorDefault", {0xB3, 0xFF, 0xFF, 0xFF}},
|
|
115
|
+
{"ControlFillColorSecondary", {0x80, 0xF9, 0xF9, 0xF9}},
|
|
116
|
+
{"ControlFillColorTertiary", {0x4D, 0xF9, 0xF9, 0xF9}},
|
|
117
|
+
{"ControlFillColorDisabled", {0x4D, 0xF9, 0xF9, 0xF9}},
|
|
118
|
+
{"ControlFillColorTransparent", {0x00, 0xFF, 0xFF, 0xFF}},
|
|
119
|
+
{"ControlStrokeColorDefault", {0x0F, 0x00, 0x00, 0x00}},
|
|
120
|
+
{"ControlStrokeColorSecondary", {0x29, 0x00, 0x00, 0x00}},
|
|
121
|
+
{"ControlStrokeColorOnAccentSecondary", {0x66, 0x00, 0x00, 0x00}},
|
|
122
|
+
{"TextFillColorPrimary", {0xE4, 0x00, 0x00, 0x00}},
|
|
123
|
+
{"TextFillColorSecondary", {0x9E, 0x00, 0x00, 0x00}},
|
|
124
|
+
{"TextFillColorDisabled", {0x5C, 0x00, 0x00, 0x00}},
|
|
125
|
+
// Arguably only the control-agnostic platform colors should be respected, and
|
|
126
|
+
// Button should be updated to use those instead, assuming that still holds up
|
|
127
|
+
// in high contrast and such.
|
|
128
|
+
{"ButtonBackgroundPressed", {0x4D, 0xF9, 0xF9, 0xF9}}, // ControlFillColorTertiary
|
|
129
|
+
{"ButtonForegroundPressed", {0x9E, 0x00, 0x00, 0x00}}, // TextFillColorSecondary
|
|
130
|
+
{"ButtonForegroundPointerOver", {0xE4, 0x00, 0x00, 0x00}}, // TextFillColorPrimary
|
|
131
|
+
{"ButtonBackground", {0xB3, 0xFF, 0xFF, 0xFF}}, // ControlFillColorDefault
|
|
132
|
+
{"ButtonBorderBrush",
|
|
133
|
+
{0x29, 0x00, 0x00, 0x00}}, // from ControlStrokeColorSecondary to ControlStrokeColorDefault
|
|
134
|
+
{"ButtonForeground", {0xE4, 0x00, 0x00, 0x00}}, // TextFillColorPrimary
|
|
135
|
+
{"ButtonBackgroundDisabled", {0x4D, 0xF9, 0xF9, 0xF9}}, // ControlFillColorDisabled
|
|
136
|
+
{"ButtonBorderBrushDisabled", {0x0F, 0x00, 0x00, 0x00}}, // ControlStrokeColorDefault
|
|
137
|
+
{"ButtonForegroundDisabled", {0x5C, 0x00, 0x00, 0x00}}, // TextFillColorDisabled
|
|
138
|
+
{"ButtonBackgroundPointerOver", {0x80, 0xF9, 0xF9, 0xF9}}, // ControlFillColorSecondary
|
|
139
|
+
{"ButtonBorderBrushPointerOver", {0x66, 0x00, 0x00, 0x00}}, // from ControlStrokeColorOnAccentSecondary to
|
|
140
|
+
// ControlStrokeColorOnAccentDefault
|
|
141
|
+
{"ButtonBorderBrushPressed", {0x00, 0xFF, 0xFF, 0xFF}}, // ControlFillColorTransparent
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
auto result = s_xamlBrushes.find(platformColor);
|
|
145
|
+
if (result != s_xamlBrushes.end()) {
|
|
146
|
+
return result->second;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return color->m_color;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
D2D1::ColorF SharedColor::AsD2DColor() const {
|
|
154
|
+
if (!m_color) {
|
|
155
|
+
return D2D1::ColorF{0, 0.0};
|
|
156
|
+
}
|
|
157
|
+
winrt::Windows::UI::Color color = ResolvePlatformColor(m_color.get());
|
|
158
|
+
return {color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, color.A / 255.0f};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
winrt::Windows::UI::Color SharedColor::AsWindowsColor() const {
|
|
162
|
+
if (!m_color) {
|
|
163
|
+
return winrt::Windows::UI::Color{0, 0, 0, 0};
|
|
164
|
+
}
|
|
165
|
+
return ResolvePlatformColor(m_color.get());
|
|
166
|
+
}
|
|
167
|
+
|
|
17
168
|
#ifndef CORE_ABI
|
|
18
169
|
xaml::Media::Brush SharedColor::AsWindowsBrush() const {
|
|
19
170
|
if (!m_color)
|
|
20
171
|
return nullptr;
|
|
21
172
|
if (!m_color->m_platformColor.empty()) {
|
|
22
|
-
return Microsoft::ReactNative::BrushFromColorObject(
|
|
173
|
+
return Microsoft::ReactNative::BrushFromColorObject(m_color->m_platformColor);
|
|
23
174
|
}
|
|
24
175
|
return xaml::Media::SolidColorBrush(m_color->m_color);
|
|
25
176
|
}
|
|
@@ -27,11 +178,11 @@ xaml::Media::Brush SharedColor::AsWindowsBrush() const {
|
|
|
27
178
|
|
|
28
179
|
SharedColor colorFromComponents(ColorComponents components) {
|
|
29
180
|
float ratio = 255;
|
|
30
|
-
return
|
|
31
|
-
(int)round(components.alpha * ratio) & 0xff,
|
|
32
|
-
(int)round(components.red * ratio) & 0xff,
|
|
33
|
-
(int)round(components.green * ratio) & 0xff,
|
|
34
|
-
(int)round(components.blue * ratio) & 0xff)};
|
|
181
|
+
return winrt::Windows::UI::Color{
|
|
182
|
+
static_cast<uint8_t>((int)round(components.alpha * ratio) & 0xff),
|
|
183
|
+
static_cast<uint8_t>((int)round(components.red * ratio) & 0xff),
|
|
184
|
+
static_cast<uint8_t>((int)round(components.green * ratio) & 0xff),
|
|
185
|
+
static_cast<uint8_t>((int)round(components.blue * ratio) & 0xff)};
|
|
35
186
|
}
|
|
36
187
|
|
|
37
188
|
ColorComponents colorComponentsFromColor(SharedColor const &sharedColor) {
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
-
#include <cmath>
|
|
11
10
|
#include <functional>
|
|
12
11
|
#include <limits>
|
|
13
12
|
|
|
@@ -28,14 +27,16 @@ struct Color {
|
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
winrt::Windows::UI::Color m_color;
|
|
31
|
-
std::string m_platformColor;
|
|
30
|
+
std::vector<std::string> m_platformColor;
|
|
32
31
|
};
|
|
33
32
|
|
|
34
33
|
/*
|
|
35
34
|
* On Android, a color can be represented as 32 bits integer, so there is no
|
|
36
35
|
* need to instantiate complex color objects and then pass them as shared
|
|
37
|
-
* pointers.
|
|
38
|
-
* which provides a pointer-like interface.
|
|
36
|
+
* pointers. Hence instead of using shared_ptr, we use a simple wrapper class
|
|
37
|
+
* which provides a pointer-like interface. On other platforms, colors may be
|
|
38
|
+
* represented by more complex objects that cannot be represented as 32-bits
|
|
39
|
+
* integers, so we hide the implementation detail in HostPlatformColor.h.
|
|
39
40
|
*/
|
|
40
41
|
class SharedColor {
|
|
41
42
|
friend std::hash<SharedColor>;
|
|
@@ -50,7 +51,7 @@ class SharedColor {
|
|
|
50
51
|
m_color->m_color = color;
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
SharedColor(std::string &&windowsBrush) {
|
|
54
|
+
SharedColor(std::vector<std::string> &&windowsBrush) {
|
|
54
55
|
m_color = std::make_shared<Color>();
|
|
55
56
|
m_color->m_platformColor = std::move(windowsBrush);
|
|
56
57
|
}
|
|
@@ -84,17 +85,9 @@ class SharedColor {
|
|
|
84
85
|
return m_color != nullptr;
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
D2D1::ColorF AsD2DColor() const
|
|
88
|
-
return {
|
|
89
|
-
m_color->m_color.R / 255.0f,
|
|
90
|
-
m_color->m_color.G / 255.0f,
|
|
91
|
-
m_color->m_color.B / 255.0f,
|
|
92
|
-
m_color->m_color.A / 255.0f};
|
|
93
|
-
}
|
|
88
|
+
D2D1::ColorF AsD2DColor() const;
|
|
94
89
|
|
|
95
|
-
winrt::Windows::UI::Color AsWindowsColor() const
|
|
96
|
-
return m_color->m_color;
|
|
97
|
-
}
|
|
90
|
+
winrt::Windows::UI::Color AsWindowsColor() const;
|
|
98
91
|
|
|
99
92
|
COLORREF AsColorRefNoAlpha() const {
|
|
100
93
|
return RGB(m_color->m_color.R, m_color->m_color.G, m_color->m_color.B);
|
|
@@ -112,7 +105,7 @@ class SharedColor {
|
|
|
112
105
|
std::shared_ptr<Color> m_color;
|
|
113
106
|
};
|
|
114
107
|
|
|
115
|
-
bool isColorMeaningful(SharedColor
|
|
108
|
+
bool isColorMeaningful(const SharedColor &color) noexcept;
|
|
116
109
|
SharedColor colorFromComponents(ColorComponents components);
|
|
117
110
|
ColorComponents colorComponentsFromColor(SharedColor const &color);
|
|
118
111
|
|
|
@@ -130,7 +123,12 @@ struct hash<facebook::react::SharedColor> {
|
|
|
130
123
|
size_t operator()(const facebook::react::SharedColor &sharedColor) const {
|
|
131
124
|
size_t h = sharedColor.m_color->m_color.A + (sharedColor.m_color->m_color.B << 8) +
|
|
132
125
|
(sharedColor.m_color->m_color.G << 16) + (sharedColor.m_color->m_color.R << 24);
|
|
133
|
-
|
|
126
|
+
|
|
127
|
+
for (auto s : sharedColor.m_color->m_platformColor) {
|
|
128
|
+
h ^= hash<decltype(s)>{}(s);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return h;
|
|
134
132
|
}
|
|
135
133
|
};
|
|
136
134
|
} // namespace std
|
package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp
CHANGED
|
@@ -54,7 +54,7 @@ void TextLayoutManager::GetTextLayout(
|
|
|
54
54
|
// Recommended ratio of baseline to lineSpacing is 80%
|
|
55
55
|
// https://learn.microsoft.com/en-us/windows/win32/api/dwrite/nf-dwrite-idwritetextformat-getlinespacing
|
|
56
56
|
// It is possible we need to load full font metrics to calculate a better baseline value.
|
|
57
|
-
// For a particular font, you can determine what lineSpacing and baseline should be by
|
|
57
|
+
// For a particular font, you can determine what lineSpacing and baseline should be by examining a
|
|
58
58
|
// DWRITE_FONT_METRICS method available from the GetMetrics method of IDWriteFont or IDWriteFontFace. For normal
|
|
59
59
|
// behavior, you'd set lineSpacing to the sum of ascent, descent and lineGap (adjusted for the em size, of
|
|
60
60
|
// course), and baseline to the ascent value.
|
|
@@ -101,7 +101,7 @@ void GlyphShadowNode::updateProperties(winrt::Microsoft::ReactNative::JSValueObj
|
|
|
101
101
|
// Default emSize to match height, unless its been explicitly set
|
|
102
102
|
|
|
103
103
|
// FUTURE: enable some default scaling of 0.75 to convert height px to em?
|
|
104
|
-
// The
|
|
104
|
+
// The SegoeUI Emoji font renders the full area of the emSize
|
|
105
105
|
// where emSize should be height * 0.75, but office icon fonts
|
|
106
106
|
// do not and applying a scale would be wrong
|
|
107
107
|
|
|
@@ -43,8 +43,8 @@ namespace Microsoft.ReactNative
|
|
|
43
43
|
"The `Microsoft.ReactNative.Cxx` and `Microsoft.ReactNative.Managed` projects offer "
|
|
44
44
|
"serializer/deserializer functions for many standard types. Use them directly or to define "
|
|
45
45
|
"serializer/deserializer functions for your types.")
|
|
46
|
-
// TODO: [
|
|
47
|
-
// TODO: [
|
|
46
|
+
// TODO: [@vmoroz] Add a reference to serializer and deserializer functions for some standard types.
|
|
47
|
+
// TODO: [@vmoroz] Add a reference to usage examples.
|
|
48
48
|
interface IJSValueReader
|
|
49
49
|
{
|
|
50
50
|
DOC_STRING("Gets the type of the current value.")
|
|
@@ -24,8 +24,8 @@ namespace Microsoft.ReactNative
|
|
|
24
24
|
"The `Microsoft.ReactNative.Cxx` and `Microsoft.ReactNative.Managed` projects offer "
|
|
25
25
|
"serializer/deserializer functions for many standard types. Use them directly or to define "
|
|
26
26
|
"serializer/deserializer functions for your types.")
|
|
27
|
-
// TODO: [
|
|
28
|
-
// TODO: [
|
|
27
|
+
// TODO: [@vmoroz] Add a reference to serializer and deserializer functions for some standard types.
|
|
28
|
+
// TODO: [@vmoroz] Add a reference to usage examples.
|
|
29
29
|
interface IJSValueWriter
|
|
30
30
|
{
|
|
31
31
|
DOC_STRING("Writes a `Null` value.")
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
|
|
4
4
|
#include "DocString.h"
|
|
5
|
+
import "Composition.Input.idl";
|
|
5
6
|
import "CompositionSwitcher.idl";
|
|
6
7
|
import "IJSValueReader.idl";
|
|
8
|
+
import "IReactContext.idl";
|
|
7
9
|
import "ViewProps.idl";
|
|
8
10
|
|
|
9
11
|
namespace Microsoft.ReactNative.Composition
|
|
@@ -17,7 +19,7 @@ namespace Microsoft.ReactNative.Composition
|
|
|
17
19
|
|
|
18
20
|
[experimental]
|
|
19
21
|
DOC_STRING("Provides a factory method to create an instance of a ViewComponent. See @IReactCompositionViewComponentBuilder.SetCreateView")
|
|
20
|
-
delegate Object CompositionComponentFactory(ICompositionContext context);
|
|
22
|
+
delegate Object CompositionComponentFactory(Microsoft.ReactNative.IReactContext reactContext, ICompositionContext context);
|
|
21
23
|
|
|
22
24
|
// TODO should make an event args, with a handled bit instead of return value
|
|
23
25
|
[experimental]
|
|
@@ -44,6 +46,12 @@ namespace Microsoft.ReactNative.Composition
|
|
|
44
46
|
DOC_STRING("A delegate that handles input messages for an instance of a ViewComponent. See @IReactCompositionViewComponentBuilder.SetMessageHandler")
|
|
45
47
|
delegate Int64 MessageHandler(Object handle, UInt32 Msg, UInt64 WParam, Int64 LParam);
|
|
46
48
|
|
|
49
|
+
[experimental]
|
|
50
|
+
delegate void KeyHandler(Object handle, Microsoft.ReactNative.Composition.Input.KeyboardSource source, Microsoft.ReactNative.Composition.Input.KeyRoutedEventArgs args);
|
|
51
|
+
|
|
52
|
+
[experimental]
|
|
53
|
+
delegate void PointerHandler(Object handle, Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
|
|
54
|
+
|
|
47
55
|
[webhosthidden]
|
|
48
56
|
[experimental]
|
|
49
57
|
DOC_STRING(".")
|
|
@@ -79,6 +87,20 @@ namespace Microsoft.ReactNative.Composition
|
|
|
79
87
|
DOC_STRING("Used to handle native input into this component.")
|
|
80
88
|
// (Object handle, UInt32 Msg, UInt64 WParam, Int64 LParam) => Int64
|
|
81
89
|
void SetMessageHandler(MessageHandler impl);
|
|
90
|
+
|
|
91
|
+
DOC_STRING("Used to handle key down events when this component is focused, or if a child component did not handle the key down")
|
|
92
|
+
void SetKeyDownHandler(KeyHandler impl);
|
|
93
|
+
|
|
94
|
+
DOC_STRING("Used to handle key up events when this component is focused, or if a child component did not handle the key up")
|
|
95
|
+
void SetKeyUpHandler(KeyHandler impl);
|
|
96
|
+
|
|
97
|
+
void SetPointerPressedHandler(PointerHandler impl);
|
|
98
|
+
void SetPointerReleasedHandler(PointerHandler impl);
|
|
99
|
+
void SetPointerMovedHandler(PointerHandler impl);
|
|
100
|
+
void SetPointerWheelChangedHandler(PointerHandler impl);
|
|
101
|
+
void SetPointerEnteredHandler(PointerHandler impl);
|
|
102
|
+
void SetPointerExitedHandler(PointerHandler impl);
|
|
103
|
+
|
|
82
104
|
};
|
|
83
105
|
|
|
84
106
|
|
|
@@ -100,7 +100,7 @@ IReactDispatcher ReactContext::JSDispatcher() noexcept {
|
|
|
100
100
|
return Properties().Get(ReactDispatcherHelper::JSDispatcherProperty()).try_as<IReactDispatcher>();
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
Windows::Foundation::IInspectable ReactContext::JSRuntime() noexcept {
|
|
103
|
+
winrt::Windows::Foundation::IInspectable ReactContext::JSRuntime() noexcept {
|
|
104
104
|
return m_context->JsiRuntime();
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -16,8 +16,8 @@ MSO_GUID(IReactNotificationSubscriptionPrivate, "09437980-3508-4690-930c-7c310e2
|
|
|
16
16
|
struct IReactNotificationSubscriptionPrivate : ::IUnknown {
|
|
17
17
|
virtual void SetParent(IReactNotificationSubscription const &parentSubscription) noexcept = 0;
|
|
18
18
|
virtual void CallHandler(
|
|
19
|
-
Windows::Foundation::IInspectable const &sender,
|
|
20
|
-
Windows::Foundation::IInspectable const &data) noexcept = 0;
|
|
19
|
+
winrt::Windows::Foundation::IInspectable const &sender,
|
|
20
|
+
winrt::Windows::Foundation::IInspectable const &data) noexcept = 0;
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
// The Notification subscription class.
|
|
@@ -123,7 +123,8 @@ struct ReactNotificationSubscriptionView : implements<
|
|
|
123
123
|
ReactNotificationSubscriptionView(
|
|
124
124
|
weak_ref<ReactNotificationService> &¬ificationService,
|
|
125
125
|
IReactNotificationSubscription const &childSubscription) noexcept
|
|
126
|
-
: m_notificationService{std::move(notificationService)},
|
|
126
|
+
: m_notificationService{std::move(notificationService)},
|
|
127
|
+
m_childSubscription{weak_ref<IReactNotificationSubscription>(childSubscription)} {
|
|
127
128
|
childSubscription.as<IReactNotificationSubscriptionPrivate>()->SetParent(*this);
|
|
128
129
|
}
|
|
129
130
|
|
|
@@ -637,15 +637,12 @@
|
|
|
637
637
|
<PackageReference Include="Microsoft.Windows.CppWinRT" Version="$(CppWinRTVersion)" PrivateAssets="all" />
|
|
638
638
|
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" />
|
|
639
639
|
<PackageReference Include="$(WinUIPackageName)" Version="$(WinUIPackageVersion)" Condition="'$(OverrideWinUIPackage)'!='true'" />
|
|
640
|
-
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22000.194" />
|
|
641
640
|
<PackageReference Include="$(V8PackageName)" Version="$(V8Version)" Condition="'$(UseV8)' == 'true'" />
|
|
642
641
|
</ItemGroup>
|
|
643
642
|
<Choose>
|
|
644
643
|
<When Condition="'$(EnableSourceLink)' == 'true'">
|
|
645
644
|
<ItemGroup>
|
|
646
|
-
<PackageReference Include="Microsoft.
|
|
647
|
-
<PackageReference Include="Microsoft.SourceLink.Common" Version="1.0.0" />
|
|
648
|
-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
|
|
645
|
+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
|
|
649
646
|
</ItemGroup>
|
|
650
647
|
</When>
|
|
651
648
|
</Choose>
|
|
@@ -191,7 +191,7 @@ void Alert::ProcessPendingAlertRequestsMessageDialog() noexcept {
|
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
if (!args.cancelable.value_or(true)) {
|
|
194
|
-
messageDialog.CancelCommandIndex(0xffffffff /* -1 doesn't allow
|
|
194
|
+
messageDialog.CancelCommandIndex(0xffffffff /* -1 doesn't allow cancellation of message dialog */);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
auto hwnd = winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::GetTopLevelWindowId(
|
|
@@ -223,7 +223,7 @@ void Alert::ProcessPendingAlertRequests() noexcept {
|
|
|
223
223
|
}
|
|
224
224
|
#ifdef USE_FABRIC
|
|
225
225
|
else {
|
|
226
|
-
// If we
|
|
226
|
+
// If we don't have xaml loaded, fallback to using MessageDialog
|
|
227
227
|
ProcessPendingAlertRequestsMessageDialog();
|
|
228
228
|
}
|
|
229
229
|
#endif
|
|
@@ -46,8 +46,7 @@ comp::Compositor NativeAnimatedNodeManager::Compositor() const noexcept {
|
|
|
46
46
|
winrt::Microsoft::ReactNative::Composition::implementation::CompositionUIService::GetCompositionContext(
|
|
47
47
|
m_context.Properties().Handle());
|
|
48
48
|
if (compositionContext) {
|
|
49
|
-
return winrt::Microsoft::ReactNative::Composition::
|
|
50
|
-
compositionContext);
|
|
49
|
+
return winrt::Microsoft::ReactNative::Composition::CompositionContextHelper::InnerCompositor(compositionContext);
|
|
51
50
|
}
|
|
52
51
|
#endif
|
|
53
52
|
#ifndef CORE_ABI
|
|
@@ -25,7 +25,7 @@ namespace Microsoft::ReactNative {
|
|
|
25
25
|
/// implementation drives UI changes.
|
|
26
26
|
///
|
|
27
27
|
/// It implements a management interface for animated nodes graph and
|
|
28
|
-
/// establishes a number of
|
|
28
|
+
/// establishes a number of composition animations and property sets to
|
|
29
29
|
/// drive the animating of the nodes to the Xaml elements off the UI Thread
|
|
30
30
|
///
|
|
31
31
|
/// </summary>
|
|
@@ -181,9 +181,8 @@ void PropsAnimatedNode::StartAnimations() {
|
|
|
181
181
|
view.m_element.RotationAxis(m_rotationAxis);
|
|
182
182
|
#ifdef USE_FABRIC
|
|
183
183
|
} else {
|
|
184
|
-
auto visual =
|
|
185
|
-
|
|
186
|
-
view.m_componentView->Visual());
|
|
184
|
+
auto visual = winrt::Microsoft::ReactNative::Composition::CompositionContextHelper::InnerVisual(
|
|
185
|
+
view.m_componentView->Visual());
|
|
187
186
|
visual.RotationAxis(m_rotationAxis);
|
|
188
187
|
#endif
|
|
189
188
|
}
|
|
@@ -393,7 +392,7 @@ void PropsAnimatedNode::StartAnimation(
|
|
|
393
392
|
view.m_element.StartAnimation(animation);
|
|
394
393
|
#ifdef USE_FABRIC
|
|
395
394
|
} else if (view.m_componentView) {
|
|
396
|
-
auto visual = winrt::Microsoft::ReactNative::Composition::
|
|
395
|
+
auto visual = winrt::Microsoft::ReactNative::Composition::CompositionContextHelper::InnerVisual(
|
|
397
396
|
view.m_componentView->Visual());
|
|
398
397
|
if (visual) {
|
|
399
398
|
auto targetProp = animation.Target();
|
|
@@ -88,7 +88,7 @@ void AppState::RemoveListeners(double /*count*/) noexcept {
|
|
|
88
88
|
// noop
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
ReactNativeSpecs::
|
|
91
|
+
ReactNativeSpecs::AppStateSpec_AppStateConstants AppState::GetConstants() noexcept {
|
|
92
92
|
return {GetAppState()};
|
|
93
93
|
}
|
|
94
94
|
|
|
@@ -14,7 +14,7 @@ namespace Microsoft::ReactNative {
|
|
|
14
14
|
REACT_MODULE(AppState)
|
|
15
15
|
struct AppState : public std::enable_shared_from_this<AppState> {
|
|
16
16
|
using ModuleSpec = ReactNativeSpecs::AppStateSpec;
|
|
17
|
-
using AppStateChangeArgs = ReactNativeSpecs::
|
|
17
|
+
using AppStateChangeArgs = ReactNativeSpecs::AppStateSpec_AppState;
|
|
18
18
|
|
|
19
19
|
REACT_INIT(Initialize)
|
|
20
20
|
void Initialize(winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
|
|
@@ -31,7 +31,7 @@ struct AppState : public std::enable_shared_from_this<AppState> {
|
|
|
31
31
|
void RemoveListeners(double count) noexcept;
|
|
32
32
|
|
|
33
33
|
REACT_GET_CONSTANTS(GetConstants)
|
|
34
|
-
ReactNativeSpecs::
|
|
34
|
+
ReactNativeSpecs::AppStateSpec_AppStateConstants GetConstants() noexcept;
|
|
35
35
|
|
|
36
36
|
REACT_EVENT(AppStateDidChange, L"appStateDidChange")
|
|
37
37
|
std::function<void(AppStateChangeArgs const &)> AppStateDidChange;
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
#include <DesktopWindowBridge.h>
|
|
7
7
|
#include <IReactDispatcher.h>
|
|
8
8
|
#include <IReactPropertyBag.h>
|
|
9
|
+
#ifndef USE_WINUI3
|
|
9
10
|
#include <UI.Xaml.Hosting.DesktopWindowXamlSource.h>
|
|
11
|
+
#endif
|
|
10
12
|
#include <Utils/Helpers.h>
|
|
11
13
|
#include <XamlUIService.h>
|
|
12
14
|
#include <XamlUtils.h>
|
|
@@ -175,8 +177,8 @@ void DeviceInfoHolder::updateDeviceInfo() noexcept {
|
|
|
175
177
|
}
|
|
176
178
|
}
|
|
177
179
|
|
|
178
|
-
ReactNativeSpecs::
|
|
179
|
-
ReactNativeSpecs::
|
|
180
|
+
ReactNativeSpecs::DeviceInfoSpec_DeviceInfoConstants DeviceInfo::GetConstants() noexcept {
|
|
181
|
+
ReactNativeSpecs::DeviceInfoSpec_DeviceInfoConstants constants;
|
|
180
182
|
constants.Dimensions = DeviceInfoHolder::GetDimensions(m_context.Properties());
|
|
181
183
|
return constants;
|
|
182
184
|
}
|
|
@@ -56,7 +56,7 @@ struct DeviceInfo : public std::enable_shared_from_this<DeviceInfo> {
|
|
|
56
56
|
void Initialize(React::ReactContext const &reactContext) noexcept;
|
|
57
57
|
|
|
58
58
|
REACT_GET_CONSTANTS(GetConstants)
|
|
59
|
-
ReactNativeSpecs::
|
|
59
|
+
ReactNativeSpecs::DeviceInfoSpec_DeviceInfoConstants GetConstants() noexcept;
|
|
60
60
|
|
|
61
61
|
private:
|
|
62
62
|
winrt::Microsoft::ReactNative::ReactContext m_context;
|
|
@@ -61,7 +61,7 @@ void I18nManager::SwapLeftAndRightInRTL(bool /*flipStyles*/) noexcept {
|
|
|
61
61
|
// TODO - https://github.com/microsoft/react-native-windows/issues/4662
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
ReactNativeSpecs::
|
|
64
|
+
ReactNativeSpecs::I18nManagerSpec_I18nManagerConstants I18nManager::GetConstants() noexcept {
|
|
65
65
|
std::string locale = "en-us";
|
|
66
66
|
|
|
67
67
|
auto langs = winrt::Windows::Globalization::ApplicationLanguages::Languages();
|
|
@@ -69,7 +69,7 @@ ReactNativeSpecs::I18nManagerSpec_Constants I18nManager::GetConstants() noexcept
|
|
|
69
69
|
locale = Microsoft::Common::Unicode::Utf16ToUtf8(langs.GetAt(0));
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
ReactNativeSpecs::
|
|
72
|
+
ReactNativeSpecs::I18nManagerSpec_I18nManagerConstants constants;
|
|
73
73
|
constants.localeIdentifier = locale;
|
|
74
74
|
constants.doLeftAndRightSwapInRTL = false;
|
|
75
75
|
constants.isRTL = IsRTL(m_context.Properties());
|
|
@@ -24,7 +24,7 @@ struct I18nManager {
|
|
|
24
24
|
void Initialize(React::ReactContext const &reactContext) noexcept;
|
|
25
25
|
|
|
26
26
|
REACT_GET_CONSTANTS(GetConstants)
|
|
27
|
-
ReactNativeSpecs::
|
|
27
|
+
ReactNativeSpecs::I18nManagerSpec_I18nManagerConstants GetConstants() noexcept;
|
|
28
28
|
|
|
29
29
|
REACT_METHOD(AllowRTL, L"allowRTL")
|
|
30
30
|
void AllowRTL(bool allowRTL) noexcept;
|