react-native-windows 0.81.1 → 0.82.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/.flowconfig +11 -10
  2. package/Directory.Build.props +3 -3
  3. package/Folly/Folly.vcxproj +1 -3
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  5. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  6. package/Libraries/Animated/Animated.d.ts +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +1 -1
  8. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  9. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  10. package/Libraries/Animated/AnimatedMock.js +1 -1
  11. package/Libraries/Animated/Easing.js +2 -0
  12. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  13. package/Libraries/Animated/animations/Animation.js +19 -20
  14. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  15. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  16. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  19. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  20. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  21. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  24. package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/MessageQueue.js +4 -0
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  28. package/Libraries/Blob/BlobManager.js +1 -1
  29. package/Libraries/Blob/URLSearchParams.js +2 -0
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  32. package/Libraries/Components/Button.js +1 -1
  33. package/Libraries/Components/Button.windows.js +1 -1
  34. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  35. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  37. package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  41. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  42. package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +2 -2
  46. package/Libraries/Components/Switch/Switch.windows.js +2 -2
  47. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  48. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
  51. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  52. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  56. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  57. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  59. package/Libraries/Components/View/View.js +81 -167
  60. package/Libraries/Components/View/View.windows.js +202 -302
  61. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  62. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
  63. package/Libraries/Core/ExceptionsManager.js +4 -2
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  65. package/Libraries/Core/ReactNativeVersion.js +37 -10
  66. package/Libraries/Core/Timers/JSTimers.js +3 -1
  67. package/Libraries/Core/Timers/immediateShim.js +1 -1
  68. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  69. package/Libraries/Core/setUpPerformance.js +2 -1
  70. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  71. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  72. package/Libraries/Image/Image.android.js +327 -111
  73. package/Libraries/Image/Image.ios.js +6 -1
  74. package/Libraries/Image/Image.windows.js +28 -61
  75. package/Libraries/Image/ImageSourceUtils.js +8 -2
  76. package/Libraries/Image/resolveAssetSource.js +1 -1
  77. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  78. package/Libraries/Interaction/InteractionManager.js +118 -167
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  81. package/Libraries/Lists/FlatList.js +5 -6
  82. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  83. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  84. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  85. package/Libraries/Modal/Modal.js +3 -3
  86. package/Libraries/Modal/Modal.windows.js +2 -2
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  88. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  89. package/Libraries/Network/RCTNetworking.android.js +1 -1
  90. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  91. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  92. package/Libraries/Network/XMLHttpRequest.js +20 -5
  93. package/Libraries/Network/convertRequestBody.js +1 -1
  94. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  95. package/Libraries/Pressability/HoverState.js +2 -0
  96. package/Libraries/Pressability/Pressability.js +1 -1
  97. package/Libraries/Pressability/Pressability.windows.js +5 -5
  98. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  99. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  100. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  103. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  104. package/Libraries/ReactNative/UIManager.js +3 -3
  105. package/Libraries/ReactNative/renderApplication.js +1 -0
  106. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  107. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  108. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  109. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  110. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  113. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  114. package/Libraries/Share/Share.js +4 -0
  115. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  118. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  119. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  120. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  121. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  122. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  123. package/Libraries/StyleSheet/processFilter.js +5 -5
  124. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  125. package/Libraries/Text/Text.js +534 -234
  126. package/Libraries/Text/Text.windows.js +622 -265
  127. package/Libraries/Text/TextNativeComponent.js +2 -2
  128. package/Libraries/Utilities/Appearance.d.ts +3 -5
  129. package/Libraries/Utilities/Appearance.js +5 -17
  130. package/Libraries/Utilities/HMRClient.js +2 -1
  131. package/Libraries/Utilities/Platform.android.js +3 -3
  132. package/Libraries/Utilities/Platform.d.ts +1 -0
  133. package/Libraries/Utilities/Platform.ios.js +1 -1
  134. package/Libraries/Utilities/Platform.windows.js +3 -3
  135. package/Libraries/Utilities/PlatformTypes.js +1 -1
  136. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  137. package/Libraries/Utilities/SceneTracker.js +1 -1
  138. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  139. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  140. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  142. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  143. package/Libraries/Utilities/useMergeRefs.js +1 -1
  144. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  145. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  146. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  147. package/Microsoft.ReactNative/App.xaml +5 -0
  148. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  149. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  150. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  151. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  152. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
  153. package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
  154. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
  155. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
  156. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
  157. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
  158. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
  159. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
  160. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +65 -32
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
  169. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  170. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
  171. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
  172. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
  173. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
  174. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
  175. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
  176. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
  177. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
  178. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
  180. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  181. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +550 -4
  182. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
  183. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
  184. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
  185. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  186. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  187. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
  188. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
  189. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
  190. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
  191. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
  192. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  193. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
  194. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  195. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  196. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
  197. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
  198. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  199. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  200. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  201. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  202. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  203. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  204. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
  205. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  206. package/Microsoft.ReactNative/IReactContext.h +0 -7
  207. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  208. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  209. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  210. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  211. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  212. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
  213. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  214. package/Microsoft.ReactNative/JsiApi.h +2 -3
  215. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  216. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
  217. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  218. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  219. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  220. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  221. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  222. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  223. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  224. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  225. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  226. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  227. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  228. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  229. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  230. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  231. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  232. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  233. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  234. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
  235. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  236. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  237. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  238. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  239. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  240. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  241. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  242. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  243. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  244. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  245. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  246. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  247. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  248. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  249. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  250. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  251. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  252. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  253. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  254. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  255. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  256. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  257. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  258. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  259. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  260. package/Microsoft.ReactNative/Theme.idl +0 -2
  261. package/Microsoft.ReactNative/Timer.cpp +3 -2
  262. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  263. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  264. package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
  265. package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
  266. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  267. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  268. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  269. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  270. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  271. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  272. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  273. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  274. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  275. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  276. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  277. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  278. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  279. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  280. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  281. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  282. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  283. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  284. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  285. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  286. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  287. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  288. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  289. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  290. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  291. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  292. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  293. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  294. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  295. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  296. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
  297. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  298. package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
  299. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  300. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  301. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  302. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  303. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  304. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  305. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  306. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  307. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  308. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  309. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  310. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  311. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  312. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  313. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  314. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  315. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  316. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  317. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  318. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  319. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  320. package/PropertySheets/Bundle.Common.targets +1 -1
  321. package/PropertySheets/Bundle.props +3 -4
  322. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  323. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  324. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  325. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  326. package/PropertySheets/JSEngine.props +1 -1
  327. package/PropertySheets/NuGet.LockFile.props +0 -8
  328. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  329. package/PropertySheets/React.Cpp.props +3 -5
  330. package/PropertySheets/WinUI.props +3 -3
  331. package/README.md +1 -5
  332. package/ReactCommon/ReactCommon.vcxproj +12 -31
  333. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  334. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  338. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  339. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  340. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  341. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  342. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  343. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  344. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  345. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  346. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  347. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  348. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  349. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  350. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  351. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  352. package/ReactCommon/cgmanifest.json +1 -1
  353. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  354. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  355. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  356. package/Scripts/creaternwapp.cmd +1 -1
  357. package/Shared/DevServerHelper.h +17 -21
  358. package/Shared/DevSettings.h +1 -25
  359. package/Shared/DevSupportManager.cpp +0 -50
  360. package/Shared/DevSupportManager.h +0 -4
  361. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  362. package/Shared/HermesRuntimeHolder.cpp +0 -31
  363. package/Shared/HermesRuntimeHolder.h +0 -14
  364. package/Shared/IDevSupportManager.h +0 -6
  365. package/Shared/InstanceManager.cpp +0 -97
  366. package/Shared/InstanceManager.h +0 -53
  367. package/Shared/JSI/ScriptStore.h +1 -1
  368. package/Shared/Logging.cpp +1 -12
  369. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  370. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  371. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  372. package/Shared/OInstance.cpp +144 -424
  373. package/Shared/OInstance.h +0 -81
  374. package/Shared/Shared.vcxitems +83 -203
  375. package/Shared/Shared.vcxitems.filters +8 -67
  376. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  377. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  378. package/Shared/TurboModuleManager.cpp +0 -4
  379. package/Shared/Utils.cpp +26 -0
  380. package/Shared/Utils.h +3 -0
  381. package/codegen/NativeDOMSpec.g.h +41 -35
  382. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  383. package/codegen/NativePerformanceSpec.g.h +47 -35
  384. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
  385. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
  386. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
  387. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
  388. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
  389. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
  390. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
  391. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
  392. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  393. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  394. package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
  395. package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
  396. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  397. package/codegen/react/components/rnwcore/Props.h +51 -2
  398. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
  399. package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
  400. package/codegen/react/components/rnwcore/Switch.g.h +14 -0
  401. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
  402. package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
  403. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  404. package/codegen/rnwcoreJSI-generated.cpp +106 -51
  405. package/codegen/rnwcoreJSI.h +148 -67
  406. package/fmt/cgmanifest.json +1 -1
  407. package/fmt/fmt.vcxproj +0 -8
  408. package/index.js +8 -2
  409. package/index.windows.js +8 -2
  410. package/jest/local-setup.js +2 -2
  411. package/jest/mock.js +1 -1
  412. package/jest/mockComponent.js +9 -9
  413. package/jest/mockNativeComponent.js +3 -2
  414. package/jest/mocks/Modal.js +1 -1
  415. package/jest/mocks/ScrollView.js +1 -1
  416. package/jest/mocks/ViewNativeComponent.js +1 -1
  417. package/jest/setup.js +23 -12
  418. package/just-task.js +14 -0
  419. package/package.json +31 -32
  420. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  421. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  422. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  423. package/src/private/components/virtualview/VirtualView.js +43 -12
  424. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  425. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  426. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  427. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  428. package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
  429. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  430. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
  431. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  432. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  433. package/src/private/types/HostInstance.js +4 -1
  434. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  435. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  436. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  437. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  438. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  439. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  440. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  441. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  442. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  443. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  444. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  445. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  446. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  447. package/src/private/webapis/performance/EventTiming.js +6 -10
  448. package/src/private/webapis/performance/Performance.js +309 -164
  449. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  450. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  451. package/src/private/webapis/performance/UserTiming.js +71 -18
  452. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  453. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  454. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  455. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  456. package/stubs/double-conversion/README.md +1 -1
  457. package/template/cpp-lib/proj/MyLib.sln +0 -5
  458. package/template/cpp-lib/src/pch.h +0 -5
  459. package/template/cs-lib/proj/MyLib.sln +0 -5
  460. package/template/metro.config.js +1 -0
  461. package/templates/cpp-app/metro.config.js +2 -1
  462. package/templates/cpp-app/windows/MyApp.sln +0 -5
  463. package/templates/cpp-lib/example/metro.config.js +3 -4
  464. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  465. package/Chakra/Chakra.vcxitems +0 -32
  466. package/Chakra/Chakra.vcxitems.filters +0 -54
  467. package/Chakra/ChakraHelpers.cpp +0 -468
  468. package/Chakra/ChakraHelpers.h +0 -146
  469. package/Chakra/ChakraInstanceArgs.h +0 -52
  470. package/Chakra/ChakraPlatform.cpp +0 -42
  471. package/Chakra/ChakraPlatform.h +0 -51
  472. package/Chakra/ChakraTracing.cpp +0 -275
  473. package/Chakra/ChakraTracing.h +0 -11
  474. package/Chakra/ChakraUtils.cpp +0 -190
  475. package/Chakra/ChakraUtils.h +0 -72
  476. package/Chakra/ChakraValue.cpp +0 -257
  477. package/Chakra/ChakraValue.h +0 -308
  478. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  479. package/Chakra/Utf8DebugExtensions.h +0 -29
  480. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  481. package/Libraries/Interaction/TaskQueue.js +0 -183
  482. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  483. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  484. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  485. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  486. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  487. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  488. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  489. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  490. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  491. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  492. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  493. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  494. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  495. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  496. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  497. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  498. package/Microsoft.ReactNative/LayoutService.h +0 -32
  499. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  500. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  501. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  502. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  503. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  504. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  505. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  506. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  507. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  508. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  509. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  510. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  511. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  512. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  513. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  514. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  515. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  516. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  517. package/Microsoft.ReactNative/TestHook.h +0 -15
  518. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  519. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  520. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  521. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  522. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  523. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  524. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  525. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  526. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  527. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  528. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  529. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  530. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  531. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  532. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  533. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  534. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  535. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  536. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  537. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  538. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  539. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  540. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  541. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  542. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  543. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  544. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  545. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  546. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  547. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  548. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  549. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  550. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  551. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  552. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  553. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  554. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  555. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  556. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  557. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  558. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  559. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  560. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  561. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  562. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  563. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  564. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  565. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  566. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  567. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  568. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  569. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  570. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  571. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  572. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  573. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  574. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  575. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  576. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  577. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  578. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  579. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  580. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  581. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  582. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  583. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  584. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  585. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  586. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  587. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  588. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  589. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  590. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  591. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  592. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  593. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  594. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  595. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  596. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  597. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  598. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  599. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  600. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  601. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  602. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  603. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  604. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  605. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  606. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  607. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  608. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  609. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  610. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  611. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  612. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  613. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  614. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  615. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  616. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  617. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  618. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  619. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  620. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  621. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  622. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  623. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  624. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  625. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  626. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  627. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  628. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  629. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  630. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  631. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  632. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  633. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  634. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  635. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  636. package/Microsoft.ReactNative/XamlView.h +0 -58
  637. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  638. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  639. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  640. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  641. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  642. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  643. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  644. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  645. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  646. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  647. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  648. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  649. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  650. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  651. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  652. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  653. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  654. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  655. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  656. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  657. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  660. package/Shared/BatchingMessageQueueThread.h +0 -20
  661. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  662. package/Shared/ChakraRuntimeHolder.h +0 -46
  663. package/Shared/CreateInstance.h +0 -25
  664. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  665. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  666. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  667. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  668. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  669. package/Shared/JSI/ChakraApi.cpp +0 -436
  670. package/Shared/JSI/ChakraApi.h +0 -474
  671. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  672. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  673. package/Shared/JSI/ChakraRuntime.h +0 -512
  674. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  675. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  676. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  677. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  678. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  679. package/Shared/NativeModuleProvider.h +0 -40
  680. package/Shared/SystemChakraRuntime.h +0 -38
  681. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  682. package/Shared/Threading/BatchingQueueThread.h +0 -59
  683. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  684. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  685. package/template/cpp-app/proj/MyApp.sln +0 -166
  686. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  687. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  688. package/template/cpp-app/src/App.cpp +0 -93
  689. package/template/cpp-app/src/App.h +0 -21
  690. package/template/cpp-app/src/App.idl +0 -3
  691. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  692. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  693. package/template/cpp-app/src/MainPage.cpp +0 -20
  694. package/template/cpp-app/src/MainPage.h +0 -19
  695. package/template/cpp-app/src/MainPage.idl +0 -10
  696. package/template/cpp-app/src/PropertySheet.props +0 -16
  697. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  698. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  699. package/template/cpp-app/src/pch.cpp +0 -1
  700. package/template/cpp-app/src/pch.h +0 -24
  701. package/template/cs-app/proj/MyApp.csproj +0 -162
  702. package/template/cs-app/proj/MyApp.sln +0 -191
  703. package/template/cs-app/src/App.xaml.cs +0 -62
  704. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  705. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  706. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  707. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  708. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  709. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  710. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  711. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  712. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  713. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  714. package/template/shared-app/assets/StoreLogo.png +0 -0
  715. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  716. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  717. package/template/shared-app/proj/NuGet_Config +0 -19
  718. package/template/shared-app/src/App.xaml +0 -10
  719. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  720. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  721. package/template/shared-app/src/MainPage.xaml +0 -21
  722. package/template/shared-app/src/Package.appxmanifest +0 -50
  723. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  724. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -227,6 +227,22 @@ void ReactCompositionViewComponentBuilder::SetUnmountChildComponentViewHandler(
227
227
  m_unmountChildComponentViewHandler = impl;
228
228
  }
229
229
 
230
+ void ReactCompositionViewComponentBuilder::SetCreateAutomationPeerHandler(CreateAutomationPeerDelegate impl) noexcept {
231
+ m_createAutomationPeerHandler = impl;
232
+ }
233
+
234
+ const CreateAutomationPeerDelegate &ReactCompositionViewComponentBuilder::CreateAutomationPeerHandler() const noexcept {
235
+ return m_createAutomationPeerHandler;
236
+ }
237
+
238
+ bool ReactCompositionViewComponentBuilder::XamlSupport() const noexcept {
239
+ return m_xamlSupport;
240
+ }
241
+
242
+ void ReactCompositionViewComponentBuilder::XamlSupport(bool isRequired) noexcept {
243
+ m_xamlSupport = isRequired;
244
+ }
245
+
230
246
  const UnmountChildComponentViewDelegate &ReactCompositionViewComponentBuilder::UnmountChildComponentViewHandler()
231
247
  const noexcept {
232
248
  return m_unmountChildComponentViewHandler;
@@ -39,6 +39,9 @@ struct ReactCompositionViewComponentBuilder
39
39
  void SetUpdateEventEmitterHandler(UpdateEventEmitterDelegate impl) noexcept;
40
40
  void SetMountChildComponentViewHandler(MountChildComponentViewDelegate impl) noexcept;
41
41
  void SetUnmountChildComponentViewHandler(UnmountChildComponentViewDelegate impl) noexcept;
42
+ void SetCreateAutomationPeerHandler(CreateAutomationPeerDelegate impl) noexcept;
43
+ bool XamlSupport() const noexcept;
44
+ void XamlSupport(bool isRequired) noexcept;
42
45
 
43
46
  public: // Composition::IReactCompositionViewComponentBuilder
44
47
  void SetViewComponentViewInitializer(const ViewComponentViewInitializer &initializer) noexcept;
@@ -77,6 +80,7 @@ struct ReactCompositionViewComponentBuilder
77
80
  const CreateVisualDelegate &CreateVisualHandler() const noexcept;
78
81
  const winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate &
79
82
  VisualToMountChildrenIntoHandler() const noexcept;
83
+ const CreateAutomationPeerDelegate &CreateAutomationPeerHandler() const noexcept;
80
84
 
81
85
  private:
82
86
  void InitializeComponentView(const winrt::Microsoft::ReactNative::ComponentView &view) noexcept;
@@ -103,11 +107,13 @@ struct ReactCompositionViewComponentBuilder
103
107
  winrt::Microsoft::ReactNative::UpdateEventEmitterDelegate m_updateEventEmitterHandler;
104
108
  winrt::Microsoft::ReactNative::MountChildComponentViewDelegate m_mountChildComponentViewHandler;
105
109
  winrt::Microsoft::ReactNative::UnmountChildComponentViewDelegate m_unmountChildComponentViewHandler;
110
+ winrt::Microsoft::ReactNative::CreateAutomationPeerDelegate m_createAutomationPeerHandler;
106
111
 
107
112
  winrt::Microsoft::ReactNative::Composition::CreateVisualDelegate m_createVisualHandler;
108
113
  winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate
109
114
  m_visualToMountChildrenIntoHandler;
110
115
  UpdateLayoutMetricsDelegate m_updateLayoutMetricsHandler;
116
+ bool m_xamlSupport{false};
111
117
  };
112
118
 
113
119
  } // namespace winrt::Microsoft::ReactNative::Composition
@@ -33,10 +33,8 @@
33
33
  #include "RootComponentView.h"
34
34
  #include "TextDrawing.h"
35
35
 
36
- #ifdef USE_WINUI3
37
36
  #include <winrt/Microsoft.UI.Content.h>
38
37
  #include <winrt/Microsoft.UI.Input.h>
39
- #endif
40
38
 
41
39
  namespace winrt::Microsoft::ReactNative::implementation {
42
40
 
@@ -172,7 +170,6 @@ ReactNativeIsland::ReactNativeIsland() noexcept
172
170
  : ReactNativeIsland(winrt::Microsoft::UI::Composition::Compositor{nullptr}) {}
173
171
 
174
172
  ReactNativeIsland::~ReactNativeIsland() noexcept {
175
- #ifdef USE_WINUI3
176
173
  if (m_island) {
177
174
  m_island.AutomationProviderRequested(m_islandAutomationProviderRequestedToken);
178
175
  m_island.StateChanged(m_islandStateChangedToken);
@@ -181,7 +178,6 @@ ReactNativeIsland::~ReactNativeIsland() noexcept {
181
178
  m_island.Disconnected(m_islandDisconnectedToken);
182
179
  #endif
183
180
  }
184
- #endif
185
181
 
186
182
  if (m_uiDispatcher) {
187
183
  assert(m_uiDispatcher.HasThreadAccess());
@@ -261,12 +257,10 @@ void ReactNativeIsland::RemoveRenderedVisual(
261
257
  }
262
258
 
263
259
  bool ReactNativeIsland::TrySetFocus() noexcept {
264
- #ifdef USE_WINUI3
265
260
  if (m_island && m_island.IsConnected()) {
266
261
  auto focusController = winrt::Microsoft::UI::Input::InputFocusController::GetForIsland(m_island);
267
262
  return focusController.TrySetFocus();
268
263
  }
269
- #endif
270
264
  return false;
271
265
  }
272
266
 
@@ -146,7 +146,6 @@ struct ReactNativeIsland
146
146
  void UninitRootView() noexcept;
147
147
 
148
148
  private:
149
- #ifdef USE_WINUI3
150
149
  winrt::Microsoft::UI::Composition::Compositor m_compositor{nullptr};
151
150
  winrt::Microsoft::UI::Content::ContentIsland m_island{nullptr};
152
151
  winrt::event_token m_islandFrameworkClosedToken;
@@ -154,7 +153,6 @@ struct ReactNativeIsland
154
153
  winrt::event_token m_islandStateChangedToken;
155
154
  winrt::event_token m_islandConnectedToken;
156
155
  winrt::event_token m_islandDisconnectedToken;
157
- #endif
158
156
 
159
157
  HWND m_hwnd{0};
160
158
  bool m_isFragment{false};
@@ -8,7 +8,10 @@
8
8
 
9
9
  #include <Fabric/FabricUIManagerModule.h>
10
10
  #include <winrt/Microsoft.UI.Input.h>
11
+ #include "CompositionDynamicAutomationProvider.h"
11
12
  #include "CompositionRootAutomationProvider.h"
13
+ #include "ContentIslandComponentView.h"
14
+ #include "ParagraphComponentView.h"
12
15
  #include "ReactNativeIsland.h"
13
16
  #include "Theme.h"
14
17
 
@@ -275,7 +278,7 @@ facebook::react::Point RootComponentView::getClientOffset() const noexcept {
275
278
  return {};
276
279
  }
277
280
 
278
- winrt::IInspectable RootComponentView::UiaProviderFromPoint(const POINT &ptPixels) noexcept {
281
+ winrt::IUnknown RootComponentView::UiaProviderFromPoint(const POINT &ptPixels, const POINT &ptScreen) noexcept {
279
282
  facebook::react::Point ptDips{
280
283
  static_cast<facebook::react::Float>(ptPixels.x) / m_layoutMetrics.pointScaleFactor,
281
284
  static_cast<facebook::react::Float>(ptPixels.y) / m_layoutMetrics.pointScaleFactor};
@@ -295,7 +298,41 @@ winrt::IInspectable RootComponentView::UiaProviderFromPoint(const POINT &ptPixel
295
298
  if (view == nullptr)
296
299
  return nullptr;
297
300
 
298
- return winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(view)->EnsureUiaProvider();
301
+ auto uiaProvider =
302
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(view)->EnsureUiaProvider();
303
+
304
+ if (auto contentIsland =
305
+ view.try_as<winrt::Microsoft::ReactNative::Composition::implementation::ContentIslandComponentView>()) {
306
+ if (contentIsland->InnerAutomationProvider()) {
307
+ if (auto childProvider = contentIsland->InnerAutomationProvider()->TryGetChildSiteLinkAutomationProvider()) {
308
+ // ChildProvider is the the automation provider from the ChildSiteLink. In the case of WinUI, this
309
+ // is a pointer to WinUI's internal CUIAHostWindow object.
310
+ // It seems odd, but even though this node doesn't behave as a fragment root in our case (the real fragment root
311
+ // is the RootComponentView's UIA provider), we still use its IRawElementProviderFragmentRoot -- just so
312
+ // we can do the ElementProviderFromPoint call. (this was recommended by the team who did the initial
313
+ // architecture work).
314
+ if (auto fragmentRoot = childProvider.try_as<IRawElementProviderFragmentRoot>()) {
315
+ com_ptr<IRawElementProviderFragment> frag;
316
+ // WinUI then does its own hitTest inside the XAML tree.
317
+ fragmentRoot->ElementProviderFromPoint(
318
+ ptScreen
319
+ .x, // Note since we're going through IRawElementProviderFragment the coordinates are in screen space.
320
+ ptScreen.y,
321
+ frag.put());
322
+ // We return the specific child provider(frag) when hosted XAML has an element
323
+ // under the cursor. This satisfies the UIA "element at point" contract and exposes
324
+ // the control’s patterns/properties. If the hosted tree finds nothing, we fall back
325
+ // to the RNW container’s provider (uiaProvider) to keep the island accessible.
326
+ // (A Microsoft_UI_Xaml!CUIAWrapper object)
327
+ if (frag) {
328
+ return frag.as<winrt::IUnknown>();
329
+ }
330
+ }
331
+ }
332
+ }
333
+ }
334
+
335
+ return uiaProvider;
299
336
  }
300
337
 
301
338
  float RootComponentView::FontSizeMultiplier() const noexcept {
@@ -349,4 +386,18 @@ HWND RootComponentView::GetHwndForParenting() noexcept {
349
386
  return base_type::GetHwndForParenting();
350
387
  }
351
388
 
389
+ void RootComponentView::ClearCurrentTextSelection() noexcept {
390
+ if (auto view = m_viewWithTextSelection.view()) {
391
+ if (auto paragraphView = view.try_as<ParagraphComponentView>()) {
392
+ paragraphView->ClearSelection();
393
+ }
394
+ }
395
+ m_viewWithTextSelection =
396
+ ::Microsoft::ReactNative::ReactTaggedView{winrt::Microsoft::ReactNative::ComponentView{nullptr}};
397
+ }
398
+
399
+ void RootComponentView::SetViewWithTextSelection(const winrt::Microsoft::ReactNative::ComponentView &view) noexcept {
400
+ m_viewWithTextSelection = ::Microsoft::ReactNative::ReactTaggedView{view};
401
+ }
402
+
352
403
  } // namespace winrt::Microsoft::ReactNative::Composition::implementation
@@ -5,6 +5,7 @@
5
5
  #pragma once
6
6
 
7
7
  #include <Fabric/ComponentView.h>
8
+ #include <Fabric/ReactTaggedView.h>
8
9
  #include <Microsoft.ReactNative.Cxx/ReactContext.h>
9
10
 
10
11
  #include "CompositionViewComponentView.h"
@@ -64,7 +65,7 @@ struct RootComponentView : RootComponentViewT<RootComponentView, ViewComponentVi
64
65
  facebook::react::LayoutMetrics const &layoutMetrics,
65
66
  facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept override;
66
67
 
67
- winrt::Windows::Foundation::IInspectable UiaProviderFromPoint(const POINT &ptPixels) noexcept;
68
+ winrt::Windows::Foundation::IUnknown UiaProviderFromPoint(const POINT &ptPixels, const POINT &ptScreen) noexcept;
68
69
 
69
70
  RootComponentView(
70
71
  const winrt::Microsoft::ReactNative::Composition::Experimental::ICompositionContext &compContext,
@@ -86,6 +87,9 @@ struct RootComponentView : RootComponentViewT<RootComponentView, ViewComponentVi
86
87
 
87
88
  HWND GetHwndForParenting() noexcept override;
88
89
 
90
+ void ClearCurrentTextSelection() noexcept;
91
+ void SetViewWithTextSelection(const winrt::Microsoft::ReactNative::ComponentView &view) noexcept;
92
+
89
93
  private:
90
94
  // should this be a ReactTaggedView? - It shouldn't actually matter since if the view is going away it should always
91
95
  // be clearing its focus But being a reactTaggedView might make it easier to identify cases where that isn't
@@ -94,6 +98,9 @@ struct RootComponentView : RootComponentViewT<RootComponentView, ViewComponentVi
94
98
  winrt::weak_ref<winrt::Microsoft::ReactNative::ReactNativeIsland> m_wkRootView{nullptr};
95
99
  winrt::weak_ref<winrt::Microsoft::ReactNative::Composition::PortalComponentView> m_wkPortal{nullptr};
96
100
  bool m_visualAddedToIsland{false};
101
+
102
+ ::Microsoft::ReactNative::ReactTaggedView m_viewWithTextSelection{
103
+ winrt::Microsoft::ReactNative::ComponentView{nullptr}};
97
104
  };
98
105
 
99
106
  } // namespace winrt::Microsoft::ReactNative::Composition::implementation
@@ -6,7 +6,6 @@
6
6
 
7
7
  #include "ScrollViewComponentView.h"
8
8
 
9
- #include <UI.Xaml.Controls.h>
10
9
  #include <Utils/ValueUtils.h>
11
10
 
12
11
  #pragma warning(push)
@@ -20,7 +19,6 @@
20
19
  #include <AutoDraw.h>
21
20
  #include <Fabric/DWriteHelpers.h>
22
21
  #include <unicode.h>
23
- #include "CompositionDynamicAutomationProvider.h"
24
22
  #include "JSValueReader.h"
25
23
  #include "RootComponentView.h"
26
24
 
@@ -7,7 +7,6 @@
7
7
  #include "SwitchComponentView.h"
8
8
  #include <AutoDraw.h>
9
9
  #include <Fabric/AbiViewProps.h>
10
- #include "CompositionDynamicAutomationProvider.h"
11
10
  #include "RootComponentView.h"
12
11
  #include "UiaHelpers.h"
13
12
 
@@ -6,7 +6,6 @@
6
6
  #include "WindowsTextInputComponentView.h"
7
7
 
8
8
  #include <AutoDraw.h>
9
- #include <Fabric/Composition/CompositionDynamicAutomationProvider.h>
10
9
  #include <Fabric/Composition/UiaHelpers.h>
11
10
  #include <Fabric/platform/react/renderer/graphics/PlatformColorUtils.h>
12
11
  #include <Utils/ThemeUtils.h>
@@ -1677,7 +1676,8 @@ void WindowsTextInputComponentView::DrawText() noexcept {
1677
1676
  }
1678
1677
 
1679
1678
  bool isZeroSized =
1680
- m_layoutMetrics.frame.size.width <= (m_layoutMetrics.contentInsets.left + m_layoutMetrics.contentInsets.right);
1679
+ m_layoutMetrics.frame.size.width <= (m_layoutMetrics.contentInsets.left + m_layoutMetrics.contentInsets.right) ||
1680
+ m_layoutMetrics.frame.size.height <= (m_layoutMetrics.contentInsets.top + m_layoutMetrics.contentInsets.bottom);
1681
1681
  if (!m_drawingSurface || isZeroSized)
1682
1682
  return;
1683
1683
 
@@ -1782,6 +1782,9 @@ WindowsTextInputComponentView::createVisual() noexcept {
1782
1782
  LRESULT res;
1783
1783
  winrt::check_hresult(m_textServices->TxSendMessage(EM_SETTEXTMODE, TM_PLAINTEXT, 0, &res));
1784
1784
 
1785
+ // Enable TSF support
1786
+ winrt::check_hresult(m_textServices->TxSendMessage(EM_SETEDITSTYLE, SES_USECTF, SES_USECTF, nullptr));
1787
+
1785
1788
  m_caretVisual = m_compContext.CreateCaretVisual();
1786
1789
  visual.InsertAt(m_caretVisual.InnerVisual(), 0);
1787
1790
  m_caretVisual.IsVisible(false);
@@ -5,6 +5,7 @@
5
5
 
6
6
  #include <react/featureflags/ReactNativeFeatureFlags.h>
7
7
  #include <react/renderer/attributedstring/AttributedStringBox.h>
8
+ #include <react/renderer/attributedstring/PlaceholderAttributedString.h>
8
9
  #include <react/renderer/attributedstring/TextAttributes.h>
9
10
  #include <react/renderer/components/text/BaseTextShadowNode.h>
10
11
  #include <react/renderer/core/LayoutConstraints.h>
@@ -14,6 +15,7 @@
14
15
 
15
16
  namespace facebook::react {
16
17
 
18
+ // NOLINTNEXTLINE(modernize-avoid-c-arrays)
17
19
  extern const char WindowsTextInputComponentName[] = "WindowsTextInput";
18
20
 
19
21
  void WindowsTextInputShadowNode::setTextLayoutManager(std::shared_ptr<const TextLayoutManager> textLayoutManager) {
@@ -185,6 +187,7 @@ AttributedString WindowsTextInputShadowNode::getPlaceholderAttributedString(cons
185
187
  const auto &props = getConcreteProps();
186
188
 
187
189
  AttributedString attributedString;
190
+ attributedString.setBaseTextAttributes(props.textAttributes);
188
191
  //[windows
189
192
  if (!props.placeholder.empty()) {
190
193
  auto textAttributes = TextAttributes::defaultTextAttributes();
@@ -203,7 +206,7 @@ AttributedString WindowsTextInputShadowNode::getPlaceholderAttributedString(cons
203
206
  }
204
207
  // windows]
205
208
 
206
- return attributedString;
209
+ return ensurePlaceholderIfEmpty_DO_NOT_USE(attributedString);
207
210
  }
208
211
 
209
212
  #pragma mark - LayoutableShadowNode
@@ -13,13 +13,6 @@
13
13
  #include "ReactPropertyBag.h"
14
14
  #include "winrt/Microsoft.ReactNative.Composition.h"
15
15
 
16
- #ifndef CORE_ABI
17
- #include <UI.Xaml.Media.h>
18
- #include <Utils/ValueUtils.h>
19
- #include <XamlUtils.h>
20
-
21
- #endif // CORE_ABI
22
-
23
16
  #include "Composition.Theme.g.cpp"
24
17
 
25
18
  namespace winrt::Microsoft::ReactNative::Composition::implementation {
@@ -122,27 +115,6 @@ bool Theme::TryGetPlatformColor(const std::string &platformColor, winrt::Windows
122
115
  }
123
116
  }
124
117
 
125
- #ifndef CORE_ABI
126
- // If XAML is loaded, look in application resources
127
- if (xaml::TryGetCurrentUwpXamlApplication()) {
128
- const auto appResources{xaml::Application::Current().Resources()};
129
- const auto boxedResourceName{winrt::box_value(winrt::to_hstring(platformColor))};
130
- if (appResources.HasKey(boxedResourceName)) {
131
- winrt::IInspectable resource{appResources.Lookup(boxedResourceName)};
132
-
133
- if (auto brush = resource.try_as<xaml::Media::SolidColorBrush>()) {
134
- color = brush.Color();
135
- m_colorCache[platformColor] = std::make_pair(true, brush.Color());
136
- return true;
137
- } else if (auto maybeColor = resource.try_as<winrt::Windows::UI::Color>()) {
138
- color = maybeColor.value();
139
- m_colorCache[platformColor] = std::make_pair(true, color);
140
- return true;
141
- }
142
- }
143
- }
144
- #endif // CORE_ABI
145
-
146
118
  // Accent colors
147
119
  // https://learn.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.uicolortype?view=winrt-22621
148
120
  static std::unordered_map<
@@ -174,6 +146,12 @@ bool Theme::TryGetPlatformColor(const std::string &platformColor, winrt::Windows
174
146
  return true;
175
147
  }
176
148
 
149
+ if (platformColor == "Highlight@40" && TryGetPlatformColor("Highlight", color)) {
150
+ color.A = static_cast<uint8_t>(static_cast<float>(color.A) * 0.4f);
151
+ m_colorCache[platformColor] = std::make_pair(true, color);
152
+ return true;
153
+ }
154
+
177
155
  auto uiColor = s_uiColorTypes.find(platformColor);
178
156
  if (uiColor != s_uiColorTypes.end()) {
179
157
  auto uiSettings{winrt::Windows::UI::ViewManagement::UISettings()};
@@ -469,12 +447,10 @@ winrt::Microsoft::ReactNative::Composition::Experimental::IBrush Theme::Internal
469
447
  return PlatformBrush(winrt::to_string(platformColor));
470
448
  }
471
449
 
472
- #ifdef USE_WINUI3
473
450
  winrt::Microsoft::UI::Composition::CompositionBrush Theme::PlatformBrush(winrt::hstring platformColor) noexcept {
474
451
  return winrt::Microsoft::ReactNative::Composition::Experimental::MicrosoftCompositionContextHelper::InnerBrush(
475
452
  PlatformBrush(winrt::to_string(platformColor)));
476
453
  }
477
- #endif
478
454
 
479
455
  winrt::Microsoft::ReactNative::Composition::Experimental::IBrush Theme::PlatformBrush(
480
456
  const std::string &platformColor) noexcept {
@@ -18,10 +18,8 @@ struct Theme : ThemeT<Theme, Experimental::IInternalTheme> {
18
18
  const winrt::Microsoft::ReactNative::ReactContext &reactContext,
19
19
  const winrt::Microsoft::ReactNative::Composition::ICustomResourceLoader &customResourceLoader) noexcept;
20
20
 
21
- // Public APIs
22
- #ifdef USE_WINUI3
21
+ // Public APIs
23
22
  winrt::Microsoft::UI::Composition::CompositionBrush PlatformBrush(winrt::hstring platformColor) noexcept;
24
- #endif
25
23
  bool TryGetPlatformColor(winrt::hstring platformColor, winrt::Windows::UI::Color &color) noexcept;
26
24
  bool IsEmpty() const noexcept;
27
25
 
@@ -267,7 +267,7 @@ void TooltipTracker::ShowTooltip(const winrt::Microsoft::ReactNative::ComponentV
267
267
  static_cast<int>((tm.width + tooltipHorizontalPadding + tooltipHorizontalPadding) * scaleFactor);
268
268
  tooltipData->height = static_cast<int>((tm.height + tooltipTopPadding + tooltipBottomPadding) * scaleFactor);
269
269
 
270
- POINT pt = {static_cast<LONG>(m_pos.X), static_cast<LONG>(m_pos.Y)};
270
+ POINT pt = {static_cast<LONG>(m_pos.X * scaleFactor), static_cast<LONG>(m_pos.Y * scaleFactor)};
271
271
  ClientToScreen(parentHwnd, &pt);
272
272
 
273
273
  RegisterTooltipWndClass();
@@ -48,7 +48,8 @@ HRESULT UiaNavigateHelper(
48
48
  uint32_t index = children.Size() - 1;
49
49
  do {
50
50
  auto child = children.GetAt(index).as<winrt::Microsoft::ReactNative::implementation::ComponentView>();
51
- if (uiaProvider = child->EnsureUiaProvider()) {
51
+ uiaProvider = child->EnsureUiaProvider();
52
+ if (uiaProvider) {
52
53
  break;
53
54
  }
54
55
  } while (index-- != 0);
@@ -60,7 +61,8 @@ HRESULT UiaNavigateHelper(
60
61
  uint32_t index = 0;
61
62
  do {
62
63
  auto child = children.GetAt(index).as<winrt::Microsoft::ReactNative::implementation::ComponentView>();
63
- if (uiaProvider = child->EnsureUiaProvider()) {
64
+ uiaProvider = child->EnsureUiaProvider();
65
+ if (uiaProvider) {
64
66
  break;
65
67
  }
66
68
  } while (++index != children.Size());
@@ -74,7 +76,8 @@ HRESULT UiaNavigateHelper(
74
76
 
75
77
  while (++it != children.end()) {
76
78
  auto nextchild = (*it).as<winrt::Microsoft::ReactNative::implementation::ComponentView>();
77
- if (uiaProvider = nextchild->EnsureUiaProvider()) {
79
+ uiaProvider = nextchild->EnsureUiaProvider();
80
+ if (uiaProvider) {
78
81
  break;
79
82
  }
80
83
  }
@@ -91,7 +94,8 @@ HRESULT UiaNavigateHelper(
91
94
  do {
92
95
  it--;
93
96
  auto prevchild = (*it).as<winrt::Microsoft::ReactNative::implementation::ComponentView>();
94
- if (uiaProvider = prevchild->EnsureUiaProvider()) {
97
+ uiaProvider = prevchild->EnsureUiaProvider();
98
+ if (uiaProvider) {
95
99
  break;
96
100
  }
97
101
  } while (it != children.begin());
@@ -513,27 +517,45 @@ ExpandCollapseState GetExpandCollapseState(const bool &expanded) noexcept {
513
517
  }
514
518
 
515
519
  void AddSelectionItemsToContainer(CompositionDynamicAutomationProvider *provider) noexcept {
516
- winrt::com_ptr<IRawElementProviderSimple> selectionContainer;
517
- provider->get_SelectionContainer(selectionContainer.put());
518
- if (!selectionContainer)
520
+ auto selectionContainerView = provider->GetSelectionContainer();
521
+ if (!selectionContainerView)
519
522
  return;
520
- auto selectionContainerProvider = selectionContainer.as<CompositionDynamicAutomationProvider>();
523
+
524
+ auto selectionContainerCompView =
525
+ selectionContainerView.try_as<winrt::Microsoft::ReactNative::Composition::implementation::ComponentView>();
526
+ if (!selectionContainerCompView)
527
+ return;
528
+
529
+ selectionContainerCompView->EnsureUiaProvider();
530
+
531
+ if (!selectionContainerCompView->InnerAutomationProvider())
532
+ return;
533
+
521
534
  auto simpleProvider = static_cast<IRawElementProviderSimple *>(provider);
522
535
  winrt::com_ptr<IRawElementProviderSimple> simpleProviderPtr;
523
536
  simpleProviderPtr.copy_from(simpleProvider);
524
- selectionContainerProvider->AddToSelectionItems(simpleProviderPtr);
537
+ selectionContainerCompView->InnerAutomationProvider()->AddToSelectionItems(simpleProviderPtr);
525
538
  }
526
539
 
527
540
  void RemoveSelectionItemsFromContainer(CompositionDynamicAutomationProvider *provider) noexcept {
528
- winrt::com_ptr<IRawElementProviderSimple> selectionContainer;
529
- provider->get_SelectionContainer(selectionContainer.put());
530
- if (!selectionContainer)
541
+ auto selectionContainerView = provider->GetSelectionContainer();
542
+ if (!selectionContainerView)
531
543
  return;
532
- auto selectionContainerProvider = selectionContainer.as<CompositionDynamicAutomationProvider>();
544
+
545
+ auto selectionContainerCompView =
546
+ selectionContainerView.try_as<winrt::Microsoft::ReactNative::Composition::implementation::ComponentView>();
547
+ if (!selectionContainerCompView)
548
+ return;
549
+
550
+ selectionContainerCompView->EnsureUiaProvider();
551
+
552
+ if (!selectionContainerCompView->InnerAutomationProvider())
553
+ return;
554
+
533
555
  auto simpleProvider = static_cast<IRawElementProviderSimple *>(provider);
534
556
  winrt::com_ptr<IRawElementProviderSimple> simpleProviderPtr;
535
557
  simpleProviderPtr.copy_from(simpleProvider);
536
- selectionContainerProvider->RemoveFromSelectionItems(simpleProviderPtr);
558
+ selectionContainerCompView->InnerAutomationProvider()->RemoveFromSelectionItems(simpleProviderPtr);
537
559
  }
538
560
 
539
561
  ToggleState GetToggleState(const std::optional<facebook::react::AccessibilityState> &state) noexcept {
@@ -8,7 +8,6 @@
8
8
 
9
9
  #include <AutoDraw.h>
10
10
  #include <Fabric/DWriteHelpers.h>
11
- #include "CompositionDynamicAutomationProvider.h"
12
11
  #include "Unicode.h"
13
12
 
14
13
  namespace winrt::Microsoft::ReactNative::Composition::implementation {
@@ -19,7 +19,6 @@
19
19
  #include <JSI/jsi.h>
20
20
  #include <ReactCommon/RuntimeExecutor.h>
21
21
  #include <SchedulerSettings.h>
22
- #include <UI.Xaml.Controls.h>
23
22
  #include <react/components/rnwcore/ComponentDescriptors.h>
24
23
  #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
25
24
  #include <react/renderer/components/text/ParagraphComponentDescriptor.h>
@@ -18,10 +18,6 @@ ImageManager::~ImageManager() {
18
18
  delete (Microsoft::ReactNative::WindowsImageManager *)self_;
19
19
  }
20
20
 
21
- ImageRequest ImageManager::requestImage(const ImageSource &imageSource, SurfaceId surfaceId) const {
22
- return ((Microsoft::ReactNative::WindowsImageManager *)self_)->requestImage(imageSource, surfaceId);
23
- }
24
-
25
21
  ImageRequest ImageManager::requestImage(
26
22
  const ImageSource &imageSource,
27
23
  SurfaceId surfaceId,
@@ -16,7 +16,7 @@ namespace Microsoft::ReactNative {
16
16
  */
17
17
  struct ReactTaggedView {
18
18
  ReactTaggedView(const winrt::Microsoft::ReactNative::ComponentView &componentView)
19
- : m_view(componentView), m_tag(componentView.Tag()) {}
19
+ : m_view(componentView), m_tag(componentView ? componentView.Tag() : -1) {}
20
20
 
21
21
  winrt::Microsoft::ReactNative::ComponentView view() noexcept {
22
22
  if (!m_view) {
@@ -54,6 +54,14 @@ bool WindowsComponentDescriptorRegistry::hasComponentProvider(const std::string
54
54
  return std::find(m_componentNames.begin(), m_componentNames.end(), name) != m_componentNames.end();
55
55
  }
56
56
 
57
+ bool WindowsComponentDescriptorRegistry::isXamlSupportRequired() const noexcept {
58
+ return std::any_of(m_builderByName.cbegin(), m_builderByName.cend(), [](const auto &pair) -> bool {
59
+ return winrt::get_self<winrt::Microsoft::ReactNative::Composition::ReactCompositionViewComponentBuilder>(
60
+ pair.second)
61
+ ->XamlSupport();
62
+ });
63
+ }
64
+
57
65
  void WindowsComponentDescriptorRegistry::Add(
58
66
  winrt::hstring componentName,
59
67
  winrt::Microsoft::ReactNative::ReactViewComponentProvider const &provider) noexcept {
@@ -34,6 +34,9 @@ struct WindowsComponentDescriptorRegistry {
34
34
 
35
35
  bool hasComponentProvider(const std::string &name) noexcept;
36
36
 
37
+ // Returns true if any component requested for XAML support.
38
+ bool isXamlSupportRequired() const noexcept;
39
+
37
40
  private:
38
41
  void add(const facebook::react::ComponentDescriptorProvider &provider) noexcept;
39
42
 
@@ -2,7 +2,6 @@
2
2
  // Licensed under the MIT License.
3
3
 
4
4
  #include "PlatformColorUtils.h"
5
- #include <UI.Xaml.Media.h>
6
5
  #include <Utils/ThemeUtils.h>
7
6
  #include <Utils/ValueUtils.h>
8
7
  #ifndef CORE_ABI
@@ -17,16 +16,6 @@ namespace facebook::react {
17
16
  winrt::Windows::UI::Color ResolvePlatformColor(const std::vector<std::string> &semanticItems) {
18
17
  if (!semanticItems.empty()) {
19
18
  for (auto platformColor : semanticItems) {
20
- #ifndef CORE_ABI
21
- // If XAML is loaded, look in application resources
22
- if (xaml::TryGetCurrentUwpXamlApplication()) {
23
- xaml::Media::Brush brush{Microsoft::ReactNative::BrushFromColorObject(platformColor)};
24
- if (auto scb{brush.try_as<xaml::Media::SolidColorBrush>()}) {
25
- return scb.Color();
26
- }
27
- }
28
- #endif // CORE_ABI
29
-
30
19
  // Accent colors
31
20
  // https://learn.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.uicolortype?view=winrt-22621
32
21
  static std::unordered_map<
@@ -56,8 +56,9 @@ class WindowsTextLayoutManager : public TextLayoutManager {
56
56
  TextMeasurement::Attachments &attachments,
57
57
  float minimumFontScale) noexcept;
58
58
 
59
- private:
60
59
  static winrt::hstring GetTransformedText(const AttributedStringBox &attributedStringBox);
60
+
61
+ private:
61
62
  static void GetTextLayout(
62
63
  const AttributedStringBox &attributedStringBox,
63
64
  const ParagraphAttributes &paragraphAttributes,