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
|
@@ -35,37 +35,72 @@ struct CompositionBaseComponentView : public IComponentView,
|
|
|
35
35
|
bool runOnChildren(bool forward, Mso::Functor<bool(IComponentView &)> &fn) noexcept override;
|
|
36
36
|
void onFocusLost() noexcept override;
|
|
37
37
|
void onFocusGained() noexcept override;
|
|
38
|
+
void onPointerEntered(
|
|
39
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
40
|
+
void onPointerExited(
|
|
41
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
42
|
+
void onPointerPressed(
|
|
43
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
44
|
+
void onPointerReleased(
|
|
45
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
46
|
+
void onPointerMoved(
|
|
47
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
48
|
+
void onPointerWheelChanged(
|
|
49
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
50
|
+
|
|
51
|
+
void onKeyDown(
|
|
52
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
53
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
|
|
54
|
+
void onKeyUp(
|
|
55
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
56
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
|
|
38
57
|
bool focusable() const noexcept override;
|
|
39
58
|
std::vector<facebook::react::ComponentDescriptorProvider> supplementalComponentDescriptorProviders() noexcept
|
|
40
59
|
override;
|
|
41
|
-
facebook::react::
|
|
42
|
-
facebook::react::
|
|
60
|
+
facebook::react::SharedViewEventEmitter eventEmitter() noexcept override;
|
|
61
|
+
facebook::react::SharedViewEventEmitter eventEmitterAtPoint(facebook::react::Point pt) noexcept override;
|
|
43
62
|
facebook::react::Tag tag() const noexcept override;
|
|
44
63
|
int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
|
|
45
64
|
|
|
46
|
-
virtual bool ScrollWheel(facebook::react::Point pt, int32_t delta) noexcept;
|
|
47
65
|
RECT getClientRect() const noexcept override;
|
|
48
66
|
|
|
49
67
|
void indexOffsetForBorder(uint32_t &index) const noexcept;
|
|
50
68
|
void updateBorderProps(
|
|
51
69
|
const facebook::react::ViewProps &oldViewProps,
|
|
52
70
|
const facebook::react::ViewProps &newViewProps) noexcept;
|
|
71
|
+
void updateShadowProps(
|
|
72
|
+
const facebook::react::ViewProps &oldViewProps,
|
|
73
|
+
const facebook::react::ViewProps &newViewProps,
|
|
74
|
+
winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual) noexcept;
|
|
75
|
+
void updateTransformProps(
|
|
76
|
+
const facebook::react::ViewProps &oldViewProps,
|
|
77
|
+
const facebook::react::ViewProps &newViewProps,
|
|
78
|
+
winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual) noexcept;
|
|
79
|
+
void updateAccessibilityProps(
|
|
80
|
+
const facebook::react::ViewProps &oldView,
|
|
81
|
+
const facebook::react::ViewProps &newViewProps) noexcept;
|
|
53
82
|
void updateBorderLayoutMetrics(
|
|
54
83
|
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
55
84
|
const facebook::react::ViewProps &viewProps) noexcept;
|
|
56
85
|
|
|
57
86
|
virtual void OnRenderingDeviceLost() noexcept;
|
|
58
87
|
|
|
88
|
+
void StartBringIntoView(BringIntoViewOptions &&args) noexcept override;
|
|
89
|
+
|
|
59
90
|
comp::CompositionPropertySet EnsureCenterPointPropertySet() noexcept;
|
|
60
91
|
void EnsureTransformMatrixFacade() noexcept;
|
|
61
92
|
|
|
62
93
|
winrt::IInspectable EnsureUiaProvider() noexcept override;
|
|
63
94
|
|
|
95
|
+
virtual std::string DefaultControlType() const noexcept;
|
|
96
|
+
virtual std::string DefaultAccessibleName() const noexcept;
|
|
97
|
+
virtual std::string DefaultHelpText() const noexcept;
|
|
98
|
+
|
|
64
99
|
protected:
|
|
65
|
-
std::array<winrt::Microsoft::ReactNative::Composition::
|
|
100
|
+
std::array<winrt::Microsoft::ReactNative::Composition::ISpriteVisual, SpecialBorderLayerCount>
|
|
66
101
|
FindSpecialBorderLayers() const noexcept;
|
|
67
102
|
bool TryUpdateSpecialBorderLayers(
|
|
68
|
-
std::array<winrt::Microsoft::ReactNative::Composition::
|
|
103
|
+
std::array<winrt::Microsoft::ReactNative::Composition::ISpriteVisual, SpecialBorderLayerCount> &spBorderVisuals,
|
|
69
104
|
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
70
105
|
const facebook::react::ViewProps &viewProps) noexcept;
|
|
71
106
|
void UpdateSpecialBorderLayers(
|
|
@@ -111,11 +146,20 @@ struct CompositionViewComponentView : public CompositionBaseComponentView {
|
|
|
111
146
|
void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
|
|
112
147
|
void prepareForRecycle() noexcept override;
|
|
113
148
|
bool focusable() const noexcept override;
|
|
149
|
+
void onKeyDown(
|
|
150
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
151
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
|
|
152
|
+
void onKeyUp(
|
|
153
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
154
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
|
|
155
|
+
std::string DefaultControlType() const noexcept override;
|
|
114
156
|
|
|
115
157
|
facebook::react::Props::Shared props() noexcept override;
|
|
116
158
|
|
|
117
|
-
facebook::react::Tag hitTest(
|
|
118
|
-
|
|
159
|
+
facebook::react::Tag hitTest(
|
|
160
|
+
facebook::react::Point pt,
|
|
161
|
+
facebook::react::Point &localPt,
|
|
162
|
+
bool ignorePointerEvents = false) const noexcept override;
|
|
119
163
|
|
|
120
164
|
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
121
165
|
|
|
@@ -126,7 +170,7 @@ struct CompositionViewComponentView : public CompositionBaseComponentView {
|
|
|
126
170
|
|
|
127
171
|
private:
|
|
128
172
|
facebook::react::SharedViewProps m_props;
|
|
129
|
-
winrt::Microsoft::ReactNative::Composition::
|
|
173
|
+
winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual{nullptr};
|
|
130
174
|
};
|
|
131
175
|
|
|
132
176
|
} // namespace Microsoft::ReactNative
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#include <winrt/Windows.UI.Composition.h>
|
|
21
21
|
#include <winrt/Windows.Web.Http.Headers.h>
|
|
22
22
|
#include <winrt/Windows.Web.Http.h>
|
|
23
|
+
#include "Composition/AutoDraw.h"
|
|
23
24
|
#include "CompositionDynamicAutomationProvider.h"
|
|
24
25
|
#include "CompositionHelpers.h"
|
|
25
26
|
|
|
@@ -107,12 +108,15 @@ void ImageComponentView::updateProps(
|
|
|
107
108
|
|
|
108
109
|
ensureVisual();
|
|
109
110
|
|
|
111
|
+
// update BaseComponentView props
|
|
112
|
+
updateShadowProps(oldImageProps, newImageProps, m_visual);
|
|
113
|
+
updateTransformProps(oldImageProps, newImageProps, m_visual);
|
|
110
114
|
updateBorderProps(oldImageProps, newImageProps);
|
|
111
115
|
|
|
112
116
|
if (oldImageProps.backgroundColor != newImageProps.backgroundColor ||
|
|
113
117
|
oldImageProps.blurRadius != newImageProps.blurRadius || oldImageProps.tintColor != newImageProps.tintColor ||
|
|
114
118
|
oldImageProps.resizeMode != newImageProps.resizeMode) {
|
|
115
|
-
m_drawingSurface = nullptr; // TODO
|
|
119
|
+
m_drawingSurface = nullptr; // TODO don't need to recreate the surface just to redraw...
|
|
116
120
|
}
|
|
117
121
|
|
|
118
122
|
if (oldImageProps.opacity != newImageProps.opacity) {
|
|
@@ -129,7 +133,7 @@ void ImageComponentView::updateState(
|
|
|
129
133
|
auto newImageState = std::static_pointer_cast<facebook::react::ImageShadowNode::ConcreteState const>(state);
|
|
130
134
|
|
|
131
135
|
if (!m_imageResponseObserver) {
|
|
132
|
-
// Should ViewComponents enable_shared_from_this? then we
|
|
136
|
+
// Should ViewComponents enable_shared_from_this? then we don't need this dance to get a shared_ptr
|
|
133
137
|
std::shared_ptr<FabricUIManager> fabricuiManager =
|
|
134
138
|
::Microsoft::ReactNative::FabricUIManager::FromProperties(m_context.Properties());
|
|
135
139
|
auto componentViewDescriptor = fabricuiManager->GetViewRegistry().componentViewDescriptorWithTag(m_tag);
|
|
@@ -183,7 +187,12 @@ void ImageComponentView::updateLayoutMetrics(
|
|
|
183
187
|
layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor});
|
|
184
188
|
}
|
|
185
189
|
|
|
186
|
-
void ImageComponentView::finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept {
|
|
190
|
+
void ImageComponentView::finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept {
|
|
191
|
+
if (m_needsBorderUpdate) {
|
|
192
|
+
m_needsBorderUpdate = false;
|
|
193
|
+
UpdateSpecialBorderLayers(m_layoutMetrics, *m_props);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
187
196
|
|
|
188
197
|
void ImageComponentView::OnRenderingDeviceLost() noexcept {
|
|
189
198
|
// Draw the text again
|
|
@@ -213,34 +222,32 @@ void ImageComponentView::ensureDrawingSurface() noexcept {
|
|
|
213
222
|
drawingSurfaceSize = {drawingSurfaceSize.Width + bmpGrowth, drawingSurfaceSize.Height + bmpGrowth};
|
|
214
223
|
}
|
|
215
224
|
|
|
216
|
-
m_drawingSurface = m_compContext.
|
|
225
|
+
m_drawingSurface = m_compContext.CreateDrawingSurfaceBrush(
|
|
217
226
|
drawingSurfaceSize,
|
|
218
227
|
winrt::Windows::Graphics::DirectX::DirectXPixelFormat::B8G8R8A8UIntNormalized,
|
|
219
228
|
winrt::Windows::Graphics::DirectX::DirectXAlphaMode::Premultiplied);
|
|
220
229
|
|
|
221
230
|
DrawImage();
|
|
222
231
|
|
|
223
|
-
auto surfaceBrush = m_compContext.CreateSurfaceBrush(m_drawingSurface);
|
|
224
|
-
|
|
225
232
|
switch (imageProps->resizeMode) {
|
|
226
233
|
case facebook::react::ImageResizeMode::Stretch:
|
|
227
|
-
|
|
234
|
+
m_drawingSurface.Stretch(winrt::Microsoft::ReactNative::Composition::CompositionStretch::Fill);
|
|
228
235
|
break;
|
|
229
236
|
case facebook::react::ImageResizeMode::Cover:
|
|
230
|
-
|
|
237
|
+
m_drawingSurface.Stretch(winrt::Microsoft::ReactNative::Composition::CompositionStretch::UniformToFill);
|
|
231
238
|
break;
|
|
232
239
|
case facebook::react::ImageResizeMode::Contain:
|
|
233
|
-
|
|
240
|
+
m_drawingSurface.Stretch(winrt::Microsoft::ReactNative::Composition::CompositionStretch::Uniform);
|
|
234
241
|
break;
|
|
235
242
|
case facebook::react::ImageResizeMode::Repeat:
|
|
236
243
|
// TODO - set AlignmentRatio back to 0.5f when switching between resizeModes once we no longer recreate the
|
|
237
244
|
// drawing surface on prop changes.
|
|
238
|
-
|
|
239
|
-
|
|
245
|
+
m_drawingSurface.HorizontalAlignmentRatio(0.0f);
|
|
246
|
+
m_drawingSurface.VerticalAlignmentRatio(0.0f);
|
|
240
247
|
// Repeat and Center use the same Stretch logic, so we can fallthrough here.
|
|
241
248
|
[[fallthrough]];
|
|
242
249
|
case facebook::react::ImageResizeMode::Center: {
|
|
243
|
-
|
|
250
|
+
m_drawingSurface.Stretch(
|
|
244
251
|
(height < frame.height && width < frame.width)
|
|
245
252
|
? winrt::Microsoft::ReactNative::Composition::CompositionStretch::None
|
|
246
253
|
: winrt::Microsoft::ReactNative::Composition::CompositionStretch::Uniform);
|
|
@@ -250,7 +257,7 @@ void ImageComponentView::ensureDrawingSurface() noexcept {
|
|
|
250
257
|
assert(false);
|
|
251
258
|
}
|
|
252
259
|
|
|
253
|
-
m_visual.Brush(
|
|
260
|
+
m_visual.Brush(m_drawingSurface);
|
|
254
261
|
}
|
|
255
262
|
}
|
|
256
263
|
|
|
@@ -258,15 +265,12 @@ void ImageComponentView::DrawImage() noexcept {
|
|
|
258
265
|
// Begin our update of the surface pixels. If this is our first update, we are required
|
|
259
266
|
// to specify the entire surface, which nullptr is shorthand for (but, as it works out,
|
|
260
267
|
// any time we make an update we touch the entire surface, so we always pass nullptr).
|
|
261
|
-
winrt::com_ptr<ID2D1DeviceContext> d2dDeviceContext;
|
|
262
268
|
POINT offset;
|
|
263
269
|
|
|
264
270
|
assert(m_context.UIDispatcher().HasThreadAccess());
|
|
265
271
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (CheckForDeviceRemoved(drawingSurfaceInterop->BeginDraw(d2dDeviceContext.put(), &offset))) {
|
|
272
|
+
::Microsoft::ReactNative::Composition::AutoDrawDrawingSurface autoDraw(m_drawingSurface, &offset);
|
|
273
|
+
if (auto d2dDeviceContext = autoDraw.GetRenderTarget()) {
|
|
270
274
|
winrt::com_ptr<ID2D1Bitmap1> bitmap;
|
|
271
275
|
winrt::check_hresult(d2dDeviceContext->CreateBitmapFromWicBitmap(m_wicbmp.get(), nullptr, bitmap.put()));
|
|
272
276
|
|
|
@@ -350,10 +354,6 @@ void ImageComponentView::DrawImage() noexcept {
|
|
|
350
354
|
// Restore old dpi setting
|
|
351
355
|
d2dDeviceContext->SetDpi(oldDpiX, oldDpiY);
|
|
352
356
|
}
|
|
353
|
-
|
|
354
|
-
// Our update is done. EndDraw never indicates rendering device removed, so any
|
|
355
|
-
// failure here is unexpected and, therefore, fatal.
|
|
356
|
-
winrt::check_hresult(drawingSurfaceInterop->EndDraw());
|
|
357
357
|
}
|
|
358
358
|
}
|
|
359
359
|
|
|
@@ -362,13 +362,15 @@ facebook::react::Props::Shared ImageComponentView::props() noexcept {
|
|
|
362
362
|
return m_props;
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
-
facebook::react::Tag ImageComponentView::hitTest(
|
|
366
|
-
|
|
365
|
+
facebook::react::Tag ImageComponentView::hitTest(
|
|
366
|
+
facebook::react::Point pt,
|
|
367
|
+
facebook::react::Point &localPt,
|
|
368
|
+
bool ignorePointerEvents) const noexcept {
|
|
367
369
|
facebook::react::Point ptLocal{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
368
370
|
|
|
369
371
|
facebook::react::Tag targetTag;
|
|
370
372
|
|
|
371
|
-
if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
373
|
+
if ((ignorePointerEvents || m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
372
374
|
m_props->pointerEvents == facebook::react::PointerEventsMode::BoxNone) &&
|
|
373
375
|
std::any_of(m_children.rbegin(), m_children.rend(), [&targetTag, &ptLocal, &localPt](auto child) {
|
|
374
376
|
targetTag = static_cast<const CompositionBaseComponentView *>(child)->hitTest(ptLocal, localPt);
|
|
@@ -376,7 +378,7 @@ facebook::react::Tag ImageComponentView::hitTest(facebook::react::Point pt, face
|
|
|
376
378
|
}))
|
|
377
379
|
return targetTag;
|
|
378
380
|
|
|
379
|
-
if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
381
|
+
if ((ignorePointerEvents || m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
380
382
|
m_props->pointerEvents == facebook::react::PointerEventsMode::BoxOnly) &&
|
|
381
383
|
ptLocal.x >= 0 && ptLocal.x <= m_layoutMetrics.frame.size.width && ptLocal.y >= 0 &&
|
|
382
384
|
ptLocal.y <= m_layoutMetrics.frame.size.height) {
|
|
@@ -402,6 +404,10 @@ bool ImageComponentView::focusable() const noexcept {
|
|
|
402
404
|
return m_props->focusable;
|
|
403
405
|
}
|
|
404
406
|
|
|
407
|
+
std::string ImageComponentView::DefaultControlType() const noexcept {
|
|
408
|
+
return "image";
|
|
409
|
+
}
|
|
410
|
+
|
|
405
411
|
std::shared_ptr<ImageComponentView> ImageComponentView::Create(
|
|
406
412
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
407
413
|
facebook::react::Tag tag,
|
|
@@ -49,9 +49,11 @@ struct ImageComponentView : CompositionBaseComponentView {
|
|
|
49
49
|
facebook::react::Props::Shared props() noexcept override;
|
|
50
50
|
void OnRenderingDeviceLost() noexcept override;
|
|
51
51
|
|
|
52
|
-
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt
|
|
52
|
+
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt, bool ignorePointerEvents)
|
|
53
|
+
const noexcept override;
|
|
53
54
|
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
54
55
|
bool focusable() const noexcept override;
|
|
56
|
+
virtual std::string DefaultControlType() const noexcept;
|
|
55
57
|
|
|
56
58
|
private:
|
|
57
59
|
ImageComponentView(
|
|
@@ -83,9 +85,9 @@ struct ImageComponentView : CompositionBaseComponentView {
|
|
|
83
85
|
|
|
84
86
|
facebook::react::SharedViewProps m_props;
|
|
85
87
|
|
|
86
|
-
winrt::Microsoft::ReactNative::Composition::
|
|
88
|
+
winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual{nullptr};
|
|
87
89
|
winrt::Microsoft::ReactNative::ReactContext m_context;
|
|
88
|
-
winrt::Microsoft::ReactNative::Composition::
|
|
90
|
+
winrt::Microsoft::ReactNative::Composition::IDrawingSurfaceBrush m_drawingSurface;
|
|
89
91
|
winrt::com_ptr<IWICBitmap> m_wicbmp;
|
|
90
92
|
std::shared_ptr<WindowsImageResponseObserver> m_imageResponseObserver;
|
|
91
93
|
facebook::react::ImageShadowNode::ConcreteState::Shared m_state;
|