react-native-windows 0.71.7 → 0.72.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 +13 -3
- package/Directory.Build.props +19 -19
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.windows.js +2 -0
- package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/AppTheme/AppTheme.js +1 -0
- package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.windows.js +3 -2
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
- package/Libraries/Components/Flyout/Flyout.js +110 -51
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
- package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
- package/Libraries/Components/Glyph/Glyph.js +43 -30
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Popup/Popup.d.ts +41 -19
- package/Libraries/Components/Popup/Popup.js +86 -52
- package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +71 -45
- package/Libraries/Components/View/View.windows.js +40 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
- package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.windows.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +11 -5
- package/Libraries/Pressability/Pressability.windows.js +11 -4
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +142 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/Text.windows.js +48 -38
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.windows.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/platform-types.d.ts +3 -5
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
- package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
- package/Microsoft.ReactNative/IReactContext.cpp +4 -0
- package/Microsoft.ReactNative/IReactContext.h +1 -0
- package/Microsoft.ReactNative/IReactContext.idl +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
- package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
- package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
- package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
- package/Microsoft.ReactNative/QuirkSettings.h +5 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
- package/Microsoft.ReactNative/ReactApplication.h +3 -0
- package/Microsoft.ReactNative/ReactApplication.idl +3 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
- package/Microsoft.ReactNative/ReactHost/React.h +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
- package/Microsoft.ReactNative/RedBox.cpp +2 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
- package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
- package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
- package/Microsoft.ReactNative/ViewProps.idl +30 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
- package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
- package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
- package/Microsoft.ReactNative/XamlHelper.h +27 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +2 -3
- package/PropertySheets/Warnings.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
- package/ReactCommon/Yoga.cpp +60 -127
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
- package/Scripts/rnw-dependencies.ps1 +12 -4
- package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
- package/Shared/DevServerHelper.h +11 -2
- package/Shared/DevSettings.h +1 -0
- package/Shared/DevSupportManager.cpp +11 -1
- package/Shared/DevSupportManager.h +1 -0
- package/Shared/HermesRuntimeHolder.cpp +53 -30
- package/Shared/HermesRuntimeHolder.h +26 -11
- package/Shared/HermesSamplingProfiler.cpp +61 -8
- package/Shared/HermesSamplingProfiler.h +6 -3
- package/Shared/HermesShim.cpp +86 -82
- package/Shared/HermesShim.h +28 -8
- package/Shared/JSI/ChakraRuntime.cpp +7 -4
- package/Shared/JSI/ChakraRuntime.h +4 -4
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/Logging.cpp +1 -1
- package/Shared/Modules/BlobModule.cpp +3 -4
- package/Shared/Modules/BlobModule.h +0 -4
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
- package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
- package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
- package/Shared/OInstance.cpp +9 -2
- package/Shared/Shared.vcxitems +265 -58
- package/Shared/Shared.vcxitems.filters +312 -42
- package/Shared/V8JSIRuntimeHolder.cpp +1 -0
- package/Shared/V8JSIRuntimeHolder.h +7 -2
- package/codegen/NativeAppearanceSpec.g.h +9 -3
- package/codegen/NativeClipboardSpec.g.h +3 -3
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
- package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
- package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
- package/codegen/NativeIntentAndroidSpec.g.h +15 -15
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativePerformanceObserverSpec.g.h +48 -10
- package/codegen/NativePerformanceSpec.g.h +63 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
- package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
- package/codegen/NativeShareModuleSpec.g.h +9 -3
- package/codegen/NativeUIManagerSpec.g.h +12 -12
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
- package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
- package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
- package/codegen/react/components/rnwcore/Props.cpp +47 -48
- package/codegen/react/components/rnwcore/Props.h +59 -166
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
- package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
- package/codegen/react/components/rnwcore/States.h +15 -30
- package/codegen/rnwcoreJSI-generated.cpp +87 -25
- package/codegen/rnwcoreJSI.h +1077 -417
- package/generate.js +6 -1
- package/include/Include.vcxitems +0 -1
- package/include/Include.vcxitems.filters +0 -3
- package/index.js +56 -42
- package/index.windows.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/just-task.js +12 -5
- package/package.json +32 -29
- package/rn-get-polyfills.js +1 -1
- package/template/metro.config.js +2 -0
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/Flyout/Flyout.js.map +0 -1
- package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
- package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
- package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
- package/Libraries/Components/Glyph/Glyph.js.map +0 -1
- package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
- package/Libraries/Components/Glyph/GlyphProps.js +0 -8
- package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
- package/Libraries/Components/Popup/Popup.js.map +0 -1
- package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
- package/Libraries/Components/Popup/PopupProps.js +0 -8
- package/Libraries/Components/Popup/PopupProps.js.map +0 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
- package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
- package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
- package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
- package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
- package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
- package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
- package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
- package/Shared/AsyncStorage/StorageFileIO.h +0 -40
- package/Shared/AsyncStorageModule.h +0 -25
- package/Shared/Modules/AsyncStorageModule.cpp +0 -87
- package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
- package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
- package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
- package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
- package/types/index.d.ts +0 -216
- package/types/modules/BatchedBridge.d.ts +0 -32
- package/types/modules/Codegen.d.ts +0 -74
- package/types/modules/Devtools.d.ts +0 -31
- package/types/modules/LaunchScreen.d.ts +0 -18
- package/types/modules/globals.d.ts +0 -577
- package/types/private/TimerMixin.d.ts +0 -19
- package/types/private/Utilities.d.ts +0 -10
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
- package/types/public/Insets.d.ts +0 -15
- package/types/public/ReactNativeRenderer.d.ts +0 -149
- package/types/public/ReactNativeTypes.d.ts +0 -143
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "pch.h"
|
|
5
|
+
#include "ReactCompositionViewComponentBuilder.h"
|
|
6
|
+
#include <strsafe.h>
|
|
7
|
+
#include "DynamicWriter.h"
|
|
8
|
+
#include "ReactHost/MsoUtils.h"
|
|
9
|
+
|
|
10
|
+
namespace winrt::Microsoft::ReactNative::Composition {
|
|
11
|
+
|
|
12
|
+
//===========================================================================
|
|
13
|
+
// ReactCompositionViewComponentBuilder implementation
|
|
14
|
+
//===========================================================================
|
|
15
|
+
|
|
16
|
+
ReactCompositionViewComponentBuilder::ReactCompositionViewComponentBuilder() noexcept {}
|
|
17
|
+
|
|
18
|
+
void ReactCompositionViewComponentBuilder::SetCreateProps(ViewPropsFactory impl) noexcept {
|
|
19
|
+
m_propsFactory = impl;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
IComponentProps ReactCompositionViewComponentBuilder::CreateProps(ViewProps props) noexcept {
|
|
23
|
+
return m_propsFactory(props);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
void ReactCompositionViewComponentBuilder::SetCreateView(CompositionComponentFactory impl) noexcept {
|
|
27
|
+
m_createView = impl;
|
|
28
|
+
}
|
|
29
|
+
// (Object handle, String commandName, Microsoft.ReactNative.IJSValueReader args) => bool
|
|
30
|
+
void ReactCompositionViewComponentBuilder::SetCommandHandler(Composition::CommandHandler commandHandler) noexcept {
|
|
31
|
+
m_commandHandler = commandHandler;
|
|
32
|
+
}
|
|
33
|
+
// (Object handle, Microsoft.ReactNative.IComponentProps props) => void
|
|
34
|
+
void ReactCompositionViewComponentBuilder::SetPropsUpdater(PropsUpdater impl) noexcept {
|
|
35
|
+
m_propsUpdater = impl;
|
|
36
|
+
}
|
|
37
|
+
// (Object handle, LayoutMetrics metrics) => void
|
|
38
|
+
void ReactCompositionViewComponentBuilder::SetLayoutMetricsUpdater(LayoutMetricsUpdater impl) noexcept {
|
|
39
|
+
m_layoutMetricsUpdater = impl;
|
|
40
|
+
}
|
|
41
|
+
// (Object handle) => void
|
|
42
|
+
void ReactCompositionViewComponentBuilder::SetUpdateFinalizer(UpdateFinalizer impl) noexcept {
|
|
43
|
+
m_finalizer = impl;
|
|
44
|
+
}
|
|
45
|
+
// (Object handle) => IVisual
|
|
46
|
+
void ReactCompositionViewComponentBuilder::SetVisualCreator(Composition::VisualCreator impl) noexcept {
|
|
47
|
+
m_visualCreator = impl;
|
|
48
|
+
}
|
|
49
|
+
// (Object handle, UInt32 Msg, UInt64 WParam, Int64 LParam) => Int64
|
|
50
|
+
void ReactCompositionViewComponentBuilder::SetMessageHandler(MessageHandler impl) noexcept {
|
|
51
|
+
m_messageHandler = impl;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
winrt::Windows::Foundation::IInspectable ReactCompositionViewComponentBuilder::CreateView(
|
|
55
|
+
ICompositionContext context) noexcept {
|
|
56
|
+
return m_createView(context);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
bool ReactCompositionViewComponentBuilder::HandeCommand(
|
|
60
|
+
winrt::Windows::Foundation::IInspectable handle,
|
|
61
|
+
winrt::hstring commandName,
|
|
62
|
+
IJSValueReader args) noexcept {
|
|
63
|
+
if (!m_commandHandler) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return m_commandHandler(handle, commandName, args);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
void ReactCompositionViewComponentBuilder::UpdateProps(
|
|
70
|
+
winrt::Windows::Foundation::IInspectable handle,
|
|
71
|
+
IComponentProps props) noexcept {
|
|
72
|
+
if (m_propsUpdater) {
|
|
73
|
+
m_propsUpdater(handle, props);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
void ReactCompositionViewComponentBuilder::UpdateLayoutMetrics(
|
|
78
|
+
winrt::Windows::Foundation::IInspectable handle,
|
|
79
|
+
Composition::LayoutMetrics metrics) noexcept {
|
|
80
|
+
if (m_layoutMetricsUpdater) {
|
|
81
|
+
m_layoutMetricsUpdater(handle, metrics);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void ReactCompositionViewComponentBuilder::FinalizeUpdates(winrt::Windows::Foundation::IInspectable handle) noexcept {
|
|
86
|
+
if (m_finalizer) {
|
|
87
|
+
m_finalizer(handle);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
IVisual ReactCompositionViewComponentBuilder::CreateVisual(winrt::Windows::Foundation::IInspectable handle) noexcept {
|
|
92
|
+
return m_visualCreator(handle);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
int64_t ReactCompositionViewComponentBuilder::SendMessage(
|
|
96
|
+
winrt::Windows::Foundation::IInspectable handle,
|
|
97
|
+
uint32_t msg,
|
|
98
|
+
uint64_t wparam,
|
|
99
|
+
int64_t lparam) noexcept {
|
|
100
|
+
if (!m_messageHandler) {
|
|
101
|
+
return 0;
|
|
102
|
+
}
|
|
103
|
+
return m_messageHandler(handle, msg, wparam, lparam);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
} // namespace winrt::Microsoft::ReactNative::Composition
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#include <react/renderer/core/ReactPrimitives.h>
|
|
6
|
+
#include "winrt/Microsoft.ReactNative.Composition.h"
|
|
7
|
+
#include "winrt/Microsoft.ReactNative.h"
|
|
8
|
+
|
|
9
|
+
namespace winrt::Microsoft::ReactNative::Composition {
|
|
10
|
+
|
|
11
|
+
struct ReactCompositionViewComponentBuilder : winrt::implements<
|
|
12
|
+
ReactCompositionViewComponentBuilder,
|
|
13
|
+
IReactViewComponentBuilder,
|
|
14
|
+
Composition::IReactCompositionViewComponentBuilder> {
|
|
15
|
+
ReactCompositionViewComponentBuilder() noexcept;
|
|
16
|
+
|
|
17
|
+
public: // IReactViewComponentBuilder
|
|
18
|
+
void SetCreateProps(ViewPropsFactory impl) noexcept;
|
|
19
|
+
|
|
20
|
+
public: // Composition::IReactCompositionViewComponentBuilder
|
|
21
|
+
// (ICompositionContext) => Handle
|
|
22
|
+
void SetCreateView(CompositionComponentFactory impl) noexcept;
|
|
23
|
+
// (Object handle, String commandName, Microsoft.ReactNative.IJSValueReader args) => bool
|
|
24
|
+
void SetCommandHandler(CommandHandler commandHandler) noexcept;
|
|
25
|
+
// (Object handle, Microsoft.ReactNative.IComponentProps props) => void
|
|
26
|
+
void SetPropsUpdater(PropsUpdater impl) noexcept;
|
|
27
|
+
// (Object handle, LayoutMetrics metrics) => void
|
|
28
|
+
void SetLayoutMetricsUpdater(LayoutMetricsUpdater impl) noexcept;
|
|
29
|
+
// (Object handle) => void
|
|
30
|
+
void SetUpdateFinalizer(UpdateFinalizer impl) noexcept;
|
|
31
|
+
// (Object handle) => IVisual
|
|
32
|
+
void SetVisualCreator(VisualCreator impl) noexcept;
|
|
33
|
+
// (Object handle, UInt32 Msg, UInt64 WParam, Int64 LParam) => Int64
|
|
34
|
+
void SetMessageHandler(MessageHandler impl) noexcept;
|
|
35
|
+
|
|
36
|
+
public:
|
|
37
|
+
IComponentProps CreateProps(ViewProps props) noexcept;
|
|
38
|
+
|
|
39
|
+
winrt::Windows::Foundation::IInspectable CreateView(ICompositionContext context) noexcept;
|
|
40
|
+
bool HandeCommand(
|
|
41
|
+
winrt::Windows::Foundation::IInspectable handle,
|
|
42
|
+
winrt::hstring commandName,
|
|
43
|
+
IJSValueReader args) noexcept;
|
|
44
|
+
void UpdateProps(winrt::Windows::Foundation::IInspectable handle, IComponentProps props) noexcept;
|
|
45
|
+
void UpdateLayoutMetrics(winrt::Windows::Foundation::IInspectable handle, LayoutMetrics metrics) noexcept;
|
|
46
|
+
void FinalizeUpdates(winrt::Windows::Foundation::IInspectable handle) noexcept;
|
|
47
|
+
IVisual CreateVisual(winrt::Windows::Foundation::IInspectable handle) noexcept;
|
|
48
|
+
int64_t
|
|
49
|
+
SendMessage(winrt::Windows::Foundation::IInspectable handle, uint32_t Msg, uint64_t WParam, int64_t LParam) noexcept;
|
|
50
|
+
|
|
51
|
+
private:
|
|
52
|
+
ViewPropsFactory m_propsFactory;
|
|
53
|
+
|
|
54
|
+
CompositionComponentFactory m_createView;
|
|
55
|
+
CommandHandler m_commandHandler;
|
|
56
|
+
PropsUpdater m_propsUpdater;
|
|
57
|
+
LayoutMetricsUpdater m_layoutMetricsUpdater;
|
|
58
|
+
UpdateFinalizer m_finalizer;
|
|
59
|
+
VisualCreator m_visualCreator;
|
|
60
|
+
MessageHandler m_messageHandler;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
} // namespace winrt::Microsoft::ReactNative::Composition
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include "RootComponentView.h"
|
|
8
|
+
|
|
9
|
+
#include "CompositionRootAutomationProvider.h"
|
|
10
|
+
#include "CompositionRootView.h"
|
|
11
|
+
|
|
12
|
+
namespace Microsoft::ReactNative {
|
|
13
|
+
|
|
14
|
+
RootComponentView::RootComponentView(
|
|
15
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
16
|
+
facebook::react::Tag tag)
|
|
17
|
+
: Super(compContext, tag) {}
|
|
18
|
+
|
|
19
|
+
std::shared_ptr<RootComponentView> RootComponentView::Create(
|
|
20
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
21
|
+
facebook::react::Tag tag) noexcept {
|
|
22
|
+
return std::shared_ptr<RootComponentView>(new RootComponentView(compContext, tag));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
RootComponentView *RootComponentView::rootComponentView() noexcept {
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
IComponentView *RootComponentView::GetFocusedComponent() noexcept {
|
|
30
|
+
return m_focusedComponent;
|
|
31
|
+
}
|
|
32
|
+
void RootComponentView::SetFocusedComponent(IComponentView *value) noexcept {
|
|
33
|
+
if (m_focusedComponent == value)
|
|
34
|
+
return;
|
|
35
|
+
|
|
36
|
+
if (m_focusedComponent) {
|
|
37
|
+
m_focusedComponent->onFocusLost();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (value)
|
|
41
|
+
value->onFocusGained();
|
|
42
|
+
|
|
43
|
+
m_focusedComponent = value;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
IComponentView *NavigateFocusHelper(IComponentView &view, winrt::Microsoft::ReactNative::FocusNavigationReason reason) {
|
|
47
|
+
if (reason == winrt::Microsoft::ReactNative::FocusNavigationReason::First) {
|
|
48
|
+
if (view.focusable()) {
|
|
49
|
+
return &view;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
IComponentView *toFocus = nullptr;
|
|
53
|
+
|
|
54
|
+
Mso::Functor<bool(::Microsoft::ReactNative::IComponentView & v)> fn =
|
|
55
|
+
[reason, &toFocus](::Microsoft::ReactNative::IComponentView &v) noexcept
|
|
56
|
+
-> bool { return (toFocus = NavigateFocusHelper(v, reason)); };
|
|
57
|
+
|
|
58
|
+
if (view.runOnChildren(reason == winrt::Microsoft::ReactNative::FocusNavigationReason::First, fn)) {
|
|
59
|
+
return toFocus;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (reason == winrt::Microsoft::ReactNative::FocusNavigationReason::Last) {
|
|
63
|
+
if (view.focusable()) {
|
|
64
|
+
return &view;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return nullptr;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
bool RootComponentView::NavigateFocus(const winrt::Microsoft::ReactNative::FocusNavigationRequest &request) noexcept {
|
|
72
|
+
if (request.Reason() == winrt::Microsoft::ReactNative::FocusNavigationReason::Restore) {
|
|
73
|
+
// No-op for now
|
|
74
|
+
return m_focusedComponent != nullptr;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
auto view = NavigateFocusHelper(*this, request.Reason());
|
|
78
|
+
if (view) {
|
|
79
|
+
SetFocusedComponent(view);
|
|
80
|
+
}
|
|
81
|
+
return view != nullptr;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
bool RootComponentView::TryMoveFocus(bool next) noexcept {
|
|
85
|
+
if (!m_focusedComponent) {
|
|
86
|
+
return NavigateFocus(winrt::Microsoft::ReactNative::FocusNavigationRequest(
|
|
87
|
+
next ? winrt::Microsoft::ReactNative::FocusNavigationReason::First
|
|
88
|
+
: winrt::Microsoft::ReactNative::FocusNavigationReason::Last));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
Mso::Functor<bool(IComponentView &)> fn = [currentlyFocused = m_focusedComponent](IComponentView &view) noexcept {
|
|
92
|
+
if (&view == currentlyFocused)
|
|
93
|
+
return false;
|
|
94
|
+
if (view.focusable()) {
|
|
95
|
+
view.rootComponentView()->SetFocusedComponent(&view);
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
return walkTree(*m_focusedComponent, next, fn);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
winrt::IInspectable RootComponentView::EnsureUiaProvider() noexcept {
|
|
105
|
+
if (m_uiaProvider == nullptr) {
|
|
106
|
+
m_uiaProvider =
|
|
107
|
+
winrt::make<winrt::Microsoft::ReactNative::implementation::CompositionRootAutomationProvider>(getPtr());
|
|
108
|
+
}
|
|
109
|
+
return m_uiaProvider;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
std::shared_ptr<RootComponentView> RootComponentView::getPtr() {
|
|
113
|
+
return std::static_pointer_cast<RootComponentView>(shared_from_this());
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include <Fabric/ComponentView.h>
|
|
8
|
+
#include <Microsoft.ReactNative.Cxx/ReactContext.h>
|
|
9
|
+
|
|
10
|
+
#include "CompositionViewComponentView.h"
|
|
11
|
+
|
|
12
|
+
#include <react/components/rnwcore/ShadowNodes.h>
|
|
13
|
+
|
|
14
|
+
namespace Microsoft::ReactNative {
|
|
15
|
+
|
|
16
|
+
struct RootComponentView : CompositionViewComponentView {
|
|
17
|
+
using Super = CompositionViewComponentView;
|
|
18
|
+
|
|
19
|
+
[[nodiscard]] static std::shared_ptr<RootComponentView> Create(
|
|
20
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
21
|
+
facebook::react::Tag tag) noexcept;
|
|
22
|
+
|
|
23
|
+
std::shared_ptr<RootComponentView> getPtr();
|
|
24
|
+
|
|
25
|
+
::Microsoft::ReactNative::IComponentView *GetFocusedComponent() noexcept;
|
|
26
|
+
void SetFocusedComponent(::Microsoft::ReactNative::IComponentView *value) noexcept;
|
|
27
|
+
|
|
28
|
+
bool NavigateFocus(const winrt::Microsoft::ReactNative::FocusNavigationRequest &request) noexcept;
|
|
29
|
+
|
|
30
|
+
bool TryMoveFocus(bool next) noexcept;
|
|
31
|
+
|
|
32
|
+
RootComponentView *rootComponentView() noexcept override;
|
|
33
|
+
|
|
34
|
+
winrt::IInspectable EnsureUiaProvider() noexcept override;
|
|
35
|
+
|
|
36
|
+
private:
|
|
37
|
+
RootComponentView(
|
|
38
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
39
|
+
facebook::react::Tag tag);
|
|
40
|
+
::Microsoft::ReactNative::IComponentView *m_focusedComponent = nullptr;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -17,15 +17,22 @@
|
|
|
17
17
|
#include <windows.ui.composition.interop.h>
|
|
18
18
|
|
|
19
19
|
#include <unicode.h>
|
|
20
|
+
#include "CompositionDynamicAutomationProvider.h"
|
|
20
21
|
|
|
21
22
|
namespace Microsoft::ReactNative {
|
|
22
23
|
|
|
24
|
+
std::shared_ptr<ScrollViewComponentView> ScrollViewComponentView::Create(
|
|
25
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
26
|
+
facebook::react::Tag tag) noexcept {
|
|
27
|
+
return std::shared_ptr<ScrollViewComponentView>(new ScrollViewComponentView(compContext, tag));
|
|
28
|
+
}
|
|
29
|
+
|
|
23
30
|
ScrollViewComponentView::ScrollViewComponentView(
|
|
24
31
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
25
32
|
facebook::react::Tag tag)
|
|
26
33
|
: Super(compContext, tag) {
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
static auto const defaultProps = std::make_shared<facebook::react::ScrollViewProps const>();
|
|
35
|
+
m_props = defaultProps;
|
|
29
36
|
|
|
30
37
|
// m_element.Content(m_contentPanel);
|
|
31
38
|
|
|
@@ -116,44 +123,35 @@ ScrollViewComponentView::ScrollViewComponentView(
|
|
|
116
123
|
*/
|
|
117
124
|
}
|
|
118
125
|
|
|
119
|
-
|
|
120
|
-
ScrollViewComponentView::supplementalComponentDescriptorProviders() noexcept {
|
|
121
|
-
return {};
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
void ScrollViewComponentView::mountChildComponentView(
|
|
125
|
-
const IComponentView &childComponentView,
|
|
126
|
-
uint32_t index) noexcept {
|
|
126
|
+
void ScrollViewComponentView::mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept {
|
|
127
127
|
ensureVisual();
|
|
128
128
|
|
|
129
129
|
m_children.insert(std::next(m_children.begin(), index), &childComponentView);
|
|
130
|
-
|
|
130
|
+
childComponentView.parent(this);
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
m_scrollVisual.InsertAt(static_cast<CompositionBaseComponentView &>(childComponentView).OuterVisual(), index);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
void ScrollViewComponentView::unmountChildComponentView(
|
|
136
|
-
const IComponentView &childComponentView,
|
|
137
|
-
uint32_t index) noexcept {
|
|
135
|
+
void ScrollViewComponentView::unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept {
|
|
138
136
|
m_children.erase(std::next(m_children.begin(), index));
|
|
139
137
|
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
m_scrollVisual.Remove(static_cast<CompositionBaseComponentView &>(childComponentView).OuterVisual());
|
|
139
|
+
childComponentView.parent(nullptr);
|
|
142
140
|
}
|
|
143
141
|
|
|
144
142
|
void ScrollViewComponentView::updateProps(
|
|
145
143
|
facebook::react::Props::Shared const &props,
|
|
146
144
|
facebook::react::Props::Shared const &oldProps) noexcept {
|
|
147
145
|
const auto &newViewProps = *std::static_pointer_cast<const facebook::react::ScrollViewProps>(props);
|
|
148
|
-
const auto &oldViewProps = *std::static_pointer_cast<const facebook::react::ScrollViewProps>(
|
|
146
|
+
const auto &oldViewProps = *std::static_pointer_cast<const facebook::react::ScrollViewProps>(m_props);
|
|
149
147
|
|
|
150
148
|
ensureVisual();
|
|
151
149
|
|
|
152
150
|
if (!oldProps || oldViewProps.backgroundColor != newViewProps.backgroundColor) {
|
|
153
151
|
if (newViewProps.backgroundColor) {
|
|
154
|
-
|
|
152
|
+
m_scrollVisual.Brush(m_compContext.CreateColorBrush((*newViewProps.backgroundColor).m_color));
|
|
155
153
|
} else {
|
|
156
|
-
|
|
154
|
+
m_scrollVisual.Brush(m_compContext.CreateColorBrush({0, 0, 0, 0}));
|
|
157
155
|
}
|
|
158
156
|
}
|
|
159
157
|
|
|
@@ -170,6 +168,8 @@ void ScrollViewComponentView::updateProps(
|
|
|
170
168
|
m_needsBorderUpdate = true;
|
|
171
169
|
}
|
|
172
170
|
*/
|
|
171
|
+
|
|
172
|
+
updateBorderProps(oldViewProps, newViewProps);
|
|
173
173
|
m_props = std::static_pointer_cast<facebook::react::ViewProps const>(props);
|
|
174
174
|
}
|
|
175
175
|
|
|
@@ -191,26 +191,25 @@ void ScrollViewComponentView::updateLayoutMetrics(
|
|
|
191
191
|
ensureVisual();
|
|
192
192
|
|
|
193
193
|
if ((layoutMetrics.displayType != m_layoutMetrics.displayType)) {
|
|
194
|
-
|
|
194
|
+
OuterVisual().IsVisible(layoutMetrics.displayType != facebook::react::DisplayType::None);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
// m_needsBorderUpdate = true;
|
|
198
|
+
updateBorderLayoutMetrics(layoutMetrics, *m_props);
|
|
198
199
|
m_layoutMetrics = layoutMetrics;
|
|
199
200
|
|
|
200
201
|
UpdateCenterPropertySet();
|
|
201
202
|
m_visual.Size(
|
|
202
203
|
{layoutMetrics.frame.size.width * layoutMetrics.pointScaleFactor,
|
|
203
204
|
layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor});
|
|
204
|
-
|
|
205
|
-
layoutMetrics.frame.
|
|
206
|
-
|
|
207
|
-
0.0f,
|
|
208
|
-
});
|
|
205
|
+
m_scrollVisual.Size(
|
|
206
|
+
{layoutMetrics.frame.size.width * layoutMetrics.pointScaleFactor,
|
|
207
|
+
layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor});
|
|
209
208
|
updateContentVisualSize();
|
|
210
209
|
}
|
|
211
210
|
|
|
212
211
|
void ScrollViewComponentView::updateContentVisualSize() noexcept {
|
|
213
|
-
|
|
212
|
+
m_scrollVisual.ContentSize(
|
|
214
213
|
{std::max(m_contentSize.width, m_layoutMetrics.frame.size.width) * m_layoutMetrics.pointScaleFactor,
|
|
215
214
|
std::max(m_contentSize.height, m_layoutMetrics.frame.size.height) * m_layoutMetrics.pointScaleFactor});
|
|
216
215
|
}
|
|
@@ -273,8 +272,8 @@ bool ScrollViewComponentView::ScrollWheel(facebook::react::Point pt, int32_t del
|
|
|
273
272
|
facebook::react::Point ptViewport{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
274
273
|
|
|
275
274
|
facebook::react::Point ptContent{
|
|
276
|
-
ptViewport.x +
|
|
277
|
-
ptViewport.y +
|
|
275
|
+
ptViewport.x + m_scrollVisual.ScrollPosition().x / m_layoutMetrics.pointScaleFactor,
|
|
276
|
+
ptViewport.y + m_scrollVisual.ScrollPosition().y / m_layoutMetrics.pointScaleFactor};
|
|
278
277
|
|
|
279
278
|
if (std::any_of(m_children.rbegin(), m_children.rend(), [ptContent, delta](auto child) {
|
|
280
279
|
return const_cast<CompositionBaseComponentView *>(static_cast<const CompositionBaseComponentView *>(child))
|
|
@@ -284,17 +283,36 @@ bool ScrollViewComponentView::ScrollWheel(facebook::react::Point pt, int32_t del
|
|
|
284
283
|
|
|
285
284
|
if (ptViewport.x >= 0 && ptViewport.x <= m_layoutMetrics.frame.size.width && ptViewport.y >= 0 &&
|
|
286
285
|
ptViewport.y <= m_layoutMetrics.frame.size.height) {
|
|
287
|
-
|
|
286
|
+
m_scrollVisual.ScrollBy({0, static_cast<float>(-delta), 0});
|
|
288
287
|
return true;
|
|
289
288
|
}
|
|
290
289
|
|
|
291
290
|
return false;
|
|
292
291
|
}
|
|
293
292
|
|
|
293
|
+
void ScrollViewComponentView::handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept {
|
|
294
|
+
if (commandName == "scrollTo") {
|
|
295
|
+
auto x = arg[0].asDouble();
|
|
296
|
+
auto y = arg[1].asDouble();
|
|
297
|
+
auto animate = arg[2].asBool();
|
|
298
|
+
m_scrollVisual.TryUpdatePosition({static_cast<float>(x), static_cast<float>(y), 0.0f}, animate);
|
|
299
|
+
} else if (commandName == "flashScrollIndicators") {
|
|
300
|
+
// No-op for now
|
|
301
|
+
} else if (commandName == "scrollToEnd") {
|
|
302
|
+
// No-op for now
|
|
303
|
+
} else if (commandName == "zoomToRect") {
|
|
304
|
+
// No-op for now
|
|
305
|
+
} else {
|
|
306
|
+
Super::handleCommand(commandName, arg);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
294
310
|
void ScrollViewComponentView::ensureVisual() noexcept {
|
|
295
311
|
if (!m_visual) {
|
|
296
|
-
m_visual = m_compContext.
|
|
297
|
-
|
|
312
|
+
m_visual = m_compContext.CreateSpriteVisual();
|
|
313
|
+
m_scrollVisual = m_compContext.CreateScrollerVisual();
|
|
314
|
+
m_visual.InsertAt(m_scrollVisual, 0);
|
|
315
|
+
m_scrollPositionChangedRevoker = m_scrollVisual.ScrollPositionChanged(
|
|
298
316
|
winrt::auto_revoke,
|
|
299
317
|
[this](
|
|
300
318
|
winrt::IInspectable const & /*sender*/,
|
|
@@ -313,6 +331,7 @@ void ScrollViewComponentView::ensureVisual() noexcept {
|
|
|
313
331
|
->onScroll(scrollMetrics);
|
|
314
332
|
}
|
|
315
333
|
});
|
|
334
|
+
OuterVisual().InsertAt(m_visual, 0);
|
|
316
335
|
}
|
|
317
336
|
}
|
|
318
337
|
|
|
@@ -321,8 +340,8 @@ facebook::react::Tag ScrollViewComponentView::hitTest(facebook::react::Point pt,
|
|
|
321
340
|
facebook::react::Point ptViewport{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
322
341
|
|
|
323
342
|
facebook::react::Point ptContent{
|
|
324
|
-
ptViewport.x +
|
|
325
|
-
ptViewport.y +
|
|
343
|
+
ptViewport.x + m_scrollVisual.ScrollPosition().x / m_layoutMetrics.pointScaleFactor,
|
|
344
|
+
ptViewport.y + m_scrollVisual.ScrollPosition().y / m_layoutMetrics.pointScaleFactor};
|
|
326
345
|
|
|
327
346
|
facebook::react::Tag targetTag;
|
|
328
347
|
if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
@@ -344,10 +363,6 @@ facebook::react::Tag ScrollViewComponentView::hitTest(facebook::react::Point pt,
|
|
|
344
363
|
return -1;
|
|
345
364
|
}
|
|
346
365
|
|
|
347
|
-
facebook::react::SharedTouchEventEmitter ScrollViewComponentView::touchEventEmitter() noexcept {
|
|
348
|
-
return m_eventEmitter;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
366
|
winrt::Microsoft::ReactNative::Composition::IVisual ScrollViewComponentView::Visual() const noexcept {
|
|
352
367
|
return m_visual;
|
|
353
368
|
}
|
|
@@ -51,14 +51,13 @@ struct ScrollInteractionTrackerOwner : public winrt::implements<
|
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
53
|
using Super = CompositionBaseComponentView;
|
|
54
|
-
|
|
54
|
+
|
|
55
|
+
[[nodiscard]] static std::shared_ptr<ScrollViewComponentView> Create(
|
|
55
56
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
56
|
-
facebook::react::Tag tag);
|
|
57
|
+
facebook::react::Tag tag) noexcept;
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
void mountChildComponentView(const IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
61
|
-
void unmountChildComponentView(const IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
59
|
+
void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
60
|
+
void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
62
61
|
void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
|
|
63
62
|
override;
|
|
64
63
|
void updateEventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) noexcept override;
|
|
@@ -70,8 +69,8 @@ struct ScrollInteractionTrackerOwner : public winrt::implements<
|
|
|
70
69
|
void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
|
|
71
70
|
void prepareForRecycle() noexcept override;
|
|
72
71
|
facebook::react::Props::Shared props() noexcept override;
|
|
73
|
-
facebook::react::SharedTouchEventEmitter touchEventEmitter() noexcept override;
|
|
74
72
|
|
|
73
|
+
void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept override;
|
|
75
74
|
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept override;
|
|
76
75
|
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
77
76
|
|
|
@@ -79,11 +78,16 @@ struct ScrollInteractionTrackerOwner : public winrt::implements<
|
|
|
79
78
|
bool ScrollWheel(facebook::react::Point pt, int32_t delta) noexcept override;
|
|
80
79
|
|
|
81
80
|
private:
|
|
81
|
+
ScrollViewComponentView(
|
|
82
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
83
|
+
facebook::react::Tag tag);
|
|
84
|
+
|
|
82
85
|
void ensureVisual() noexcept;
|
|
83
86
|
void updateContentVisualSize() noexcept;
|
|
84
87
|
|
|
85
88
|
facebook::react::Size m_contentSize;
|
|
86
|
-
winrt::Microsoft::ReactNative::Composition::
|
|
89
|
+
winrt::Microsoft::ReactNative::Composition::IVisual m_visual{nullptr};
|
|
90
|
+
winrt::Microsoft::ReactNative::Composition::ScrollVisual m_scrollVisual{nullptr};
|
|
87
91
|
winrt::Microsoft::ReactNative::Composition::ScrollVisual::ScrollPositionChanged_revoker
|
|
88
92
|
m_scrollPositionChangedRevoker{};
|
|
89
93
|
|