react-native-windows 0.81.1 → 0.82.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 +11 -10
- package/Directory.Build.props +3 -3
- package/Folly/Folly.vcxproj +1 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
- package/Libraries/Alert/RCTAlertManager.android.js +4 -2
- package/Libraries/Animated/Animated.d.ts +2 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedExports.js.flow +1 -0
- package/Libraries/Animated/AnimatedImplementation.js +4 -2
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/Easing.js +2 -0
- package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
- package/Libraries/Animated/animations/Animation.js +19 -20
- package/Libraries/Animated/animations/TimingAnimation.js +2 -0
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
- package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
- package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
- package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
- package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
- package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
- package/Libraries/AppState/AppState.js +8 -4
- package/Libraries/BatchedBridge/MessageQueue.js +4 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +2 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Button.windows.js +1 -1
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
- package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
- package/Libraries/Components/Pressable/Pressable.js +10 -1
- package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +13 -4
- package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +2 -2
- package/Libraries/Components/Switch/Switch.js +2 -2
- package/Libraries/Components/Switch/Switch.windows.js +2 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
- package/Libraries/Components/TextInput/TextInput.js +14 -5
- package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/View/View.js +81 -167
- package/Libraries/Components/View/View.windows.js +202 -302
- package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +4 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
- package/Libraries/Core/ReactNativeVersion.js +37 -10
- package/Libraries/Core/Timers/JSTimers.js +3 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -0
- package/Libraries/Core/setUpPerformance.js +2 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
- package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
- package/Libraries/Image/Image.android.js +327 -111
- package/Libraries/Image/Image.ios.js +6 -1
- package/Libraries/Image/Image.windows.js +28 -61
- package/Libraries/Image/ImageSourceUtils.js +8 -2
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Image/resolveAssetSource.windows.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +118 -167
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
- package/Libraries/Lists/FlatList.js +5 -6
- package/Libraries/LogBox/Data/LogBoxData.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +2 -2
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +20 -5
- package/Libraries/Network/convertRequestBody.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
- package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +116 -116
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/renderApplication.js +1 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Share/Share.js +4 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
- package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
- package/Libraries/StyleSheet/flattenStyle.js +2 -2
- package/Libraries/StyleSheet/processAspectRatio.js +2 -0
- package/Libraries/StyleSheet/processFilter.js +5 -5
- package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
- package/Libraries/Text/Text.js +534 -234
- package/Libraries/Text/Text.windows.js +622 -265
- package/Libraries/Text/TextNativeComponent.js +2 -2
- package/Libraries/Utilities/Appearance.d.ts +3 -5
- package/Libraries/Utilities/Appearance.js +5 -17
- package/Libraries/Utilities/HMRClient.js +2 -1
- package/Libraries/Utilities/Platform.android.js +3 -3
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/Platform.windows.js +3 -3
- package/Libraries/Utilities/PlatformTypes.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +32 -0
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
- package/Libraries/promiseRejectionTrackingOptions.js +17 -31
- package/Libraries/vendor/emitter/EventEmitter.js +1 -1
- package/Microsoft.ReactNative/App.xaml +5 -0
- package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
- package/Microsoft.ReactNative/CompositionContext.idl +0 -2
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
- package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +65 -32
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +550 -4
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
- package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
- package/Microsoft.ReactNative/IReactContext.cpp +2 -25
- package/Microsoft.ReactNative/IReactContext.h +0 -7
- package/Microsoft.ReactNative/IReactContext.idl +4 -29
- package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
- package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
- package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
- package/Microsoft.ReactNative/JsiApi.cpp +4 -3
- package/Microsoft.ReactNative/JsiApi.h +2 -3
- package/Microsoft.ReactNative/JsiApi.idl +3 -2
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
- package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
- package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
- package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
- package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
- package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
- package/Microsoft.ReactNative/Pch/pch.h +0 -28
- package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
- package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -44
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
- package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
- package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
- package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
- package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
- package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
- package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
- package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
- package/Microsoft.ReactNative/RedBox.cpp +9 -362
- package/Microsoft.ReactNative/Theme.idl +0 -2
- package/Microsoft.ReactNative/Timer.cpp +3 -2
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
- package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
- package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
- package/Microsoft.ReactNative/ViewProps.idl +0 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
- package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
- package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
- package/Microsoft.ReactNative/XamlApplication.h +47 -0
- package/Microsoft.ReactNative/XamlApplication.idl +19 -0
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
- package/Microsoft.ReactNative/XamlUIService.h +0 -12
- package/Microsoft.ReactNative/XamlUIService.idl +0 -12
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
- package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
- package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
- package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
- package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
- package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
- package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
- package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
- package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
- package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
- package/Mso/src/dispatchQueue/queueService.cpp +3 -1
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
- package/PropertySheets/Bundle.Common.targets +1 -1
- package/PropertySheets/Bundle.props +3 -4
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/NuGet.LockFile.props +0 -8
- package/PropertySheets/OutputMSBuildProperties.targets +0 -1
- package/PropertySheets/React.Cpp.props +3 -5
- package/PropertySheets/WinUI.props +3 -3
- package/README.md +1 -5
- package/ReactCommon/ReactCommon.vcxproj +12 -31
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/Microsoft.ReactNative.nuspec +15 -33
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
- package/Scripts/OfficeReact.Win32.nuspec +0 -3
- package/Scripts/creaternwapp.cmd +1 -1
- package/Shared/DevServerHelper.h +17 -21
- package/Shared/DevSettings.h +1 -25
- package/Shared/DevSupportManager.cpp +0 -50
- package/Shared/DevSupportManager.h +0 -4
- package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
- package/Shared/HermesRuntimeHolder.cpp +0 -31
- package/Shared/HermesRuntimeHolder.h +0 -14
- package/Shared/IDevSupportManager.h +0 -6
- package/Shared/InstanceManager.cpp +0 -97
- package/Shared/InstanceManager.h +0 -53
- package/Shared/JSI/ScriptStore.h +1 -1
- package/Shared/Logging.cpp +1 -12
- package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
- package/Shared/Modules/CxxModuleUtilities.h +0 -8
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
- package/Shared/OInstance.cpp +144 -424
- package/Shared/OInstance.h +0 -81
- package/Shared/Shared.vcxitems +83 -203
- package/Shared/Shared.vcxitems.filters +8 -67
- package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
- package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
- package/Shared/TurboModuleManager.cpp +0 -4
- package/Shared/Utils.cpp +26 -0
- package/Shared/Utils.h +3 -0
- package/codegen/NativeDOMSpec.g.h +41 -35
- package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
- package/codegen/NativePerformanceSpec.g.h +47 -35
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
- package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
- package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
- package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
- package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
- package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
- package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
- package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
- package/codegen/react/components/rnwcore/Props.cpp +41 -2
- package/codegen/react/components/rnwcore/Props.h +51 -2
- package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
- package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
- package/codegen/react/components/rnwcore/Switch.g.h +14 -0
- package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
- package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
- package/codegen/rnwcoreJSI-generated.cpp +106 -51
- package/codegen/rnwcoreJSI.h +148 -67
- package/fmt/cgmanifest.json +1 -1
- package/fmt/fmt.vcxproj +0 -8
- package/index.js +8 -2
- package/index.windows.js +8 -2
- package/jest/local-setup.js +2 -2
- package/jest/mock.js +1 -1
- package/jest/mockComponent.js +9 -9
- package/jest/mockNativeComponent.js +3 -2
- package/jest/mocks/Modal.js +1 -1
- package/jest/mocks/ScrollView.js +1 -1
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/setup.js +23 -12
- package/just-task.js +14 -0
- package/package.json +31 -32
- package/src/private/animated/NativeAnimatedHelper.js +16 -5
- package/src/private/animated/createAnimatedPropsHook.js +11 -60
- package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
- package/src/private/components/virtualview/VirtualView.js +43 -12
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
- package/src/private/types/HostInstance.js +4 -1
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/performance/EventTiming.js +6 -10
- package/src/private/webapis/performance/Performance.js +309 -164
- package/src/private/webapis/performance/PerformanceEntry.js +20 -16
- package/src/private/webapis/performance/PerformanceObserver.js +8 -29
- package/src/private/webapis/performance/UserTiming.js +71 -18
- package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
- package/src/private/webapis/performance/internals/Utilities.js +9 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
- package/src/private/webapis/structuredClone/structuredClone.js +10 -10
- package/stubs/double-conversion/README.md +1 -1
- package/template/cpp-lib/proj/MyLib.sln +0 -5
- package/template/cpp-lib/src/pch.h +0 -5
- package/template/cs-lib/proj/MyLib.sln +0 -5
- package/template/metro.config.js +1 -0
- package/templates/cpp-app/metro.config.js +2 -1
- package/templates/cpp-app/windows/MyApp.sln +0 -5
- package/templates/cpp-lib/example/metro.config.js +3 -4
- package/templates/cpp-lib/windows/MyLib.sln +0 -5
- package/Chakra/Chakra.vcxitems +0 -32
- package/Chakra/Chakra.vcxitems.filters +0 -54
- package/Chakra/ChakraHelpers.cpp +0 -468
- package/Chakra/ChakraHelpers.h +0 -146
- package/Chakra/ChakraInstanceArgs.h +0 -52
- package/Chakra/ChakraPlatform.cpp +0 -42
- package/Chakra/ChakraPlatform.h +0 -51
- package/Chakra/ChakraTracing.cpp +0 -275
- package/Chakra/ChakraTracing.h +0 -11
- package/Chakra/ChakraUtils.cpp +0 -190
- package/Chakra/ChakraUtils.h +0 -72
- package/Chakra/ChakraValue.cpp +0 -257
- package/Chakra/ChakraValue.h +0 -308
- package/Chakra/Utf8DebugExtensions.cpp +0 -62
- package/Chakra/Utf8DebugExtensions.h +0 -29
- package/Libraries/Interaction/InteractionManagerStub.js +0 -184
- package/Libraries/Interaction/TaskQueue.js +0 -183
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
- package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
- package/Microsoft.ReactNative/ABICxxModule.h +0 -38
- package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
- package/Microsoft.ReactNative/ABIViewManager.h +0 -100
- package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
- package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
- package/Microsoft.ReactNative/DevMenuControl.h +0 -20
- package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
- package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
- package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
- package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
- package/Microsoft.ReactNative/INativeUIManager.h +0 -75
- package/Microsoft.ReactNative/IViewManager.idl +0 -120
- package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
- package/Microsoft.ReactNative/LayoutService.cpp +0 -51
- package/Microsoft.ReactNative/LayoutService.h +0 -32
- package/Microsoft.ReactNative/LayoutService.idl +0 -41
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
- package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
- package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
- package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
- package/Microsoft.ReactNative/ReactApplication.h +0 -156
- package/Microsoft.ReactNative/ReactApplication.idl +0 -48
- package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
- package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
- package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
- package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
- package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
- package/Microsoft.ReactNative/ReactRootView.h +0 -127
- package/Microsoft.ReactNative/ReactRootView.idl +0 -40
- package/Microsoft.ReactNative/TestHook.cpp +0 -99
- package/Microsoft.ReactNative/TestHook.h +0 -15
- package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
- package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
- package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
- package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
- package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
- package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
- package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
- package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
- package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
- package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
- package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
- package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
- package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
- package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
- package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
- package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
- package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
- package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
- package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
- package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
- package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
- package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
- package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
- package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
- package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
- package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
- package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
- package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
- package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
- package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
- package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
- package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
- package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
- package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
- package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
- package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
- package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
- package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
- package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
- package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
- package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
- package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
- package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
- package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
- package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
- package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
- package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
- package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
- package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
- package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
- package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
- package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
- package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
- package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
- package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
- package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
- package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
- package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
- package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
- package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
- package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
- package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
- package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
- package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
- package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
- package/Microsoft.ReactNative/XamlHelper.h +0 -54
- package/Microsoft.ReactNative/XamlHelper.idl +0 -30
- package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
- package/Microsoft.ReactNative/XamlLoadState.h +0 -44
- package/Microsoft.ReactNative/XamlView.cpp +0 -59
- package/Microsoft.ReactNative/XamlView.h +0 -58
- package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
- package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
- package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
- package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
- package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
- package/Shared/BatchingMessageQueueThread.h +0 -20
- package/Shared/ChakraRuntimeHolder.cpp +0 -62
- package/Shared/ChakraRuntimeHolder.h +0 -46
- package/Shared/CreateInstance.h +0 -25
- package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
- package/Shared/Executors/WebSocketJSExecutor.h +0 -123
- package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
- package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
- package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
- package/Shared/JSI/ChakraApi.cpp +0 -436
- package/Shared/JSI/ChakraApi.h +0 -474
- package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
- package/Shared/JSI/ChakraRuntime.cpp +0 -1132
- package/Shared/JSI/ChakraRuntime.h +0 -512
- package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
- package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
- package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
- package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
- package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
- package/Shared/NativeModuleProvider.h +0 -40
- package/Shared/SystemChakraRuntime.h +0 -38
- package/Shared/Threading/BatchingQueueThread.cpp +0 -128
- package/Shared/Threading/BatchingQueueThread.h +0 -59
- package/Shared/WebSocketJSExecutorFactory.h +0 -27
- package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
- package/template/cpp-app/proj/MyApp.sln +0 -166
- package/template/cpp-app/proj/MyApp.vcxproj +0 -176
- package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
- package/template/cpp-app/src/App.cpp +0 -93
- package/template/cpp-app/src/App.h +0 -21
- package/template/cpp-app/src/App.idl +0 -3
- package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
- package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
- package/template/cpp-app/src/MainPage.cpp +0 -20
- package/template/cpp-app/src/MainPage.h +0 -19
- package/template/cpp-app/src/MainPage.idl +0 -10
- package/template/cpp-app/src/PropertySheet.props +0 -16
- package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
- package/template/cpp-app/src/ReactPackageProvider.h +0 -13
- package/template/cpp-app/src/pch.cpp +0 -1
- package/template/cpp-app/src/pch.h +0 -24
- package/template/cs-app/proj/MyApp.csproj +0 -162
- package/template/cs-app/proj/MyApp.sln +0 -191
- package/template/cs-app/src/App.xaml.cs +0 -62
- package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
- package/template/cs-app/src/MainPage.xaml.cs +0 -34
- package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
- package/template/cs-app/src/Properties/Default.rd.xml +0 -32
- package/template/cs-app/src/ReactPackageProvider.cs +0 -17
- package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
- package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
- package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
- package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
- package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/template/shared-app/assets/StoreLogo.png +0 -0
- package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
- package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
- package/template/shared-app/proj/NuGet_Config +0 -19
- package/template/shared-app/src/App.xaml +0 -10
- package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
- package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
- package/template/shared-app/src/MainPage.xaml +0 -21
- package/template/shared-app/src/Package.appxmanifest +0 -50
- package/templates/old/uwp-cpp-app/template.config.js +0 -15
- package/templates/old/uwp-cs-app/template.config.js +0 -15
|
@@ -1,527 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
using System;
|
|
5
|
-
using System.Collections.Generic;
|
|
6
|
-
using System.Linq;
|
|
7
|
-
using System.Linq.Expressions;
|
|
8
|
-
using System.Reflection;
|
|
9
|
-
#if !USE_WINUI3
|
|
10
|
-
using Windows.UI.Xaml;
|
|
11
|
-
using Windows.UI.Xaml.Media;
|
|
12
|
-
#else
|
|
13
|
-
using Microsoft.UI.Xaml;
|
|
14
|
-
using Microsoft.UI.Xaml.Media;
|
|
15
|
-
#endif
|
|
16
|
-
using static Microsoft.ReactNative.Managed.ReactContextGenerator;
|
|
17
|
-
|
|
18
|
-
namespace Microsoft.ReactNative.Managed
|
|
19
|
-
{
|
|
20
|
-
public abstract class AttributedViewManager<TFrameworkElement> :
|
|
21
|
-
IViewManager,
|
|
22
|
-
IViewManagerWithReactContext,
|
|
23
|
-
IViewManagerWithExportedViewConstants,
|
|
24
|
-
IViewManagerWithNativeProperties,
|
|
25
|
-
IViewManagerWithCommands,
|
|
26
|
-
IViewManagerWithExportedEventTypeConstants
|
|
27
|
-
where TFrameworkElement : FrameworkElement, new()
|
|
28
|
-
{
|
|
29
|
-
public IReactContext ReactContext { get; set; }
|
|
30
|
-
|
|
31
|
-
#region IViewManager
|
|
32
|
-
|
|
33
|
-
public virtual string Name => typeof(TFrameworkElement).Name;
|
|
34
|
-
|
|
35
|
-
public virtual FrameworkElement CreateView() => new TFrameworkElement();
|
|
36
|
-
|
|
37
|
-
#endregion
|
|
38
|
-
|
|
39
|
-
#region Constants
|
|
40
|
-
|
|
41
|
-
public virtual ConstantProviderDelegate ExportedViewConstants => _exportedViewConstantProvider ?? (_exportedViewConstantProvider = MakeExportedViewConstantProvider());
|
|
42
|
-
private ConstantProviderDelegate _exportedViewConstantProvider;
|
|
43
|
-
|
|
44
|
-
private ConstantProviderDelegate MakeExportedViewConstantProvider()
|
|
45
|
-
{
|
|
46
|
-
return new ConstantProviderDelegate((IJSValueWriter constantWriter) =>
|
|
47
|
-
{
|
|
48
|
-
var typeInfo = GetType().GetTypeInfo();
|
|
49
|
-
|
|
50
|
-
var constants = new ReactConstantProvider(constantWriter);
|
|
51
|
-
|
|
52
|
-
foreach (var fieldInfo in typeInfo.DeclaredFields)
|
|
53
|
-
{
|
|
54
|
-
var attribute = fieldInfo.GetCustomAttribute<ViewManagerExportedViewConstantAttribute>();
|
|
55
|
-
if (null != attribute)
|
|
56
|
-
{
|
|
57
|
-
constants.Add(attribute.ConstantName ?? fieldInfo.Name, IsEnum(fieldInfo.FieldType) ? Convert.ChangeType(fieldInfo.GetValue(this), typeof(long)) : fieldInfo.GetValue(this));
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
foreach (var propertyInfo in typeInfo.DeclaredProperties)
|
|
62
|
-
{
|
|
63
|
-
var attribute = propertyInfo.GetCustomAttribute<ViewManagerExportedViewConstantAttribute>();
|
|
64
|
-
if (null != attribute)
|
|
65
|
-
{
|
|
66
|
-
constants.Add(attribute.ConstantName ?? propertyInfo.Name, IsEnum(propertyInfo.PropertyType) ? Convert.ChangeType(propertyInfo.GetMethod.Invoke(this, null), typeof(long)) : propertyInfo.GetMethod.Invoke(this, null));
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
#endregion
|
|
73
|
-
|
|
74
|
-
#region Properties
|
|
75
|
-
|
|
76
|
-
public virtual IReadOnlyDictionary<string, ViewManagerPropertyType> NativeProps
|
|
77
|
-
{
|
|
78
|
-
get
|
|
79
|
-
{
|
|
80
|
-
if (null == _nativeProps)
|
|
81
|
-
{
|
|
82
|
-
var nativeProps = new Dictionary<string, ViewManagerPropertyType>();
|
|
83
|
-
|
|
84
|
-
foreach (var kvp in ViewManagerProperties)
|
|
85
|
-
{
|
|
86
|
-
nativeProps.Add(kvp.Key, kvp.Value.Type);
|
|
87
|
-
}
|
|
88
|
-
_nativeProps = nativeProps;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return _nativeProps;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
private IReadOnlyDictionary<string, ViewManagerPropertyType> _nativeProps;
|
|
95
|
-
|
|
96
|
-
public virtual void UpdateProperties(FrameworkElement view, IJSValueReader propertyMapReader)
|
|
97
|
-
{
|
|
98
|
-
if (view is TFrameworkElement viewAsT)
|
|
99
|
-
{
|
|
100
|
-
propertyMapReader.ReadValue(out IDictionary<string, JSValue> propertyMap);
|
|
101
|
-
foreach (var property in propertyMap)
|
|
102
|
-
{
|
|
103
|
-
if (ViewManagerProperties.TryGetValue(property.Key, out ViewManagerProperty<TFrameworkElement> setter))
|
|
104
|
-
{
|
|
105
|
-
setter.Setter(viewAsT, property.Value);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else
|
|
110
|
-
{
|
|
111
|
-
throw new ArgumentOutOfRangeException(nameof(view));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
internal Dictionary<string, ViewManagerProperty<TFrameworkElement>> ViewManagerProperties
|
|
116
|
-
{
|
|
117
|
-
get
|
|
118
|
-
{
|
|
119
|
-
if (null == _properties)
|
|
120
|
-
{
|
|
121
|
-
var properties = new Dictionary<string, ViewManagerProperty<TFrameworkElement>>();
|
|
122
|
-
|
|
123
|
-
foreach (var methodInfo in GetType().GetTypeInfo().DeclaredMethods)
|
|
124
|
-
{
|
|
125
|
-
var propertyAttribute = methodInfo.GetCustomAttribute<ViewManagerPropertyAttribute>();
|
|
126
|
-
if (null != propertyAttribute)
|
|
127
|
-
{
|
|
128
|
-
var setter = new ViewManagerProperty<TFrameworkElement>
|
|
129
|
-
{
|
|
130
|
-
Name = propertyAttribute.PropertyName ?? methodInfo.Name,
|
|
131
|
-
Type = propertyAttribute.PropertyType ?? TypeToViewManagerPropertyType(methodInfo.GetParameters()[1].ParameterType),
|
|
132
|
-
Setter = MakeJSValueMethod(methodInfo)
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
properties.Add(setter.Name, setter);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
_properties = properties;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
return _properties;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
private Dictionary<string, ViewManagerProperty<TFrameworkElement>> _properties;
|
|
146
|
-
|
|
147
|
-
public struct ViewManagerProperty<U> where U : TFrameworkElement
|
|
148
|
-
{
|
|
149
|
-
public string Name;
|
|
150
|
-
public ViewManagerPropertyType Type;
|
|
151
|
-
public Action<U, JSValue> Setter;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
private static ViewManagerPropertyType TypeToViewManagerPropertyType(Type t)
|
|
155
|
-
{
|
|
156
|
-
t = Nullable.GetUnderlyingType(t) ?? t;
|
|
157
|
-
|
|
158
|
-
if (t == typeof(bool))
|
|
159
|
-
{
|
|
160
|
-
return ViewManagerPropertyType.Boolean;
|
|
161
|
-
}
|
|
162
|
-
else if (t == typeof(string))
|
|
163
|
-
{
|
|
164
|
-
return ViewManagerPropertyType.String;
|
|
165
|
-
}
|
|
166
|
-
else if (t == typeof(decimal) || t == typeof(double) || t == typeof(float) || t == typeof(long) || t == typeof(int) || t == typeof(short) || t == typeof(sbyte) || t == typeof(ulong) || t == typeof(uint) || t == typeof(ushort) || t == typeof(byte) || t.GetTypeInfo().IsEnum)
|
|
167
|
-
{
|
|
168
|
-
return ViewManagerPropertyType.Number;
|
|
169
|
-
}
|
|
170
|
-
else if (t == typeof(IList<JSValue>) || t == typeof(IReadOnlyList<JSValue>))
|
|
171
|
-
{
|
|
172
|
-
return ViewManagerPropertyType.Array;
|
|
173
|
-
}
|
|
174
|
-
else if (t == typeof(IDictionary<string, JSValue>) || t == typeof(IReadOnlyDictionary<string, JSValue>))
|
|
175
|
-
{
|
|
176
|
-
return ViewManagerPropertyType.Map;
|
|
177
|
-
}
|
|
178
|
-
else if (t == typeof(Brush))
|
|
179
|
-
{
|
|
180
|
-
return ViewManagerPropertyType.Color;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
throw new ArgumentOutOfRangeException(nameof(t));
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
private static bool IsNullableEnum(Type t, out Type enumType)
|
|
187
|
-
{
|
|
188
|
-
enumType = Nullable.GetUnderlyingType(t);
|
|
189
|
-
return null != enumType && enumType.GetTypeInfo().IsEnum;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
private static bool IsEnum(Type t)
|
|
193
|
-
{
|
|
194
|
-
return IsNullableEnum(t, out _) || t.GetTypeInfo().IsEnum;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
#endregion
|
|
198
|
-
|
|
199
|
-
#region Commands
|
|
200
|
-
|
|
201
|
-
public virtual IReadOnlyList<string> Commands
|
|
202
|
-
{
|
|
203
|
-
get
|
|
204
|
-
{
|
|
205
|
-
if (null == _commands)
|
|
206
|
-
{
|
|
207
|
-
_commands = ViewManagerCommands.Keys.ToList();
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
return _commands;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
private IReadOnlyList<string> _commands;
|
|
214
|
-
|
|
215
|
-
public virtual void DispatchCommand(FrameworkElement view, string commandId, IJSValueReader commandArgsReader)
|
|
216
|
-
{
|
|
217
|
-
if (view is TFrameworkElement viewAsT)
|
|
218
|
-
{
|
|
219
|
-
if (ViewManagerCommands.TryGetValue(commandId, out ViewManagerCommand<TFrameworkElement> command))
|
|
220
|
-
{
|
|
221
|
-
command.CommandMethod(viewAsT, commandArgsReader);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
else
|
|
225
|
-
{
|
|
226
|
-
throw new ArgumentOutOfRangeException(nameof(view));
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
internal Dictionary<string, ViewManagerCommand<TFrameworkElement>> ViewManagerCommands
|
|
231
|
-
{
|
|
232
|
-
get
|
|
233
|
-
{
|
|
234
|
-
if (null == _viewManagerCommands)
|
|
235
|
-
{
|
|
236
|
-
var viewManagerCommands = new Dictionary<string, ViewManagerCommand<TFrameworkElement>>();
|
|
237
|
-
|
|
238
|
-
foreach (var methodInfo in GetType().GetTypeInfo().DeclaredMethods)
|
|
239
|
-
{
|
|
240
|
-
var commandAttribute = methodInfo.GetCustomAttribute<ViewManagerCommandAttribute>();
|
|
241
|
-
if (null != commandAttribute)
|
|
242
|
-
{
|
|
243
|
-
var command = new ViewManagerCommand<TFrameworkElement>
|
|
244
|
-
{
|
|
245
|
-
CommandName = commandAttribute.CommandName ?? methodInfo.Name,
|
|
246
|
-
CommandMethod = MakeReaderMethod(methodInfo)
|
|
247
|
-
};
|
|
248
|
-
viewManagerCommands.Add(command.CommandName, command);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
_viewManagerCommands = viewManagerCommands;
|
|
253
|
-
}
|
|
254
|
-
return _viewManagerCommands;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
private Dictionary<string, ViewManagerCommand<TFrameworkElement>> _viewManagerCommands;
|
|
258
|
-
|
|
259
|
-
internal struct ViewManagerCommand<U> where U : TFrameworkElement
|
|
260
|
-
{
|
|
261
|
-
public string CommandName;
|
|
262
|
-
public Action<U, IJSValueReader> CommandMethod;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
#endregion
|
|
266
|
-
|
|
267
|
-
#region Events
|
|
268
|
-
|
|
269
|
-
public virtual ConstantProviderDelegate ExportedCustomBubblingEventTypeConstants => _exportedCustomBubblingEventTypeConstantProvider ?? (_exportedCustomBubblingEventTypeConstantProvider = MakeExportedCustomBubblingEventTypeConstants());
|
|
270
|
-
private ConstantProviderDelegate _exportedCustomBubblingEventTypeConstantProvider;
|
|
271
|
-
|
|
272
|
-
public virtual ConstantProviderDelegate ExportedCustomDirectEventTypeConstants => _exportedCustomDirectEventTypeConstantProvider ?? (_exportedCustomDirectEventTypeConstantProvider = MakeExportedDirectEventTypeConstants());
|
|
273
|
-
private ConstantProviderDelegate _exportedCustomDirectEventTypeConstantProvider;
|
|
274
|
-
|
|
275
|
-
private ConstantProviderDelegate MakeExportedCustomBubblingEventTypeConstants()
|
|
276
|
-
{
|
|
277
|
-
return new ConstantProviderDelegate((IJSValueWriter constantWriter) =>
|
|
278
|
-
{
|
|
279
|
-
var typeInfo = GetType().GetTypeInfo();
|
|
280
|
-
|
|
281
|
-
foreach (var fieldInfo in typeInfo.DeclaredFields)
|
|
282
|
-
{
|
|
283
|
-
var attribute = fieldInfo.GetCustomAttribute<ViewManagerExportedBubblingEventTypeConstantAttribute>();
|
|
284
|
-
if (TryMakeBubblingEvent(attribute, fieldInfo, fieldInfo.FieldType, constantWriter, out Delegate memberValue))
|
|
285
|
-
{
|
|
286
|
-
fieldInfo.SetValue(this, memberValue);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
foreach (var propertyInfo in typeInfo.DeclaredProperties)
|
|
291
|
-
{
|
|
292
|
-
var attribute = propertyInfo.GetCustomAttribute<ViewManagerExportedBubblingEventTypeConstantAttribute>();
|
|
293
|
-
if (TryMakeBubblingEvent(attribute, propertyInfo, propertyInfo.PropertyType, constantWriter, out Delegate memberValue))
|
|
294
|
-
{
|
|
295
|
-
propertyInfo.SetValue(this, memberValue);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
private bool TryMakeBubblingEvent(ViewManagerExportedBubblingEventTypeConstantAttribute attribute, MemberInfo memberInfo, Type memberType, IJSValueWriter constantWriter, out Delegate memberValue)
|
|
302
|
-
{
|
|
303
|
-
if (null != attribute && null != memberInfo && TryGetEventDataType(memberType, out Type eventDataType))
|
|
304
|
-
{
|
|
305
|
-
var eventName = attribute.EventName ?? "top" + memberInfo.Name;
|
|
306
|
-
var bubbleName = attribute.BubbleCallbackName ?? "on" + memberInfo.Name;
|
|
307
|
-
var captureName = attribute.CaptureCallbackName ?? bubbleName + "Capture";
|
|
308
|
-
|
|
309
|
-
constantWriter.WritePropertyName(eventName);
|
|
310
|
-
|
|
311
|
-
constantWriter.WriteObjectBegin();
|
|
312
|
-
|
|
313
|
-
constantWriter.WritePropertyName("phasedRegistrationNames");
|
|
314
|
-
constantWriter.WriteObjectBegin();
|
|
315
|
-
constantWriter.WriteObjectProperty("bubbled", bubbleName);
|
|
316
|
-
constantWriter.WriteObjectProperty("captured", captureName);
|
|
317
|
-
constantWriter.WriteObjectEnd();
|
|
318
|
-
|
|
319
|
-
constantWriter.WriteObjectEnd();
|
|
320
|
-
|
|
321
|
-
memberValue = MakeEventDelegate(eventName, memberType, eventDataType);
|
|
322
|
-
|
|
323
|
-
return true;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
memberValue = default(Delegate);
|
|
327
|
-
|
|
328
|
-
return false;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
private ConstantProviderDelegate MakeExportedDirectEventTypeConstants()
|
|
332
|
-
{
|
|
333
|
-
return new ConstantProviderDelegate((IJSValueWriter constantWriter) =>
|
|
334
|
-
{
|
|
335
|
-
var typeInfo = GetType().GetTypeInfo();
|
|
336
|
-
|
|
337
|
-
foreach (var fieldInfo in typeInfo.DeclaredFields)
|
|
338
|
-
{
|
|
339
|
-
var attribute = fieldInfo.GetCustomAttribute<ViewManagerExportedDirectEventTypeConstantAttribute>();
|
|
340
|
-
if (TryMakeDirectEvent(attribute, fieldInfo, fieldInfo.FieldType, constantWriter, out Delegate memberValue))
|
|
341
|
-
{
|
|
342
|
-
fieldInfo.SetValue(this, memberValue);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
foreach (var propertyInfo in typeInfo.DeclaredProperties)
|
|
347
|
-
{
|
|
348
|
-
var attribute = propertyInfo.GetCustomAttribute<ViewManagerExportedDirectEventTypeConstantAttribute>();
|
|
349
|
-
if (TryMakeDirectEvent(attribute, propertyInfo, propertyInfo.PropertyType, constantWriter, out Delegate memberValue))
|
|
350
|
-
{
|
|
351
|
-
propertyInfo.SetValue(this, memberValue);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
private bool TryMakeDirectEvent(ViewManagerExportedDirectEventTypeConstantAttribute attribute, MemberInfo memberInfo, Type memberType, IJSValueWriter constantWriter, out Delegate memberValue)
|
|
358
|
-
{
|
|
359
|
-
if (null != attribute && null != memberInfo && TryGetEventDataType(memberType, out Type eventDataType))
|
|
360
|
-
{
|
|
361
|
-
var eventName = attribute.EventName ?? "top" + memberInfo.Name;
|
|
362
|
-
var callbackName = attribute.CallbackName ?? "on" + memberInfo.Name;
|
|
363
|
-
|
|
364
|
-
constantWriter.WritePropertyName(eventName);
|
|
365
|
-
constantWriter.WriteObjectBegin();
|
|
366
|
-
constantWriter.WriteObjectProperty("registrationName", callbackName);
|
|
367
|
-
constantWriter.WriteObjectEnd();
|
|
368
|
-
|
|
369
|
-
memberValue = MakeEventDelegate(eventName, memberType, eventDataType);
|
|
370
|
-
|
|
371
|
-
return true;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
memberValue = default(Delegate);
|
|
375
|
-
|
|
376
|
-
return false;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
private bool TryGetEventDataType(Type eventType, out Type eventDataType)
|
|
380
|
-
{
|
|
381
|
-
if (null != eventType && typeof(Delegate).IsAssignableFrom(eventType))
|
|
382
|
-
{
|
|
383
|
-
var eventDelegateMethod = eventType.GetMethod("Invoke");
|
|
384
|
-
ParameterInfo[] parameters = eventDelegateMethod.GetParameters();
|
|
385
|
-
|
|
386
|
-
if (parameters.Length == 2 && parameters[0].ParameterType == typeof(TFrameworkElement))
|
|
387
|
-
{
|
|
388
|
-
eventDataType = parameters[1].ParameterType;
|
|
389
|
-
return true;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
eventDataType = default(Type);
|
|
394
|
-
return false;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
private Delegate MakeEventDelegate(string eventName, Type memberType, Type eventDataType)
|
|
398
|
-
{
|
|
399
|
-
// Generate code that looks like:
|
|
400
|
-
//
|
|
401
|
-
// (TFrameworkElement view, TEventData eventData) =>
|
|
402
|
-
// {
|
|
403
|
-
// this.ReactContext.DispatchEvent(view, eventName, eventData);
|
|
404
|
-
// };
|
|
405
|
-
|
|
406
|
-
ParameterExpression viewParameter = Expression.Parameter(typeof(TFrameworkElement), "view");
|
|
407
|
-
ParameterExpression eventDataParameter = Expression.Parameter(eventDataType, "eventData");
|
|
408
|
-
|
|
409
|
-
MemberExpression thisReactContext = Expression.Property(Expression.Constant(this), "ReactContext");
|
|
410
|
-
NewExpression reactContext = Expression.New(ReactContextConstructor(), thisReactContext);
|
|
411
|
-
MethodCallExpression dispatchCall = Expression.Call(reactContext,
|
|
412
|
-
DispatchEventOf(eventDataType),
|
|
413
|
-
viewParameter,
|
|
414
|
-
Expression.Constant(eventName, typeof(string)),
|
|
415
|
-
eventDataParameter);
|
|
416
|
-
|
|
417
|
-
return Expression.Lambda(memberType, dispatchCall, viewParameter, eventDataParameter).Compile();
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
#endregion
|
|
421
|
-
|
|
422
|
-
#region ReadValue Helpers
|
|
423
|
-
|
|
424
|
-
internal static MethodInfo ReadValueMethodInfo
|
|
425
|
-
{
|
|
426
|
-
get
|
|
427
|
-
{
|
|
428
|
-
if (null == _readValueMethodInfo)
|
|
429
|
-
{
|
|
430
|
-
foreach (var methodInfo in typeof(JSValueReader).GetMethods())
|
|
431
|
-
{
|
|
432
|
-
var parameters = methodInfo.GetParameters();
|
|
433
|
-
if (methodInfo.Name == "ReadValue"
|
|
434
|
-
&& methodInfo.IsGenericMethodDefinition
|
|
435
|
-
&& methodInfo.ReturnType.IsGenericParameter
|
|
436
|
-
&& parameters.Length == 1
|
|
437
|
-
&& parameters[0].ParameterType == typeof(IJSValueReader))
|
|
438
|
-
{
|
|
439
|
-
_readValueMethodInfo = methodInfo;
|
|
440
|
-
break;
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
return _readValueMethodInfo;
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
private static MethodInfo _readValueMethodInfo;
|
|
448
|
-
|
|
449
|
-
private Action<TFrameworkElement, IJSValueReader> MakeReaderMethod(MethodInfo methodInfo)
|
|
450
|
-
{
|
|
451
|
-
var parameters = methodInfo.GetParameters();
|
|
452
|
-
if (parameters.Length == 2 && parameters[0].ParameterType == typeof(TFrameworkElement))
|
|
453
|
-
{
|
|
454
|
-
if (parameters[1].ParameterType == typeof(IJSValueReader))
|
|
455
|
-
{
|
|
456
|
-
return (view, reader) =>
|
|
457
|
-
{
|
|
458
|
-
methodInfo.Invoke(this, new object[] { view, reader });
|
|
459
|
-
};
|
|
460
|
-
}
|
|
461
|
-
else
|
|
462
|
-
{
|
|
463
|
-
MethodInfo genericReadValue = ReadValueMethodInfo.MakeGenericMethod(parameters[1].ParameterType);
|
|
464
|
-
|
|
465
|
-
return (view, reader) =>
|
|
466
|
-
{
|
|
467
|
-
var result = genericReadValue.Invoke(null, new object[] { reader });
|
|
468
|
-
methodInfo.Invoke(this, new object[] { view, result });
|
|
469
|
-
};
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
throw new ArgumentException($"Unable to parse parameters for {methodInfo.Name}.");
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
internal static MethodInfo ToValueMethodInfo
|
|
477
|
-
{
|
|
478
|
-
get
|
|
479
|
-
{
|
|
480
|
-
if (null == _toValueMethodInfo)
|
|
481
|
-
{
|
|
482
|
-
foreach (var methodInfo in typeof(JSValue).GetMethods())
|
|
483
|
-
{
|
|
484
|
-
if (methodInfo.Name == "To"
|
|
485
|
-
&& methodInfo.IsGenericMethodDefinition
|
|
486
|
-
&& methodInfo.ReturnType.IsGenericParameter)
|
|
487
|
-
{
|
|
488
|
-
_toValueMethodInfo = methodInfo;
|
|
489
|
-
break;
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
return _toValueMethodInfo;
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
private static MethodInfo _toValueMethodInfo;
|
|
497
|
-
|
|
498
|
-
private Action<TFrameworkElement, JSValue> MakeJSValueMethod(MethodInfo methodInfo)
|
|
499
|
-
{
|
|
500
|
-
var parameters = methodInfo.GetParameters();
|
|
501
|
-
if (parameters.Length == 2 && parameters[0].ParameterType == typeof(TFrameworkElement))
|
|
502
|
-
{
|
|
503
|
-
if (parameters[1].ParameterType == typeof(JSValue))
|
|
504
|
-
{
|
|
505
|
-
return (view, value) =>
|
|
506
|
-
{
|
|
507
|
-
methodInfo.Invoke(this, new object[] { view, value });
|
|
508
|
-
};
|
|
509
|
-
}
|
|
510
|
-
else
|
|
511
|
-
{
|
|
512
|
-
MethodInfo genericToValue = ToValueMethodInfo.MakeGenericMethod(parameters[1].ParameterType);
|
|
513
|
-
|
|
514
|
-
return (view, value) =>
|
|
515
|
-
{
|
|
516
|
-
var result = genericToValue.Invoke(value, null);
|
|
517
|
-
methodInfo.Invoke(this, new object[] { view, result });
|
|
518
|
-
};
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
throw new ArgumentException($"Unable to parse parameters for {methodInfo.Name}.");
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
#endregion
|
|
526
|
-
}
|
|
527
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
using System;
|
|
5
|
-
|
|
6
|
-
namespace Microsoft.ReactNative.Managed
|
|
7
|
-
{
|
|
8
|
-
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
|
|
9
|
-
public class ViewManagerExportedViewConstantAttribute : Attribute
|
|
10
|
-
{
|
|
11
|
-
public string ConstantName { get; set; }
|
|
12
|
-
|
|
13
|
-
public ViewManagerExportedViewConstantAttribute() : base() { }
|
|
14
|
-
|
|
15
|
-
public ViewManagerExportedViewConstantAttribute(string constantName)
|
|
16
|
-
{
|
|
17
|
-
ConstantName = constantName ?? throw new ArgumentNullException(nameof(constantName));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
[AttributeUsage(AttributeTargets.Method)]
|
|
22
|
-
public class ViewManagerPropertyAttribute : Attribute
|
|
23
|
-
{
|
|
24
|
-
public string PropertyName { get; set; }
|
|
25
|
-
|
|
26
|
-
public ViewManagerPropertyType? PropertyType { get; set; } = null;
|
|
27
|
-
|
|
28
|
-
public ViewManagerPropertyAttribute() : base() { }
|
|
29
|
-
|
|
30
|
-
public ViewManagerPropertyAttribute(string propertyName)
|
|
31
|
-
{
|
|
32
|
-
PropertyName = propertyName ?? throw new ArgumentNullException(nameof(propertyName));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public ViewManagerPropertyAttribute(string propertyName, ViewManagerPropertyType type) : this(propertyName)
|
|
36
|
-
{
|
|
37
|
-
PropertyType = type;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
[AttributeUsage(AttributeTargets.Method)]
|
|
42
|
-
public class ViewManagerCommandAttribute : Attribute
|
|
43
|
-
{
|
|
44
|
-
public string CommandName { get; set; }
|
|
45
|
-
|
|
46
|
-
public ViewManagerCommandAttribute() : base() { }
|
|
47
|
-
|
|
48
|
-
public ViewManagerCommandAttribute(string commandName)
|
|
49
|
-
{
|
|
50
|
-
CommandName = commandName ?? throw new ArgumentNullException(nameof(commandName));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public class ViewManagerExportedDirectEventTypeConstantAttribute : Attribute
|
|
55
|
-
{
|
|
56
|
-
public string EventName { get; private set; }
|
|
57
|
-
|
|
58
|
-
public string CallbackName { get; private set; }
|
|
59
|
-
|
|
60
|
-
public ViewManagerExportedDirectEventTypeConstantAttribute() : base() { }
|
|
61
|
-
|
|
62
|
-
public ViewManagerExportedDirectEventTypeConstantAttribute(string eventName, string callbackName)
|
|
63
|
-
{
|
|
64
|
-
EventName = eventName ?? throw new ArgumentNullException(nameof(eventName));
|
|
65
|
-
CallbackName = callbackName ?? throw new ArgumentNullException(nameof(callbackName));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
|
|
70
|
-
public class ViewManagerExportedBubblingEventTypeConstantAttribute : Attribute
|
|
71
|
-
{
|
|
72
|
-
public string EventName { get; private set; }
|
|
73
|
-
|
|
74
|
-
public string BubbleCallbackName { get; private set; }
|
|
75
|
-
|
|
76
|
-
public string CaptureCallbackName { get; private set; }
|
|
77
|
-
|
|
78
|
-
public ViewManagerExportedBubblingEventTypeConstantAttribute() : base() { }
|
|
79
|
-
|
|
80
|
-
public ViewManagerExportedBubblingEventTypeConstantAttribute(string eventName, string bubbleCallbackName)
|
|
81
|
-
{
|
|
82
|
-
EventName = eventName ?? throw new ArgumentNullException(nameof(eventName));
|
|
83
|
-
BubbleCallbackName = bubbleCallbackName ?? throw new ArgumentNullException(nameof(bubbleCallbackName));
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
public ViewManagerExportedBubblingEventTypeConstantAttribute(string eventName, string bubbleCallbackName, string captureCallbackName) : this(eventName, bubbleCallbackName)
|
|
87
|
-
{
|
|
88
|
-
CaptureCallbackName = captureCallbackName ?? throw new ArgumentNullException(nameof(captureCallbackName));
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
|
|
4
|
-
#if !USE_WINUI3
|
|
5
|
-
using Windows.UI.Xaml;
|
|
6
|
-
#else
|
|
7
|
-
using Microsoft.UI.Xaml;
|
|
8
|
-
#endif
|
|
9
|
-
|
|
10
|
-
namespace Microsoft.ReactNative.Managed
|
|
11
|
-
{
|
|
12
|
-
public delegate void ViewManagerEvent<TFrameworkElement, TEventData>(TFrameworkElement view, TEventData eventData) where TFrameworkElement : FrameworkElement;
|
|
13
|
-
}
|