react-native-windows 0.72.14 → 0.73.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +16 -5
- package/Chakra/ChakraHelpers.cpp +1 -1
- package/Chakra/ChakraUtils.cpp +1 -1
- package/Chakra/ChakraValue.h +1 -1
- package/Common/packages.lock.json +13 -0
- package/Directory.Build.props +6 -2
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
- package/Folly/cgmanifest.json +1 -1
- package/Folly/packages.lock.json +23 -0
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
- package/Libraries/Animated/NativeAnimatedModule.js +6 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
- package/Libraries/Animated/animations/Animation.js +57 -3
- package/Libraries/Animated/animations/DecayAnimation.js +9 -0
- package/Libraries/Animated/animations/SpringAnimation.js +8 -0
- package/Libraries/Animated/animations/TimingAnimation.js +8 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
- package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +9 -10
- package/Libraries/AppState/AppState.d.ts +1 -1
- package/Libraries/AppState/NativeAppState.js +8 -4
- package/Libraries/AppTheme/AppTheme.js +5 -5
- package/Libraries/BatchedBridge/MessageQueue.js +45 -36
- package/Libraries/Blob/Blob.js +6 -2
- package/Libraries/Blob/BlobManager.js +9 -10
- package/Libraries/Blob/BlobRegistry.js +14 -9
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -2
- package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
- package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Pressable/Pressable.js +3 -2
- package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
- package/Libraries/Components/Switch/Switch.js +1 -0
- package/Libraries/Components/Switch/Switch.windows.js +259 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
- package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
- package/Libraries/Components/TextInput/TextInput.js +62 -10
- package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
- package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +46 -32
- package/Libraries/Components/View/View.windows.js +23 -7
- package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +1 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
- package/Libraries/Components/View/ViewPropTypes.js +18 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
- package/Libraries/Core/ExceptionsManager.js +16 -7
- package/Libraries/Core/ExtendedError.js +12 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/Core/setUpMutationObserver.js +16 -0
- package/Libraries/Core/setUpPerformance.js +6 -13
- package/Libraries/Core/setUpPerformanceObserver.js +16 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
- package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
- package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
- package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
- package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
- package/Libraries/Image/Image.android.js +8 -2
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +4 -1
- package/Libraries/Image/Image.windows.js +6 -3
- package/Libraries/Image/ImageBackground.js +3 -0
- package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
- package/Libraries/Inspector/NetworkOverlay.js +2 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
- package/Libraries/Interaction/PanResponder.js +1 -4
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -1
- package/Libraries/Lists/FlatList.js +15 -5
- package/Libraries/Lists/SectionList.js +4 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
- package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +82 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
- package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
- package/Libraries/Network/RCTNetworking.android.js +2 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
- package/Libraries/Pressability/Pressability.js +28 -3
- package/Libraries/Pressability/Pressability.windows.js +30 -5
- package/Libraries/ReactNative/AppContainer.js +2 -3
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
- package/Libraries/ReactNative/AppRegistry.js +66 -53
- package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
- package/Libraries/ReactNative/FabricUIManager.js +143 -34
- package/Libraries/ReactNative/I18nManager.js +5 -11
- package/Libraries/ReactNative/NativeI18nManager.js +7 -5
- package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
- package/Libraries/ReactNative/UIManager.js +8 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
- package/Libraries/Renderer/shims/ReactFabric.js +5 -6
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
- package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
- package/Libraries/Share/Share.d.ts +3 -9
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
- package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
- package/Libraries/StyleSheet/flattenStyle.js +4 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
- package/Libraries/StyleSheet/processColor.js +1 -2
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
- package/Libraries/Text/Text.d.ts +5 -5
- package/Libraries/Text/Text.js +17 -10
- package/Libraries/Text/Text.windows.js +53 -20
- package/Libraries/Text/TextProps.windows.js +275 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CoreEventTypes.d.ts +5 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
- package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
- package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/Platform.android.js +12 -8
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +84 -0
- package/Libraries/Utilities/Platform.flow.windows.js +111 -0
- package/Libraries/Utilities/Platform.ios.js +12 -8
- package/Libraries/Utilities/Platform.windows.js +12 -8
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +63 -32
- package/Libraries/Utilities/useColorScheme.js +7 -8
- package/Libraries/WebPerformance/MemoryInfo.js +1 -1
- package/Libraries/WebPerformance/NativePerformance.js +3 -8
- package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
- package/Libraries/WebPerformance/Performance.js +42 -15
- package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
- package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
- package/Libraries/__tests__/ViewWindows-test.js +3 -3
- package/Libraries/platform-types.d.ts +6 -2
- package/Libraries/promiseRejectionTrackingOptions.js +1 -3
- package/Libraries/vendor/emitter/EventEmitter.js +17 -17
- package/Microsoft.ReactNative/Composition.Input.idl +103 -0
- package/Microsoft.ReactNative/CompositionContext.idl +31 -8
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
- package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
- package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
- package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
- package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
- package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
- package/Microsoft.ReactNative/IReactContext.cpp +1 -1
- package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
- package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
- package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
- package/Microsoft.ReactNative/ReactApplication.h +4 -4
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
- package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
- package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/React.h +3 -6
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
- package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
- package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
- package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
- package/Microsoft.ReactNative/ReactRootView.h +2 -2
- package/Microsoft.ReactNative/ReactSupport.h +1 -1
- package/Microsoft.ReactNative/RedBox.cpp +1 -1
- package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
- package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
- package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
- package/Microsoft.ReactNative/XamlHelper.h +1 -1
- package/Microsoft.ReactNative/packages.lock.json +128 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
- package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
- package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
- package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
- package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
- package/Mso/compilerAdapters/compilerFeatures.h +1 -1
- package/Mso/compilerAdapters/functionDecorations.h +6 -6
- package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
- package/Mso/dispatchQueue/dispatchQueue.h +3 -3
- package/Mso/motifCpp/motifCppTest.h +1 -1
- package/Mso/motifCpp/testCheck.h +1 -1
- package/Mso/oacr/oacr.h +1 -1
- package/Mso/smartPtr/smartPointerBase.h +1 -1
- package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
- package/Mso/src/dispatchQueue/queueService.cpp +1 -1
- package/Mso/src/dispatchQueue/taskQueue.h +1 -1
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
- package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
- package/Mso/src/future/futureImpl.cpp +5 -5
- package/Mso/src/future/futureImpl.h +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/HybridCRT.props +34 -0
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/React.Cpp.props +0 -1
- package/PropertySheets/Warnings.props +1 -1
- package/PropertySheets/WinUI.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +15 -9
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
- package/ReactCommon/Yoga.cpp +497 -3895
- package/ReactCommon/packages.lock.json +30 -0
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/rnw-dependencies.ps1 +79 -26
- package/Shared/BaseScriptStoreImpl.cpp +42 -13
- package/Shared/BaseScriptStoreImpl.h +1 -1
- package/Shared/Composition/AutoDraw.h +36 -0
- package/Shared/CxxMessageQueue.cpp +1 -1
- package/Shared/DevSettings.h +3 -0
- package/Shared/DevSupportManager.h +1 -1
- package/Shared/Hasher.cpp +64 -0
- package/Shared/Hasher.h +24 -0
- package/Shared/HermesRuntimeHolder.cpp +6 -6
- package/Shared/IDevSupportManager.h +1 -1
- package/Shared/JSI/ChakraApi.cpp +1 -1
- package/Shared/JSI/ChakraRuntime.cpp +10 -10
- package/Shared/JSI/ChakraRuntime.h +6 -6
- package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
- package/Shared/Modules/IRequestBodyHandler.h +1 -1
- package/Shared/Modules/IUriHandler.h +1 -1
- package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Networking/DefaultBlobResource.cpp +2 -2
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
- package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
- package/Shared/OInstance.cpp +9 -23
- package/Shared/OInstance.h +1 -1
- package/Shared/PackagerConnection.h +1 -1
- package/Shared/SafeLoadLibrary.cpp +8 -44
- package/Shared/SafeLoadLibrary.h +1 -5
- package/Shared/Shared.vcxitems +50 -20
- package/Shared/Shared.vcxitems.filters +26 -17
- package/Shared/Threading/BatchingQueueThread.cpp +5 -5
- package/Shared/Threading/BatchingQueueThread.h +4 -4
- package/Shared/TurboModuleManager.cpp +1 -1
- package/Shared/Utils.cpp +1 -1
- package/Shared/tracing/fbsystrace.h +1 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativeAppStateSpec.g.h +11 -21
- package/codegen/NativeDeviceInfoSpec.g.h +4 -14
- package/codegen/NativeI18nManagerSpec.g.h +6 -16
- package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
- package/codegen/NativeMutationObserverSpec.g.h +90 -0
- package/codegen/NativePerformanceObserverSpec.g.h +19 -13
- package/codegen/NativePerformanceSpec.g.h +6 -23
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
- package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
- package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
- package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
- package/codegen/NativeSourceCodeSpec.g.h +3 -13
- package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
- package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
- package/codegen/react/components/rnwcore/Props.h +16 -17
- package/codegen/rnwcoreJSI-generated.cpp +1462 -319
- package/codegen/rnwcoreJSI.h +1609 -462
- package/fmt/packages.lock.json +13 -0
- package/index.windows.js +3 -3
- package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/mockModal.js +6 -4
- package/jest/setup.js +61 -30
- package/just-task.js +1 -0
- package/package.json +37 -42
- package/template/cs-app/proj/MyApp.csproj +0 -1
- package/template/cs-lib/proj/MyLib.csproj +0 -1
- package/templates/.clang-format +4 -0
- package/templates/cpp-app/metro.config.js +51 -0
- package/templates/cpp-app/template.config.js +119 -0
- package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
- package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
- package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
- package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
- package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
- package/templates/cpp-app/windows/MyApp/pch.h +35 -0
- package/templates/cpp-app/windows/MyApp/resource.h +18 -0
- package/templates/cpp-app/windows/MyApp/small.ico +0 -0
- package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
- package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
- package/templates/cpp-app/windows/MyApp.sln +176 -0
- package/templates/cpp-app/windows/_gitignore +41 -0
- package/templates/old/generateWrapper.js +67 -0
- package/templates/old/uwp-cpp-app/template.config.js +15 -0
- package/templates/old/uwp-cpp-lib/template.config.js +15 -0
- package/templates/old/uwp-cs-app/template.config.js +15 -0
- package/templates/old/uwp-cs-lib/template.config.js +15 -0
- package/types/experimental.d.ts +44 -0
- package/types/index.d.ts +2 -1
- package/types/modules/Devtools.d.ts +1 -0
- package/types/modules/globals.d.ts +16 -1
- package/Libraries/Components/View/ViewWindows.d.ts +0 -19
- package/Libraries/Components/View/ViewWindows.js +0 -22
- package/Libraries/Components/View/ViewWindows.js.map +0 -1
- package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
- package/Libraries/Components/View/ViewWindowsProps.js +0 -8
- package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
- package/Libraries/Utilities/AcessibilityMapping.js +0 -154
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
- package/Libraries/Utilities/useColorScheme.windows.js +0 -26
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
- package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
- package/Shared/V8JSIRuntimeHolder.cpp +0 -71
- package/Shared/V8JSIRuntimeHolder.h +0 -56
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
- package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
- /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
- /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
|
@@ -49,13 +49,18 @@ namespace Microsoft.ReactNative
|
|
|
49
49
|
Selected = 0,
|
|
50
50
|
Disabled,
|
|
51
51
|
Checked,
|
|
52
|
-
Unchecked,
|
|
53
52
|
Busy,
|
|
54
53
|
Expanded,
|
|
55
|
-
Collapsed,
|
|
56
54
|
CountStates
|
|
57
55
|
};
|
|
58
56
|
|
|
57
|
+
enum AccessibilityStateCheckedValue
|
|
58
|
+
{
|
|
59
|
+
Unchecked = 0, // Maps to ToggleState::Off
|
|
60
|
+
Checked, // Maps to ToggleState::On
|
|
61
|
+
Mixed // Maps to ToggleState::Indeterminate
|
|
62
|
+
};
|
|
63
|
+
|
|
59
64
|
// When adding a new numeric value, make sure to increment 'numericValuesCount' in FrameworkElementViewManager
|
|
60
65
|
// updateProperties depends on Min, Max, Now values being 0-2 for indexing. Be careful not to break that logic when adding new values.
|
|
61
66
|
enum AccessibilityValue
|
|
@@ -87,12 +92,8 @@ namespace Microsoft.ReactNative
|
|
|
87
92
|
static Boolean GetAccessibilityStateDisabled(XAML_NAMESPACE.UIElement element);
|
|
88
93
|
|
|
89
94
|
static XAML_NAMESPACE.DependencyProperty AccessibilityStateCheckedProperty { get; };
|
|
90
|
-
static void SetAccessibilityStateChecked(XAML_NAMESPACE.UIElement element,
|
|
91
|
-
static
|
|
92
|
-
|
|
93
|
-
static XAML_NAMESPACE.DependencyProperty AccessibilityStateUncheckedProperty { get; };
|
|
94
|
-
static void SetAccessibilityStateUnchecked(XAML_NAMESPACE.UIElement element, Boolean value);
|
|
95
|
-
static Boolean GetAccessibilityStateUnchecked(XAML_NAMESPACE.UIElement element);
|
|
95
|
+
static void SetAccessibilityStateChecked(XAML_NAMESPACE.UIElement element, AccessibilityStateCheckedValue value);
|
|
96
|
+
static AccessibilityStateCheckedValue GetAccessibilityStateChecked(XAML_NAMESPACE.UIElement element);
|
|
96
97
|
|
|
97
98
|
static XAML_NAMESPACE.DependencyProperty AccessibilityStateBusyProperty { get; };
|
|
98
99
|
static void SetAccessibilityStateBusy(XAML_NAMESPACE.UIElement element, Boolean value);
|
|
@@ -102,10 +103,6 @@ namespace Microsoft.ReactNative
|
|
|
102
103
|
static void SetAccessibilityStateExpanded(XAML_NAMESPACE.UIElement element, Boolean value);
|
|
103
104
|
static Boolean GetAccessibilityStateExpanded(XAML_NAMESPACE.UIElement element);
|
|
104
105
|
|
|
105
|
-
static XAML_NAMESPACE.DependencyProperty AccessibilityStateCollapsedProperty { get; };
|
|
106
|
-
static void SetAccessibilityStateCollapsed(XAML_NAMESPACE.UIElement element, Boolean value);
|
|
107
|
-
static Boolean GetAccessibilityStateCollapsed(XAML_NAMESPACE.UIElement element);
|
|
108
|
-
|
|
109
106
|
static XAML_NAMESPACE.DependencyProperty AccessibilityValueMinProperty { get; };
|
|
110
107
|
static void SetAccessibilityValueMin(XAML_NAMESPACE.UIElement element, Double value);
|
|
111
108
|
static Double GetAccessibilityValueMin(XAML_NAMESPACE.UIElement element);
|
|
@@ -8,7 +8,7 @@ namespace Microsoft.ReactNative
|
|
|
8
8
|
{
|
|
9
9
|
[default_interface]
|
|
10
10
|
[webhosthidden]
|
|
11
|
-
runtimeclass ViewPanel : XAML_NAMESPACE.Controls.
|
|
11
|
+
runtimeclass ViewPanel : XAML_NAMESPACE.Controls.Grid
|
|
12
12
|
{
|
|
13
13
|
// Constructors
|
|
14
14
|
ViewPanel();
|
|
@@ -18,22 +18,14 @@ namespace Microsoft.ReactNative
|
|
|
18
18
|
void RemoveAt(UInt32 index);
|
|
19
19
|
void Clear();
|
|
20
20
|
|
|
21
|
-
void FinalizeProperties();
|
|
22
|
-
XAML_NAMESPACE.Controls.Border GetOuterBorder();
|
|
23
|
-
|
|
24
21
|
// Public Properties
|
|
25
22
|
XAML_NAMESPACE.Media.Brush ViewBackground { get; set; };
|
|
26
|
-
XAML_NAMESPACE.Thickness BorderThickness { get; set; };
|
|
27
|
-
XAML_NAMESPACE.Media.Brush BorderBrush { get; set; };
|
|
28
|
-
XAML_NAMESPACE.CornerRadius CornerRadius { get; set; };
|
|
29
|
-
Boolean ClipChildren { get; set; };
|
|
30
23
|
|
|
31
24
|
// ViewPanel Properties
|
|
32
25
|
static XAML_NAMESPACE.DependencyProperty ViewBackgroundProperty { get; };
|
|
33
26
|
static XAML_NAMESPACE.DependencyProperty BorderThicknessProperty { get; };
|
|
34
27
|
static XAML_NAMESPACE.DependencyProperty BorderBrushProperty { get; };
|
|
35
28
|
static XAML_NAMESPACE.DependencyProperty CornerRadiusProperty { get; };
|
|
36
|
-
static XAML_NAMESPACE.DependencyProperty ClipChildrenProperty { get; };
|
|
37
29
|
|
|
38
30
|
// Attached Properties
|
|
39
31
|
static XAML_NAMESPACE.DependencyProperty TopProperty { get; };
|
|
@@ -19,7 +19,7 @@ xaml::Media::Brush XamlHelper::BrushFrom(JSValueArgWriter const &valueProvider)
|
|
|
19
19
|
return ::Microsoft::ReactNative::IsValidColorValue(value) ? ::Microsoft::ReactNative::BrushFrom(value) : nullptr;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
Windows::UI::Color XamlHelper::ColorFrom(JSValueArgWriter const &valueProvider) noexcept {
|
|
22
|
+
winrt::Windows::UI::Color XamlHelper::ColorFrom(JSValueArgWriter const &valueProvider) noexcept {
|
|
23
23
|
auto value = GetFollyDynamicFromValueProvider(valueProvider);
|
|
24
24
|
return ::Microsoft::ReactNative::ColorFrom(value);
|
|
25
25
|
}
|
|
@@ -15,7 +15,7 @@ struct XamlHelper : XamlHelperT<XamlHelper> {
|
|
|
15
15
|
XamlHelper() = default;
|
|
16
16
|
|
|
17
17
|
static xaml::Media::Brush BrushFrom(JSValueArgWriter const &valueProvider) noexcept;
|
|
18
|
-
static Windows::UI::Color ColorFrom(JSValueArgWriter const &valueProvider) noexcept;
|
|
18
|
+
static winrt::Windows::UI::Color ColorFrom(JSValueArgWriter const &valueProvider) noexcept;
|
|
19
19
|
|
|
20
20
|
static xaml::DependencyProperty ReactTagProperty() noexcept;
|
|
21
21
|
static int64_t GetReactTag(xaml::DependencyObject const &dependencyObject) noexcept;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"dependencies": {
|
|
4
|
+
"native,Version=v0.0": {
|
|
5
|
+
"boost": {
|
|
6
|
+
"type": "Direct",
|
|
7
|
+
"requested": "[1.76.0, )",
|
|
8
|
+
"resolved": "1.76.0",
|
|
9
|
+
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
|
|
10
|
+
},
|
|
11
|
+
"Microsoft.JavaScript.Hermes": {
|
|
12
|
+
"type": "Direct",
|
|
13
|
+
"requested": "[0.1.15, )",
|
|
14
|
+
"resolved": "0.1.15",
|
|
15
|
+
"contentHash": "My/u5RvxoymtwWokoweU6iVpuP79w271UjadcmSNqnQ9ESIv00tlVP4sHnIiN3t2lJNDeciyE1EVF4swGPECKQ=="
|
|
16
|
+
},
|
|
17
|
+
"Microsoft.SourceLink.GitHub": {
|
|
18
|
+
"type": "Direct",
|
|
19
|
+
"requested": "[1.1.1, )",
|
|
20
|
+
"resolved": "1.1.1",
|
|
21
|
+
"contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"Microsoft.Build.Tasks.Git": "1.1.1",
|
|
24
|
+
"Microsoft.SourceLink.Common": "1.1.1"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"Microsoft.UI.Xaml": {
|
|
28
|
+
"type": "Direct",
|
|
29
|
+
"requested": "[2.8.0, )",
|
|
30
|
+
"resolved": "2.8.0",
|
|
31
|
+
"contentHash": "vxdHxTr63s5KVtNddMFpgvjBjUH50z7seq/5jLWmmSuf8poxg+sXrywkofUdE8ZstbpO9y3FL/IXXUcPYbeesA==",
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"Microsoft.Web.WebView2": "1.0.1264.42"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"Microsoft.Windows.CppWinRT": {
|
|
37
|
+
"type": "Direct",
|
|
38
|
+
"requested": "[2.0.211028.7, )",
|
|
39
|
+
"resolved": "2.0.211028.7",
|
|
40
|
+
"contentHash": "JBGI0c3WLoU6aYJRy9Qo0MLDQfObEp+d4nrhR95iyzf7+HOgjRunHDp/6eGFREd7xq3OI1mll9ecJrMfzBvlyg=="
|
|
41
|
+
},
|
|
42
|
+
"Microsoft.Build.Tasks.Git": {
|
|
43
|
+
"type": "Transitive",
|
|
44
|
+
"resolved": "1.1.1",
|
|
45
|
+
"contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
|
|
46
|
+
},
|
|
47
|
+
"Microsoft.SourceLink.Common": {
|
|
48
|
+
"type": "Transitive",
|
|
49
|
+
"resolved": "1.1.1",
|
|
50
|
+
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
|
|
51
|
+
},
|
|
52
|
+
"Microsoft.Web.WebView2": {
|
|
53
|
+
"type": "Transitive",
|
|
54
|
+
"resolved": "1.0.1264.42",
|
|
55
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
56
|
+
},
|
|
57
|
+
"common": {
|
|
58
|
+
"type": "Project"
|
|
59
|
+
},
|
|
60
|
+
"fmt": {
|
|
61
|
+
"type": "Project"
|
|
62
|
+
},
|
|
63
|
+
"folly": {
|
|
64
|
+
"type": "Project",
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"Fmt": "[1.0.0, )",
|
|
67
|
+
"boost": "[1.76.0, )"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"reactcommon": {
|
|
71
|
+
"type": "Project",
|
|
72
|
+
"dependencies": {
|
|
73
|
+
"Folly": "[1.0.0, )",
|
|
74
|
+
"boost": "[1.76.0, )"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"native,Version=v0.0/win10-arm": {
|
|
79
|
+
"Microsoft.Web.WebView2": {
|
|
80
|
+
"type": "Transitive",
|
|
81
|
+
"resolved": "1.0.1264.42",
|
|
82
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"native,Version=v0.0/win10-arm-aot": {
|
|
86
|
+
"Microsoft.Web.WebView2": {
|
|
87
|
+
"type": "Transitive",
|
|
88
|
+
"resolved": "1.0.1264.42",
|
|
89
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"native,Version=v0.0/win10-arm64-aot": {
|
|
93
|
+
"Microsoft.Web.WebView2": {
|
|
94
|
+
"type": "Transitive",
|
|
95
|
+
"resolved": "1.0.1264.42",
|
|
96
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"native,Version=v0.0/win10-x64": {
|
|
100
|
+
"Microsoft.Web.WebView2": {
|
|
101
|
+
"type": "Transitive",
|
|
102
|
+
"resolved": "1.0.1264.42",
|
|
103
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"native,Version=v0.0/win10-x64-aot": {
|
|
107
|
+
"Microsoft.Web.WebView2": {
|
|
108
|
+
"type": "Transitive",
|
|
109
|
+
"resolved": "1.0.1264.42",
|
|
110
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"native,Version=v0.0/win10-x86": {
|
|
114
|
+
"Microsoft.Web.WebView2": {
|
|
115
|
+
"type": "Transitive",
|
|
116
|
+
"resolved": "1.0.1264.42",
|
|
117
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"native,Version=v0.0/win10-x86-aot": {
|
|
121
|
+
"Microsoft.Web.WebView2": {
|
|
122
|
+
"type": "Transitive",
|
|
123
|
+
"resolved": "1.0.1264.42",
|
|
124
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -112,7 +112,7 @@ void JsiHostObjectWrapper::SetProperty(
|
|
|
112
112
|
throw;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
Windows::Foundation::Collections::IVector<JsiPropertyIdRef> JsiHostObjectWrapper::GetPropertyIds(
|
|
115
|
+
winrt::Windows::Foundation::Collections::IVector<JsiPropertyIdRef> JsiHostObjectWrapper::GetPropertyIds(
|
|
116
116
|
JsiRuntime const &runtime) try {
|
|
117
117
|
JsiAbiRuntime *rt{JsiAbiRuntime::GetFromJsiRuntime(runtime)};
|
|
118
118
|
auto names = m_hostObject->getPropertyNames(*rt);
|
|
@@ -46,7 +46,7 @@ struct JsiHostObjectWrapper : implements<JsiHostObjectWrapper, IJsiHostObject> {
|
|
|
46
46
|
|
|
47
47
|
JsiValueRef GetProperty(JsiRuntime const &runtime, JsiPropertyIdRef const &name);
|
|
48
48
|
void SetProperty(JsiRuntime const &runtime, JsiPropertyIdRef const &name, JsiValueRef const &value);
|
|
49
|
-
Windows::Foundation::Collections::IVector<JsiPropertyIdRef> GetPropertyIds(JsiRuntime const &runtime);
|
|
49
|
+
winrt::Windows::Foundation::Collections::IVector<JsiPropertyIdRef> GetPropertyIds(JsiRuntime const &runtime);
|
|
50
50
|
|
|
51
51
|
std::shared_ptr<facebook::jsi::HostObject> const &HostObjectSharedPtr() noexcept;
|
|
52
52
|
|
|
@@ -34,8 +34,8 @@ facebook::jsi::Runtime *TryGetOrCreateContextRuntime(ReactContext const &context
|
|
|
34
34
|
// We want to keep the JSI runtime while current instance is alive.
|
|
35
35
|
// The JSI runtime object must be local to our DLL.
|
|
36
36
|
// We create a property name based on the current DLL handle.
|
|
37
|
-
HMODULE
|
|
38
|
-
std::wstring jsiRuntimeLocalName = L"jsiRuntime_" + std::to_wstring(reinterpret_cast<uintptr_t>(
|
|
37
|
+
HMODULE currentDllHandle = reinterpret_cast<HMODULE>(&__ImageBase);
|
|
38
|
+
std::wstring jsiRuntimeLocalName = L"jsiRuntime_" + std::to_wstring(reinterpret_cast<uintptr_t>(currentDllHandle));
|
|
39
39
|
using ValueType = ReactNonAbiValue<std::unique_ptr<JsiAbiRuntime>>;
|
|
40
40
|
ReactPropertyId<ValueType> jsiRuntimeProperty{L"ReactNative.InstanceData", jsiRuntimeLocalName.c_str()};
|
|
41
41
|
ValueType runtimeValue{std::in_place, std::move(runtimeHolder)};
|
|
@@ -29,7 +29,7 @@ JSValue TakeJSValue(IJSValueWriter const &writer) noexcept;
|
|
|
29
29
|
// JSValueObject declaration.
|
|
30
30
|
//==============================================================================
|
|
31
31
|
|
|
32
|
-
//! JSValueObject is based on std::map and has a custom constructor with std::
|
|
32
|
+
//! JSValueObject is based on std::map and has a custom constructor with std::initializer_list.
|
|
33
33
|
//! It is possible to write: JSValueObject{{"X", 4}, {"Y", 5}} and assign it to JSValue.
|
|
34
34
|
//! It uses the std::less<> comparison algorithm that allows an efficient
|
|
35
35
|
//! key lookup using std::string_view that does not allocate memory for the std::string key.
|
|
@@ -103,7 +103,7 @@ bool operator!=(JSValueObject const &left, JSValueObject const &right) noexcept;
|
|
|
103
103
|
// JSValueArray declaration.
|
|
104
104
|
//==============================================================================
|
|
105
105
|
|
|
106
|
-
//! JSValueArray is based on std::vector<JSValue> and has a custom constructor with std::
|
|
106
|
+
//! JSValueArray is based on std::vector<JSValue> and has a custom constructor with std::initializer_list.
|
|
107
107
|
//! It is possible to write: JSValueArray{"X", 42, nullptr, true} and assign it to JSValue.
|
|
108
108
|
struct JSValueArray : std::vector<JSValue> {
|
|
109
109
|
//! Default constructor.
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
$(NodeApiJsiSrcDir);
|
|
37
37
|
%(AdditionalIncludeDirectories)
|
|
38
38
|
</AdditionalIncludeDirectories>
|
|
39
|
-
<PreprocessorDefinitions>JSI_VERSION=10;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
40
39
|
</ClCompile>
|
|
41
40
|
<Midl>
|
|
42
41
|
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
@@ -352,7 +352,7 @@ struct MethodSignatureMatchResult {
|
|
|
352
352
|
bool IsResultMatching;
|
|
353
353
|
bool AreArgsMatching;
|
|
354
354
|
bool AreCallbacksMatching;
|
|
355
|
-
bool
|
|
355
|
+
bool IsPromiseMatching;
|
|
356
356
|
bool IsSucceeded;
|
|
357
357
|
};
|
|
358
358
|
|
|
@@ -420,10 +420,10 @@ struct MethodSignature {
|
|
|
420
420
|
std::make_index_sequence<CallbackCount>{});
|
|
421
421
|
}
|
|
422
422
|
|
|
423
|
-
result.
|
|
423
|
+
result.IsPromiseMatching = std::is_same_v<OutputPromises, typename TOtherMethodSignature::OutputPromises>;
|
|
424
424
|
|
|
425
425
|
result.IsSucceeded = result.IsResultMatching && result.ArgCountCompare == 0 && result.AreArgsMatching &&
|
|
426
|
-
result.CallbackCountCompare == 0 && result.AreCallbacksMatching && result.
|
|
426
|
+
result.CallbackCountCompare == 0 && result.AreCallbacksMatching && result.IsPromiseMatching;
|
|
427
427
|
|
|
428
428
|
return result;
|
|
429
429
|
}
|
|
@@ -486,7 +486,7 @@ constexpr static bool MatchMethodSignature() noexcept {
|
|
|
486
486
|
static_assert(matchResult.AreCallbacksMatching, "Method callback types are different from the method spec.");
|
|
487
487
|
}
|
|
488
488
|
|
|
489
|
-
static_assert(matchResult.
|
|
489
|
+
static_assert(matchResult.IsPromiseMatching, "Method Promise type is different from the method spec.");
|
|
490
490
|
|
|
491
491
|
return matchResult.IsSucceeded;
|
|
492
492
|
}
|
|
@@ -27,7 +27,7 @@ auto TestHandle(int *) -> void;
|
|
|
27
27
|
|
|
28
28
|
template <class T>
|
|
29
29
|
inline constexpr bool HasHandleV =
|
|
30
|
-
std::is_base_of_v<Windows::Foundation::IInspectable, std::decay_t<decltype(Internal::TestHandle<T>(0))>>;
|
|
30
|
+
std::is_base_of_v<winrt::Windows::Foundation::IInspectable, std::decay_t<decltype(Internal::TestHandle<T>(0))>>;
|
|
31
31
|
|
|
32
32
|
// True if two types with Handle() have the same handle.
|
|
33
33
|
template <class T, std::enable_if_t<HasHandleV<T>, int> = 0>
|
|
@@ -44,7 +44,7 @@ struct ReactNonAbiValue : implements<ReactNonAbiValue<T>, IReactNonAbiValue> {
|
|
|
44
44
|
// a new instance of implementation::ReactNonAbiValue. The std::in_place allows to disambiguate the calls to
|
|
45
45
|
// other constructors.
|
|
46
46
|
template <class T>
|
|
47
|
-
struct ReactNonAbiValue : Windows::Foundation::IInspectable {
|
|
47
|
+
struct ReactNonAbiValue : winrt::Windows::Foundation::IInspectable {
|
|
48
48
|
// Create a new instance of implementation::ReactNonAbiValue with args and keep a ref-counted pointer to it.
|
|
49
49
|
template <class... TArgs>
|
|
50
50
|
ReactNonAbiValue(std::in_place_t, TArgs &&...args) noexcept
|
|
@@ -53,7 +53,7 @@ struct ReactNonAbiValue : Windows::Foundation::IInspectable {
|
|
|
53
53
|
// Create an empty ReactNonAbiValue.
|
|
54
54
|
ReactNonAbiValue(std::nullptr_t = nullptr) noexcept {}
|
|
55
55
|
|
|
56
|
-
// Create a ReactNonAbiValue with taking the
|
|
56
|
+
// Create a ReactNonAbiValue with taking the ownership from the provided pointer.
|
|
57
57
|
ReactNonAbiValue(void *ptr, take_ownership_from_abi_t) noexcept : IInspectable(ptr, take_ownership_from_abi) {}
|
|
58
58
|
|
|
59
59
|
// Get a pointer to the value from the object it implements IReactNonAbiValue.
|
|
@@ -129,15 +129,16 @@ struct ReactNotificationArgs : ReactNotificationArgsBase {
|
|
|
129
129
|
};
|
|
130
130
|
|
|
131
131
|
template <class THandle, class TData>
|
|
132
|
-
inline constexpr bool IsValidHandlerV =
|
|
133
|
-
|
|
132
|
+
inline constexpr bool IsValidHandlerV = std::
|
|
133
|
+
is_invocable_v<THandle, winrt::Windows::Foundation::IInspectable const &, ReactNotificationArgs<TData> const &>;
|
|
134
134
|
|
|
135
135
|
struct ReactNotificationService {
|
|
136
136
|
// Notification data result type is either T or std::optional<T>.
|
|
137
137
|
// T is returned for types inherited from IInspectable.
|
|
138
138
|
// The std::optional<T> is returned for all other types.
|
|
139
139
|
template <class T>
|
|
140
|
-
using ResultType =
|
|
140
|
+
using ResultType =
|
|
141
|
+
std::conditional_t<std::is_base_of_v<winrt::Windows::Foundation::IInspectable, T>, T, std::optional<T>>;
|
|
141
142
|
|
|
142
143
|
// Create a new empty instance of ReactNotificationService.
|
|
143
144
|
ReactNotificationService(std::nullptr_t = nullptr) noexcept {}
|
|
@@ -165,7 +166,7 @@ struct ReactNotificationService {
|
|
|
165
166
|
notificationId.Handle(),
|
|
166
167
|
dispatcher.Handle(),
|
|
167
168
|
[handler = std::forward<THandler>(handler)](
|
|
168
|
-
Windows::Foundation::IInspectable const &sender, IReactNotificationArgs const &args) noexcept {
|
|
169
|
+
winrt::Windows::Foundation::IInspectable const &sender, IReactNotificationArgs const &args) noexcept {
|
|
169
170
|
handler(sender, ReactNotificationArgs<TData>{args});
|
|
170
171
|
})
|
|
171
172
|
: nullptr;
|
|
@@ -192,7 +193,7 @@ struct ReactNotificationService {
|
|
|
192
193
|
notificationId.Handle(),
|
|
193
194
|
dispatcher.Handle(),
|
|
194
195
|
[handler = std::forward<THandler>(handler)](
|
|
195
|
-
Windows::Foundation::IInspectable const &sender, IReactNotificationArgs const &args) noexcept {
|
|
196
|
+
winrt::Windows::Foundation::IInspectable const &sender, IReactNotificationArgs const &args) noexcept {
|
|
196
197
|
handler(sender, ReactNotificationArgs<TData>{args});
|
|
197
198
|
})
|
|
198
199
|
: nullptr;
|
|
@@ -211,7 +212,7 @@ struct ReactNotificationService {
|
|
|
211
212
|
static void SendNotification(
|
|
212
213
|
IReactNotificationService const &handle,
|
|
213
214
|
ReactNotificationId<TData> const ¬ificationId,
|
|
214
|
-
Windows::Foundation::IInspectable const &sender,
|
|
215
|
+
::winrt::Windows::Foundation::IInspectable const &sender,
|
|
215
216
|
TValue &&value) noexcept {
|
|
216
217
|
if (handle) {
|
|
217
218
|
handle.SendNotification(
|
|
@@ -222,7 +223,7 @@ struct ReactNotificationService {
|
|
|
222
223
|
static void SendNotification(
|
|
223
224
|
IReactNotificationService const &handle,
|
|
224
225
|
ReactNotificationId<void> const ¬ificationId,
|
|
225
|
-
Windows::Foundation::IInspectable const &sender) noexcept {
|
|
226
|
+
winrt::Windows::Foundation::IInspectable const &sender) noexcept {
|
|
226
227
|
if (handle) {
|
|
227
228
|
handle.SendNotification(notificationId.Handle(), sender, nullptr);
|
|
228
229
|
}
|
|
@@ -279,14 +280,14 @@ struct ReactNotificationService {
|
|
|
279
280
|
template <class TData, class TValue, std::enable_if_t<!std::is_void_v<TData>, int> = 0>
|
|
280
281
|
void SendNotification(
|
|
281
282
|
ReactNotificationId<TData> const ¬ificationId,
|
|
282
|
-
Windows::Foundation::IInspectable const &sender,
|
|
283
|
+
winrt::Windows::Foundation::IInspectable const &sender,
|
|
283
284
|
TValue &&value) const noexcept {
|
|
284
285
|
SendNotification(m_handle, notificationId, sender, std::forward<TValue>(value));
|
|
285
286
|
}
|
|
286
287
|
|
|
287
288
|
void SendNotification(
|
|
288
289
|
ReactNotificationId<void> const ¬ificationId,
|
|
289
|
-
Windows::Foundation::IInspectable const &sender) const noexcept {
|
|
290
|
+
winrt::Windows::Foundation::IInspectable const &sender) const noexcept {
|
|
290
291
|
SendNotification(m_handle, notificationId, sender);
|
|
291
292
|
}
|
|
292
293
|
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
// In case if we do not have a requirement to pass values across the DLL/EXE boundary,
|
|
49
49
|
// we can use the ReactNonAbiValue<T> wrapper to store non-ABI safe values.
|
|
50
50
|
// The type ReactNonAbiValue<T> is a smart pointer similar to winrt::com_ptr
|
|
51
|
-
// or winrt::Windows::Foundation::
|
|
51
|
+
// or winrt::Windows::Foundation::IInspectable. It is treated as IInspectable type and
|
|
52
52
|
// **is not** wrapped in std::optional. It can be casted to bool to check if it is null.
|
|
53
53
|
//
|
|
54
54
|
// For example, we can define a property to use in our DLL or EXE to store std::string:
|
|
@@ -165,7 +165,8 @@ struct ReactPropertyBag {
|
|
|
165
165
|
// T is returned for types inherited from IInspectable.
|
|
166
166
|
// The std::optional<T> is returned for all other types.
|
|
167
167
|
template <class T>
|
|
168
|
-
using ResultType =
|
|
168
|
+
using ResultType =
|
|
169
|
+
std::conditional_t<std::is_base_of_v<winrt::Windows::Foundation::IInspectable, T>, T, std::optional<T>>;
|
|
169
170
|
|
|
170
171
|
// Create a new empty instance of ReactPropertyBag.
|
|
171
172
|
ReactPropertyBag(std::nullptr_t = nullptr) noexcept {}
|
|
@@ -186,7 +187,7 @@ struct ReactPropertyBag {
|
|
|
186
187
|
// Get property value by property name.
|
|
187
188
|
template <class T>
|
|
188
189
|
static ResultType<T> Get(IReactPropertyBag const &handle, ReactPropertyId<T> const &propertyId) noexcept {
|
|
189
|
-
Windows::Foundation::IInspectable propertyValue = handle ? handle.Get(propertyId.Handle()) : nullptr;
|
|
190
|
+
winrt::Windows::Foundation::IInspectable propertyValue = handle ? handle.Get(propertyId.Handle()) : nullptr;
|
|
190
191
|
return FromObject<T>(propertyValue);
|
|
191
192
|
}
|
|
192
193
|
|
|
@@ -197,7 +198,7 @@ struct ReactPropertyBag {
|
|
|
197
198
|
IReactPropertyBag const &handle,
|
|
198
199
|
ReactPropertyId<T> const &propertyId,
|
|
199
200
|
TCreateValue const &createValue) noexcept {
|
|
200
|
-
Windows::Foundation::IInspectable propertyValue = handle
|
|
201
|
+
winrt::Windows::Foundation::IInspectable propertyValue = handle
|
|
201
202
|
? handle.GetOrCreate(propertyId.Handle(), [&createValue]() noexcept { return ToObject<T>(createValue()); })
|
|
202
203
|
: nullptr;
|
|
203
204
|
return FromObject<T>(propertyValue);
|
|
@@ -247,7 +248,7 @@ struct ReactPropertyBag {
|
|
|
247
248
|
|
|
248
249
|
// Box value to an ABI-safe object.
|
|
249
250
|
template <class T, class TValue, std::enable_if_t<!IsReactNonAbiValueV<T> || std::is_same_v<T, TValue>, int> = 0>
|
|
250
|
-
static Windows::Foundation::IInspectable ToObject(TValue const &value) noexcept {
|
|
251
|
+
static winrt::Windows::Foundation::IInspectable ToObject(TValue const &value) noexcept {
|
|
251
252
|
// We box WinRT types and return IInspectable-inherited values as-is.
|
|
252
253
|
// The ReactNonAbiValue<U> is treated as IInspectable-inherited value if TValue=='ReactNonAbiValue<U>'.
|
|
253
254
|
return box_value(value);
|
|
@@ -255,7 +256,7 @@ struct ReactPropertyBag {
|
|
|
255
256
|
|
|
256
257
|
// Box value to an ABI-safe object.
|
|
257
258
|
template <class T, class TValue, std::enable_if_t<IsReactNonAbiValueV<T> && !std::is_same_v<T, TValue>, int> = 0>
|
|
258
|
-
static Windows::Foundation::IInspectable ToObject(TValue &&value) noexcept {
|
|
259
|
+
static winrt::Windows::Foundation::IInspectable ToObject(TValue &&value) noexcept {
|
|
259
260
|
// Create ReactNonAbiValue<U> with newly allocated wrapper for U and pass TValue as an argument to the U
|
|
260
261
|
// constructor. For example, we can pass TValue=='const char*' to U=='std::string' where
|
|
261
262
|
// T=='ReactNonAbiValue<std::string>'.
|
|
@@ -264,33 +265,33 @@ struct ReactPropertyBag {
|
|
|
264
265
|
|
|
265
266
|
// Box value to an ABI-safe object.
|
|
266
267
|
template <class T>
|
|
267
|
-
static Windows::Foundation::IInspectable ToObject(std::optional<T> const &value) noexcept {
|
|
268
|
+
static winrt::Windows::Foundation::IInspectable ToObject(std::optional<T> const &value) noexcept {
|
|
268
269
|
return value ? ToObject<T>(*value) : nullptr;
|
|
269
270
|
}
|
|
270
271
|
|
|
271
272
|
// Unbox value from an ABI-safe object.
|
|
272
273
|
template <class T>
|
|
273
|
-
static auto FromObject(Windows::Foundation::IInspectable const &obj) noexcept {
|
|
274
|
+
static auto FromObject(winrt::Windows::Foundation::IInspectable const &obj) noexcept {
|
|
274
275
|
// The code mostly borrowed from the winrt::unbox_value_or implementation to return
|
|
275
276
|
// empty std::optional in case if obj is null or has a wrong type.
|
|
276
|
-
if constexpr (std::is_base_of_v<Windows::Foundation::IInspectable, T>) {
|
|
277
|
+
if constexpr (std::is_base_of_v<winrt::Windows::Foundation::IInspectable, T>) {
|
|
277
278
|
return obj.try_as<T>();
|
|
278
279
|
#ifndef __APPLE__
|
|
279
280
|
} else if constexpr (impl::has_category_v<T>) {
|
|
280
281
|
if (obj) {
|
|
281
282
|
#ifdef WINRT_IMPL_IUNKNOWN_DEFINED
|
|
282
283
|
if constexpr (std::is_same_v<T, GUID>) {
|
|
283
|
-
if (auto temp = obj.try_as<Windows::Foundation::IReference<guid>>()) {
|
|
284
|
+
if (auto temp = obj.try_as<winrt::Windows::Foundation::IReference<guid>>()) {
|
|
284
285
|
return std::optional<T>{temp.Value()};
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
288
|
#endif
|
|
288
|
-
if (auto temp = obj.try_as<Windows::Foundation::IReference<T>>()) {
|
|
289
|
+
if (auto temp = obj.try_as<winrt::Windows::Foundation::IReference<T>>()) {
|
|
289
290
|
return std::optional<T>{temp.Value()};
|
|
290
291
|
}
|
|
291
292
|
|
|
292
293
|
if constexpr (std::is_enum_v<T>) {
|
|
293
|
-
if (auto temp = obj.try_as<Windows::Foundation::IReference<std::underlying_type_t<T>>>()) {
|
|
294
|
+
if (auto temp = obj.try_as<winrt::Windows::Foundation::IReference<std::underlying_type_t<T>>>()) {
|
|
294
295
|
return std::optional<T>{static_cast<T>(temp.Value())};
|
|
295
296
|
}
|
|
296
297
|
}
|
|
@@ -18,7 +18,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
18
18
|
// The current assembly to ensure we always register the basic type readers
|
|
19
19
|
private static readonly Assembly s_currentAssembly = typeof(JSValueReaderGenerator).Assembly;
|
|
20
20
|
|
|
21
|
-
private static readonly ConcurrentDictionary<Assembly, bool>
|
|
21
|
+
private static readonly ConcurrentDictionary<Assembly, bool> s_registeredAssemblies = new ConcurrentDictionary<Assembly, bool>();
|
|
22
22
|
private static readonly ConcurrentDictionary<Type, MethodInfo> s_codeGenerateGenericExtensionMethods = new ConcurrentDictionary<Type, MethodInfo>();
|
|
23
23
|
|
|
24
24
|
private static readonly Lazy<KeyValuePair<Type, MethodInfo>[]> s_allMethods;
|
|
@@ -28,12 +28,12 @@ namespace Microsoft.ReactNative.Managed
|
|
|
28
28
|
public static void RegisterAssembly(Assembly assembly)
|
|
29
29
|
{
|
|
30
30
|
// UnitTests re-register over and over, safe to skip if already added.
|
|
31
|
-
if (
|
|
31
|
+
if (s_registeredAssemblies.ContainsKey(assembly))
|
|
32
32
|
{
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
s_registeredAssemblies.GetOrAdd(assembly, true);
|
|
37
37
|
|
|
38
38
|
// Fail programs that register after we started serializing values.
|
|
39
39
|
if (s_allMethods.IsValueCreated)
|
|
@@ -53,7 +53,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
53
53
|
|
|
54
54
|
static JSValueReaderGenerator()
|
|
55
55
|
{
|
|
56
|
-
|
|
56
|
+
s_registeredAssemblies.GetOrAdd(s_currentAssembly, true);
|
|
57
57
|
|
|
58
58
|
// Get all extension ReadValue methods for IJSValueReader and JSValue.
|
|
59
59
|
// The first parameter must be IJSValueReader or JSValue.
|
|
@@ -63,7 +63,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
63
63
|
s_allMethods = new Lazy<KeyValuePair<Type, MethodInfo>[]>(() =>
|
|
64
64
|
{
|
|
65
65
|
var extensionMethods =
|
|
66
|
-
from assembly in
|
|
66
|
+
from assembly in s_registeredAssemblies.Keys
|
|
67
67
|
from type in assembly.GetTypes()
|
|
68
68
|
let typeInfo = type.GetTypeInfo()
|
|
69
69
|
where typeInfo.IsSealed && !typeInfo.IsGenericType && !typeInfo.IsNested
|
|
@@ -19,7 +19,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
19
19
|
// The current assembly to ensure we always register the basic type readers
|
|
20
20
|
private static readonly Assembly s_currentAssembly = typeof(JSValueReaderGenerator).Assembly;
|
|
21
21
|
|
|
22
|
-
private static readonly ConcurrentDictionary<Assembly, bool>
|
|
22
|
+
private static readonly ConcurrentDictionary<Assembly, bool> s_registeredAssemblies = new ConcurrentDictionary<Assembly, bool>();
|
|
23
23
|
private static readonly ConcurrentDictionary<Type, MethodInfo> s_codeGenerateGenericExtensionMethods = new ConcurrentDictionary<Type, MethodInfo>();
|
|
24
24
|
|
|
25
25
|
private static readonly Lazy<KeyValuePair<Type, MethodInfo>[]> s_allMethods;
|
|
@@ -29,12 +29,12 @@ namespace Microsoft.ReactNative.Managed
|
|
|
29
29
|
public static void RegisterAssembly(Assembly assembly)
|
|
30
30
|
{
|
|
31
31
|
// UnitTests re-register over and over, safe to skip if already added.
|
|
32
|
-
if (
|
|
32
|
+
if (s_registeredAssemblies.ContainsKey(assembly))
|
|
33
33
|
{
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
s_registeredAssemblies.GetOrAdd(assembly, true);
|
|
38
38
|
|
|
39
39
|
// Fail programs that register after we started serializing values.
|
|
40
40
|
if (s_allMethods.IsValueCreated)
|
|
@@ -54,7 +54,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
54
54
|
|
|
55
55
|
static JSValueWriterGenerator()
|
|
56
56
|
{
|
|
57
|
-
|
|
57
|
+
s_registeredAssemblies.GetOrAdd(s_currentAssembly, true);
|
|
58
58
|
|
|
59
59
|
// Get all extension WriteValue methods for IJSValueWriter.
|
|
60
60
|
// The first parameter must be IJSValueWriter.
|
|
@@ -64,7 +64,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
64
64
|
s_allMethods = new Lazy<KeyValuePair<Type, MethodInfo>[]>(() =>
|
|
65
65
|
{
|
|
66
66
|
var extensionMethods =
|
|
67
|
-
from assembly in
|
|
67
|
+
from assembly in s_registeredAssemblies.Keys
|
|
68
68
|
from type in assembly.GetTypes()
|
|
69
69
|
let typeInfo = type.GetTypeInfo()
|
|
70
70
|
where typeInfo.IsSealed && !typeInfo.IsGenericType && !typeInfo.IsNested
|
|
@@ -76,7 +76,6 @@
|
|
|
76
76
|
</PropertyGroup>
|
|
77
77
|
<PropertyGroup>
|
|
78
78
|
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
|
|
79
|
-
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
|
|
80
79
|
</PropertyGroup>
|
|
81
80
|
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\NuGet.CSharp.props" />
|
|
82
81
|
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\WinUI.props" />
|
|
@@ -136,12 +135,19 @@
|
|
|
136
135
|
<ProjectReference Include="$(ReactNativeWindowsDir)\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj">
|
|
137
136
|
<Project>{f7d32bd0-2749-483e-9a0d-1635ef7e3136}</Project>
|
|
138
137
|
<Name>Microsoft.ReactNative</Name>
|
|
138
|
+
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
|
|
139
139
|
</ProjectReference>
|
|
140
140
|
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
|
|
141
141
|
<Version>$(NETCoreUWPVersion)</Version>
|
|
142
142
|
</PackageReference>
|
|
143
|
-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
|
|
144
143
|
</ItemGroup>
|
|
144
|
+
<Choose>
|
|
145
|
+
<When Condition="'$(EnableSourceLink)' == 'true'">
|
|
146
|
+
<ItemGroup>
|
|
147
|
+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
|
|
148
|
+
</ItemGroup>
|
|
149
|
+
</When>
|
|
150
|
+
</Choose>
|
|
145
151
|
<!--
|
|
146
152
|
Visual Studio (but not MSBuild) will ignore Conditions applied directly to
|
|
147
153
|
the PackageReference or ItemGroup containing a PackageReference. Both
|
|
@@ -18,7 +18,7 @@ namespace Microsoft.ReactNative.Managed
|
|
|
18
18
|
/// This caches for each assembly (keyed on location
|
|
19
19
|
/// </summary>
|
|
20
20
|
/// <remarks>
|
|
21
|
-
/// We use concurrentDictionary instead of ConcurrentBag due to it's performance
|
|
21
|
+
/// We use concurrentDictionary instead of ConcurrentBag due to it's performance characteristics.
|
|
22
22
|
/// </remarks>
|
|
23
23
|
private static readonly ConcurrentDictionary<Assembly, Lazy<Dictionary<string, AttributedModule>>> s_registeredAssemblies =
|
|
24
24
|
new ConcurrentDictionary<Assembly, Lazy<Dictionary<string, AttributedModule>>>();
|