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,262 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include "SwitchComponentView.h"
|
|
8
|
+
#include "CompositionDynamicAutomationProvider.h"
|
|
9
|
+
|
|
10
|
+
namespace Microsoft::ReactNative {
|
|
11
|
+
|
|
12
|
+
SwitchComponentView::SwitchComponentView(
|
|
13
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
14
|
+
facebook::react::Tag tag,
|
|
15
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext)
|
|
16
|
+
: Super(compContext, tag), m_context(reactContext) {
|
|
17
|
+
m_props = std::make_shared<facebook::react::SwitchProps const>();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
std::shared_ptr<SwitchComponentView> SwitchComponentView::Create(
|
|
21
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
22
|
+
facebook::react::Tag tag,
|
|
23
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept {
|
|
24
|
+
return std::shared_ptr<SwitchComponentView>(new SwitchComponentView(compContext, tag, reactContext));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
void SwitchComponentView::mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept {
|
|
28
|
+
assert(false);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
void SwitchComponentView::unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept {
|
|
32
|
+
assert(false);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
void SwitchComponentView::handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept {
|
|
36
|
+
if (commandName == "setValue") {
|
|
37
|
+
// TODO - Current implementation always aligns with JS value
|
|
38
|
+
// This will be needed when we move to using WinUI controls
|
|
39
|
+
} else {
|
|
40
|
+
Super::handleCommand(commandName, arg);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
void SwitchComponentView::updateProps(
|
|
45
|
+
facebook::react::Props::Shared const &props,
|
|
46
|
+
facebook::react::Props::Shared const &oldProps) noexcept {
|
|
47
|
+
const auto &oldViewProps = *std::static_pointer_cast<const facebook::react::SwitchProps>(m_props);
|
|
48
|
+
const auto &newViewProps = *std::static_pointer_cast<const facebook::react::SwitchProps>(props);
|
|
49
|
+
|
|
50
|
+
ensureVisual();
|
|
51
|
+
|
|
52
|
+
if (oldViewProps.backgroundColor != newViewProps.backgroundColor ||
|
|
53
|
+
oldViewProps.thumbTintColor != newViewProps.thumbTintColor || oldViewProps.value != newViewProps.value ||
|
|
54
|
+
oldViewProps.disabled != newViewProps.disabled) {
|
|
55
|
+
m_drawingSurface = nullptr;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
updateBorderProps(oldViewProps, newViewProps);
|
|
59
|
+
m_props = std::static_pointer_cast<facebook::react::ViewProps const>(props);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
void SwitchComponentView::updateState(
|
|
63
|
+
facebook::react::State::Shared const &state,
|
|
64
|
+
facebook::react::State::Shared const &oldState) noexcept {}
|
|
65
|
+
|
|
66
|
+
void SwitchComponentView::updateLayoutMetrics(
|
|
67
|
+
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
68
|
+
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept {
|
|
69
|
+
// Set Position & Size Properties
|
|
70
|
+
ensureVisual();
|
|
71
|
+
|
|
72
|
+
if ((layoutMetrics.displayType != m_layoutMetrics.displayType)) {
|
|
73
|
+
OuterVisual().IsVisible(layoutMetrics.displayType != facebook::react::DisplayType::None);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
updateBorderLayoutMetrics(layoutMetrics, *m_props);
|
|
77
|
+
m_layoutMetrics = layoutMetrics;
|
|
78
|
+
|
|
79
|
+
UpdateCenterPropertySet();
|
|
80
|
+
m_visual.Size(
|
|
81
|
+
{layoutMetrics.frame.size.width * layoutMetrics.pointScaleFactor,
|
|
82
|
+
layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void SwitchComponentView::finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept {
|
|
86
|
+
ensureDrawingSurface();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
void SwitchComponentView::Draw() noexcept {
|
|
90
|
+
// Begin our update of the surface pixels. If this is our first update, we are required
|
|
91
|
+
// to specify the entire surface, which nullptr is shorthand for (but, as it works out,
|
|
92
|
+
// any time we make an update we touch the entire surface, so we always pass nullptr).
|
|
93
|
+
winrt::com_ptr<ID2D1DeviceContext> d2dDeviceContext;
|
|
94
|
+
POINT offset;
|
|
95
|
+
|
|
96
|
+
winrt::com_ptr<Composition::ICompositionDrawingSurfaceInterop> drawingSurfaceInterop;
|
|
97
|
+
m_drawingSurface.as(drawingSurfaceInterop);
|
|
98
|
+
|
|
99
|
+
if (CheckForDeviceRemoved(drawingSurfaceInterop->BeginDraw(d2dDeviceContext.put(), &offset))) {
|
|
100
|
+
const auto switchProps = std::static_pointer_cast<const facebook::react::SwitchProps>(m_props);
|
|
101
|
+
|
|
102
|
+
d2dDeviceContext->Clear(D2D1::ColorF(D2D1::ColorF::Black, 0.0f));
|
|
103
|
+
if (m_props->backgroundColor) {
|
|
104
|
+
d2dDeviceContext->Clear(m_props->backgroundColor.AsD2DColor());
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
float offsetX = static_cast<float>(offset.x / m_layoutMetrics.pointScaleFactor);
|
|
108
|
+
float offsetY = static_cast<float>(offset.y / m_layoutMetrics.pointScaleFactor);
|
|
109
|
+
|
|
110
|
+
// https://github.com/microsoft/microsoft-ui-xaml/blob/main/dev/CommonStyles/ToggleSwitch_themeresources.xaml
|
|
111
|
+
constexpr float thumbMargin = 3.0f;
|
|
112
|
+
constexpr float thumbRadius = 7.0f;
|
|
113
|
+
constexpr float trackWidth = 40.0f;
|
|
114
|
+
constexpr float trackHeight = 20.0f;
|
|
115
|
+
constexpr float trackCornerRadius = 10.0f;
|
|
116
|
+
|
|
117
|
+
auto frame{m_layoutMetrics.frame.size};
|
|
118
|
+
float trackMarginX = (frame.width - trackWidth) / 2;
|
|
119
|
+
float trackMarginY = (frame.height - trackHeight) / 2;
|
|
120
|
+
|
|
121
|
+
D2D1_RECT_F trackRect = D2D1::RectF(
|
|
122
|
+
offsetX + trackMarginX,
|
|
123
|
+
offsetY + trackMarginY,
|
|
124
|
+
offsetX + trackMarginX + trackWidth,
|
|
125
|
+
offsetY + trackMarginY + trackHeight);
|
|
126
|
+
|
|
127
|
+
// switchProps->value = false
|
|
128
|
+
float thumbX = trackRect.left + thumbMargin + thumbRadius;
|
|
129
|
+
|
|
130
|
+
if (switchProps->value) {
|
|
131
|
+
thumbX = trackRect.right - thumbMargin - thumbRadius;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
winrt::com_ptr<ID2D1SolidColorBrush> defaultBrush;
|
|
135
|
+
|
|
136
|
+
D2D1_COLOR_F defaultColor =
|
|
137
|
+
switchProps->disabled ? facebook::react::greyColor().AsD2DColor() : facebook::react::blackColor().AsD2DColor();
|
|
138
|
+
|
|
139
|
+
winrt::check_hresult(d2dDeviceContext->CreateSolidColorBrush(defaultColor, defaultBrush.put()));
|
|
140
|
+
|
|
141
|
+
winrt::com_ptr<ID2D1SolidColorBrush> thumbBrush;
|
|
142
|
+
if (!switchProps->disabled && switchProps->thumbTintColor) {
|
|
143
|
+
winrt::check_hresult(
|
|
144
|
+
d2dDeviceContext->CreateSolidColorBrush(switchProps->thumbTintColor.AsD2DColor(), thumbBrush.put()));
|
|
145
|
+
} else {
|
|
146
|
+
thumbBrush = defaultBrush;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const auto dpi = m_layoutMetrics.pointScaleFactor * 96.0f;
|
|
150
|
+
float oldDpiX, oldDpiY;
|
|
151
|
+
d2dDeviceContext->GetDpi(&oldDpiX, &oldDpiY);
|
|
152
|
+
d2dDeviceContext->SetDpi(dpi, dpi);
|
|
153
|
+
|
|
154
|
+
// switch track - outline
|
|
155
|
+
D2D1_ROUNDED_RECT track = D2D1::RoundedRect(trackRect, trackCornerRadius, trackCornerRadius);
|
|
156
|
+
if ((!switchProps->onTintColor && switchProps->value) || (!switchProps->tintColor && !switchProps->value)) {
|
|
157
|
+
d2dDeviceContext->DrawRoundedRectangle(track, defaultBrush.get());
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// switch track - fill
|
|
161
|
+
winrt::com_ptr<ID2D1SolidColorBrush> trackBrush;
|
|
162
|
+
if (!switchProps->disabled && switchProps->onTintColor && switchProps->value) {
|
|
163
|
+
winrt::check_hresult(
|
|
164
|
+
d2dDeviceContext->CreateSolidColorBrush(switchProps->onTintColor.AsD2DColor(), trackBrush.put()));
|
|
165
|
+
d2dDeviceContext->FillRoundedRectangle(track, trackBrush.get());
|
|
166
|
+
} else if (!switchProps->disabled && switchProps->tintColor && !switchProps->value) {
|
|
167
|
+
winrt::check_hresult(
|
|
168
|
+
d2dDeviceContext->CreateSolidColorBrush(switchProps->tintColor.AsD2DColor(), trackBrush.put()));
|
|
169
|
+
d2dDeviceContext->FillRoundedRectangle(track, trackBrush.get());
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// switch thumb
|
|
173
|
+
D2D1_POINT_2F thumbCenter = D2D1 ::Point2F(thumbX, (trackRect.top + trackRect.bottom) / 2);
|
|
174
|
+
D2D1_ELLIPSE thumb = D2D1::Ellipse(thumbCenter, thumbRadius, thumbRadius);
|
|
175
|
+
d2dDeviceContext->FillEllipse(thumb, thumbBrush.get());
|
|
176
|
+
|
|
177
|
+
// Restore old dpi setting
|
|
178
|
+
d2dDeviceContext->SetDpi(oldDpiX, oldDpiY);
|
|
179
|
+
|
|
180
|
+
// Our update is done. EndDraw never indicates rendering device removed, so any
|
|
181
|
+
// failure here is unexpected and, therefore, fatal.
|
|
182
|
+
winrt::check_hresult(drawingSurfaceInterop->EndDraw());
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
void SwitchComponentView::prepareForRecycle() noexcept {}
|
|
187
|
+
|
|
188
|
+
facebook::react::Props::Shared SwitchComponentView::props() noexcept {
|
|
189
|
+
return m_props;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
void SwitchComponentView::ensureVisual() noexcept {
|
|
193
|
+
if (!m_visual) {
|
|
194
|
+
m_visual = m_compContext.CreateSpriteVisual();
|
|
195
|
+
OuterVisual().InsertAt(m_visual, 0);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
void SwitchComponentView::ensureDrawingSurface() noexcept {
|
|
200
|
+
if (!m_drawingSurface) {
|
|
201
|
+
winrt::Windows::Foundation::Size surfaceSize = {
|
|
202
|
+
m_layoutMetrics.frame.size.width * m_layoutMetrics.pointScaleFactor,
|
|
203
|
+
m_layoutMetrics.frame.size.height * m_layoutMetrics.pointScaleFactor};
|
|
204
|
+
m_drawingSurface = m_compContext.CreateDrawingSurface(
|
|
205
|
+
surfaceSize,
|
|
206
|
+
winrt::Windows::Graphics::DirectX::DirectXPixelFormat::B8G8R8A8UIntNormalized,
|
|
207
|
+
winrt::Windows::Graphics::DirectX::DirectXAlphaMode::Premultiplied);
|
|
208
|
+
|
|
209
|
+
Draw();
|
|
210
|
+
|
|
211
|
+
auto surfaceBrush = m_compContext.CreateSurfaceBrush(m_drawingSurface);
|
|
212
|
+
|
|
213
|
+
m_visual.Brush(surfaceBrush);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
facebook::react::Tag SwitchComponentView::hitTest(facebook::react::Point pt, facebook::react::Point &localPt)
|
|
218
|
+
const noexcept {
|
|
219
|
+
facebook::react::Point ptLocal{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
220
|
+
|
|
221
|
+
if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
222
|
+
m_props->pointerEvents == facebook::react::PointerEventsMode::BoxOnly) &&
|
|
223
|
+
ptLocal.x >= 0 && ptLocal.x <= m_layoutMetrics.frame.size.width && ptLocal.y >= 0 &&
|
|
224
|
+
ptLocal.y <= m_layoutMetrics.frame.size.height) {
|
|
225
|
+
localPt = ptLocal;
|
|
226
|
+
return tag();
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return -1;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
winrt::Microsoft::ReactNative::Composition::IVisual SwitchComponentView::Visual() const noexcept {
|
|
233
|
+
return m_visual;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
int64_t SwitchComponentView::sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept {
|
|
237
|
+
switch (msg) {
|
|
238
|
+
case WM_LBUTTONDOWN:
|
|
239
|
+
case WM_POINTERDOWN: {
|
|
240
|
+
const auto switchProps = std::static_pointer_cast<const facebook::react::SwitchProps>(m_props);
|
|
241
|
+
|
|
242
|
+
if (!switchProps->disabled && m_eventEmitter) {
|
|
243
|
+
auto switchEventEmitter = std::static_pointer_cast<facebook::react::SwitchEventEmitter const>(m_eventEmitter);
|
|
244
|
+
|
|
245
|
+
facebook::react::SwitchEventEmitter::OnChange args;
|
|
246
|
+
args.value = !(switchProps->value);
|
|
247
|
+
args.target = tag();
|
|
248
|
+
|
|
249
|
+
switchEventEmitter->onChange(args);
|
|
250
|
+
}
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
bool SwitchComponentView::focusable() const noexcept {
|
|
259
|
+
return m_props->focusable;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,62 @@
|
|
|
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 SwitchComponentView;
|
|
17
|
+
|
|
18
|
+
struct SwitchComponentView : CompositionBaseComponentView {
|
|
19
|
+
using Super = CompositionBaseComponentView;
|
|
20
|
+
|
|
21
|
+
[[nodiscard]] static std::shared_ptr<SwitchComponentView> Create(
|
|
22
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
23
|
+
facebook::react::Tag tag,
|
|
24
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
|
|
25
|
+
|
|
26
|
+
void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
27
|
+
void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
28
|
+
void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept override;
|
|
29
|
+
void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
|
|
30
|
+
override;
|
|
31
|
+
void updateState(facebook::react::State::Shared const &state, facebook::react::State::Shared const &oldState) noexcept
|
|
32
|
+
override;
|
|
33
|
+
void updateLayoutMetrics(
|
|
34
|
+
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
35
|
+
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept override;
|
|
36
|
+
void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
|
|
37
|
+
void prepareForRecycle() noexcept override;
|
|
38
|
+
facebook::react::Props::Shared props() noexcept override;
|
|
39
|
+
bool focusable() const noexcept override;
|
|
40
|
+
|
|
41
|
+
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept override;
|
|
42
|
+
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
43
|
+
int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
|
|
44
|
+
|
|
45
|
+
private:
|
|
46
|
+
SwitchComponentView(
|
|
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
|
+
void Draw() noexcept;
|
|
53
|
+
void ensureDrawingSurface() noexcept;
|
|
54
|
+
|
|
55
|
+
facebook::react::Size m_contentSize;
|
|
56
|
+
winrt::Microsoft::ReactNative::Composition::SpriteVisual m_visual{nullptr};
|
|
57
|
+
winrt::Microsoft::ReactNative::ReactContext m_context;
|
|
58
|
+
facebook::react::SharedViewProps m_props;
|
|
59
|
+
winrt::Microsoft::ReactNative::Composition::ICompositionDrawingSurface m_drawingSurface;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace Microsoft::ReactNative
|
package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp
CHANGED
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
#include "WindowsTextInputComponentView.h"
|
|
8
8
|
|
|
9
|
+
#include <Fabric/Composition/CompositionDynamicAutomationProvider.h>
|
|
9
10
|
#include <Utils/ValueUtils.h>
|
|
10
11
|
#include <tom.h>
|
|
11
12
|
#include <unicode.h>
|
|
12
13
|
#include <winrt/Windows.UI.h>
|
|
13
14
|
#include "../CompositionHelpers.h"
|
|
15
|
+
#include "../RootComponentView.h"
|
|
14
16
|
#include "WindowsTextInputShadowNode.h"
|
|
15
17
|
#include "WindowsTextInputState.h"
|
|
16
18
|
#include "guid/msoGuid.h"
|
|
@@ -214,7 +216,7 @@ struct CompTextHost : public winrt::implements<CompTextHost, ITextHost> {
|
|
|
214
216
|
|
|
215
217
|
//@cmember Set the focus to the text window
|
|
216
218
|
void TxSetFocus() override {
|
|
217
|
-
SetFocusedComponent(m_outer);
|
|
219
|
+
m_outer->rootComponentView()->SetFocusedComponent(m_outer);
|
|
218
220
|
// assert(false);
|
|
219
221
|
// TODO focus
|
|
220
222
|
}
|
|
@@ -540,7 +542,19 @@ void WindowsTextInputComponentView::handleCommand(std::string const &commandName
|
|
|
540
542
|
}
|
|
541
543
|
}
|
|
542
544
|
|
|
543
|
-
int64_t WindowsTextInputComponentView::
|
|
545
|
+
int64_t WindowsTextInputComponentView::sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept {
|
|
546
|
+
// Do not forward tab keys into the TextInput, since we want that to do the tab loop instead. This aligns with WinUI
|
|
547
|
+
// behavior We do forward Ctrl+Tab to the textinput.
|
|
548
|
+
if (((msg == WM_KEYDOWN || msg == WM_KEYUP) && wParam == VK_TAB) || (msg == WM_CHAR && wParam == '\t')) {
|
|
549
|
+
BYTE bKeys[256];
|
|
550
|
+
if (GetKeyboardState(bKeys)) {
|
|
551
|
+
bool fCtrl = false;
|
|
552
|
+
if (!(bKeys[VK_LCONTROL] & 0x80 || bKeys[VK_RCONTROL] & 0x80)) {
|
|
553
|
+
return 0;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
|
|
544
558
|
if (m_textServices) {
|
|
545
559
|
LRESULT lresult;
|
|
546
560
|
DrawBlock db(*this);
|
|
@@ -549,31 +563,18 @@ int64_t WindowsTextInputComponentView::SendMessage(uint32_t msg, uint64_t wParam
|
|
|
549
563
|
return lresult;
|
|
550
564
|
}
|
|
551
565
|
}
|
|
552
|
-
return Super::
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
std::vector<facebook::react::ComponentDescriptorProvider>
|
|
556
|
-
WindowsTextInputComponentView::supplementalComponentDescriptorProviders() noexcept {
|
|
557
|
-
return {};
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
void WindowsTextInputComponentView::parent(IComponentView *parent) noexcept {
|
|
561
|
-
Super::parent(parent);
|
|
562
|
-
|
|
563
|
-
if (!parent && GetFocusedComponent() == this) {
|
|
564
|
-
SetFocusedComponent(nullptr); // TODO need move focus logic - where should focus go?
|
|
565
|
-
}
|
|
566
|
+
return Super::sendMessage(msg, wParam, lParam);
|
|
566
567
|
}
|
|
567
568
|
|
|
568
569
|
void WindowsTextInputComponentView::mountChildComponentView(
|
|
569
|
-
|
|
570
|
+
IComponentView &childComponentView,
|
|
570
571
|
uint32_t index) noexcept {
|
|
571
572
|
assert(false);
|
|
572
573
|
// m_element.Children().InsertAt(index, v.Element());
|
|
573
574
|
}
|
|
574
575
|
|
|
575
576
|
void WindowsTextInputComponentView::unmountChildComponentView(
|
|
576
|
-
|
|
577
|
+
IComponentView &childComponentView,
|
|
577
578
|
uint32_t index) noexcept {
|
|
578
579
|
assert(false);
|
|
579
580
|
// m_element.Children().RemoveAt(index);
|
|
@@ -581,12 +582,16 @@ void WindowsTextInputComponentView::unmountChildComponentView(
|
|
|
581
582
|
|
|
582
583
|
void WindowsTextInputComponentView::onFocusLost() noexcept {
|
|
583
584
|
Super::onFocusLost();
|
|
584
|
-
|
|
585
|
+
sendMessage(WM_KILLFOCUS, 0, 0);
|
|
585
586
|
}
|
|
586
587
|
|
|
587
588
|
void WindowsTextInputComponentView::onFocusGained() noexcept {
|
|
588
589
|
Super::onFocusGained();
|
|
589
|
-
|
|
590
|
+
sendMessage(WM_SETFOCUS, 0, 0);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
bool WindowsTextInputComponentView::focusable() const noexcept {
|
|
594
|
+
return m_props->focusable;
|
|
590
595
|
}
|
|
591
596
|
|
|
592
597
|
void WindowsTextInputComponentView::updateProps(
|
|
@@ -755,7 +760,7 @@ void WindowsTextInputComponentView::updateLayoutMetrics(
|
|
|
755
760
|
// Set Position & Size Properties
|
|
756
761
|
|
|
757
762
|
if ((layoutMetrics.displayType != m_layoutMetrics.displayType)) {
|
|
758
|
-
|
|
763
|
+
OuterVisual().IsVisible(layoutMetrics.displayType != facebook::react::DisplayType::None);
|
|
759
764
|
}
|
|
760
765
|
|
|
761
766
|
if ((layoutMetrics.pointScaleFactor != m_layoutMetrics.pointScaleFactor)) {
|
|
@@ -786,11 +791,6 @@ void WindowsTextInputComponentView::updateLayoutMetrics(
|
|
|
786
791
|
m_visual.Size(
|
|
787
792
|
{layoutMetrics.frame.size.width * layoutMetrics.pointScaleFactor,
|
|
788
793
|
layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor});
|
|
789
|
-
m_visual.Offset({
|
|
790
|
-
layoutMetrics.frame.origin.x * layoutMetrics.pointScaleFactor,
|
|
791
|
-
layoutMetrics.frame.origin.y * layoutMetrics.pointScaleFactor,
|
|
792
|
-
0.0f,
|
|
793
|
-
});
|
|
794
794
|
}
|
|
795
795
|
|
|
796
796
|
// When we are notified by RichEdit that the text changed, we need to notify JS
|
|
@@ -1048,10 +1048,6 @@ facebook::react::Tag WindowsTextInputComponentView::hitTest(facebook::react::Poi
|
|
|
1048
1048
|
return -1;
|
|
1049
1049
|
}
|
|
1050
1050
|
|
|
1051
|
-
facebook::react::SharedTouchEventEmitter WindowsTextInputComponentView::touchEventEmitter() noexcept {
|
|
1052
|
-
return m_eventEmitter;
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
1051
|
void WindowsTextInputComponentView::ensureVisual() noexcept {
|
|
1056
1052
|
if (!m_visual) {
|
|
1057
1053
|
HrEnsureRichEd20Loaded();
|
|
@@ -1060,6 +1056,7 @@ void WindowsTextInputComponentView::ensureVisual() noexcept {
|
|
|
1060
1056
|
winrt::com_ptr<IUnknown> spUnk;
|
|
1061
1057
|
winrt::check_hresult(g_pfnCreateTextServices(nullptr, m_textHost.get(), spUnk.put()));
|
|
1062
1058
|
spUnk.as(m_textServices);
|
|
1059
|
+
OuterVisual().InsertAt(m_visual, 0);
|
|
1063
1060
|
}
|
|
1064
1061
|
|
|
1065
1062
|
if (!m_caretVisual) {
|
|
@@ -1073,4 +1070,12 @@ winrt::Microsoft::ReactNative::Composition::IVisual WindowsTextInputComponentVie
|
|
|
1073
1070
|
return m_visual;
|
|
1074
1071
|
}
|
|
1075
1072
|
|
|
1073
|
+
std::shared_ptr<WindowsTextInputComponentView> WindowsTextInputComponentView::Create(
|
|
1074
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
1075
|
+
facebook::react::Tag tag,
|
|
1076
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept {
|
|
1077
|
+
return std::shared_ptr<WindowsTextInputComponentView>(
|
|
1078
|
+
new WindowsTextInputComponentView(compContext, tag, reactContext));
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1076
1081
|
} // namespace Microsoft::ReactNative
|
|
@@ -24,15 +24,13 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
|
|
|
24
24
|
friend CompTextHost;
|
|
25
25
|
|
|
26
26
|
using Super = CompositionBaseComponentView;
|
|
27
|
-
WindowsTextInputComponentView(
|
|
27
|
+
[[nodiscard]] static std::shared_ptr<WindowsTextInputComponentView> Create(
|
|
28
28
|
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
29
29
|
facebook::react::Tag tag,
|
|
30
|
-
winrt::Microsoft::ReactNative::ReactContext const &reactContext);
|
|
30
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
void mountChildComponentView(const IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
35
|
-
void unmountChildComponentView(const IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
32
|
+
void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
33
|
+
void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
36
34
|
void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
|
|
37
35
|
override;
|
|
38
36
|
void updateState(facebook::react::State::Shared const &state, facebook::react::State::Shared const &oldState) noexcept
|
|
@@ -44,16 +42,20 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
|
|
|
44
42
|
void prepareForRecycle() noexcept override;
|
|
45
43
|
facebook::react::Props::Shared props() noexcept override;
|
|
46
44
|
void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept override;
|
|
47
|
-
int64_t
|
|
45
|
+
int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
|
|
48
46
|
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept override;
|
|
49
|
-
void parent(IComponentView *parent) noexcept override;
|
|
50
47
|
void OnRenderingDeviceLost() noexcept override;
|
|
51
48
|
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
52
49
|
void onFocusLost() noexcept override;
|
|
53
50
|
void onFocusGained() noexcept override;
|
|
54
|
-
|
|
51
|
+
bool focusable() const noexcept override;
|
|
55
52
|
|
|
56
53
|
private:
|
|
54
|
+
WindowsTextInputComponentView(
|
|
55
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
56
|
+
facebook::react::Tag tag,
|
|
57
|
+
winrt::Microsoft::ReactNative::ReactContext const &reactContext);
|
|
58
|
+
|
|
57
59
|
struct DrawBlock {
|
|
58
60
|
DrawBlock(WindowsTextInputComponentView &view);
|
|
59
61
|
~DrawBlock();
|
|
@@ -48,4 +48,13 @@ WindowsTextInputProps::WindowsTextInputProps(
|
|
|
48
48
|
submitKeyEvents(convertRawProp(context, rawProps, "submitKeyEvents", sourceProps.submitKeyEvents, {})),
|
|
49
49
|
autoFocus(convertRawProp(context, rawProps, "autoFocus", sourceProps.autoFocus, {false})) {}
|
|
50
50
|
|
|
51
|
+
void WindowsTextInputProps::setProp(
|
|
52
|
+
const PropsParserContext &context,
|
|
53
|
+
RawPropsPropNameHash hash,
|
|
54
|
+
const char *propName,
|
|
55
|
+
RawValue const &value) {
|
|
56
|
+
BaseTextProps::setProp(context, hash, propName, value);
|
|
57
|
+
ViewProps::setProp(context, hash, propName, value);
|
|
58
|
+
}
|
|
59
|
+
|
|
51
60
|
} // namespace facebook::react
|
|
@@ -92,6 +92,9 @@ class WindowsTextInputProps final : public ViewProps, public BaseTextProps {
|
|
|
92
92
|
const WindowsTextInputProps &sourceProps,
|
|
93
93
|
const RawProps &rawProps);
|
|
94
94
|
|
|
95
|
+
void
|
|
96
|
+
setProp(const PropsParserContext &context, RawPropsPropNameHash hash, const char *propName, RawValue const &value);
|
|
97
|
+
|
|
95
98
|
bool allowFontScaling{true};
|
|
96
99
|
bool clearTextOnFocus{false};
|
|
97
100
|
bool editable{true};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#include "pch.h"
|
|
2
|
+
#include "UiaHelpers.h"
|
|
3
|
+
#include <Fabric/Composition/CompositionViewComponentView.h>
|
|
4
|
+
#include <inspectable.h>
|
|
5
|
+
|
|
6
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
7
|
+
|
|
8
|
+
HRESULT UiaNavigateHelper(
|
|
9
|
+
::Microsoft::ReactNative::ReactTaggedView &view,
|
|
10
|
+
NavigateDirection direction,
|
|
11
|
+
IRawElementProviderFragment *&retVal) noexcept {
|
|
12
|
+
retVal = nullptr;
|
|
13
|
+
|
|
14
|
+
auto spComponentView = view.view();
|
|
15
|
+
|
|
16
|
+
if (!spComponentView)
|
|
17
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
18
|
+
|
|
19
|
+
winrt::IInspectable uiaProvider{nullptr};
|
|
20
|
+
|
|
21
|
+
switch (direction) {
|
|
22
|
+
case NavigateDirection_Parent: {
|
|
23
|
+
auto pParentCV = static_cast<::Microsoft::ReactNative::CompositionBaseComponentView *>(spComponentView->parent());
|
|
24
|
+
if (pParentCV != nullptr) {
|
|
25
|
+
uiaProvider = pParentCV->EnsureUiaProvider();
|
|
26
|
+
}
|
|
27
|
+
} break;
|
|
28
|
+
|
|
29
|
+
case NavigateDirection_LastChild:
|
|
30
|
+
__fallthrough;
|
|
31
|
+
|
|
32
|
+
case NavigateDirection_FirstChild: {
|
|
33
|
+
auto children = spComponentView->children();
|
|
34
|
+
auto index = direction == NavigateDirection_FirstChild ? 0 : children.size() - 1;
|
|
35
|
+
if (!children.empty()) {
|
|
36
|
+
uiaProvider =
|
|
37
|
+
static_cast<::Microsoft::ReactNative::CompositionBaseComponentView *>(children[index])->EnsureUiaProvider();
|
|
38
|
+
}
|
|
39
|
+
} break;
|
|
40
|
+
|
|
41
|
+
case NavigateDirection_NextSibling: {
|
|
42
|
+
auto pParentCV = static_cast<::Microsoft::ReactNative::CompositionBaseComponentView *>(spComponentView->parent());
|
|
43
|
+
if (pParentCV != nullptr) {
|
|
44
|
+
auto children = pParentCV->children();
|
|
45
|
+
auto it = std::find(children.begin(), children.end(), spComponentView.get());
|
|
46
|
+
if (++it != children.end()) {
|
|
47
|
+
uiaProvider = static_cast<::Microsoft::ReactNative::CompositionBaseComponentView *>(*it)->EnsureUiaProvider();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} break;
|
|
51
|
+
|
|
52
|
+
case NavigateDirection_PreviousSibling: {
|
|
53
|
+
auto pParentCV = static_cast<::Microsoft::ReactNative::CompositionBaseComponentView *>(spComponentView->parent());
|
|
54
|
+
if (pParentCV != nullptr) {
|
|
55
|
+
auto children = pParentCV->children();
|
|
56
|
+
auto it = std::find(children.rbegin(), children.rend(), spComponentView.get());
|
|
57
|
+
if (++it != children.rend()) {
|
|
58
|
+
uiaProvider = static_cast<::Microsoft::ReactNative::CompositionBaseComponentView *>(*it)->EnsureUiaProvider();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
} break;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (uiaProvider != nullptr) {
|
|
65
|
+
winrt::com_ptr<IRawElementProviderFragment> spFragment;
|
|
66
|
+
uiaProvider.as(spFragment);
|
|
67
|
+
retVal = spFragment.detach();
|
|
68
|
+
}
|
|
69
|
+
return S_OK;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <Fabric/ComponentView.h>
|
|
4
|
+
#include <Fabric/ReactTaggedView.h>
|
|
5
|
+
#include <UIAutomation.h>
|
|
6
|
+
|
|
7
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
8
|
+
|
|
9
|
+
// Returns an AddRef'd neighbor of the provided IComponentView in the direction given
|
|
10
|
+
HRESULT
|
|
11
|
+
UiaNavigateHelper(
|
|
12
|
+
::Microsoft::ReactNative::ReactTaggedView &view,
|
|
13
|
+
NavigateDirection direction,
|
|
14
|
+
IRawElementProviderFragment *&retVal) noexcept;
|
|
15
|
+
|
|
16
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|