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.
Files changed (587) hide show
  1. package/.flowconfig +16 -5
  2. package/Chakra/ChakraHelpers.cpp +1 -1
  3. package/Chakra/ChakraUtils.cpp +1 -1
  4. package/Chakra/ChakraValue.h +1 -1
  5. package/Common/packages.lock.json +13 -0
  6. package/Directory.Build.props +6 -2
  7. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
  8. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
  9. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Folly/packages.lock.json +23 -0
  12. package/Libraries/Animated/Animated.js +1 -1
  13. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  14. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  15. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  16. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  17. package/Libraries/Animated/animations/Animation.js +57 -3
  18. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  19. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  20. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  21. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  22. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  23. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  25. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  27. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  28. package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
  29. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  31. package/Libraries/Animated/useAnimatedProps.js +9 -10
  32. package/Libraries/AppState/AppState.d.ts +1 -1
  33. package/Libraries/AppState/NativeAppState.js +8 -4
  34. package/Libraries/AppTheme/AppTheme.js +5 -5
  35. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  36. package/Libraries/Blob/Blob.js +6 -2
  37. package/Libraries/Blob/BlobManager.js +9 -10
  38. package/Libraries/Blob/BlobRegistry.js +14 -9
  39. package/Libraries/Blob/File.js +1 -1
  40. package/Libraries/Blob/FileReader.js +1 -2
  41. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  43. package/Libraries/Components/Glyph/Glyph.js +1 -1
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  45. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
  46. package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
  47. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  48. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
  49. package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
  50. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  51. package/Libraries/Components/Pressable/Pressable.js +3 -2
  52. package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
  53. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  57. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
  58. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  59. package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
  60. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  61. package/Libraries/Components/Switch/Switch.js +1 -0
  62. package/Libraries/Components/Switch/Switch.windows.js +259 -0
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  64. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  65. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  66. package/Libraries/Components/TextInput/TextInput.js +62 -10
  67. package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
  68. package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
  70. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  71. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  72. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  74. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  75. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  77. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
  78. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  79. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  80. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  81. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  82. package/Libraries/Components/View/View.js +46 -32
  83. package/Libraries/Components/View/View.windows.js +23 -7
  84. package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
  85. package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
  86. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  87. package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
  88. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  89. package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
  90. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  91. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  92. package/Libraries/Core/ExceptionsManager.js +16 -7
  93. package/Libraries/Core/ExtendedError.js +12 -0
  94. package/Libraries/Core/ReactNativeVersion.js +3 -3
  95. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  96. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  97. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  98. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  99. package/Libraries/Core/setUpMutationObserver.js +16 -0
  100. package/Libraries/Core/setUpPerformance.js +6 -13
  101. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  102. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  103. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  104. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  105. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  106. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  107. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  108. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  109. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  110. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  111. package/Libraries/Image/Image.android.js +8 -2
  112. package/Libraries/Image/Image.d.ts +1 -1
  113. package/Libraries/Image/Image.ios.js +4 -1
  114. package/Libraries/Image/Image.windows.js +6 -3
  115. package/Libraries/Image/ImageBackground.js +3 -0
  116. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  117. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  118. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  119. package/Libraries/Interaction/PanResponder.js +1 -4
  120. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  121. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  122. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  123. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  124. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  125. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +2 -1
  127. package/Libraries/Lists/FlatList.js +15 -5
  128. package/Libraries/Lists/SectionList.js +4 -0
  129. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  130. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  131. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  136. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  137. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  138. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  139. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  140. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  141. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  143. package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
  144. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
  145. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  146. package/Libraries/Network/RCTNetworking.android.js +2 -1
  147. package/Libraries/Network/XMLHttpRequest.js +1 -1
  148. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
  149. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
  150. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  151. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  152. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  153. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  154. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  155. package/Libraries/Pressability/Pressability.js +28 -3
  156. package/Libraries/Pressability/Pressability.windows.js +30 -5
  157. package/Libraries/ReactNative/AppContainer.js +2 -3
  158. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  159. package/Libraries/ReactNative/AppRegistry.js +66 -53
  160. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  161. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  162. package/Libraries/ReactNative/I18nManager.js +5 -11
  163. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  164. package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
  165. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  166. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  167. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  168. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  169. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  170. package/Libraries/ReactNative/UIManager.js +8 -0
  171. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  173. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  174. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  175. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  176. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  177. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  178. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  179. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  180. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  181. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  182. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  183. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  184. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  185. package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
  186. package/Libraries/Share/Share.d.ts +3 -9
  187. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  188. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  189. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
  190. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  191. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  192. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  193. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  194. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  195. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  196. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  197. package/Libraries/StyleSheet/processColor.js +1 -2
  198. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  199. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  200. package/Libraries/Text/Text.d.ts +5 -5
  201. package/Libraries/Text/Text.js +17 -10
  202. package/Libraries/Text/Text.windows.js +53 -20
  203. package/Libraries/Text/TextProps.windows.js +275 -0
  204. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  205. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  206. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  207. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  208. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  209. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  210. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  211. package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
  212. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  213. package/Libraries/Utilities/Platform.android.js +12 -8
  214. package/Libraries/Utilities/Platform.d.ts +1 -0
  215. package/Libraries/Utilities/Platform.flow.js +84 -0
  216. package/Libraries/Utilities/Platform.flow.windows.js +111 -0
  217. package/Libraries/Utilities/Platform.ios.js +12 -8
  218. package/Libraries/Utilities/Platform.windows.js +12 -8
  219. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  220. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  221. package/Libraries/Utilities/SceneTracker.js +1 -1
  222. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  223. package/Libraries/Utilities/useColorScheme.js +7 -8
  224. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  225. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  226. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  227. package/Libraries/WebPerformance/Performance.js +42 -15
  228. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  229. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  230. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  231. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  232. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  233. package/Libraries/__tests__/ViewWindows-test.js +3 -3
  234. package/Libraries/platform-types.d.ts +6 -2
  235. package/Libraries/promiseRejectionTrackingOptions.js +1 -3
  236. package/Libraries/vendor/emitter/EventEmitter.js +17 -17
  237. package/Microsoft.ReactNative/Composition.Input.idl +103 -0
  238. package/Microsoft.ReactNative/CompositionContext.idl +31 -8
  239. package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
  240. package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
  241. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
  242. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
  243. package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
  244. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
  245. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
  246. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
  247. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
  248. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
  249. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
  250. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
  251. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
  252. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
  253. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
  254. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
  255. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
  256. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
  257. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
  258. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
  259. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
  260. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
  261. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
  262. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
  263. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
  264. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
  265. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
  266. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
  267. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
  268. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
  269. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
  270. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
  271. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
  272. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
  273. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
  274. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
  276. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
  277. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
  278. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
  279. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
  280. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
  281. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
  282. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
  283. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
  284. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
  285. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
  286. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
  287. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
  288. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
  289. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
  290. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
  291. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
  292. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
  293. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
  294. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
  295. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
  296. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
  297. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  298. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
  299. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
  300. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
  301. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
  302. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
  303. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
  304. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
  305. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
  306. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
  307. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
  308. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
  309. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
  310. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  311. package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
  312. package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
  313. package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
  314. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
  315. package/Microsoft.ReactNative/IReactContext.cpp +1 -1
  316. package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
  317. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
  318. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
  319. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
  320. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
  321. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
  322. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
  323. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  324. package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
  325. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
  326. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
  327. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
  328. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
  329. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
  330. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
  331. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
  332. package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
  333. package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
  334. package/Microsoft.ReactNative/ReactApplication.h +4 -4
  335. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
  336. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
  337. package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
  338. package/Microsoft.ReactNative/ReactHost/React.h +3 -6
  339. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
  340. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
  341. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
  342. package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
  343. package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
  344. package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
  345. package/Microsoft.ReactNative/ReactRootView.h +2 -2
  346. package/Microsoft.ReactNative/ReactSupport.h +1 -1
  347. package/Microsoft.ReactNative/RedBox.cpp +1 -1
  348. package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
  349. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
  350. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
  351. package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
  352. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
  353. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
  354. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
  355. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
  356. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
  357. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
  358. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
  359. package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
  360. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  361. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
  362. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
  363. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
  364. package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
  365. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
  366. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
  367. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
  368. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
  369. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  370. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
  371. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  372. package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
  373. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
  374. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
  375. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
  376. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
  377. package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
  378. package/Microsoft.ReactNative/XamlHelper.h +1 -1
  379. package/Microsoft.ReactNative/packages.lock.json +128 -0
  380. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
  381. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
  382. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
  383. package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
  384. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
  385. package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
  386. package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
  387. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
  388. package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
  389. package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
  390. package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
  391. package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
  392. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
  393. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
  394. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
  395. package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
  396. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
  397. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
  398. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
  399. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
  400. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
  401. package/Mso/compilerAdapters/compilerFeatures.h +1 -1
  402. package/Mso/compilerAdapters/functionDecorations.h +6 -6
  403. package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
  404. package/Mso/dispatchQueue/dispatchQueue.h +3 -3
  405. package/Mso/motifCpp/motifCppTest.h +1 -1
  406. package/Mso/motifCpp/testCheck.h +1 -1
  407. package/Mso/oacr/oacr.h +1 -1
  408. package/Mso/smartPtr/smartPointerBase.h +1 -1
  409. package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
  410. package/Mso/src/dispatchQueue/queueService.cpp +1 -1
  411. package/Mso/src/dispatchQueue/taskQueue.h +1 -1
  412. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
  413. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
  414. package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
  415. package/Mso/src/future/futureImpl.cpp +5 -5
  416. package/Mso/src/future/futureImpl.h +1 -1
  417. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  418. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
  419. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
  420. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
  421. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
  422. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
  423. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
  424. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  425. package/PropertySheets/HybridCRT.props +34 -0
  426. package/PropertySheets/JSEngine.props +1 -2
  427. package/PropertySheets/React.Cpp.props +0 -1
  428. package/PropertySheets/Warnings.props +1 -1
  429. package/PropertySheets/WinUI.props +1 -1
  430. package/ReactCommon/ReactCommon.vcxproj +15 -9
  431. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
  444. package/ReactCommon/Yoga.cpp +497 -3895
  445. package/ReactCommon/packages.lock.json +30 -0
  446. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
  447. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  448. package/Scripts/rnw-dependencies.ps1 +79 -26
  449. package/Shared/BaseScriptStoreImpl.cpp +42 -13
  450. package/Shared/BaseScriptStoreImpl.h +1 -1
  451. package/Shared/Composition/AutoDraw.h +36 -0
  452. package/Shared/CxxMessageQueue.cpp +1 -1
  453. package/Shared/DevSettings.h +3 -0
  454. package/Shared/DevSupportManager.h +1 -1
  455. package/Shared/Hasher.cpp +64 -0
  456. package/Shared/Hasher.h +24 -0
  457. package/Shared/HermesRuntimeHolder.cpp +6 -6
  458. package/Shared/IDevSupportManager.h +1 -1
  459. package/Shared/JSI/ChakraApi.cpp +1 -1
  460. package/Shared/JSI/ChakraRuntime.cpp +10 -10
  461. package/Shared/JSI/ChakraRuntime.h +6 -6
  462. package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
  463. package/Shared/Modules/IRequestBodyHandler.h +1 -1
  464. package/Shared/Modules/IUriHandler.h +1 -1
  465. package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
  466. package/Shared/Modules/WebSocketModule.cpp +1 -1
  467. package/Shared/Networking/DefaultBlobResource.cpp +2 -2
  468. package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
  469. package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
  470. package/Shared/OInstance.cpp +9 -23
  471. package/Shared/OInstance.h +1 -1
  472. package/Shared/PackagerConnection.h +1 -1
  473. package/Shared/SafeLoadLibrary.cpp +8 -44
  474. package/Shared/SafeLoadLibrary.h +1 -5
  475. package/Shared/Shared.vcxitems +50 -20
  476. package/Shared/Shared.vcxitems.filters +26 -17
  477. package/Shared/Threading/BatchingQueueThread.cpp +5 -5
  478. package/Shared/Threading/BatchingQueueThread.h +4 -4
  479. package/Shared/TurboModuleManager.cpp +1 -1
  480. package/Shared/Utils.cpp +1 -1
  481. package/Shared/tracing/fbsystrace.h +1 -1
  482. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  483. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  484. package/codegen/NativeAppStateSpec.g.h +11 -21
  485. package/codegen/NativeDeviceInfoSpec.g.h +4 -14
  486. package/codegen/NativeI18nManagerSpec.g.h +6 -16
  487. package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
  488. package/codegen/NativeMutationObserverSpec.g.h +90 -0
  489. package/codegen/NativePerformanceObserverSpec.g.h +19 -13
  490. package/codegen/NativePerformanceSpec.g.h +6 -23
  491. package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
  492. package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
  493. package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
  494. package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
  495. package/codegen/NativeSourceCodeSpec.g.h +3 -13
  496. package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
  497. package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
  498. package/codegen/react/components/rnwcore/Props.h +16 -17
  499. package/codegen/rnwcoreJSI-generated.cpp +1462 -319
  500. package/codegen/rnwcoreJSI.h +1609 -462
  501. package/fmt/packages.lock.json +13 -0
  502. package/index.windows.js +3 -3
  503. package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
  504. package/jest/__tests__/setup-test.js +18 -0
  505. package/jest/mockModal.js +6 -4
  506. package/jest/setup.js +61 -30
  507. package/just-task.js +1 -0
  508. package/package.json +37 -42
  509. package/template/cs-app/proj/MyApp.csproj +0 -1
  510. package/template/cs-lib/proj/MyLib.csproj +0 -1
  511. package/templates/.clang-format +4 -0
  512. package/templates/cpp-app/metro.config.js +51 -0
  513. package/templates/cpp-app/template.config.js +119 -0
  514. package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
  515. package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
  516. package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
  517. package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
  518. package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
  519. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
  520. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
  521. package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
  522. package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
  523. package/templates/cpp-app/windows/MyApp/pch.h +35 -0
  524. package/templates/cpp-app/windows/MyApp/resource.h +18 -0
  525. package/templates/cpp-app/windows/MyApp/small.ico +0 -0
  526. package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
  527. package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
  528. package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
  529. package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
  530. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
  531. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  532. package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
  533. package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
  534. package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
  535. package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
  536. package/templates/cpp-app/windows/MyApp.sln +176 -0
  537. package/templates/cpp-app/windows/_gitignore +41 -0
  538. package/templates/old/generateWrapper.js +67 -0
  539. package/templates/old/uwp-cpp-app/template.config.js +15 -0
  540. package/templates/old/uwp-cpp-lib/template.config.js +15 -0
  541. package/templates/old/uwp-cs-app/template.config.js +15 -0
  542. package/templates/old/uwp-cs-lib/template.config.js +15 -0
  543. package/types/experimental.d.ts +44 -0
  544. package/types/index.d.ts +2 -1
  545. package/types/modules/Devtools.d.ts +1 -0
  546. package/types/modules/globals.d.ts +16 -1
  547. package/Libraries/Components/View/ViewWindows.d.ts +0 -19
  548. package/Libraries/Components/View/ViewWindows.js +0 -22
  549. package/Libraries/Components/View/ViewWindows.js.map +0 -1
  550. package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
  551. package/Libraries/Components/View/ViewWindowsProps.js +0 -8
  552. package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
  553. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  554. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  555. package/Libraries/Utilities/useColorScheme.windows.js +0 -26
  556. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
  557. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
  558. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
  559. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
  560. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
  561. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
  562. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
  563. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
  564. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
  565. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
  566. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
  567. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
  568. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
  569. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
  570. package/Shared/V8JSIRuntimeHolder.cpp +0 -71
  571. package/Shared/V8JSIRuntimeHolder.h +0 -56
  572. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
  573. package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
  574. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
  575. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
  576. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
  577. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
  578. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
  579. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
  580. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
  581. package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
  582. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
  583. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
  584. package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
  585. package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
  586. /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
  587. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
@@ -20,7 +20,7 @@
20
20
 
21
21
  // Check if compiler supports UUID
22
22
  #ifndef COMPILER_SUPPORTS_UUID
23
- #if defined(__clang__) || defined(__GNUC__)
23
+ #if (defined(__APPLE__) && defined(__clang__)) || defined(__GNUC__)
24
24
  #define COMPILER_SUPPORTS_UUID 0
25
25
  #elif defined(_MSC_VER)
26
26
  #define COMPILER_SUPPORTS_UUID 1
@@ -91,13 +91,13 @@
91
91
 
92
92
  struct IBank
93
93
  {
94
- // Generate mock_TryWithdrawlUint32
95
- LIBLET_MOCKNAME("TryWithdrawlUint32")
96
- virtual bool TryWithdrawl(uint32_t amount) = 0;
94
+ // Generate mock_TryWithdrawalUint32
95
+ LIBLET_MOCKNAME("TryWithdrawalUint32")
96
+ virtual bool TryWithdrawal(uint32_t amount) = 0;
97
97
 
98
- // Generate mock_TryWithdrawlFloat
99
- LIBLET_MOCKNAME("TryWithdrawlFloat")
100
- virtual bool TryWithdrawl(float amount) = 0;
98
+ // Generate mock_TryWithdrawalFloat
99
+ LIBLET_MOCKNAME("TryWithdrawalFloat")
100
+ virtual bool TryWithdrawal(float amount) = 0;
101
101
  };
102
102
  */
103
103
  #if defined(__clangpluginrunner__)
@@ -97,7 +97,7 @@ static
97
97
 
98
98
  Converts variable arguments into the arg list format
99
99
 
100
- Use a lamba function to generate a unique function providing storage of
100
+ Use a lambda function to generate a unique function providing storage of
101
101
  _fIgnore_ (for in-proc based assert management) and unique break address.
102
102
  */
103
103
  #define MsoAssertSzTagProcInline2(dwTag, szFile, iLine, wzAnnotation, szFmt, ...) \
@@ -308,7 +308,7 @@ struct IDispatchQueue : IUnknown {
308
308
  MSO_GUID(IDispatchQueueScheduler, "fd98f3c9-1343-4cbe-8758-a0322ffd253a")
309
309
  struct IDispatchQueueScheduler : IUnknown {
310
310
  //! Initializes scheduler by providing the dispatch queue service.
311
- virtual void IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept = 0;
311
+ virtual void InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept = 0;
312
312
 
313
313
  //! True if the scheduler does processing in a serial order.
314
314
  virtual bool IsSerial() noexcept = 0;
@@ -376,8 +376,8 @@ struct IDispatchQueueService : IUnknown {
376
376
  virtual void UnlockLocalValue(void **tlsValue) noexcept = 0;
377
377
 
378
378
  //! Suspend task invocation and increment internal suspend count by one.
379
- //! Note that we do not expose IsSuspeneded() method because the Suspend/Resume
380
- //! methods can be called from different threads and using IsSuspeneded()
379
+ //! Note that we do not expose IsSuspended() method because the Suspend/Resume
380
+ //! methods can be called from different threads and using IsSuspended()
381
381
  //! could lead to errors because the status can be changed any time right after the check.
382
382
  virtual void Suspend() noexcept = 0;
383
383
 
@@ -203,7 +203,7 @@ inline uint32_t FilterCrashExceptions(uint32_t exceptionCode) noexcept {
203
203
  }
204
204
 
205
205
  #pragma warning(push)
206
- #pragma warning(disable : 4702) // unreachable code might be hit if the linker determines the lambda is quaranteed to
206
+ #pragma warning(disable : 4702) // unreachable code might be hit if the linker determines the lambda is guaranteed to
207
207
  // throw an exception
208
208
  template <class TLambda>
209
209
  inline bool ExpectCrashCore(TLambda const &lambda) {
@@ -73,7 +73,7 @@
73
73
  // It is useful to check when a noexcept function throws, or std::terminate is called directly.
74
74
  // The implementation uses setjmp and longjmp which stops the termination sequence.
75
75
  // In case if TestCheckTerminate succeeds we may end up with leaked memory because
76
- // the call stack is not unwinded correctly.
76
+ // the call stack is not unwound correctly.
77
77
  // You should disable memory leak detection in tests that use TestCheckTerminate.
78
78
  //=============================================================================
79
79
  #define TestCheckTerminateAtInternal(file, line, expr, exprStr, ...) \
package/Mso/oacr/oacr.h CHANGED
@@ -98,7 +98,7 @@
98
98
  #endif // _Intl_deprecated_
99
99
 
100
100
  #if !defined(_Oleo_deprecated_)
101
- // Office specifix annotation used by the OLEO effort
101
+ // Office specific annotation used by the OLEO effort
102
102
  #define _Oleo_deprecated_(NewFunctionName) __oacr_oleo_deprecated(NewFunctionName)
103
103
  #endif // _Oleo_deprecated_
104
104
 
@@ -74,7 +74,7 @@ class THolder {
74
74
  } // equivalent to std::string::clear()
75
75
  void reset() noexcept {
76
76
  this->Clear();
77
- } // equivalent to std::unique_ptr::reset(), excpet for not supporting (yet) passing a new pointer in (like Attach
77
+ } // equivalent to std::unique_ptr::reset(), except for not supporting (yet) passing a new pointer in (like Attach
78
78
  // here).
79
79
 
80
80
  /**
@@ -14,7 +14,7 @@ struct LooperScheduler : Mso::UnknownObject<Mso::RefCountStrategy::WeakRef, IDis
14
14
  static void RunLoop(const Mso::WeakPtr<LooperScheduler> &weakSelf) noexcept;
15
15
 
16
16
  public: // IDispatchQueueScheduler
17
- void IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
17
+ void InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
18
18
  bool HasThreadAccess() noexcept override;
19
19
  bool IsSerial() noexcept override;
20
20
  void Post() noexcept override;
@@ -88,7 +88,7 @@ LooperScheduler::~LooperScheduler() noexcept {
88
88
  }
89
89
  }
90
90
 
91
- void LooperScheduler::IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
91
+ void LooperScheduler::InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
92
92
  m_queue = std::move(queue);
93
93
  }
94
94
 
@@ -13,7 +13,7 @@ namespace Mso {
13
13
 
14
14
  QueueService::QueueService(Mso::CntPtr<IDispatchQueueScheduler> &&scheduler) noexcept
15
15
  : m_scheduler{std::move(scheduler)} {
16
- m_scheduler->IntializeScheduler(this);
16
+ m_scheduler->InitializeScheduler(this);
17
17
  }
18
18
 
19
19
  QueueService::~QueueService() noexcept {
@@ -52,7 +52,7 @@ struct TaskQueue {
52
52
  std::vector<DispatchTask> m_writeBuffer; // To enqueue items.
53
53
  TaskReadBuffer m_readBuffer; // To dequeue items.
54
54
  Mso::WeakPtr<IUnknown> m_weakOwnerPtr;
55
- Mso::CntPtr<IUnknown> m_strongOwnerPtr; // Keep strong reference to the owner when queu is not empty;
55
+ Mso::CntPtr<IUnknown> m_strongOwnerPtr; // Keep strong reference to the owner when queue is not empty;
56
56
  };
57
57
 
58
58
  } // namespace Mso
@@ -23,7 +23,7 @@ struct ThreadPoolSchedulerWin : Mso::UnknownObject<IDispatchQueueScheduler> {
23
23
  _Inout_ PTP_WORK work);
24
24
 
25
25
  public: // IDispatchQueueScheduler
26
- void IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
26
+ void InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
27
27
  bool HasThreadAccess() noexcept override;
28
28
  bool IsSerial() noexcept override;
29
29
  void Post() noexcept override;
@@ -131,7 +131,7 @@ ThreadPoolSchedulerWin::~ThreadPoolSchedulerWin() noexcept {
131
131
  }
132
132
  }
133
133
 
134
- void ThreadPoolSchedulerWin::IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
134
+ void ThreadPoolSchedulerWin::InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
135
135
  m_queue = std::move(queue);
136
136
  }
137
137
 
@@ -9,12 +9,10 @@
9
9
 
10
10
  using namespace winrt;
11
11
  using namespace Windows::Foundation;
12
- #ifndef USE_WINUI3
13
12
  #include "winrt/Windows.System.h"
14
- using namespace Windows::System;
15
- #else
13
+
14
+ #ifdef USE_WINUI3
16
15
  #include "winrt/Microsoft.UI.Dispatching.h"
17
- using namespace Microsoft::UI::Dispatching;
18
16
  #endif
19
17
 
20
18
  namespace Mso {
@@ -67,29 +65,68 @@ struct ThreadSafeMap {
67
65
 
68
66
  } // namespace
69
67
 
68
+ template <typename TDispatcherTraits>
70
69
  struct UISchedulerWinRT;
71
70
 
71
+ template <typename TDispatcherTraits>
72
+ struct DispatcherTraits {};
73
+
74
+ template <typename TDispatcherTraits>
75
+ struct TaskDispatcherHandler;
76
+
77
+ struct WindowsTypeTag;
78
+ using WindowsTaskDispatcherHandler = TaskDispatcherHandler<DispatcherTraits<WindowsTypeTag>>;
79
+
80
+ template <>
81
+ struct DispatcherTraits<WindowsTypeTag> {
82
+ using DispatcherQueueHandler = Windows::System::DispatcherQueueHandler;
83
+ using DispatcherQueue = Windows::System::DispatcherQueue;
84
+ using DispatcherQueue_ShutdownCompleted_revoker = Windows::System::DispatcherQueue::ShutdownCompleted_revoker;
85
+ using TaskDispatcherHandler = WindowsTaskDispatcherHandler;
86
+ };
87
+ using WindowsDispatcherTraits = DispatcherTraits<WindowsTypeTag>;
88
+
89
+ #ifdef USE_WINUI3
90
+ struct MicrosoftTypeTag;
91
+ using MicrosoftTaskDispatcherHandler = TaskDispatcherHandler<DispatcherTraits<MicrosoftTypeTag>>;
92
+
93
+ template <>
94
+ struct DispatcherTraits<MicrosoftTypeTag> {
95
+ using DispatcherQueueHandler = Microsoft::UI::Dispatching::DispatcherQueueHandler;
96
+ using DispatcherQueue = Microsoft::UI::Dispatching::DispatcherQueue;
97
+ using DispatcherQueue_ShutdownCompleted_revoker =
98
+ Microsoft::UI::Dispatching::DispatcherQueue::ShutdownCompleted_revoker;
99
+ using TaskDispatcherHandler = MicrosoftTaskDispatcherHandler;
100
+ };
101
+ using MicrosoftDispatcherTraits = DispatcherTraits<MicrosoftTypeTag>;
102
+
103
+ #endif
104
+
72
105
  //! TaskDispatcherHandler is a DispatcherQueueHandler delegate that we pass to DispatcherQueue.
73
106
  //! We use custom ref counting to avoid extra memory allocations and to handle reference to DispatchTask.
74
- struct TaskDispatcherHandler final : impl::abi_t<DispatcherQueueHandler> {
75
- TaskDispatcherHandler(UISchedulerWinRT *scheduler) noexcept;
107
+ template <typename TDispatcherTraits>
108
+ struct TaskDispatcherHandler final : impl::abi_t<typename TDispatcherTraits::DispatcherQueueHandler> {
109
+ TaskDispatcherHandler(UISchedulerWinRT<TDispatcherTraits> *scheduler) noexcept;
76
110
  int32_t __stdcall QueryInterface(guid const &id, void **result) noexcept final;
77
111
  uint32_t __stdcall AddRef() noexcept final;
78
112
  uint32_t __stdcall Release() noexcept final;
79
113
  int32_t __stdcall Invoke() noexcept final;
80
114
 
81
115
  private:
82
- UISchedulerWinRT *m_scheduler;
116
+ UISchedulerWinRT<TDispatcherTraits> *m_scheduler;
83
117
  };
84
118
 
119
+ using WindowsTaskDispatcherHandler = TaskDispatcherHandler<DispatcherTraits<WindowsTypeTag>>;
120
+
121
+ template <typename TDispatcherTraits>
85
122
  struct UISchedulerWinRT : Mso::UnknownObject<Mso::RefCountStrategy::WeakRef, IDispatchQueueScheduler> {
86
- UISchedulerWinRT(DispatcherQueue &&dispatcher) noexcept;
123
+ UISchedulerWinRT(typename TDispatcherTraits::DispatcherQueue &&dispatcher) noexcept;
87
124
  ~UISchedulerWinRT() noexcept override;
88
125
 
89
126
  uint32_t AddHandlerRef() noexcept;
90
127
  uint32_t ReleaseHandlerRef() noexcept;
91
128
 
92
- DispatcherQueueHandler MakeDispatcherQueueHandler() noexcept;
129
+ typename TDispatcherTraits::DispatcherQueueHandler MakeDispatcherQueueHandler() noexcept;
93
130
  bool TryTakeTask(Mso::CntPtr<IDispatchQueueService> &queue, DispatchTask &task) noexcept;
94
131
 
95
132
  static DispatchQueue GetOrCreateUIThreadQueue() noexcept;
@@ -97,7 +134,7 @@ struct UISchedulerWinRT : Mso::UnknownObject<Mso::RefCountStrategy::WeakRef, IDi
97
134
  static DispatchQueueRegistry &GetDispatchQueueRegistry() noexcept;
98
135
 
99
136
  public: // IDispatchQueueScheduler
100
- void IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
137
+ void InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept override;
101
138
  bool HasThreadAccess() noexcept override;
102
139
  bool IsSerial() noexcept override;
103
140
  void Post() noexcept override;
@@ -120,8 +157,8 @@ struct UISchedulerWinRT : Mso::UnknownObject<Mso::RefCountStrategy::WeakRef, IDi
120
157
  };
121
158
 
122
159
  private:
123
- DispatcherQueue m_dispatcher{nullptr};
124
- TaskDispatcherHandler m_dispatcherHandler{this};
160
+ typename TDispatcherTraits::DispatcherQueue m_dispatcher{nullptr};
161
+ typename TDispatcherTraits::TaskDispatcherHandler m_dispatcherHandler{this};
125
162
  ManualResetEvent m_terminationEvent;
126
163
  ThreadMutex m_mutex;
127
164
  Mso::WeakPtr<IDispatchQueueService> m_queue;
@@ -130,19 +167,22 @@ struct UISchedulerWinRT : Mso::UnknownObject<Mso::RefCountStrategy::WeakRef, IDi
130
167
  uint32_t m_taskCount{0};
131
168
  bool m_isShutdown{false};
132
169
  std::thread::id m_threadId{std::this_thread::get_id()};
133
- DispatcherQueue::ShutdownCompleted_revoker m_shutdownCompletedRevoker;
170
+ typename TDispatcherTraits::DispatcherQueue_ShutdownCompleted_revoker m_shutdownCompletedRevoker;
134
171
  };
135
172
 
136
173
  //=============================================================================
137
174
  // TaskDispatcherHandler implementation
138
175
  //=============================================================================
139
176
 
140
- TaskDispatcherHandler::TaskDispatcherHandler(UISchedulerWinRT *scheduler) noexcept : m_scheduler{scheduler} {}
177
+ template <typename TDispatcherTraits>
178
+ TaskDispatcherHandler<TDispatcherTraits>::TaskDispatcherHandler(UISchedulerWinRT<TDispatcherTraits> *scheduler) noexcept
179
+ : m_scheduler{scheduler} {}
141
180
 
142
- int32_t __stdcall TaskDispatcherHandler::QueryInterface(guid const &id, void **result) noexcept {
143
- if (is_guid_of<DispatcherQueueHandler>(id) || is_guid_of<Windows::Foundation::IUnknown>(id) ||
144
- is_guid_of<IAgileObject>(id)) {
145
- *result = static_cast<impl::abi_t<DispatcherQueueHandler> *>(this);
181
+ template <typename TDispatcherTraits>
182
+ int32_t __stdcall TaskDispatcherHandler<TDispatcherTraits>::QueryInterface(guid const &id, void **result) noexcept {
183
+ if (is_guid_of<typename TDispatcherTraits::DispatcherQueueHandler>(id) ||
184
+ is_guid_of<Windows::Foundation::IUnknown>(id) || is_guid_of<IAgileObject>(id)) {
185
+ *result = static_cast<impl::abi_t<typename TDispatcherTraits::DispatcherQueueHandler> *>(this);
146
186
  AddRef();
147
187
  return impl::error_ok;
148
188
  }
@@ -155,15 +195,18 @@ int32_t __stdcall TaskDispatcherHandler::QueryInterface(guid const &id, void **r
155
195
  return impl::error_no_interface;
156
196
  }
157
197
 
158
- uint32_t __stdcall TaskDispatcherHandler::AddRef() noexcept {
198
+ template <typename TDispatcherTraits>
199
+ uint32_t __stdcall TaskDispatcherHandler<TDispatcherTraits>::AddRef() noexcept {
159
200
  return m_scheduler->AddHandlerRef();
160
201
  }
161
202
 
162
- uint32_t __stdcall TaskDispatcherHandler::Release() noexcept {
203
+ template <typename TDispatcherTraits>
204
+ uint32_t __stdcall TaskDispatcherHandler<TDispatcherTraits>::Release() noexcept {
163
205
  return m_scheduler->ReleaseHandlerRef();
164
206
  }
165
207
 
166
- int32_t __stdcall TaskDispatcherHandler::Invoke() noexcept {
208
+ template <typename TDispatcherTraits>
209
+ int32_t __stdcall TaskDispatcherHandler<TDispatcherTraits>::Invoke() noexcept {
167
210
  Mso::CntPtr<IDispatchQueueService> queue;
168
211
  DispatchTask task;
169
212
  if (m_scheduler->TryTakeTask(queue, task)) {
@@ -177,24 +220,29 @@ int32_t __stdcall TaskDispatcherHandler::Invoke() noexcept {
177
220
  // UISchedulerWinRT implementation
178
221
  //=============================================================================
179
222
 
180
- UISchedulerWinRT::UISchedulerWinRT(DispatcherQueue &&dispatcher) noexcept : m_dispatcher{std::move(dispatcher)} {
181
- m_shutdownCompletedRevoker =
182
- m_dispatcher.ShutdownCompleted(winrt::auto_revoke, [](DispatcherQueue const &, IInspectable const &) noexcept {
223
+ template <typename TDispatcherTraits>
224
+ UISchedulerWinRT<TDispatcherTraits>::UISchedulerWinRT(typename TDispatcherTraits::DispatcherQueue &&dispatcher) noexcept
225
+ : m_dispatcher{std::move(dispatcher)} {
226
+ m_shutdownCompletedRevoker = m_dispatcher.ShutdownCompleted(
227
+ winrt::auto_revoke, [](typename TDispatcherTraits::DispatcherQueue const &, IInspectable const &) noexcept {
183
228
  GetDispatchQueueRegistry().Remove(std::this_thread::get_id());
184
229
  });
185
230
  }
186
231
 
187
- UISchedulerWinRT::~UISchedulerWinRT() noexcept {
232
+ template <typename TDispatcherTraits>
233
+ UISchedulerWinRT<TDispatcherTraits>::~UISchedulerWinRT() noexcept {
188
234
  GetDispatchQueueRegistry().Remove(m_threadId);
189
235
  AwaitTermination();
190
236
  }
191
237
 
192
- uint32_t UISchedulerWinRT::AddHandlerRef() noexcept {
238
+ template <typename TDispatcherTraits>
239
+ uint32_t UISchedulerWinRT<TDispatcherTraits>::AddHandlerRef() noexcept {
193
240
  std::lock_guard lock{m_mutex};
194
241
  return ++m_handlerRefCount;
195
242
  }
196
243
 
197
- uint32_t UISchedulerWinRT::ReleaseHandlerRef() noexcept {
244
+ template <typename TDispatcherTraits>
245
+ uint32_t UISchedulerWinRT<TDispatcherTraits>::ReleaseHandlerRef() noexcept {
198
246
  Mso::CntPtr<UISchedulerWinRT> self;
199
247
  CleanupContext context{this};
200
248
 
@@ -213,7 +261,10 @@ uint32_t UISchedulerWinRT::ReleaseHandlerRef() noexcept {
213
261
  }
214
262
  }
215
263
 
216
- bool UISchedulerWinRT::TryTakeTask(Mso::CntPtr<IDispatchQueueService> &queue, DispatchTask &task) noexcept {
264
+ template <typename TDispatcherTraits>
265
+ bool UISchedulerWinRT<TDispatcherTraits>::TryTakeTask(
266
+ Mso::CntPtr<IDispatchQueueService> &queue,
267
+ DispatchTask &task) noexcept {
217
268
  {
218
269
  std::lock_guard lock{m_mutex};
219
270
  VerifyElseCrashSz(m_taskCount, "Task count cannot be negative");
@@ -227,7 +278,9 @@ bool UISchedulerWinRT::TryTakeTask(Mso::CntPtr<IDispatchQueueService> &queue, Di
227
278
  return false;
228
279
  }
229
280
 
230
- DispatcherQueueHandler UISchedulerWinRT::MakeDispatcherQueueHandler() noexcept {
281
+ template <typename TDispatcherTraits>
282
+ typename TDispatcherTraits::DispatcherQueueHandler
283
+ UISchedulerWinRT<TDispatcherTraits>::MakeDispatcherQueueHandler() noexcept {
231
284
  VerifyElseCrash(m_mutex.IsLockedByMe());
232
285
 
233
286
  if (m_handlerRefCount == 0) {
@@ -238,22 +291,26 @@ DispatcherQueueHandler UISchedulerWinRT::MakeDispatcherQueueHandler() noexcept {
238
291
  return {static_cast<void *>(&m_dispatcherHandler), take_ownership_from_abi};
239
292
  }
240
293
 
241
- void UISchedulerWinRT::IntializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
294
+ template <typename TDispatcherTraits>
295
+ void UISchedulerWinRT<TDispatcherTraits>::InitializeScheduler(Mso::WeakPtr<IDispatchQueueService> &&queue) noexcept {
242
296
  m_queue = std::move(queue);
243
297
  }
244
298
 
245
- bool UISchedulerWinRT::HasThreadAccess() noexcept {
299
+ template <typename TDispatcherTraits>
300
+ bool UISchedulerWinRT<TDispatcherTraits>::HasThreadAccess() noexcept {
246
301
  // m_dispatcher.HasThreadAccess() is implemented only in Windows 19H1.
247
302
  // We must use an alternative implementation.
248
303
  return m_threadId == std::this_thread::get_id();
249
304
  }
250
305
 
251
- bool UISchedulerWinRT::IsSerial() noexcept {
306
+ template <typename TDispatcherTraits>
307
+ bool UISchedulerWinRT<TDispatcherTraits>::IsSerial() noexcept {
252
308
  return true;
253
309
  }
254
310
 
255
- void UISchedulerWinRT::Post() noexcept {
256
- DispatcherQueueHandler handler;
311
+ template <typename TDispatcherTraits>
312
+ void UISchedulerWinRT<TDispatcherTraits>::Post() noexcept {
313
+ typename TDispatcherTraits::DispatcherQueueHandler handler;
257
314
  {
258
315
  std::lock_guard lock{m_mutex};
259
316
  if (!m_isShutdown) {
@@ -267,7 +324,8 @@ void UISchedulerWinRT::Post() noexcept {
267
324
  }
268
325
  }
269
326
 
270
- void UISchedulerWinRT::Shutdown() noexcept {
327
+ template <typename TDispatcherTraits>
328
+ void UISchedulerWinRT<TDispatcherTraits>::Shutdown() noexcept {
271
329
  CleanupContext context{this};
272
330
  {
273
331
  std::lock_guard lock{m_mutex};
@@ -276,12 +334,14 @@ void UISchedulerWinRT::Shutdown() noexcept {
276
334
  }
277
335
  }
278
336
 
279
- void UISchedulerWinRT::AwaitTermination() noexcept {
337
+ template <typename TDispatcherTraits>
338
+ void UISchedulerWinRT<TDispatcherTraits>::AwaitTermination() noexcept {
280
339
  Shutdown();
281
340
  m_terminationEvent.Wait();
282
341
  }
283
342
 
284
- /*static*/ DispatchQueue UISchedulerWinRT::GetOrCreateUIThreadQueue() noexcept {
343
+ template <typename TDispatcherTraits>
344
+ /*static*/ DispatchQueue UISchedulerWinRT<TDispatcherTraits>::GetOrCreateUIThreadQueue() noexcept {
285
345
  std::thread::id threadId{std::this_thread::get_id()};
286
346
  std::optional<Mso::WeakPtr<IDispatchQueueService>> weakQueue = GetDispatchQueueRegistry().Get(threadId);
287
347
  DispatchQueue queue{weakQueue.value_or(nullptr).GetStrongPtr()};
@@ -289,9 +349,9 @@ void UISchedulerWinRT::AwaitTermination() noexcept {
289
349
  return queue;
290
350
  }
291
351
 
292
- decltype(DispatcherQueue::GetForCurrentThread()) dispatcher{nullptr};
352
+ decltype(TDispatcherTraits::DispatcherQueue::GetForCurrentThread()) dispatcher{nullptr};
293
353
  try {
294
- dispatcher = DispatcherQueue::GetForCurrentThread();
354
+ dispatcher = TDispatcherTraits::DispatcherQueue::GetForCurrentThread();
295
355
  } catch (winrt::hresult_error const &) {
296
356
  }
297
357
 
@@ -305,7 +365,9 @@ void UISchedulerWinRT::AwaitTermination() noexcept {
305
365
  return queue;
306
366
  }
307
367
 
308
- /*static*/ UISchedulerWinRT::DispatchQueueRegistry &UISchedulerWinRT::GetDispatchQueueRegistry() noexcept {
368
+ template <typename TDispatcherTraits>
369
+ /*static*/ typename UISchedulerWinRT<TDispatcherTraits>::DispatchQueueRegistry &
370
+ UISchedulerWinRT<TDispatcherTraits>::GetDispatchQueueRegistry() noexcept {
309
371
  static std::recursive_mutex mutex;
310
372
  static DispatchQueueRegistry registry{mutex};
311
373
  return registry;
@@ -315,9 +377,13 @@ void UISchedulerWinRT::AwaitTermination() noexcept {
315
377
  // UISchedulerWinRT::CleanupContext implementation
316
378
  //=============================================================================
317
379
 
318
- UISchedulerWinRT::CleanupContext::CleanupContext(UISchedulerWinRT *scheduler) noexcept : m_scheduler{scheduler} {}
380
+ template <typename TDispatcherTraits>
381
+ UISchedulerWinRT<TDispatcherTraits>::CleanupContext::CleanupContext(
382
+ UISchedulerWinRT<TDispatcherTraits> *scheduler) noexcept
383
+ : m_scheduler{scheduler} {}
319
384
 
320
- UISchedulerWinRT::CleanupContext::~CleanupContext() noexcept {
385
+ template <typename TDispatcherTraits>
386
+ UISchedulerWinRT<TDispatcherTraits>::CleanupContext::~CleanupContext() noexcept {
321
387
  if (m_isTerminated) {
322
388
  m_scheduler->m_terminationEvent.Set();
323
389
  }
@@ -329,7 +395,8 @@ UISchedulerWinRT::CleanupContext::~CleanupContext() noexcept {
329
395
  }
330
396
  }
331
397
 
332
- void UISchedulerWinRT::CleanupContext::CheckShutdown() noexcept {
398
+ template <typename TDispatcherTraits>
399
+ void UISchedulerWinRT<TDispatcherTraits>::CleanupContext::CheckShutdown() noexcept {
333
400
  // See if dispatcher queue released all handlers without invoking them.
334
401
  if (m_scheduler->m_taskCount != 0 && m_scheduler->m_handlerRefCount == 0) {
335
402
  m_isShutdown = true;
@@ -338,7 +405,8 @@ void UISchedulerWinRT::CleanupContext::CheckShutdown() noexcept {
338
405
  }
339
406
  }
340
407
 
341
- void UISchedulerWinRT::CleanupContext::CheckTermination() noexcept {
408
+ template <typename TDispatcherTraits>
409
+ void UISchedulerWinRT<TDispatcherTraits>::CleanupContext::CheckTermination() noexcept {
342
410
  m_isTerminated = m_scheduler->m_isShutdown && (m_scheduler->m_handlerRefCount == 0);
343
411
  }
344
412
 
@@ -347,7 +415,16 @@ void UISchedulerWinRT::CleanupContext::CheckTermination() noexcept {
347
415
  //=============================================================================
348
416
 
349
417
  DispatchQueue DispatchQueueStatic::GetCurrentUIThreadQueue() noexcept {
350
- return UISchedulerWinRT::GetOrCreateUIThreadQueue();
418
+ DispatchQueue queue{nullptr};
419
+ #if USE_WINUI3
420
+ queue = UISchedulerWinRT<MicrosoftDispatcherTraits>::GetOrCreateUIThreadQueue();
421
+ if (!queue) {
422
+ #endif
423
+ queue = UISchedulerWinRT<WindowsDispatcherTraits>::GetOrCreateUIThreadQueue();
424
+ #if USE_WINUI3
425
+ }
426
+ #endif
427
+ return queue;
351
428
  }
352
429
 
353
430
  } // namespace Mso
@@ -53,12 +53,12 @@ struct ConditionVariable {
53
53
 
54
54
  // For the very first time here we use duration provided by user.
55
55
  // If we get here again, then it means that the condition_variable was woken up
56
- // due to sporatic wakeups, and we have to recalculate the wait duration.
56
+ // due to sporadic wakeups, and we have to recalculate the wait duration.
57
57
  if (waitTimePoint.ShouldUpdateWaitDuration) {
58
58
  using namespace std::chrono;
59
59
  auto timeLeft = duration_cast<milliseconds>(waitTimePoint.WaitUntil - system_clock::now());
60
60
  // Make sure that we do not have negative duration because we waited beyond the target time point,
61
- // or because system_clock::now() gave inacccurate time due to internal implementation.
61
+ // or because system_clock::now() gave inaccurate time due to internal implementation.
62
62
  waitTimePoint.WaitDuration = std::max(timeLeft, milliseconds{0});
63
63
  }
64
64
 
@@ -144,7 +144,7 @@ bool FuturePackedData::IsDone() const noexcept {
144
144
  return (state == FutureState::Succeeded || state == FutureState::Failed);
145
145
  }
146
146
 
147
- bool FuturePackedData::IsSucceded() const noexcept {
147
+ bool FuturePackedData::IsSucceeded() const noexcept {
148
148
  return (GetState() == FutureState::Succeeded);
149
149
  }
150
150
 
@@ -218,7 +218,7 @@ FutureImpl::~FutureImpl() noexcept {
218
218
  }
219
219
 
220
220
  // Destroy value if it was set. The value exists only if future succeeded.
221
- if (m_traits.ValueDestroy && data.IsSucceded()) {
221
+ if (m_traits.ValueDestroy && data.IsSucceeded()) {
222
222
  m_traits.ValueDestroy(GetValueInternal());
223
223
  }
224
224
 
@@ -291,7 +291,7 @@ const FutureTraits &FutureImpl::GetTraits() const noexcept {
291
291
 
292
292
  ByteArrayView FutureImpl::GetValue() noexcept {
293
293
  FuturePackedData data = m_stateAndContinuation.load(std::memory_order_acquire);
294
- if (data.IsSucceded()) {
294
+ if (data.IsSucceeded()) {
295
295
  if (IsSet(m_traits.Options, FutureOptions::UseParentValue)) {
296
296
  return m_link->GetValue();
297
297
  }
@@ -352,7 +352,7 @@ void FutureImpl::AddContinuation(Mso::CntPtr<IFuture> &&continuation) noexcept {
352
352
  // Do not change ref count when assigning previous continuation. It could be already deleted by now.
353
353
  // So, we treat it just as a raw pointer until compare_exchange_weak succeeds.
354
354
  // Initially it is owned by this FutureImpl instance, and if compare_exchange_weak succeeds then the
355
- // ownership is transfered to the new continuation contFuture. No ref count should be changed during that
355
+ // ownership is transferred to the new continuation contFuture. No ref count should be changed during that
356
356
  // ownership transition.
357
357
  //
358
358
  contFuture->m_link = Mso::CntPtr<FutureImpl>{currentContinuation, AttachTag};
@@ -809,7 +809,7 @@ bool FutureImpl::IsDone() const noexcept {
809
809
  }
810
810
 
811
811
  bool FutureImpl::IsSucceeded() const noexcept {
812
- return m_stateAndContinuation.load(std::memory_order_acquire).IsSucceded();
812
+ return m_stateAndContinuation.load(std::memory_order_acquire).IsSucceeded();
813
813
  }
814
814
 
815
815
  bool FutureImpl::IsFailed() const noexcept {
@@ -159,7 +159,7 @@ struct FuturePackedData {
159
159
  FutureState GetState() const noexcept;
160
160
  FutureImpl *GetContinuation() noexcept;
161
161
  bool IsDone() const noexcept;
162
- bool IsSucceded() const noexcept;
162
+ bool IsSucceeded() const noexcept;
163
163
  bool IsFailed() const noexcept;
164
164
 
165
165
  static FuturePackedData Make(FutureState state) noexcept;
@@ -36,6 +36,9 @@
36
36
  <ProjectDir Condition="'$(ProjectDir)' == ''">$(MSBuildProjectDirectory)\</ProjectDir>
37
37
  <UseExperimentalNuget Condition="'$(UseExperimentalNuget)' == ''">false</UseExperimentalNuget>
38
38
  <HermesNoDLLCopy Condition="'$(UseHermes)' != 'true'">true</HermesNoDLLCopy>
39
+
40
+ <RestorePackagesWithLockFile Condition="'$(RestorePackagesWithLockFile)' == ''">true</RestorePackagesWithLockFile>
41
+ <RestoreForceEvaluate Condition="'$(RestoreForceEvaluate)' == ''">false</RestoreForceEvaluate>
39
42
  </PropertyGroup>
40
43
 
41
44
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\NewAPIDeclarations.props" />
@@ -3,10 +3,10 @@
3
3
  Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  Licensed under the MIT License.
5
5
 
6
- This file will be consumed by ALL WinAppSDK app and module projects (both inside
6
+ This file will be consumed by ALL Win32 app and module projects (both inside
7
7
  and outside of this repo) that build on top of Microsoft.ReactNative.
8
8
  Do not make any changes here unless it applies to ALL such projects.
9
9
  -->
10
10
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11
11
  <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.Common.props" />
12
- </Project>
12
+ </Project>
@@ -3,7 +3,7 @@
3
3
  Copyright (c) Microsoft Corporation.
4
4
  Licensed under the MIT License.
5
5
 
6
- This file will be consumed by ALL WinAppSDK C# app projects (both inside
6
+ This file will be consumed by ALL Win32 C++ app projects (both inside
7
7
  and outside of this repo) that build on top of Microsoft.ReactNative.
8
8
  Do not make any changes here unless it applies to ALL such projects.
9
9
  -->
@@ -13,16 +13,13 @@
13
13
  <Import Project="$(ProjectDir)\AutolinkedNativeModules.g.props"
14
14
  Condition="Exists('$(ProjectDir)\AutolinkedNativeModules.g.props')" />
15
15
 
16
- <PropertyGroup>
17
- <!--https://github.com/microsoft/react-native-windows/pull/9177#discussion_r827643823-->
18
- <UseDocString>false</UseDocString>
19
- <ReactNativeCodeGenEnabled Condition="'$(ReactNativeCodeGenEnabled)' == ''">true</ReactNativeCodeGenEnabled>
20
- </PropertyGroup>
21
-
22
- <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.WinAppSDK.Common.props" />
16
+ <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.Composition.Common.props" />
23
17
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\Appx.props" />
24
18
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\Autolink.props" />
25
19
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\Codegen.props" />
26
- <Import Project="$(ReactNativeWindowsDir)\PropertySheets\NuGet.CSharp.props" />
20
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\HybridCRT.props" Condition="'$(UseWinUI3)'=='true'"/>
21
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\NuGet.Cpp.props" />
27
22
  <Import Project="$(ReactNativeWindowsDir)\PropertySheets\WinUI.props" />
28
- </Project>
23
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\CppAppConsumeCSharpModule.props" />
24
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\PackageVersionDefinitions.props" />
25
+ </Project>