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
@@ -370,7 +370,7 @@ class ChakraRuntime : public facebook::jsi::Runtime, public ChakraApi, ChakraApi
370
370
  const std::string &sourceURL,
371
371
  JsValueRef *result) = 0;
372
372
 
373
- enum class PropertyAttibutes {
373
+ enum class PropertyAttributes {
374
374
  None = 0,
375
375
  ReadOnly = 1 << 1,
376
376
  DontEnum = 1 << 2,
@@ -379,15 +379,15 @@ class ChakraRuntime : public facebook::jsi::Runtime, public ChakraApi, ChakraApi
379
379
  DontEnumAndFrozen = DontEnum | Frozen,
380
380
  };
381
381
 
382
- friend constexpr PropertyAttibutes operator&(PropertyAttibutes left, PropertyAttibutes right) {
383
- return (PropertyAttibutes)((int)left & (int)right);
382
+ friend constexpr PropertyAttributes operator&(PropertyAttributes left, PropertyAttributes right) {
383
+ return (PropertyAttributes)((int)left & (int)right);
384
384
  }
385
385
 
386
- friend constexpr bool operator!(PropertyAttibutes attrs) {
387
- return attrs == PropertyAttibutes::None;
386
+ friend constexpr bool operator!(PropertyAttributes attrs) {
387
+ return attrs == PropertyAttributes::None;
388
388
  }
389
389
 
390
- JsValueRef CreatePropertyDescriptor(JsValueRef value, PropertyAttibutes attrs);
390
+ JsValueRef CreatePropertyDescriptor(JsValueRef value, PropertyAttributes attrs);
391
391
 
392
392
  // The number of arguments that we keep on stack.
393
393
  // We use heap if we have more argument.
@@ -16,7 +16,7 @@ namespace {
16
16
 
17
17
  class V8FuncResolver : public IFuncResolver {
18
18
  public:
19
- V8FuncResolver() : libHandle_(LoadLibraryAsPeerFirst(L"v8jsi.dll")) {}
19
+ V8FuncResolver() : libHandle_(SafeLoadLibrary(L"v8jsi.dll")) {}
20
20
 
21
21
  FuncPtr getFuncPtr(const char *funcName) override {
22
22
  return reinterpret_cast<FuncPtr>(GetProcAddress(libHandle_, funcName));
@@ -32,7 +32,7 @@ struct IRequestBodyHandler {
32
32
  /// Returns the {@link RequestBody} for the JS body payload.
33
33
  /// </summary>
34
34
  /// <param name="data">
35
- /// Incoming folly object containing the blob metadada.
35
+ /// Incoming folly object containing the blob metadata.
36
36
  /// Structure:
37
37
  /// "blob" - folly object info
38
38
  /// "blobId" - Blob unique identifier
@@ -25,7 +25,7 @@ struct IUriHandler {
25
25
  /// Fetch the URI and return the JS body payload.
26
26
  /// </summary>
27
27
  /// <returns>
28
- /// Blob representation in a dynamic object with the folliwing structure:
28
+ /// Blob representation in a dynamic object with the following structure:
29
29
  /// "blobId" - Blob unique identifier
30
30
  /// "offset" - Blob segment starting offset
31
31
  /// "size" - Number of bytes fetched from blob
@@ -32,7 +32,7 @@ std::map<std::string, folly::dynamic> PlatformConstantsModule::getConstants() {
32
32
  folly::dynamic::object("major", ReactNativeVersion.Major)("minor", ReactNativeVersion.Minor)(
33
33
  "patch", ReactNativeVersion.Patch)("prerelease", StringOrNull(ReactNativeVersion.Prerelease))},
34
34
 
35
- // Provide version information for react-native-windows -- which is independant of
35
+ // Provide version information for react-native-windows -- which is independent of
36
36
  // the version of react-native we are built from
37
37
  {"reactNativeWindowsVersion", folly::dynamic::object("major", RNW_MAJOR)("minor", RNW_MINOR)("patch", RNW_PATCH)},
38
38
 
@@ -21,7 +21,7 @@
21
21
  // Windows API
22
22
  #include <winrt/Windows.Security.Cryptography.h>
23
23
 
24
- // Standard Libriary
24
+ // Standard Library
25
25
  #include <iomanip>
26
26
 
27
27
  namespace msrn = winrt::Microsoft::ReactNative;
@@ -59,7 +59,7 @@ DefaultBlobResource::DefaultBlobResource(
59
59
 
60
60
  auto blobPersistor = std::make_shared<MemoryBlobPersistor>();
61
61
  auto contentHandler = std::make_shared<BlobWebSocketModuleContentHandler>(blobPersistor);
62
- auto requestBodyHanlder = std::make_shared<BlobModuleRequestBodyHandler>(blobPersistor);
62
+ auto requestBodyHandler = std::make_shared<BlobModuleRequestBodyHandler>(blobPersistor);
63
63
  auto responseHandler = std::make_shared<BlobModuleResponseHandler>(blobPersistor);
64
64
 
65
65
  auto contentHandlerPropId =
@@ -71,7 +71,7 @@ DefaultBlobResource::DefaultBlobResource(
71
71
  propBag.Set(blobPersistorPropId, weak_ptr<IBlobPersistor>{blobPersistor});
72
72
 
73
73
  auto result = std::make_shared<DefaultBlobResource>(
74
- blobPersistor, contentHandler, requestBodyHanlder, responseHandler, propBag);
74
+ blobPersistor, contentHandler, requestBodyHandler, responseHandler, propBag);
75
75
 
76
76
  return result;
77
77
  }
@@ -1,6 +1,8 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
+ // cspell:ignore Referer
5
+
4
6
  #include "OriginPolicyHttpFilter.h"
5
7
 
6
8
  // React Native Windows
@@ -37,22 +39,26 @@ namespace Microsoft::React::Networking {
37
39
 
38
40
  #pragma region OriginPolicyHttpFilter
39
41
 
40
- #pragma region ConstWcharComparer
42
+ #pragma region CaseInsensitiveComparer
41
43
 
42
- bool OriginPolicyHttpFilter::ConstWcharComparer::operator()(const wchar_t *a, const wchar_t *b) const {
44
+ bool OriginPolicyHttpFilter::CaseInsensitiveComparer::operator()(const wchar_t *a, const wchar_t *b) const {
43
45
  return _wcsicmp(a, b) < 0;
44
46
  }
45
47
 
46
- #pragma endregion ConstWcharComparer
48
+ bool OriginPolicyHttpFilter::CaseInsensitiveComparer::operator()(const wstring &a, const wstring &b) const {
49
+ return _wcsicmp(a.c_str(), b.c_str()) < 0;
50
+ }
51
+
52
+ #pragma endregion CaseInsensitiveComparer
47
53
 
48
54
  // https://fetch.spec.whatwg.org/#forbidden-method
49
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer> OriginPolicyHttpFilter::s_forbiddenMethods =
50
- {L"CONNECT", L"TRACE", L"TRACK"};
55
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
56
+ OriginPolicyHttpFilter::s_forbiddenMethods = {L"CONNECT", L"TRACE", L"TRACK"};
51
57
 
52
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
58
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
53
59
  OriginPolicyHttpFilter::s_simpleCorsMethods = {L"GET", L"HEAD", L"POST"};
54
60
 
55
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
61
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
56
62
  OriginPolicyHttpFilter::s_simpleCorsRequestHeaderNames = {
57
63
  L"Accept",
58
64
  L"Accept-Language",
@@ -64,11 +70,11 @@ bool OriginPolicyHttpFilter::ConstWcharComparer::operator()(const wchar_t *a, co
64
70
  L"Viewport-Width",
65
71
  L"Width"};
66
72
 
67
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
73
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
68
74
  OriginPolicyHttpFilter::s_simpleCorsResponseHeaderNames =
69
75
  {L"Cache-Control", L"Content-Language", L"Content-Type", L"Expires", L"Last-Modified", L"Pragma"};
70
76
 
71
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
77
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
72
78
  OriginPolicyHttpFilter::s_simpleCorsContentTypeValues = {
73
79
  L"application/x-www-form-urlencoded",
74
80
  L"multipart/form-data",
@@ -76,7 +82,7 @@ bool OriginPolicyHttpFilter::ConstWcharComparer::operator()(const wchar_t *a, co
76
82
 
77
83
  // https://fetch.spec.whatwg.org/#forbidden-header-name
78
84
  // Chromium still bans "User-Agent" due to https://crbug.com/571722
79
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
85
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
80
86
  OriginPolicyHttpFilter::s_corsForbiddenRequestHeaderNames = {
81
87
  L"Accept-Charset",
82
88
  L"Accept-Encoding",
@@ -99,13 +105,13 @@ bool OriginPolicyHttpFilter::ConstWcharComparer::operator()(const wchar_t *a, co
99
105
  L"Upgrade",
100
106
  L"Via"};
101
107
 
102
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
108
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
103
109
  OriginPolicyHttpFilter::s_cookieSettingResponseHeaders = {
104
110
  L"Set-Cookie",
105
111
  L"Set-Cookie2", // Deprecated by the spec, but probably still used
106
112
  };
107
113
 
108
- /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::ConstWcharComparer>
114
+ /*static*/ set<const wchar_t *, OriginPolicyHttpFilter::CaseInsensitiveComparer>
109
115
  OriginPolicyHttpFilter::s_corsForbiddenRequestHeaderNamePrefixes = {L"Proxy-", L"Sec-"};
110
116
 
111
117
  /*static*/ Uri OriginPolicyHttpFilter::s_origin{nullptr};
@@ -293,7 +299,7 @@ bool OriginPolicyHttpFilter::ConstWcharComparer::operator()(const wchar_t *a, co
293
299
  }
294
300
 
295
301
  /*static*/ OriginPolicyHttpFilter::AccessControlValues OriginPolicyHttpFilter::ExtractAccessControlValues(
296
- winrt::Windows::Foundation::Collections::IMap<hstring, hstring> const &headers) {
302
+ IMap<hstring, hstring> const &headers) {
297
303
  using std::wregex;
298
304
  using std::wsregex_token_iterator;
299
305
 
@@ -561,8 +567,8 @@ void OriginPolicyHttpFilter::ValidatePreflightResponse(
561
567
  if (!requestHeadersAllowed) {
562
568
  // Forbidden headers are excluded from the JavaScript layer.
563
569
  // User agents may use these headers internally.
564
- const set unsafeNotForbidenHeaderNames = CorsUnsafeNotForbiddenRequestHeaderNames(request.Headers());
565
- for (const auto name : unsafeNotForbidenHeaderNames) {
570
+ const set unsafeNotForbiddenHeaderNames = CorsUnsafeNotForbiddenRequestHeaderNames(request.Headers());
571
+ for (const auto name : unsafeNotForbiddenHeaderNames) {
566
572
  if (controlValues.AllowedHeaders.find(name) == controlValues.AllowedHeaders.cend())
567
573
  throw hresult_error{
568
574
  E_INVALIDARG,
@@ -690,7 +696,7 @@ bool OriginPolicyHttpFilter::OnRedirecting(
690
696
  HttpResponseMessage const &response) noexcept {
691
697
  // Consider the following scenario.
692
698
  // User signs in to http://a.com and visits a page that makes CORS request to http://b.com with origin=http://a.com.
693
- // Http://b.com reponds with a redirect to http://a.com. The browser follows the redirect to http://a.com with
699
+ // Http://b.com responds with a redirect to http://a.com. The browser follows the redirect to http://a.com with
694
700
  // origin=http://a.com. Since the origin matches the URL, the request is authorized at http://a.com, but it actually
695
701
  // allows http://b.com to bypass the CORS check at http://a.com since the redirected URL is from http://b.com.
696
702
  if (!IsSameOrigin(response.Headers().Location(), request.RequestUri()) &&
@@ -22,19 +22,20 @@ class OriginPolicyHttpFilter
22
22
  : public winrt::
23
23
  implements<OriginPolicyHttpFilter, winrt::Windows::Web::Http::Filters::IHttpFilter, IRedirectEventSource> {
24
24
  public:
25
- struct ConstWcharComparer {
25
+ struct CaseInsensitiveComparer {
26
26
  bool operator()(const wchar_t *, const wchar_t *) const;
27
+ bool operator()(const std::wstring &, const std::wstring &) const;
27
28
  };
28
29
 
29
30
  private:
30
- static std::set<const wchar_t *, ConstWcharComparer> s_forbiddenMethods;
31
- static std::set<const wchar_t *, ConstWcharComparer> s_simpleCorsMethods;
32
- static std::set<const wchar_t *, ConstWcharComparer> s_simpleCorsRequestHeaderNames;
33
- static std::set<const wchar_t *, ConstWcharComparer> s_simpleCorsResponseHeaderNames;
34
- static std::set<const wchar_t *, ConstWcharComparer> s_simpleCorsContentTypeValues;
35
- static std::set<const wchar_t *, ConstWcharComparer> s_corsForbiddenRequestHeaderNames;
36
- static std::set<const wchar_t *, ConstWcharComparer> s_corsForbiddenRequestHeaderNamePrefixes;
37
- static std::set<const wchar_t *, ConstWcharComparer> s_cookieSettingResponseHeaders;
31
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_forbiddenMethods;
32
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_simpleCorsMethods;
33
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_simpleCorsRequestHeaderNames;
34
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_simpleCorsResponseHeaderNames;
35
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_simpleCorsContentTypeValues;
36
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_corsForbiddenRequestHeaderNames;
37
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_corsForbiddenRequestHeaderNamePrefixes;
38
+ static std::set<const wchar_t *, CaseInsensitiveComparer> s_cookieSettingResponseHeaders;
38
39
 
39
40
  // NOTE: Assumes static origin through owning client/resource/module/(React) instance's lifetime.
40
41
  static winrt::Windows::Foundation::Uri s_origin;
@@ -42,9 +43,9 @@ class OriginPolicyHttpFilter
42
43
  struct AccessControlValues {
43
44
  winrt::hstring AllowedOrigin;
44
45
  winrt::hstring AllowedCredentials;
45
- std::set<std::wstring> AllowedHeaders;
46
+ std::set<std::wstring, CaseInsensitiveComparer> AllowedHeaders;
46
47
  std::set<std::wstring> AllowedMethods;
47
- std::set<std::wstring> ExposedHeaders;
48
+ std::set<std::wstring, CaseInsensitiveComparer> ExposedHeaders;
48
49
  size_t MaxAge;
49
50
  };
50
51
 
@@ -52,7 +52,6 @@
52
52
 
53
53
  #if defined(USE_V8)
54
54
  #include <JSI/V8RuntimeHolder.h>
55
- #include "V8JSIRuntimeHolder.h"
56
55
  #endif
57
56
  #include <ReactCommon/CallInvoker.h>
58
57
  #include <ReactCommon/TurboModuleBinding.h>
@@ -92,8 +91,8 @@ class OJSIExecutorFactory : public JSExecutorFactory {
92
91
  auto turboModuleManager = std::make_shared<TurboModuleManager>(turboModuleRegistry_, jsCallInvoker_);
93
92
 
94
93
  // TODO: The binding here should also add the proxys that convert cxxmodules into turbomodules
95
- // [vmoroz] Note, that we must not use the RN TurboCxxModule.h code because it uses global LongLivedObjectCollection
96
- // instance that prevents us from using multiple RN instance in the same process.
94
+ // [@vmoroz] Note, that we must not use the RN TurboCxxModule.h code because it uses global
95
+ // LongLivedObjectCollection instance that prevents us from using multiple RN instance in the same process.
97
96
  auto binding = [turboModuleManager](const std::string &name) -> std::shared_ptr<TurboModule> {
98
97
  return turboModuleManager->getModule(name);
99
98
  };
@@ -320,24 +319,7 @@ InstanceImpl::InstanceImpl(
320
319
  m_devSettings, m_jsThread, std::move(preparedScriptStore));
321
320
  break;
322
321
  }
323
- case JSIEngineOverride::V8: {
324
- #if defined(USE_V8)
325
- std::shared_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore;
326
-
327
- wchar_t tempPath[MAX_PATH];
328
- if (GetTempPathW(MAX_PATH, tempPath)) {
329
- preparedScriptStore =
330
- std::make_shared<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
331
- }
332
-
333
- m_devSettings->jsiRuntimeHolder = std::make_shared<facebook::react::V8JSIRuntimeHolder>(
334
- m_devSettings, m_jsThread, nullptr, std::move(preparedScriptStore), /*multithreading*/ false);
335
- break;
336
- #else
337
- assert(false); // V8 is not available in this build, fallthrough
338
- [[fallthrough]];
339
- #endif
340
- }
322
+ case JSIEngineOverride::V8:
341
323
  case JSIEngineOverride::V8NodeApi: {
342
324
  #if defined(USE_V8)
343
325
  std::shared_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore;
@@ -556,14 +538,18 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
556
538
  // If this code is enabled, we will have unused module instances.
557
539
  // Also, MSRN has a different property bag mechanism incompatible with this method's transitionalProps variable.
558
540
  #if (defined(_MSC_VER) && !defined(WINRT))
559
- // Applications using the Windows ABI feature should loade the networking TurboModule variants instead.
560
- if (!m_devSettings->omitNetworkingCxxModules) {
541
+
542
+ // OC:8368383 - Memory leak under investigation.
543
+ if (!m_devSettings->useWebSocketTurboModule) {
561
544
  modules.push_back(std::make_unique<CxxNativeModule>(
562
545
  m_innerInstance,
563
546
  Microsoft::React::GetWebSocketModuleName(),
564
547
  [transitionalProps]() { return Microsoft::React::CreateWebSocketModule(transitionalProps); },
565
548
  nativeQueue));
549
+ }
566
550
 
551
+ // Applications using the Windows ABI feature should loade the networking TurboModule variants instead.
552
+ if (!m_devSettings->omitNetworkingCxxModules) {
567
553
  // Use in case the host app provides its a non-Blob-compatilbe HTTP module.
568
554
  if (!Microsoft::React::GetRuntimeOptionBool("Blob.DisableModule")) {
569
555
  modules.push_back(std::make_unique<CxxNativeModule>(
@@ -13,7 +13,7 @@
13
13
  #include <ReactCommon/LongLivedObject.h>
14
14
  #include <cxxreact/Instance.h>
15
15
 
16
- // Standard Libriary
16
+ // Standard Library
17
17
  #include <memory>
18
18
  #include <string>
19
19
  #include <vector>
@@ -9,7 +9,7 @@ namespace Microsoft::ReactNative {
9
9
 
10
10
  /*
11
11
  * Maintains a list of connections to packaging servers which can notify the instance to reload, or show the dev menu
12
- * Generally an app will only ever talk to one server, so if there are mutliple instances running in an app this allows
12
+ * Generally an app will only ever talk to one server, so if there are multiple instances running in an app this allows
13
13
  * them to share a connection to that packager.
14
14
  */
15
15
  struct PackagerConnection : std::enable_shared_from_this<PackagerConnection> {
@@ -2,22 +2,19 @@
2
2
  // Licensed under the MIT License.
3
3
 
4
4
  #include "SafeLoadLibrary.h"
5
- #include "PathCch.h"
6
-
7
- EXTERN_C IMAGE_DOS_HEADER __ImageBase;
8
5
 
9
6
  namespace Microsoft::ReactNative {
10
7
 
11
8
  // Unsafe calls to LoadLibrary/LoadLibraryEx.
12
9
  // The default behavior of LoadLibrary, or LoadLibraryEx without flags, is to try and find the dependency by iterating
13
10
  // through a search order. This search order contains the current working directory. In the classic attack, a malicious
14
- // DLL is dropped in the likely - controllable current working directory. The malicious DLL has the same name as a
15
- // missing dependency or dependency that is not in the same directory as the executable. When the call to LoadLibrary
16
- // is reached, the malicious DLL is loaded preferentially, and code execution occurs.
11
+ // DLL is dropped in the likely - controllable current working directory.The malicious DLL has the same name as a
12
+ // missing dependency or dependency that is not in the same directory as the executable.When the call to LoadLibrary is
13
+ // reached, the malicious DLL is loaded preferentially, and code execution occurs.
17
14
  //
18
15
  // The SafeLoadLibrary is the preferred ways to manually load dependencies.
19
16
  // The API does not search the current working directory when resolving dependencies.
20
- // The implementation is "borrowed" from Office MsoSafeLoadLibrary.
17
+ // It is "borrowed" from Office Mso code.
21
18
 
22
19
  /**
23
20
  List of new flags that control where to search for DLLs. Requires KB2533623.
@@ -25,53 +22,20 @@ namespace Microsoft::ReactNative {
25
22
  const DWORD SafeLoadLibraryFlags = LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS |
26
23
  LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32 | LOAD_LIBRARY_SEARCH_USER_DIRS;
27
24
 
28
- HMODULE SafeLoadLibrary(const wchar_t *fileName, DWORD dwFlags) noexcept {
25
+ HMODULE SafeLoadLibrary(const wchar_t *wzFileName, HANDLE hFile, DWORD dwFlags) noexcept {
29
26
  // When calling LoadLibrary, OR in LOAD_LIBRARY_SEARCH_DEFAULT_DIRS which enables all of the
30
27
  // safe behaviors. Note that this flag is not compatible with LOAD_WITH_ALTERED_SEARCH_PATH.
31
- #pragma push_macro("LoadLibraryExW")
32
- #undef LoadLibraryExW
33
28
  HMODULE module =
34
- ::LoadLibraryExW(fileName, 0, (dwFlags | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS) & ~LOAD_WITH_ALTERED_SEARCH_PATH);
29
+ LoadLibraryExW(wzFileName, hFile, (dwFlags | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS) & ~LOAD_WITH_ALTERED_SEARCH_PATH);
35
30
  if (module == nullptr && GetLastError() == ERROR_INVALID_PARAMETER) {
36
31
  // Could have failed with actual bad parameters or an unpatched OS without KB2533623.
37
- if (::GetProcAddress(::GetModuleHandleW(L"kernel32.dll"), "AddDllDirectory") == nullptr) {
32
+ if (GetProcAddress(GetModuleHandleW(L"kernel32.dll"), "AddDllDirectory") == nullptr) {
38
33
  // Unpatched OS, remove all new flags.
39
- module = ::LoadLibraryExW(fileName, 0, dwFlags & ~SafeLoadLibraryFlags);
34
+ module = LoadLibraryExW(wzFileName, hFile, dwFlags & ~SafeLoadLibraryFlags);
40
35
  }
41
36
  }
42
- #pragma pop_macro("LoadLibraryExW")
43
37
 
44
38
  return module;
45
39
  }
46
40
 
47
- // Gets the full file name in the same directory as the current DLL.
48
- // It returns nullptr if we cannot create the full file name.
49
- wchar_t *GePeerFullFileName(const wchar_t *fileName, wchar_t *buffer, size_t bufferSize) {
50
- size_t nameSize =
51
- ::GetModuleFileNameW(reinterpret_cast<HINSTANCE>(&__ImageBase), buffer, static_cast<DWORD>(bufferSize));
52
- if (nameSize == 0 || nameSize == bufferSize)
53
- return nullptr;
54
-
55
- if (::PathCchRemoveFileSpec(buffer, bufferSize) != S_OK)
56
- return nullptr;
57
- if (::PathCchCombineEx(buffer, bufferSize, buffer, fileName, PATHCCH_ALLOW_LONG_PATHS) != S_OK)
58
- return nullptr;
59
-
60
- return buffer;
61
- }
62
-
63
- HMODULE LoadLibraryAsPeerFirst(const wchar_t *fileName) noexcept {
64
- HMODULE lib{nullptr};
65
- constexpr size_t nameBufferSize = 4096;
66
- wchar_t nameBuffer[nameBufferSize] = L"";
67
-
68
- if (wchar_t *fullFileName = GePeerFullFileName(fileName, nameBuffer, nameBufferSize))
69
- lib = SafeLoadLibrary(fullFileName);
70
-
71
- if (!lib)
72
- lib = SafeLoadLibrary(fileName);
73
-
74
- return lib;
75
- }
76
-
77
41
  } // namespace Microsoft::ReactNative
@@ -10,10 +10,6 @@
10
10
  namespace Microsoft::ReactNative {
11
11
 
12
12
  // Safe LoadLibraryEx wrapper that must be used instead of LoadLibrary.
13
- extern HMODULE SafeLoadLibrary(const wchar_t *fileName, DWORD flags = 0) noexcept;
14
-
15
- // Try to load the dll from the same folder as the current DLL first,
16
- // and if it is not found, then use the SafeLoadLibrary.
17
- extern HMODULE LoadLibraryAsPeerFirst(const wchar_t *fileName) noexcept;
13
+ extern HMODULE SafeLoadLibrary(const wchar_t *wzFileName, HANDLE hFile = nullptr, DWORD dwFlags = 0) noexcept;
18
14
 
19
15
  } // namespace Microsoft::ReactNative
@@ -31,11 +31,20 @@
31
31
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\ComponentViewRegistry.cpp">
32
32
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
33
33
  </ClCompile>
34
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\Composition.Input.cpp">
35
+ <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
36
+ <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\Composition.Input.idl</DependentUpon>
37
+ </ClCompile>
34
38
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\CompositionContextHelper.cpp">
35
39
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
36
40
  <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionContext.idl</DependentUpon>
37
41
  <SubType>Code</SubType>
38
42
  </ClCompile>
43
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\CompositionContextHelper_emptyimpl.cpp">
44
+ <ExcludedFromBuild Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' != 'true'">true</ExcludedFromBuild>
45
+ <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionContext.idl</DependentUpon>
46
+ <SubType>Code</SubType>
47
+ </ClCompile>
39
48
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\ReactCompositionViewComponentBuilder.cpp">
40
49
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
41
50
  <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactCompositionViewComponentBuilder.idl</DependentUpon>
@@ -63,11 +72,21 @@
63
72
  <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionRootView.idl</DependentUpon>
64
73
  <SubType>Code</SubType>
65
74
  </ClCompile>
75
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\CompositionRootView_emptyimpl.cpp">
76
+ <ExcludedFromBuild Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' != 'true'">true</ExcludedFromBuild>
77
+ <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionRootView.idl</DependentUpon>
78
+ <SubType>Code</SubType>
79
+ </ClCompile>
66
80
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\CompositionUIService.cpp">
67
81
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
68
82
  <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionUIService.idl</DependentUpon>
69
83
  <SubType>Code</SubType>
70
84
  </ClCompile>
85
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\CompositionUIService_emptyimpl.cpp">
86
+ <ExcludedFromBuild Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' != 'true'">true</ExcludedFromBuild>
87
+ <DependentUpon>$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionUIService.idl</DependentUpon>
88
+ <SubType>Code</SubType>
89
+ </ClCompile>
71
90
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\CompositionViewComponentView.cpp">
72
91
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
73
92
  </ClCompile>
@@ -86,6 +105,9 @@
86
105
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\SwitchComponentView.cpp">
87
106
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
88
107
  </ClCompile>
108
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\ActivityIndicatorComponentView.cpp">
109
+ <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
110
+ </ClCompile>
89
111
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\TextInput\WindowsTextInputComponentView.cpp">
90
112
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
91
113
  </ClCompile>
@@ -128,7 +150,10 @@
128
150
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\ImageRequest.cpp">
129
151
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
130
152
  </ClCompile>
131
- <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\components\view\windows\WindowsViewProps.cpp">
153
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\components\view\HostPlatformViewProps.cpp">
154
+ <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
155
+ </ClCompile>
156
+ <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\components\view\HostPlatformViewEventEmitter.cpp">
132
157
  <ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
133
158
  </ClCompile>
134
159
  <ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\graphics\Color.cpp">
@@ -153,6 +178,7 @@
153
178
  <ClCompile Include="$(MSBuildThisFileDirectory)DevSupportManager.cpp" />
154
179
  <ClCompile Include="$(MSBuildThisFileDirectory)Executors\WebSocketJSExecutor.cpp" />
155
180
  <ClCompile Include="$(MSBuildThisFileDirectory)Executors\WebSocketJSExecutorFactory.cpp" />
181
+ <ClCompile Include="$(MSBuildThisFileDirectory)Hasher.cpp" />
156
182
  <ClCompile Include="$(MSBuildThisFileDirectory)HermesRuntimeHolder.cpp" />
157
183
  <ClCompile Include="$(MSBuildThisFileDirectory)HermesSamplingProfiler.cpp" />
158
184
  <ClCompile Include="$(MSBuildThisFileDirectory)InspectorPackagerConnection.cpp" />
@@ -196,9 +222,6 @@
196
222
  <ClCompile Include="$(MSBuildThisFileDirectory)TurboModuleManager.cpp" />
197
223
  <ClCompile Include="$(MSBuildThisFileDirectory)Utils.cpp" />
198
224
  <ClCompile Include="$(MSBuildThisFileDirectory)Utils\WinRTConversions.cpp" />
199
- <ClCompile Include="$(MSBuildThisFileDirectory)V8JSIRuntimeHolder.cpp">
200
- <ExcludedFromBuild Condition="'$(UseV8)' != 'true'">true</ExcludedFromBuild>
201
- </ClCompile>
202
225
  </ItemGroup>
203
226
  <ItemGroup>
204
227
  <ClInclude Include="$(MSBuildThisFileDirectory)..\codegen\react\components\rnwcore\EventEmitters.h" />
@@ -231,6 +254,9 @@
231
254
  <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\DWriteHelpers.h" />
232
255
  <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\FabricUIManagerModule.h" />
233
256
  <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\graphics\Color.h" />
257
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\components\view\HostPlatformTouch.h" />
258
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\components\view\HostPlatformViewEventEmitter.h" />
259
+ <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\core\graphicsConversions.h" />
234
260
  <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\textlayoutmanager\TextLayoutManager.h" />
235
261
  <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\ReactNativeConfigProperties.h" />
236
262
  <ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\WindowsImageManager.h" />
@@ -368,7 +394,6 @@
368
394
  <ClInclude Include="$(MSBuildThisFileDirectory)Utils.h" />
369
395
  <ClInclude Include="$(MSBuildThisFileDirectory)Utils\CppWinrtLessExceptions.h" />
370
396
  <ClInclude Include="$(MSBuildThisFileDirectory)Utils\WinRTConversions.h" />
371
- <ClInclude Include="$(MSBuildThisFileDirectory)V8JSIRuntimeHolder.h" />
372
397
  <ClInclude Include="$(MSBuildThisFileDirectory)WebSocketJSExecutorFactory.h" />
373
398
  <ClCompile Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\Modules\DevSettingsModule.cpp" />
374
399
  <ClCompile Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\Modules\ReactRootViewTagGenerator.cpp" />
@@ -398,6 +423,8 @@
398
423
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\config\ReactNativeConfig.cpp" />
399
424
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\attributedstring\AttributedString.cpp" />
400
425
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\attributedstring\AttributedStringBox.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
426
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\BaseViewProps.cpp" DisableSpecificWarnings="4459;4715;%(DisableSpecificWarnings)" />
427
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\BaseViewEventEmitter.cpp" DisableSpecificWarnings="4459;4715;%(DisableSpecificWarnings)" />
401
428
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\attributedstring\ParagraphAttributes.cpp" />
402
429
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\attributedstring\TextAttributes.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
403
430
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\componentregistry\ComponentDescriptorProviderRegistry.cpp" />
@@ -424,15 +451,16 @@
424
451
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\text\TextShadowNode.cpp" />
425
452
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\text\RawTextShadowNode.cpp" />
426
453
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\AccessibilityProps.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
454
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\PointerEvent.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
455
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\BaseTouch.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
427
456
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\TouchEventEmitter.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
428
- <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\ViewEventEmitter.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
429
- <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\ViewProps.cpp" DisableSpecificWarnings="4459;4715;%(DisableSpecificWarnings)" />
430
457
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\ViewShadowNode.cpp" />
431
458
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\YogaLayoutableShadowNode.cpp" DisableSpecificWarnings="4701;4715;%(DisableSpecificWarnings)" />
432
459
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\components\view\YogaStylableProps.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
433
460
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\BatchedEventQueue.cpp" />
434
461
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ComponentDescriptor.cpp" />
435
- <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\CoreFeatures.cpp" />
462
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ValueFactoryEventPayload.cpp" />
463
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\utils\CoreFeatures.cpp" />
436
464
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\DynamicPropsUtilities.cpp" />
437
465
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\EventBeat.cpp" />
438
466
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\EventDispatcher.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
@@ -454,11 +482,11 @@
454
482
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\Sealable.cpp" />
455
483
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ShadowNode.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
456
484
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ShadowNodeFamily.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
457
- <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ShadowNodeFamilyFragment.cpp" />
458
485
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ShadowNodeFragment.cpp" />
459
486
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\ShadowNodeTraits.cpp" />
460
487
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\State.cpp" />
461
488
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\UnbatchedEventQueue.cpp" />
489
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\core\InstanceHandle.cpp" />
462
490
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\debug\DebugStringConvertible.cpp" />
463
491
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\debug\DebugStringConvertibleItem.cpp" />
464
492
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\graphics\Transform.cpp" DisableSpecificWarnings="4018;%(DisableSpecificWarnings)" />
@@ -488,6 +516,7 @@
488
516
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\templateprocessor\UITemplateProcessor.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" />
489
517
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\textlayoutmanager\TextMeasureCache.cpp" />
490
518
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\uimanager\bindingUtils.cpp" />
519
+ <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\uimanager\PointerEventsProcessor.cpp" />
491
520
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\uimanager\SurfaceRegistryBinding.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
492
521
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\uimanager\UIManager.cpp" />
493
522
  <ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\uimanager\UIManagerBinding.cpp" DisableSpecificWarnings="4389;4715;%(DisableSpecificWarnings)" />
@@ -510,16 +539,17 @@
510
539
  <Midl Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\ReactNativeHost.idl" />
511
540
  <Midl Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\RedBoxHandler.idl" />
512
541
  </ItemGroup>
513
- <ItemGroup Condition="'$(UseFabric)' == 'true'">
514
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionContext.idl" />
515
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionHwndHost.idl" />
516
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionRootView.idl" />
517
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionSwitcher.idl" />
518
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionUIService.idl" />
519
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactCompositionViewComponentBuilder.idl" />
520
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactPackageBuilderFabric.idl" />
521
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactViewComponentBuilder.idl" />
522
- <Midl Condition="'$(UseFabric)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\ViewProps.idl" />
542
+ <ItemGroup Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'">
543
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\Composition.Input.idl" />
544
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionContext.idl" />
545
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionHwndHost.idl" />
546
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionRootView.idl" />
547
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionSwitcher.idl" />
548
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\CompositionUIService.idl" />
549
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactCompositionViewComponentBuilder.idl" />
550
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactPackageBuilderFabric.idl" />
551
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\IReactViewComponentBuilder.idl" />
552
+ <Midl Condition="'$(UseFabric)' == 'true' OR '$(IncludeFabricInterface)' == 'true'" Include="$(ReactNativeWindowsDir)Microsoft.ReactNative\ViewProps.idl" />
523
553
  </ItemGroup>
524
554
  <ItemGroup>
525
555
  <ClInclude Include="$(NodeApiJsiDir)src\ApiLoaders\HermesApi.h" />
@@ -535,4 +565,4 @@
535
565
  <PrecompiledHeader>NotUsing</PrecompiledHeader>
536
566
  </ClCompile>
537
567
  </ItemGroup>
538
- </Project>
568
+ </Project>