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
|
@@ -42,7 +42,7 @@ facebook::react::ShadowNode::Shared AbiViewComponentDescriptor::createShadowNode
|
|
|
42
42
|
facebook::react::ShadowNodeFamily::Shared const &family) const {
|
|
43
43
|
auto shadowNode = std::make_shared<ShadowNodeT>(fragment, family, getTraits());
|
|
44
44
|
|
|
45
|
-
adopt(shadowNode);
|
|
45
|
+
adopt(*shadowNode);
|
|
46
46
|
|
|
47
47
|
return shadowNode;
|
|
48
48
|
}
|
|
@@ -52,7 +52,7 @@ facebook::react::ShadowNode::Unshared AbiViewComponentDescriptor::cloneShadowNod
|
|
|
52
52
|
const facebook::react::ShadowNodeFragment &fragment) const {
|
|
53
53
|
auto shadowNode = std::make_shared<ShadowNodeT>(sourceShadowNode, fragment);
|
|
54
54
|
|
|
55
|
-
adopt(shadowNode);
|
|
55
|
+
adopt(*shadowNode);
|
|
56
56
|
return shadowNode;
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -101,22 +101,8 @@ facebook::react::Props::Shared AbiViewComponentDescriptor::cloneProps(
|
|
|
101
101
|
return shadowNodeProps;
|
|
102
102
|
};
|
|
103
103
|
|
|
104
|
-
facebook::react::Props::Shared AbiViewComponentDescriptor::interpolateProps(
|
|
105
|
-
const facebook::react::PropsParserContext &context,
|
|
106
|
-
facebook::react::Float animationProgress,
|
|
107
|
-
const facebook::react::Props::Shared &props,
|
|
108
|
-
const facebook::react::Props::Shared &newProps) const {
|
|
109
|
-
facebook::react::Props::Shared interpolatedPropsShared = cloneProps(context, newProps, {});
|
|
110
|
-
|
|
111
|
-
if (ConcreteShadowNode::BaseTraits().check(facebook::react::ShadowNodeTraits::Trait::ViewKind)) {
|
|
112
|
-
facebook::react::interpolateViewProps(animationProgress, props, newProps, interpolatedPropsShared);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return interpolatedPropsShared;
|
|
116
|
-
};
|
|
117
|
-
|
|
118
104
|
facebook::react::State::Shared AbiViewComponentDescriptor::createInitialState(
|
|
119
|
-
facebook::react::
|
|
105
|
+
facebook::react::Props::Shared const &props,
|
|
120
106
|
facebook::react::ShadowNodeFamily::Shared const &family) const {
|
|
121
107
|
if (std::is_same<ConcreteStateData, facebook::react::StateData>::value) {
|
|
122
108
|
// Default case: Returning `null` for nodes that don't use `State`.
|
|
@@ -124,9 +110,7 @@ facebook::react::State::Shared AbiViewComponentDescriptor::createInitialState(
|
|
|
124
110
|
}
|
|
125
111
|
|
|
126
112
|
return std::make_shared<ConcreteState>(
|
|
127
|
-
std::make_shared<ConcreteStateData const>(ConcreteShadowNode::initialStateData(
|
|
128
|
-
fragment, facebook::react::ShadowNodeFamilyFragment::build(*family), *this)),
|
|
129
|
-
family);
|
|
113
|
+
std::make_shared<ConcreteStateData const>(ConcreteShadowNode::initialStateData(props, family, *this)), family);
|
|
130
114
|
}
|
|
131
115
|
|
|
132
116
|
facebook::react::State::Shared AbiViewComponentDescriptor::createState(
|
|
@@ -144,18 +128,21 @@ facebook::react::State::Shared AbiViewComponentDescriptor::createState(
|
|
|
144
128
|
}
|
|
145
129
|
|
|
146
130
|
facebook::react::ShadowNodeFamily::Shared AbiViewComponentDescriptor::createFamily(
|
|
147
|
-
facebook::react::ShadowNodeFamilyFragment const &fragment
|
|
148
|
-
facebook::react::SharedEventTarget eventTarget) const {
|
|
149
|
-
auto eventEmitter =
|
|
150
|
-
std::make_shared<ConcreteEventEmitter const>(std::move(eventTarget), fragment.tag, eventDispatcher_);
|
|
131
|
+
facebook::react::ShadowNodeFamilyFragment const &fragment) const {
|
|
151
132
|
return std::make_shared<facebook::react::ShadowNodeFamily>(
|
|
152
|
-
facebook::react::ShadowNodeFamilyFragment{fragment.tag, fragment.surfaceId,
|
|
133
|
+
facebook::react::ShadowNodeFamilyFragment{fragment.tag, fragment.surfaceId, fragment.instanceHandle},
|
|
153
134
|
eventDispatcher_,
|
|
154
135
|
*this);
|
|
155
136
|
}
|
|
156
137
|
|
|
138
|
+
facebook::react::SharedEventEmitter AbiViewComponentDescriptor::createEventEmitter(
|
|
139
|
+
facebook::react::InstanceHandle::Shared const &instanceHandle) const {
|
|
140
|
+
return std::make_shared<ConcreteEventEmitter const>(
|
|
141
|
+
std::make_shared<facebook::react::EventTarget>(instanceHandle), eventDispatcher_);
|
|
142
|
+
}
|
|
143
|
+
|
|
157
144
|
/*
|
|
158
|
-
* Called
|
|
145
|
+
* Called immediately after `ShadowNode` is created or cloned.
|
|
159
146
|
*
|
|
160
147
|
* Override this method to pass information from custom `ComponentDescriptor`
|
|
161
148
|
* to new instance of `ShadowNode`.
|
|
@@ -166,9 +153,9 @@ facebook::react::ShadowNodeFamily::Shared AbiViewComponentDescriptor::createFami
|
|
|
166
153
|
* - Set `ShadowNode`'s size from state in
|
|
167
154
|
* `ModalHostViewComponentDescriptor`.
|
|
168
155
|
*/
|
|
169
|
-
void AbiViewComponentDescriptor::adopt(facebook::react::ShadowNode
|
|
156
|
+
void AbiViewComponentDescriptor::adopt(facebook::react::ShadowNode &shadowNode) const {
|
|
170
157
|
// Default implementation does nothing.
|
|
171
|
-
react_native_assert(shadowNode
|
|
158
|
+
react_native_assert(shadowNode.getComponentHandle() == getComponentHandle());
|
|
172
159
|
}
|
|
173
160
|
|
|
174
161
|
} // namespace Microsoft::ReactNative
|
|
@@ -53,25 +53,22 @@ class AbiViewComponentDescriptor : public facebook::react::ComponentDescriptor {
|
|
|
53
53
|
const facebook::react::PropsParserContext &context,
|
|
54
54
|
const facebook::react::Props::Shared &props,
|
|
55
55
|
const facebook::react::RawProps &rawProps) const override;
|
|
56
|
-
facebook::react::Props::Shared interpolateProps(
|
|
57
|
-
const facebook::react::PropsParserContext &context,
|
|
58
|
-
facebook::react::Float animationProgress,
|
|
59
|
-
const facebook::react::Props::Shared &props,
|
|
60
|
-
const facebook::react::Props::Shared &newProps) const override;
|
|
61
56
|
virtual facebook::react::State::Shared createInitialState(
|
|
62
|
-
facebook::react::
|
|
57
|
+
facebook::react::Props::Shared const &props,
|
|
63
58
|
facebook::react::ShadowNodeFamily::Shared const &family) const override;
|
|
64
59
|
virtual facebook::react::State::Shared createState(
|
|
65
60
|
facebook::react::ShadowNodeFamily const &family,
|
|
66
61
|
facebook::react::StateData::Shared const &data) const override;
|
|
67
62
|
|
|
68
63
|
facebook::react::ShadowNodeFamily::Shared createFamily(
|
|
69
|
-
facebook::react::ShadowNodeFamilyFragment const &fragment
|
|
70
|
-
|
|
64
|
+
facebook::react::ShadowNodeFamilyFragment const &fragment) const override;
|
|
65
|
+
|
|
66
|
+
facebook::react::SharedEventEmitter createEventEmitter(
|
|
67
|
+
facebook::react::InstanceHandle::Shared const &instanceHandle) const override;
|
|
71
68
|
|
|
72
69
|
protected:
|
|
73
70
|
/*
|
|
74
|
-
* Called
|
|
71
|
+
* Called immediately after `ShadowNode` is created or cloned.
|
|
75
72
|
*
|
|
76
73
|
* Override this method to pass information from custom `ComponentDescriptor`
|
|
77
74
|
* to new instance of `ShadowNode`.
|
|
@@ -82,7 +79,7 @@ class AbiViewComponentDescriptor : public facebook::react::ComponentDescriptor {
|
|
|
82
79
|
* - Set `ShadowNode`'s size from state in
|
|
83
80
|
* `ModalHostViewComponentDescriptor`.
|
|
84
81
|
*/
|
|
85
|
-
virtual void adopt(facebook::react::ShadowNode
|
|
82
|
+
virtual void adopt(facebook::react::ShadowNode &shadowNode) const;
|
|
86
83
|
|
|
87
84
|
private:
|
|
88
85
|
winrt::Microsoft::ReactNative::IReactViewComponentBuilder m_builder;
|
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
#include <functional/functor.h>
|
|
8
8
|
#include <inspectable.h>
|
|
9
9
|
#include <react/renderer/componentregistry/ComponentDescriptorProvider.h>
|
|
10
|
-
#include <react/renderer/components/view/
|
|
10
|
+
#include <react/renderer/components/view/ViewEventEmitter.h>
|
|
11
11
|
#include <react/renderer/components/view/ViewProps.h>
|
|
12
12
|
#include <react/renderer/core/LayoutMetrics.h>
|
|
13
13
|
|
|
14
|
+
#include <winrt/Microsoft.ReactNative.Composition.Input.h>
|
|
15
|
+
|
|
14
16
|
namespace Microsoft::ReactNative {
|
|
15
17
|
|
|
16
18
|
enum class RNComponentViewUpdateMask : std::uint_fast8_t {
|
|
@@ -27,6 +29,17 @@ DEFINE_ENUM_FLAG_OPERATORS(RNComponentViewUpdateMask);
|
|
|
27
29
|
|
|
28
30
|
struct RootComponentView;
|
|
29
31
|
|
|
32
|
+
struct BringIntoViewOptions {
|
|
33
|
+
bool AnimationDesired{false};
|
|
34
|
+
// NaN will bring the element fully into view aligned to the nearest edge of the viewport
|
|
35
|
+
float HorizontalAlignmentRatio{std::numeric_limits<float>::quiet_NaN()};
|
|
36
|
+
float HorizontalOffset{0};
|
|
37
|
+
std::optional<facebook::react::Rect> TargetRect;
|
|
38
|
+
// NaN will bring the element fully into view aligned to the nearest edge of the viewport
|
|
39
|
+
float VerticalAlignmentRatio{std::numeric_limits<float>::quiet_NaN()};
|
|
40
|
+
float VerticalOffset{0};
|
|
41
|
+
};
|
|
42
|
+
|
|
30
43
|
struct IComponentView {
|
|
31
44
|
virtual std::vector<facebook::react::ComponentDescriptorProvider>
|
|
32
45
|
supplementalComponentDescriptorProviders() noexcept = 0;
|
|
@@ -56,13 +69,38 @@ struct IComponentView {
|
|
|
56
69
|
virtual RECT getClientRect() const noexcept = 0;
|
|
57
70
|
virtual void onFocusLost() noexcept = 0;
|
|
58
71
|
virtual void onFocusGained() noexcept = 0;
|
|
72
|
+
virtual void onPointerEntered(
|
|
73
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
|
|
74
|
+
virtual void onPointerExited(
|
|
75
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
|
|
76
|
+
virtual void onPointerPressed(
|
|
77
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
|
|
78
|
+
virtual void onPointerReleased(
|
|
79
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
|
|
80
|
+
virtual void onPointerMoved(
|
|
81
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
|
|
82
|
+
virtual void onPointerWheelChanged(
|
|
83
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
|
|
84
|
+
virtual void onKeyDown(
|
|
85
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
86
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept = 0;
|
|
87
|
+
virtual void onKeyUp(
|
|
88
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
89
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept = 0;
|
|
59
90
|
virtual bool focusable() const noexcept = 0;
|
|
60
|
-
virtual facebook::react::
|
|
61
|
-
virtual facebook::react::
|
|
91
|
+
virtual facebook::react::SharedViewEventEmitter eventEmitterAtPoint(facebook::react::Point pt) noexcept = 0;
|
|
92
|
+
virtual facebook::react::SharedViewEventEmitter eventEmitter() noexcept = 0;
|
|
62
93
|
virtual facebook::react::Tag tag() const noexcept = 0;
|
|
63
|
-
|
|
94
|
+
// By default, hitTests according the pointerEvents prop on the Component.
|
|
95
|
+
// If ignorePointerEvents = true, all Components are treated as valid targets
|
|
96
|
+
virtual facebook::react::Tag hitTest(
|
|
97
|
+
facebook::react::Point pt,
|
|
98
|
+
facebook::react::Point &localPt,
|
|
99
|
+
bool ignorePointerEvents = false) const noexcept = 0;
|
|
64
100
|
virtual int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept = 0;
|
|
65
101
|
virtual winrt::IInspectable EnsureUiaProvider() noexcept = 0;
|
|
102
|
+
// Notify up the tree to bring the rect into view by scrolling as needed
|
|
103
|
+
virtual void StartBringIntoView(BringIntoViewOptions &&args) noexcept = 0;
|
|
66
104
|
};
|
|
67
105
|
|
|
68
106
|
// Run fn on all nodes of the component view tree starting from this one until fn returns true
|
|
@@ -13,23 +13,25 @@
|
|
|
13
13
|
namespace Microsoft::ReactNative {
|
|
14
14
|
|
|
15
15
|
AbiCompositionViewComponentView::AbiCompositionViewComponentView(
|
|
16
|
+
const winrt::Microsoft::ReactNative::IReactContext &reactContext,
|
|
16
17
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
17
18
|
facebook::react::Tag tag,
|
|
18
19
|
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder)
|
|
19
20
|
: Super(compContext, tag), m_builder(builder) {
|
|
20
21
|
static auto const defaultProps = std::make_shared<AbiViewProps const>();
|
|
21
22
|
m_props = defaultProps;
|
|
22
|
-
m_handle = Builder().CreateView(compContext);
|
|
23
|
+
m_handle = Builder().CreateView(reactContext, compContext);
|
|
23
24
|
m_visual = Builder().CreateVisual(m_handle);
|
|
24
25
|
OuterVisual().InsertAt(m_visual, 0);
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
std::shared_ptr<AbiCompositionViewComponentView> AbiCompositionViewComponentView::Create(
|
|
29
|
+
const winrt::Microsoft::ReactNative::IReactContext &reactContext,
|
|
28
30
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
29
31
|
facebook::react::Tag tag,
|
|
30
32
|
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder) noexcept {
|
|
31
33
|
return std::shared_ptr<AbiCompositionViewComponentView>(
|
|
32
|
-
new AbiCompositionViewComponentView(compContext, tag, builder));
|
|
34
|
+
new AbiCompositionViewComponentView(reactContext, compContext, tag, builder));
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
winrt::Microsoft::ReactNative::Composition::ReactCompositionViewComponentBuilder &
|
|
@@ -103,6 +105,56 @@ int64_t AbiCompositionViewComponentView::sendMessage(uint32_t msg, uint64_t wPar
|
|
|
103
105
|
return Builder().SendMessage(m_handle, msg, wParam, lParam);
|
|
104
106
|
}
|
|
105
107
|
|
|
108
|
+
void AbiCompositionViewComponentView::onKeyDown(
|
|
109
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
110
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept {
|
|
111
|
+
Builder().OnKeyDown(m_handle, source, args);
|
|
112
|
+
Super::onKeyDown(source, args);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
void AbiCompositionViewComponentView::onKeyUp(
|
|
116
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
117
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept {
|
|
118
|
+
Builder().OnKeyUp(m_handle, source, args);
|
|
119
|
+
Super::onKeyUp(source, args);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
void AbiCompositionViewComponentView::onPointerEntered(
|
|
123
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
124
|
+
Builder().OnPointerEntered(m_handle, args);
|
|
125
|
+
Super::onPointerEntered(args);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
void AbiCompositionViewComponentView::onPointerExited(
|
|
129
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
130
|
+
Builder().OnPointerExited(m_handle, args);
|
|
131
|
+
Super::onPointerExited(args);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
void AbiCompositionViewComponentView::onPointerPressed(
|
|
135
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
136
|
+
Builder().OnPointerPressed(m_handle, args);
|
|
137
|
+
Super::onPointerPressed(args);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
void AbiCompositionViewComponentView::onPointerReleased(
|
|
141
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
142
|
+
Builder().OnPointerReleased(m_handle, args);
|
|
143
|
+
Super::onPointerReleased(args);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
void AbiCompositionViewComponentView::onPointerMoved(
|
|
147
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
148
|
+
Builder().OnPointerMoved(m_handle, args);
|
|
149
|
+
Super::onPointerMoved(args);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
void AbiCompositionViewComponentView::onPointerWheelChanged(
|
|
153
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
154
|
+
Builder().OnPointerWheelChanged(m_handle, args);
|
|
155
|
+
Super::onPointerWheelChanged(args);
|
|
156
|
+
}
|
|
157
|
+
|
|
106
158
|
std::vector<facebook::react::ComponentDescriptorProvider>
|
|
107
159
|
AbiCompositionViewComponentView::supplementalComponentDescriptorProviders() noexcept {
|
|
108
160
|
return {};
|
|
@@ -119,10 +171,11 @@ winrt::Microsoft::ReactNative::Composition::IVisual AbiCompositionViewComponentV
|
|
|
119
171
|
|
|
120
172
|
facebook::react::Tag AbiCompositionViewComponentView::hitTest(
|
|
121
173
|
facebook::react::Point pt,
|
|
122
|
-
facebook::react::Point &localPt
|
|
174
|
+
facebook::react::Point &localPt,
|
|
175
|
+
bool ignorePointerEvents) const noexcept {
|
|
123
176
|
facebook::react::Point ptLocal{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
124
177
|
|
|
125
|
-
if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
178
|
+
if ((ignorePointerEvents || m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
126
179
|
m_props->pointerEvents == facebook::react::PointerEventsMode::BoxOnly) &&
|
|
127
180
|
ptLocal.x >= 0 && ptLocal.x <= m_layoutMetrics.frame.size.width && ptLocal.y >= 0 &&
|
|
128
181
|
ptLocal.y <= m_layoutMetrics.frame.size.height) {
|
|
@@ -19,6 +19,7 @@ struct AbiCompositionViewComponentView : CompositionBaseComponentView {
|
|
|
19
19
|
using Super = CompositionBaseComponentView;
|
|
20
20
|
|
|
21
21
|
[[nodiscard]] static std::shared_ptr<AbiCompositionViewComponentView> Create(
|
|
22
|
+
const winrt::Microsoft::ReactNative::IReactContext &reactContext,
|
|
22
23
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
23
24
|
facebook::react::Tag tag,
|
|
24
25
|
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder) noexcept;
|
|
@@ -40,14 +41,34 @@ struct AbiCompositionViewComponentView : CompositionBaseComponentView {
|
|
|
40
41
|
void prepareForRecycle() noexcept override;
|
|
41
42
|
bool focusable() const noexcept override;
|
|
42
43
|
int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
|
|
44
|
+
void onKeyDown(
|
|
45
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
46
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
|
|
47
|
+
void onKeyUp(
|
|
48
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
|
|
49
|
+
const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
|
|
50
|
+
void onPointerEntered(
|
|
51
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
52
|
+
void onPointerExited(
|
|
53
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
54
|
+
void onPointerPressed(
|
|
55
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
56
|
+
void onPointerReleased(
|
|
57
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
58
|
+
void onPointerMoved(
|
|
59
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
60
|
+
void onPointerWheelChanged(
|
|
61
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
|
|
43
62
|
std::vector<facebook::react::ComponentDescriptorProvider> supplementalComponentDescriptorProviders() noexcept
|
|
44
63
|
override;
|
|
45
64
|
facebook::react::Props::Shared props() noexcept override;
|
|
46
|
-
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt
|
|
65
|
+
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt, bool ignorePointerEvents)
|
|
66
|
+
const noexcept override;
|
|
47
67
|
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
48
68
|
|
|
49
69
|
private:
|
|
50
70
|
AbiCompositionViewComponentView(
|
|
71
|
+
const winrt::Microsoft::ReactNative::IReactContext &reactContext,
|
|
51
72
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
52
73
|
facebook::react::Tag tag,
|
|
53
74
|
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder);
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "ActivityIndicatorComponentView.h"
|
|
7
|
+
#include "CompositionDynamicAutomationProvider.h"
|
|
8
|
+
|
|
9
|
+
#include <Windows.UI.Composition.h>
|
|
10
|
+
#include <Windows.h>
|
|
11
|
+
#include "CompositionContextHelper.h"
|
|
12
|
+
|
|
13
|
+
namespace Microsoft::ReactNative {
|
|
14
|
+
|
|
15
|
+
std::shared_ptr<ActivityIndicatorComponentView> ActivityIndicatorComponentView::Create(
|
|
16
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
17
|
+
facebook::react::Tag tag,
|
|
18
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept {
|
|
19
|
+
return std::shared_ptr<ActivityIndicatorComponentView>(
|
|
20
|
+
new ActivityIndicatorComponentView(compContext, tag, reactContext));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
ActivityIndicatorComponentView::ActivityIndicatorComponentView(
|
|
24
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
25
|
+
facebook::react::Tag tag,
|
|
26
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext)
|
|
27
|
+
: Super(compContext, tag), m_context(reactContext) {
|
|
28
|
+
m_props = std::make_shared<facebook::react::ActivityIndicatorViewProps const>();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
void ActivityIndicatorComponentView::mountChildComponentView(
|
|
32
|
+
IComponentView &childComponentView,
|
|
33
|
+
uint32_t index) noexcept {
|
|
34
|
+
assert(false);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
void ActivityIndicatorComponentView::unmountChildComponentView(
|
|
38
|
+
IComponentView &childComponentView,
|
|
39
|
+
uint32_t index) noexcept {
|
|
40
|
+
assert(false);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
void ActivityIndicatorComponentView::handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept {
|
|
44
|
+
Super::handleCommand(commandName, arg);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
void ActivityIndicatorComponentView::updateProps(
|
|
48
|
+
facebook::react::Props::Shared const &props,
|
|
49
|
+
facebook::react::Props::Shared const &oldProps) noexcept {
|
|
50
|
+
const auto oldViewProps = std::static_pointer_cast<const facebook::react::ActivityIndicatorViewProps>(m_props);
|
|
51
|
+
const auto newViewProps = std::static_pointer_cast<const facebook::react::ActivityIndicatorViewProps>(props);
|
|
52
|
+
|
|
53
|
+
ensureVisual();
|
|
54
|
+
|
|
55
|
+
// update color if needed
|
|
56
|
+
if (newViewProps->color && (!oldProps || newViewProps->color != oldViewProps->color)) {
|
|
57
|
+
m_ActivityIndicatorVisual.Color(newViewProps->color.AsWindowsColor());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (newViewProps->animating != oldViewProps->animating) {
|
|
61
|
+
m_ActivityIndicatorVisual.IsVisible(newViewProps->animating);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
updateBorderProps(*oldViewProps, *newViewProps);
|
|
65
|
+
m_props = std::static_pointer_cast<facebook::react::ViewProps const>(props);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
void ActivityIndicatorComponentView::updateState(
|
|
69
|
+
facebook::react::State::Shared const &state,
|
|
70
|
+
facebook::react::State::Shared const &oldState) noexcept {}
|
|
71
|
+
|
|
72
|
+
void ActivityIndicatorComponentView::updateLayoutMetrics(
|
|
73
|
+
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
74
|
+
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept {
|
|
75
|
+
// Set Position & Size Properties
|
|
76
|
+
ensureVisual();
|
|
77
|
+
|
|
78
|
+
if ((layoutMetrics.displayType != m_layoutMetrics.displayType)) {
|
|
79
|
+
OuterVisual().IsVisible(layoutMetrics.displayType != facebook::react::DisplayType::None);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
updateBorderLayoutMetrics(layoutMetrics, *m_props);
|
|
83
|
+
m_layoutMetrics = layoutMetrics;
|
|
84
|
+
|
|
85
|
+
UpdateCenterPropertySet();
|
|
86
|
+
m_visual.Size(
|
|
87
|
+
{layoutMetrics.frame.size.width * layoutMetrics.pointScaleFactor,
|
|
88
|
+
layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
void ActivityIndicatorComponentView::finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept {}
|
|
92
|
+
|
|
93
|
+
void ActivityIndicatorComponentView::prepareForRecycle() noexcept {}
|
|
94
|
+
|
|
95
|
+
facebook::react::Props::Shared ActivityIndicatorComponentView::props() noexcept {
|
|
96
|
+
return m_props;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
void ActivityIndicatorComponentView::ensureVisual() noexcept {
|
|
100
|
+
if (!m_visual) {
|
|
101
|
+
m_visual = m_compContext.CreateSpriteVisual();
|
|
102
|
+
m_ActivityIndicatorVisual = m_compContext.CreateActivityVisual(); // creates COM control
|
|
103
|
+
|
|
104
|
+
OuterVisual().InsertAt(m_ActivityIndicatorVisual, 0);
|
|
105
|
+
OuterVisual().InsertAt(m_visual, 0);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
facebook::react::Tag ActivityIndicatorComponentView::hitTest(
|
|
110
|
+
facebook::react::Point pt,
|
|
111
|
+
facebook::react::Point &localPt,
|
|
112
|
+
bool ignorePointerEvents) const noexcept {
|
|
113
|
+
facebook::react::Point ptLocal{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
114
|
+
|
|
115
|
+
if ((ignorePointerEvents || m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
116
|
+
m_props->pointerEvents == facebook::react::PointerEventsMode::BoxOnly) &&
|
|
117
|
+
ptLocal.x >= 0 && ptLocal.x <= m_layoutMetrics.frame.size.width && ptLocal.y >= 0 &&
|
|
118
|
+
ptLocal.y <= m_layoutMetrics.frame.size.height) {
|
|
119
|
+
localPt = ptLocal;
|
|
120
|
+
return tag();
|
|
121
|
+
}
|
|
122
|
+
return -1;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
winrt::Microsoft::ReactNative::Composition::IVisual ActivityIndicatorComponentView::Visual() const noexcept {
|
|
126
|
+
return m_visual;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
bool ActivityIndicatorComponentView::focusable() const noexcept {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
std::string ActivityIndicatorComponentView::DefaultControlType() const noexcept {
|
|
134
|
+
return "progressbar";
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include <Fabric/ComponentView.h>
|
|
7
|
+
#include <Microsoft.ReactNative.Cxx/ReactContext.h>
|
|
8
|
+
|
|
9
|
+
#include "CompositionViewComponentView.h"
|
|
10
|
+
|
|
11
|
+
#include <react/components/rnwcore/ShadowNodes.h>
|
|
12
|
+
|
|
13
|
+
namespace Microsoft::ReactNative {
|
|
14
|
+
|
|
15
|
+
struct ActivityIndicatorComponentView;
|
|
16
|
+
|
|
17
|
+
struct ActivityIndicatorComponentView : CompositionBaseComponentView {
|
|
18
|
+
using Super = CompositionBaseComponentView;
|
|
19
|
+
|
|
20
|
+
[[nodiscard]] static std::shared_ptr<ActivityIndicatorComponentView> Create(
|
|
21
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
22
|
+
facebook::react::Tag tag,
|
|
23
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
|
|
24
|
+
|
|
25
|
+
void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
26
|
+
void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
27
|
+
void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept override;
|
|
28
|
+
void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
|
|
29
|
+
override;
|
|
30
|
+
void updateState(facebook::react::State::Shared const &state, facebook::react::State::Shared const &oldState) noexcept
|
|
31
|
+
override;
|
|
32
|
+
void updateLayoutMetrics(
|
|
33
|
+
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
34
|
+
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept override;
|
|
35
|
+
void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
|
|
36
|
+
void prepareForRecycle() noexcept override;
|
|
37
|
+
facebook::react::Props::Shared props() noexcept override;
|
|
38
|
+
bool focusable() const noexcept override;
|
|
39
|
+
|
|
40
|
+
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt, bool ignorePointerEvents)
|
|
41
|
+
const noexcept override;
|
|
42
|
+
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
43
|
+
virtual std::string DefaultControlType() const noexcept;
|
|
44
|
+
|
|
45
|
+
private:
|
|
46
|
+
ActivityIndicatorComponentView(
|
|
47
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
48
|
+
facebook::react::Tag tag,
|
|
49
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext);
|
|
50
|
+
|
|
51
|
+
void ensureVisual() noexcept;
|
|
52
|
+
|
|
53
|
+
winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual{nullptr};
|
|
54
|
+
winrt::Microsoft::ReactNative::Composition::IActivityVisual m_ActivityIndicatorVisual{nullptr};
|
|
55
|
+
winrt::Microsoft::ReactNative::ReactContext m_context;
|
|
56
|
+
facebook::react::SharedViewProps m_props;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#include <react/renderer/components/view/ViewShadowNode.h>
|
|
21
21
|
|
|
22
22
|
#include <Fabric/Composition/AbiCompositionViewComponentView.h>
|
|
23
|
+
#include <Fabric/Composition/ActivityIndicatorComponentView.h>
|
|
23
24
|
#include <Fabric/Composition/CompositionHelpers.h>
|
|
24
25
|
#include <Fabric/Composition/CompositionViewComponentView.h>
|
|
25
26
|
#include <Fabric/Composition/ImageComponentView.h>
|
|
@@ -57,8 +58,10 @@ ComponentViewDescriptor const &ComponentViewRegistry::dequeueComponentViewWithCo
|
|
|
57
58
|
view = WindowsTextInputComponentView::Create(compContext, tag, m_context);
|
|
58
59
|
} else if (componentHandle == facebook::react::SwitchShadowNode::Handle()) {
|
|
59
60
|
view = SwitchComponentView::Create(compContext, tag, m_context);
|
|
61
|
+
} else if (componentHandle == facebook::react::ActivityIndicatorViewShadowNode::Handle()) {
|
|
62
|
+
view = ActivityIndicatorComponentView::Create(compContext, tag, m_context);
|
|
60
63
|
} else if (componentHandle == facebook::react::RootShadowNode::Handle()) {
|
|
61
|
-
view = RootComponentView::Create(compContext, tag);
|
|
64
|
+
view = RootComponentView::Create(compContext, tag, m_context);
|
|
62
65
|
} else if (
|
|
63
66
|
componentHandle == facebook::react::RawTextShadowNode::Handle() ||
|
|
64
67
|
componentHandle == facebook::react::TextShadowNode::Handle()) {
|
|
@@ -70,7 +73,10 @@ ComponentViewDescriptor const &ComponentViewRegistry::dequeueComponentViewWithCo
|
|
|
70
73
|
auto descriptor =
|
|
71
74
|
WindowsComponentDescriptorRegistry::FromProperties(m_context.Properties())->GetDescriptor(componentHandle);
|
|
72
75
|
view = AbiCompositionViewComponentView::Create(
|
|
73
|
-
|
|
76
|
+
m_context.Handle(),
|
|
77
|
+
compContext,
|
|
78
|
+
tag,
|
|
79
|
+
descriptor.as<winrt::Microsoft::ReactNative::IReactViewComponentBuilder>());
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
auto it = m_registry.insert({tag, ComponentViewDescriptor{view}});
|