react-native-windows 0.71.8 → 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 +1 -2
- 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
|
@@ -5,11 +5,9 @@
|
|
|
5
5
|
* need to also be added to index.windows.js
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export * from './Components/Popup/PopupProps';
|
|
12
|
-
export * from './Components/Popup/Popup';
|
|
8
|
+
export {Flyout, IFlyoutProps, Placement, ShowMode} from './Components/Flyout/Flyout';
|
|
9
|
+
export {Glyph, GlyphProps, GlyphStyle} from './Components/Glyph/Glyph';
|
|
10
|
+
export {IPopupProps, Popup} from './Components/Popup/Popup';
|
|
13
11
|
export * from './Components/Keyboard/KeyboardExt';
|
|
14
12
|
export * from './Components/Keyboard/KeyboardExtProps';
|
|
15
13
|
export * from './Components/View/ViewWindowsProps';
|
|
@@ -48,7 +48,7 @@ declare class EventSubscriptionVendor {
|
|
|
48
48
|
* Removes a bulk set of the subscriptions.
|
|
49
49
|
*
|
|
50
50
|
* @param eventType - Optional name of the event type whose
|
|
51
|
-
* registered
|
|
51
|
+
* registered subscriptions to remove, if null remove all subscriptions.
|
|
52
52
|
*/
|
|
53
53
|
removeAllSubscriptions(eventType?: string): void;
|
|
54
54
|
|
|
@@ -104,7 +104,7 @@ interface EmitterSubscription extends EventSubscription {
|
|
|
104
104
|
remove(): void;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
export
|
|
107
|
+
export default class EventEmitter {
|
|
108
108
|
/**
|
|
109
109
|
*
|
|
110
110
|
* @param subscriber - Optional subscriber instance
|
|
@@ -74,7 +74,15 @@ export default class EventEmitter<TEventToArgsMap: {...}>
|
|
|
74
74
|
listener: (...args: $ElementType<TEventToArgsMap, TEvent>) => mixed,
|
|
75
75
|
context: mixed,
|
|
76
76
|
): EventSubscription {
|
|
77
|
-
|
|
77
|
+
if (typeof listener !== 'function') {
|
|
78
|
+
throw new TypeError(
|
|
79
|
+
'EventEmitter.addListener(...): 2nd argument must be a function.',
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
const registrations = allocate<_, _, TEventToArgsMap[TEvent]>(
|
|
83
|
+
this._registry,
|
|
84
|
+
eventType,
|
|
85
|
+
);
|
|
78
86
|
const registration: Registration<$ElementType<TEventToArgsMap, TEvent>> = {
|
|
79
87
|
context,
|
|
80
88
|
listener,
|
|
@@ -6,8 +6,6 @@
|
|
|
6
6
|
|
|
7
7
|
// Modules
|
|
8
8
|
#include <AppModelHelpers.h>
|
|
9
|
-
#include <AsyncStorageModule.h>
|
|
10
|
-
#include <Modules/AsyncStorageModuleWin32.h>
|
|
11
9
|
#include <Modules/ClipboardModule.h>
|
|
12
10
|
#include <Modules/NativeUIManager.h>
|
|
13
11
|
#include <Modules/PaperUIManagerModule.h>
|
|
@@ -40,19 +38,6 @@ std::vector<facebook::react::NativeModuleDescription> GetCoreModules(
|
|
|
40
38
|
[props = context->Properties()]() { return Microsoft::React::CreateFileReaderModule(props); },
|
|
41
39
|
batchingUIMessageQueue);
|
|
42
40
|
|
|
43
|
-
// AsyncStorageModule doesn't work without package identity (it indirectly depends on
|
|
44
|
-
// Windows.Storage.StorageFile), so check for package identity before adding it.
|
|
45
|
-
modules.emplace_back(
|
|
46
|
-
"AsyncLocalStorage",
|
|
47
|
-
[]() -> std::unique_ptr<facebook::xplat::module::CxxModule> {
|
|
48
|
-
if (HasPackageIdentity()) {
|
|
49
|
-
return std::make_unique<facebook::react::AsyncStorageModule>(L"asyncStorage");
|
|
50
|
-
} else {
|
|
51
|
-
return std::make_unique<facebook::react::AsyncStorageModuleWin32>();
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
jsMessageQueue);
|
|
55
|
-
|
|
56
41
|
return modules;
|
|
57
42
|
}
|
|
58
43
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import "IJSValueWriter.idl";
|
|
5
5
|
import "ReactCoreInjection.idl";
|
|
6
6
|
import "ReactNativeHost.idl";
|
|
7
|
+
import "CompositionRootView.idl";
|
|
7
8
|
#include "NamespaceRedirect.h"
|
|
8
9
|
#include "DocString.h"
|
|
9
10
|
|
|
@@ -27,7 +28,12 @@ namespace Microsoft.ReactNative
|
|
|
27
28
|
"It must be set to show any React UI elements.")
|
|
28
29
|
IReactViewHost ReactViewHost { get; set; };
|
|
29
30
|
|
|
31
|
+
DOC_STRING("Move focus to this @CompositionHwndHost")
|
|
32
|
+
FocusNavigationResult NavigateFocus(FocusNavigationRequest request);
|
|
33
|
+
|
|
30
34
|
Int64 TranslateMessage(UInt32 msg, UInt64 wParam, Int64 lParam);
|
|
35
|
+
|
|
36
|
+
Object UiaProvider { get; };
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
} // namespace Microsoft.ReactNative
|
|
@@ -10,6 +10,36 @@ import "ReactNativeHost.idl";
|
|
|
10
10
|
|
|
11
11
|
namespace Microsoft.ReactNative
|
|
12
12
|
{
|
|
13
|
+
[experimental]
|
|
14
|
+
DOC_STRING("sdf")
|
|
15
|
+
enum FocusNavigationReason
|
|
16
|
+
{
|
|
17
|
+
Restore,
|
|
18
|
+
First,
|
|
19
|
+
Last,
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
[default_interface]
|
|
23
|
+
[webhosthidden]
|
|
24
|
+
[experimental]
|
|
25
|
+
DOC_STRING("Argument type for @CompositionRootView.NavigateFocus.")
|
|
26
|
+
runtimeclass FocusNavigationRequest {
|
|
27
|
+
DOC_STRING("Creates new instance of @FocusNavigationRequest")
|
|
28
|
+
FocusNavigationRequest(FocusNavigationReason reason);
|
|
29
|
+
|
|
30
|
+
DOC_STRING("The reason the @CompositionRootView is getting focus.")
|
|
31
|
+
FocusNavigationReason Reason {get;set;};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
[default_interface]
|
|
35
|
+
[webhosthidden]
|
|
36
|
+
[experimental]
|
|
37
|
+
DOC_STRING("Provides result from a @CompositionRootView.NavigateFocus method call.")
|
|
38
|
+
runtimeclass FocusNavigationResult {
|
|
39
|
+
DOC_STRING("Gets a value that indicates whether the focus successfully moved.")
|
|
40
|
+
Boolean WasFocusMoved {get;};
|
|
41
|
+
};
|
|
42
|
+
|
|
13
43
|
[default_interface]
|
|
14
44
|
[webhosthidden]
|
|
15
45
|
[experimental]
|
|
@@ -32,11 +62,16 @@ namespace Microsoft.ReactNative
|
|
|
32
62
|
DOC_STRING("ScaleFactor for this windows (DPI/96)")
|
|
33
63
|
Double ScaleFactor {get; set;};
|
|
34
64
|
|
|
65
|
+
DOC_STRING("Move focus to this @CompositionRootView")
|
|
66
|
+
FocusNavigationResult NavigateFocus(FocusNavigationRequest request);
|
|
67
|
+
|
|
35
68
|
Windows.Foundation.Size Measure(Windows.Foundation.Size availableSize);
|
|
36
69
|
Windows.Foundation.Size Arrange(Windows.Foundation.Size availableSize);
|
|
37
70
|
|
|
38
71
|
Int64 SendMessage(UInt32 Msg, UInt64 WParam, Int64 LParam);
|
|
39
72
|
|
|
73
|
+
Object GetUiaProvider();
|
|
74
|
+
|
|
40
75
|
//void OnPointerPressed(PointerPressedArgs args);
|
|
41
76
|
//void OnMouseUp(Windows.Foundation.Point point);
|
|
42
77
|
void OnScrollWheel(Windows.Foundation.Point point, Int32 delta);
|
|
@@ -14,6 +14,13 @@ namespace Microsoft.ReactNative.Composition
|
|
|
14
14
|
UniformToFill,
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
+
enum BackfaceVisibility
|
|
18
|
+
{
|
|
19
|
+
Inherit,
|
|
20
|
+
Visible,
|
|
21
|
+
Hidden
|
|
22
|
+
};
|
|
23
|
+
|
|
17
24
|
[webhosthidden]
|
|
18
25
|
[uuid("172def51-9e1a-4e3c-841a-e5a470065acc")] // uuid needed for empty interfaces
|
|
19
26
|
[version(1)]
|
|
@@ -55,6 +62,7 @@ namespace Microsoft.ReactNative.Composition
|
|
|
55
62
|
void Offset(Windows.Foundation.Numerics.Vector3 offset);
|
|
56
63
|
void Offset(Windows.Foundation.Numerics.Vector3 offset, Windows.Foundation.Numerics.Vector3 relativeAdjustment);
|
|
57
64
|
void RelativeSizeWithOffset(Windows.Foundation.Numerics.Vector2 size, Windows.Foundation.Numerics.Vector2 relativeSizeAdjustment);
|
|
65
|
+
BackfaceVisibility BackfaceVisibility{ get; set; };
|
|
58
66
|
}
|
|
59
67
|
|
|
60
68
|
[webhosthidden]
|
|
@@ -81,6 +89,7 @@ namespace Microsoft.ReactNative.Composition
|
|
|
81
89
|
void ContentSize(Windows.Foundation.Numerics.Vector2 size);
|
|
82
90
|
Windows.Foundation.Numerics.Vector3 ScrollPosition { get; };
|
|
83
91
|
void ScrollBy(Windows.Foundation.Numerics.Vector3 offset);
|
|
92
|
+
void TryUpdatePosition(Windows.Foundation.Numerics.Vector3 position, Boolean animate);
|
|
84
93
|
}
|
|
85
94
|
|
|
86
95
|
[webhosthidden]
|
|
@@ -101,6 +110,15 @@ namespace Microsoft.ReactNative.Composition
|
|
|
101
110
|
Boolean IsVisible { get; set; };
|
|
102
111
|
}
|
|
103
112
|
|
|
113
|
+
[webhosthidden]
|
|
114
|
+
[experimental]
|
|
115
|
+
interface IFocusVisual
|
|
116
|
+
{
|
|
117
|
+
IVisual InnerVisual { get; };
|
|
118
|
+
Boolean IsFocused { get; set; };
|
|
119
|
+
Single ScaleFactor { get; set; };
|
|
120
|
+
}
|
|
121
|
+
|
|
104
122
|
[webhosthidden]
|
|
105
123
|
[experimental]
|
|
106
124
|
interface ICompositionContext
|
|
@@ -112,6 +130,7 @@ namespace Microsoft.ReactNative.Composition
|
|
|
112
130
|
SpriteVisual CreateSpriteVisual();
|
|
113
131
|
ScrollVisual CreateScrollerVisual();
|
|
114
132
|
ICaretVisual CreateCaretVisual();
|
|
133
|
+
IFocusVisual CreateFocusVisual();
|
|
115
134
|
IDropShadow CreateDropShadow();
|
|
116
135
|
IBrush CreateColorBrush(Windows.UI.Color color);
|
|
117
136
|
SurfaceBrush CreateSurfaceBrush(ICompositionDrawingSurface surface);
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "pch.h"
|
|
5
|
+
|
|
6
|
+
#include "AbiViewComponentDescriptor.h"
|
|
7
|
+
|
|
8
|
+
#include <Fabric/WindowsComponentDescriptorRegistry.h>
|
|
9
|
+
#include <ReactContext.h>
|
|
10
|
+
#include <react/renderer/components/view/ViewPropsInterpolation.h>
|
|
11
|
+
#include "DynamicReader.h"
|
|
12
|
+
|
|
13
|
+
namespace Microsoft::ReactNative {
|
|
14
|
+
|
|
15
|
+
extern const char AbiViewComponentName[] = "AbiView";
|
|
16
|
+
|
|
17
|
+
AbiViewComponentDescriptor::AbiViewComponentDescriptor(facebook::react::ComponentDescriptorParameters const ¶meters)
|
|
18
|
+
: ComponentDescriptor(parameters) {
|
|
19
|
+
auto flavor = std::static_pointer_cast<std::string const>(this->flavor_);
|
|
20
|
+
m_builder = WindowsComponentDescriptorRegistry::FromProperties(
|
|
21
|
+
parameters.contextContainer->at<winrt::Microsoft::ReactNative::ReactContext>("MSRN.ReactContext")
|
|
22
|
+
.Properties())
|
|
23
|
+
->GetDescriptor(flavor);
|
|
24
|
+
|
|
25
|
+
rawPropsParser_.prepare<ConcreteProps>();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
facebook::react::ComponentHandle AbiViewComponentDescriptor::getComponentHandle() const {
|
|
29
|
+
return reinterpret_cast<facebook::react::ComponentHandle>(getComponentName());
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
facebook::react::ComponentName AbiViewComponentDescriptor::getComponentName() const {
|
|
33
|
+
return std::static_pointer_cast<std::string const>(this->flavor_)->c_str();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
facebook::react::ShadowNodeTraits AbiViewComponentDescriptor::getTraits() const {
|
|
37
|
+
return ShadowNodeT::BaseTraits();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
facebook::react::ShadowNode::Shared AbiViewComponentDescriptor::createShadowNode(
|
|
41
|
+
const facebook::react::ShadowNodeFragment &fragment,
|
|
42
|
+
facebook::react::ShadowNodeFamily::Shared const &family) const {
|
|
43
|
+
auto shadowNode = std::make_shared<ShadowNodeT>(fragment, family, getTraits());
|
|
44
|
+
|
|
45
|
+
adopt(shadowNode);
|
|
46
|
+
|
|
47
|
+
return shadowNode;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
facebook::react::ShadowNode::Unshared AbiViewComponentDescriptor::cloneShadowNode(
|
|
51
|
+
const facebook::react::ShadowNode &sourceShadowNode,
|
|
52
|
+
const facebook::react::ShadowNodeFragment &fragment) const {
|
|
53
|
+
auto shadowNode = std::make_shared<ShadowNodeT>(sourceShadowNode, fragment);
|
|
54
|
+
|
|
55
|
+
adopt(shadowNode);
|
|
56
|
+
return shadowNode;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
void AbiViewComponentDescriptor::appendChild(
|
|
60
|
+
const facebook::react::ShadowNode::Shared &parentShadowNode,
|
|
61
|
+
const facebook::react::ShadowNode::Shared &childShadowNode) const {
|
|
62
|
+
auto concreteParentShadowNode = std::static_pointer_cast<const ShadowNodeT>(parentShadowNode);
|
|
63
|
+
auto concreteNonConstParentShadowNode = std::const_pointer_cast<ShadowNodeT>(concreteParentShadowNode);
|
|
64
|
+
concreteNonConstParentShadowNode->appendChild(childShadowNode);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
facebook::react::Props::Shared AbiViewComponentDescriptor::cloneProps(
|
|
68
|
+
const facebook::react::PropsParserContext &context,
|
|
69
|
+
const facebook::react::Props::Shared &props,
|
|
70
|
+
const facebook::react::RawProps &rawProps) const {
|
|
71
|
+
// Optimization:
|
|
72
|
+
// Quite often nodes are constructed with default/empty props: the base
|
|
73
|
+
// `props` object is `null` (there no base because it's not cloning) and the
|
|
74
|
+
// `rawProps` is empty. In this case, we can return the default props object
|
|
75
|
+
// of a concrete type entirely bypassing parsing.
|
|
76
|
+
if (!props && rawProps.isEmpty()) {
|
|
77
|
+
return ShadowNodeT::defaultSharedProps();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
rawProps.parse(rawPropsParser_, context);
|
|
81
|
+
|
|
82
|
+
// Call old-style constructor
|
|
83
|
+
// auto shadowNodeProps = std::make_shared<ShadowNodeT::Props>(context, rawProps, props);
|
|
84
|
+
auto shadowNodeProps = std::make_shared<AbiViewProps>(
|
|
85
|
+
context, props ? static_cast<AbiViewProps const &>(*props) : AbiViewProps(), rawProps);
|
|
86
|
+
auto viewProps = winrt::make<winrt::Microsoft::ReactNative::implementation::UserViewProps>(shadowNodeProps);
|
|
87
|
+
auto userProps =
|
|
88
|
+
winrt::get_self<winrt::Microsoft::ReactNative::Composition::ReactCompositionViewComponentBuilder>(m_builder)
|
|
89
|
+
->CreateProps(viewProps);
|
|
90
|
+
shadowNodeProps->SetUserProps(userProps, viewProps);
|
|
91
|
+
|
|
92
|
+
rawProps.iterateOverValues(
|
|
93
|
+
[&](facebook::react::RawPropsPropNameHash hash, const char *propName, facebook::react::RawValue const &fn) {
|
|
94
|
+
shadowNodeProps.get()->setProp(context, hash, propName, fn);
|
|
95
|
+
userProps.SetProp(
|
|
96
|
+
hash,
|
|
97
|
+
winrt::to_hstring(propName),
|
|
98
|
+
winrt::make<winrt::Microsoft::ReactNative::DynamicReader>(folly::dynamic(fn)));
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
return shadowNodeProps;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
facebook::react::Props::Shared AbiViewComponentDescriptor::interpolateProps(
|
|
105
|
+
const facebook::react::PropsParserContext &context,
|
|
106
|
+
facebook::react::Float animationProgress,
|
|
107
|
+
const facebook::react::Props::Shared &props,
|
|
108
|
+
const facebook::react::Props::Shared &newProps) const {
|
|
109
|
+
facebook::react::Props::Shared interpolatedPropsShared = cloneProps(context, newProps, {});
|
|
110
|
+
|
|
111
|
+
if (ConcreteShadowNode::BaseTraits().check(facebook::react::ShadowNodeTraits::Trait::ViewKind)) {
|
|
112
|
+
facebook::react::interpolateViewProps(animationProgress, props, newProps, interpolatedPropsShared);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return interpolatedPropsShared;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
facebook::react::State::Shared AbiViewComponentDescriptor::createInitialState(
|
|
119
|
+
facebook::react::ShadowNodeFragment const &fragment,
|
|
120
|
+
facebook::react::ShadowNodeFamily::Shared const &family) const {
|
|
121
|
+
if (std::is_same<ConcreteStateData, facebook::react::StateData>::value) {
|
|
122
|
+
// Default case: Returning `null` for nodes that don't use `State`.
|
|
123
|
+
return nullptr;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return std::make_shared<ConcreteState>(
|
|
127
|
+
std::make_shared<ConcreteStateData const>(ConcreteShadowNode::initialStateData(
|
|
128
|
+
fragment, facebook::react::ShadowNodeFamilyFragment::build(*family), *this)),
|
|
129
|
+
family);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
facebook::react::State::Shared AbiViewComponentDescriptor::createState(
|
|
133
|
+
facebook::react::ShadowNodeFamily const &family,
|
|
134
|
+
facebook::react::StateData::Shared const &data) const {
|
|
135
|
+
if (std::is_same<ConcreteStateData, facebook::react::StateData>::value) {
|
|
136
|
+
// Default case: Returning `null` for nodes that don't use `State`.
|
|
137
|
+
return nullptr;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
react_native_assert(data && "Provided `data` is nullptr.");
|
|
141
|
+
|
|
142
|
+
return std::make_shared<ConcreteState const>(
|
|
143
|
+
std::static_pointer_cast<ConcreteStateData const>(data), *family.getMostRecentState());
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
facebook::react::ShadowNodeFamily::Shared AbiViewComponentDescriptor::createFamily(
|
|
147
|
+
facebook::react::ShadowNodeFamilyFragment const &fragment,
|
|
148
|
+
facebook::react::SharedEventTarget eventTarget) const {
|
|
149
|
+
auto eventEmitter =
|
|
150
|
+
std::make_shared<ConcreteEventEmitter const>(std::move(eventTarget), fragment.tag, eventDispatcher_);
|
|
151
|
+
return std::make_shared<facebook::react::ShadowNodeFamily>(
|
|
152
|
+
facebook::react::ShadowNodeFamilyFragment{fragment.tag, fragment.surfaceId, eventEmitter},
|
|
153
|
+
eventDispatcher_,
|
|
154
|
+
*this);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/*
|
|
158
|
+
* Called immediatelly after `ShadowNode` is created or cloned.
|
|
159
|
+
*
|
|
160
|
+
* Override this method to pass information from custom `ComponentDescriptor`
|
|
161
|
+
* to new instance of `ShadowNode`.
|
|
162
|
+
*
|
|
163
|
+
* Example usages:
|
|
164
|
+
* - Inject image manager to `ImageShadowNode` in
|
|
165
|
+
* `ImageComponentDescriptor`.
|
|
166
|
+
* - Set `ShadowNode`'s size from state in
|
|
167
|
+
* `ModalHostViewComponentDescriptor`.
|
|
168
|
+
*/
|
|
169
|
+
void AbiViewComponentDescriptor::adopt(facebook::react::ShadowNode::Unshared const &shadowNode) const {
|
|
170
|
+
// Default implementation does nothing.
|
|
171
|
+
react_native_assert(shadowNode->getComponentHandle() == getComponentHandle());
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
|
|
7
|
+
#include <react/renderer/core/ComponentDescriptor.h>
|
|
8
|
+
#include "AbiViewProps.h"
|
|
9
|
+
#include "winrt/Microsoft.ReactNative.h"
|
|
10
|
+
|
|
11
|
+
namespace Microsoft::ReactNative {
|
|
12
|
+
|
|
13
|
+
extern const char AbiViewComponentName[];
|
|
14
|
+
|
|
15
|
+
class AbiViewState {
|
|
16
|
+
public:
|
|
17
|
+
AbiViewState() = default;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// Need to replace ConcreteShadowNode template usage with a specific impl that can have a different name per type
|
|
21
|
+
using AbiViewShadowNode = facebook::react::
|
|
22
|
+
ConcreteViewShadowNode<AbiViewComponentName, AbiViewProps, facebook::react::ViewEventEmitter, AbiViewState>;
|
|
23
|
+
|
|
24
|
+
class AbiViewComponentDescriptor : public facebook::react::ComponentDescriptor {
|
|
25
|
+
using ShadowNodeT = AbiViewShadowNode;
|
|
26
|
+
using SharedShadowNodeT = std::shared_ptr<const ShadowNodeT>;
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
using ConcreteShadowNode = ShadowNodeT;
|
|
30
|
+
using ConcreteProps = typename ShadowNodeT::ConcreteProps;
|
|
31
|
+
using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps;
|
|
32
|
+
using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter;
|
|
33
|
+
using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter;
|
|
34
|
+
using ConcreteState = typename ShadowNodeT::ConcreteState;
|
|
35
|
+
using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data;
|
|
36
|
+
|
|
37
|
+
AbiViewComponentDescriptor(facebook::react::ComponentDescriptorParameters const ¶meters);
|
|
38
|
+
|
|
39
|
+
facebook::react::ComponentHandle getComponentHandle() const override;
|
|
40
|
+
facebook::react::ComponentName getComponentName() const override;
|
|
41
|
+
facebook::react::ShadowNodeTraits getTraits() const override;
|
|
42
|
+
facebook::react::ShadowNode::Shared createShadowNode(
|
|
43
|
+
const facebook::react::ShadowNodeFragment &fragment,
|
|
44
|
+
facebook::react::ShadowNodeFamily::Shared const &family) const override;
|
|
45
|
+
facebook::react::ShadowNode::Unshared cloneShadowNode(
|
|
46
|
+
const facebook::react::ShadowNode &sourceShadowNode,
|
|
47
|
+
const facebook::react::ShadowNodeFragment &fragment) const override;
|
|
48
|
+
|
|
49
|
+
void appendChild(
|
|
50
|
+
const facebook::react::ShadowNode::Shared &parentShadowNode,
|
|
51
|
+
const facebook::react::ShadowNode::Shared &childShadowNode) const override;
|
|
52
|
+
virtual facebook::react::Props::Shared cloneProps(
|
|
53
|
+
const facebook::react::PropsParserContext &context,
|
|
54
|
+
const facebook::react::Props::Shared &props,
|
|
55
|
+
const facebook::react::RawProps &rawProps) const override;
|
|
56
|
+
facebook::react::Props::Shared interpolateProps(
|
|
57
|
+
const facebook::react::PropsParserContext &context,
|
|
58
|
+
facebook::react::Float animationProgress,
|
|
59
|
+
const facebook::react::Props::Shared &props,
|
|
60
|
+
const facebook::react::Props::Shared &newProps) const override;
|
|
61
|
+
virtual facebook::react::State::Shared createInitialState(
|
|
62
|
+
facebook::react::ShadowNodeFragment const &fragment,
|
|
63
|
+
facebook::react::ShadowNodeFamily::Shared const &family) const override;
|
|
64
|
+
virtual facebook::react::State::Shared createState(
|
|
65
|
+
facebook::react::ShadowNodeFamily const &family,
|
|
66
|
+
facebook::react::StateData::Shared const &data) const override;
|
|
67
|
+
|
|
68
|
+
facebook::react::ShadowNodeFamily::Shared createFamily(
|
|
69
|
+
facebook::react::ShadowNodeFamilyFragment const &fragment,
|
|
70
|
+
facebook::react::SharedEventTarget eventTarget) const override;
|
|
71
|
+
|
|
72
|
+
protected:
|
|
73
|
+
/*
|
|
74
|
+
* Called immediatelly after `ShadowNode` is created or cloned.
|
|
75
|
+
*
|
|
76
|
+
* Override this method to pass information from custom `ComponentDescriptor`
|
|
77
|
+
* to new instance of `ShadowNode`.
|
|
78
|
+
*
|
|
79
|
+
* Example usages:
|
|
80
|
+
* - Inject image manager to `ImageShadowNode` in
|
|
81
|
+
* `ImageComponentDescriptor`.
|
|
82
|
+
* - Set `ShadowNode`'s size from state in
|
|
83
|
+
* `ModalHostViewComponentDescriptor`.
|
|
84
|
+
*/
|
|
85
|
+
virtual void adopt(facebook::react::ShadowNode::Unshared const &shadowNode) const;
|
|
86
|
+
|
|
87
|
+
private:
|
|
88
|
+
winrt::Microsoft::ReactNative::IReactViewComponentBuilder m_builder;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#include "pch.h"
|
|
5
|
+
|
|
6
|
+
#include "AbiViewProps.h"
|
|
7
|
+
|
|
8
|
+
namespace Microsoft::ReactNative {
|
|
9
|
+
|
|
10
|
+
AbiViewProps::AbiViewProps(
|
|
11
|
+
const facebook::react::PropsParserContext &context,
|
|
12
|
+
const AbiViewProps &sourceProps,
|
|
13
|
+
const facebook::react::RawProps &rawProps)
|
|
14
|
+
: facebook::react::ViewProps(context, sourceProps, rawProps) {}
|
|
15
|
+
|
|
16
|
+
AbiViewProps::~AbiViewProps() {
|
|
17
|
+
if (m_userProps) {
|
|
18
|
+
winrt::get_self<winrt::Microsoft::ReactNative::implementation::UserViewProps>(m_userProps)->Disconnect();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
void AbiViewProps::SetUserProps(
|
|
23
|
+
winrt::Microsoft::ReactNative::IComponentProps componentProps,
|
|
24
|
+
winrt::Microsoft::ReactNative::ViewProps userProps) noexcept {
|
|
25
|
+
m_componentProps = componentProps;
|
|
26
|
+
m_userProps = userProps;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
winrt::Microsoft::ReactNative::IComponentProps AbiViewProps::UserProps() const noexcept {
|
|
30
|
+
return m_componentProps;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
} // namespace Microsoft::ReactNative
|
|
34
|
+
|
|
35
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
36
|
+
|
|
37
|
+
UserViewProps::UserViewProps(std::shared_ptr<::Microsoft::ReactNative::AbiViewProps const> viewProps) noexcept
|
|
38
|
+
: m_viewProps(viewProps.get()) {}
|
|
39
|
+
|
|
40
|
+
void UserViewProps::Disconnect() noexcept {
|
|
41
|
+
m_viewProps = nullptr;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
float UserViewProps::Opacity() noexcept {
|
|
45
|
+
return m_viewProps ? m_viewProps->opacity : 1.0f;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "ViewProps.g.h"
|
|
7
|
+
|
|
8
|
+
#include <react/renderer/components/view/ViewProps.h>
|
|
9
|
+
#include "winrt/Microsoft.ReactNative.h"
|
|
10
|
+
|
|
11
|
+
namespace Microsoft::ReactNative {
|
|
12
|
+
|
|
13
|
+
class AbiViewProps final : public facebook::react::ViewProps {
|
|
14
|
+
public:
|
|
15
|
+
AbiViewProps() = default;
|
|
16
|
+
AbiViewProps(
|
|
17
|
+
const facebook::react::PropsParserContext &context,
|
|
18
|
+
const AbiViewProps &sourceProps,
|
|
19
|
+
const facebook::react::RawProps &rawProps);
|
|
20
|
+
~AbiViewProps();
|
|
21
|
+
|
|
22
|
+
void SetUserProps(
|
|
23
|
+
winrt::Microsoft::ReactNative::IComponentProps componentProps,
|
|
24
|
+
winrt::Microsoft::ReactNative::ViewProps userProps) noexcept;
|
|
25
|
+
winrt::Microsoft::ReactNative::IComponentProps UserProps() const noexcept;
|
|
26
|
+
|
|
27
|
+
private:
|
|
28
|
+
winrt::Microsoft::ReactNative::IComponentProps m_componentProps{nullptr};
|
|
29
|
+
winrt::Microsoft::ReactNative::ViewProps m_userProps{nullptr};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
} // namespace Microsoft::ReactNative
|
|
33
|
+
|
|
34
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
35
|
+
|
|
36
|
+
struct UserViewProps : ViewPropsT<UserViewProps> {
|
|
37
|
+
UserViewProps(std::shared_ptr<::Microsoft::ReactNative::AbiViewProps const> viewProps) noexcept;
|
|
38
|
+
|
|
39
|
+
float Opacity() noexcept;
|
|
40
|
+
|
|
41
|
+
void Disconnect() noexcept;
|
|
42
|
+
|
|
43
|
+
private:
|
|
44
|
+
// Use a raw pointer here to avoid a ref cycle with AbiViewProps. ~AbiViewProps will clear this pointer
|
|
45
|
+
::Microsoft::ReactNative::AbiViewProps const *m_viewProps{nullptr};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
#pragma once
|
|
6
6
|
|
|
7
|
+
#include <functional/functor.h>
|
|
8
|
+
#include <inspectable.h>
|
|
7
9
|
#include <react/renderer/componentregistry/ComponentDescriptorProvider.h>
|
|
8
10
|
#include <react/renderer/components/view/TouchEventEmitter.h>
|
|
9
11
|
#include <react/renderer/components/view/ViewProps.h>
|
|
@@ -23,11 +25,13 @@ enum class RNComponentViewUpdateMask : std::uint_fast8_t {
|
|
|
23
25
|
|
|
24
26
|
DEFINE_ENUM_FLAG_OPERATORS(RNComponentViewUpdateMask);
|
|
25
27
|
|
|
28
|
+
struct RootComponentView;
|
|
29
|
+
|
|
26
30
|
struct IComponentView {
|
|
27
31
|
virtual std::vector<facebook::react::ComponentDescriptorProvider>
|
|
28
32
|
supplementalComponentDescriptorProviders() noexcept = 0;
|
|
29
|
-
virtual void mountChildComponentView(
|
|
30
|
-
virtual void unmountChildComponentView(
|
|
33
|
+
virtual void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept = 0;
|
|
34
|
+
virtual void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept = 0;
|
|
31
35
|
virtual void updateProps(
|
|
32
36
|
facebook::react::Props::Shared const &props,
|
|
33
37
|
facebook::react::Props::Shared const &oldProps) noexcept = 0;
|
|
@@ -42,14 +46,27 @@ struct IComponentView {
|
|
|
42
46
|
virtual void prepareForRecycle() noexcept = 0;
|
|
43
47
|
virtual facebook::react::Props::Shared props() noexcept = 0;
|
|
44
48
|
virtual void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept = 0;
|
|
49
|
+
virtual RootComponentView *rootComponentView() noexcept = 0;
|
|
45
50
|
virtual void parent(IComponentView *parent) noexcept = 0;
|
|
46
51
|
virtual IComponentView *parent() const noexcept = 0;
|
|
52
|
+
virtual const std::vector<IComponentView *> &children() const noexcept = 0;
|
|
53
|
+
// Run fn on all children of this node until fn returns true
|
|
54
|
+
// returns true if the fn ever returned true
|
|
55
|
+
virtual bool runOnChildren(bool forward, Mso::Functor<bool(IComponentView &)> &fn) noexcept = 0;
|
|
47
56
|
virtual RECT getClientRect() const noexcept = 0;
|
|
48
57
|
virtual void onFocusLost() noexcept = 0;
|
|
49
58
|
virtual void onFocusGained() noexcept = 0;
|
|
59
|
+
virtual bool focusable() const noexcept = 0;
|
|
60
|
+
virtual facebook::react::SharedTouchEventEmitter touchEventEmitterAtPoint(facebook::react::Point pt) noexcept = 0;
|
|
50
61
|
virtual facebook::react::SharedTouchEventEmitter touchEventEmitter() noexcept = 0;
|
|
51
62
|
virtual facebook::react::Tag tag() const noexcept = 0;
|
|
52
63
|
virtual facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept = 0;
|
|
64
|
+
virtual int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept = 0;
|
|
65
|
+
virtual winrt::IInspectable EnsureUiaProvider() noexcept = 0;
|
|
53
66
|
};
|
|
54
67
|
|
|
68
|
+
// Run fn on all nodes of the component view tree starting from this one until fn returns true
|
|
69
|
+
// returns true if the fn ever returned true
|
|
70
|
+
bool walkTree(IComponentView &view, bool forward, Mso::Functor<bool(IComponentView &)> &fn) noexcept;
|
|
71
|
+
|
|
55
72
|
} // namespace Microsoft::ReactNative
|