react-native-windows 0.73.11 → 0.74.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 (771) hide show
  1. package/.flowconfig +12 -7
  2. package/Chakra/ChakraUtils.cpp +5 -10
  3. package/Chakra/ChakraUtils.h +2 -2
  4. package/Common/packages.lock.json +3 -3
  5. package/Directory.Build.props +5 -5
  6. package/Folly/Folly.vcxproj +2 -2
  7. package/Folly/Folly.vcxproj.filters +7 -0
  8. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +22 -1
  9. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +4 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  12. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  13. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  14. package/Libraries/Alert/Alert.windows.js +2 -3
  15. package/Libraries/Alert/NativeAlertManager.js +4 -26
  16. package/Libraries/Animated/Animated.js +2 -2
  17. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  18. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  19. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  21. package/Libraries/Animated/animations/Animation.js +6 -22
  22. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  23. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  24. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  25. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  26. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  27. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  28. package/Libraries/Animated/useAnimatedProps.js +21 -1
  29. package/Libraries/AppState/NativeAppState.js +4 -24
  30. package/Libraries/AppTheme/NativeAppTheme.js +4 -25
  31. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  32. package/Libraries/Blob/Blob.js +1 -4
  33. package/Libraries/Blob/BlobManager.js +6 -8
  34. package/Libraries/Blob/File.js +1 -1
  35. package/Libraries/Blob/NativeBlobModule.js +4 -50
  36. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  37. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +3 -2
  42. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  44. package/Libraries/Components/Button.js +103 -107
  45. package/Libraries/Components/Button.windows.js +199 -206
  46. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  47. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  49. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -8
  50. package/Libraries/Components/Keyboard/KeyboardExt.js +27 -27
  51. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  52. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -17
  53. package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -7
  54. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  55. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  56. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
  57. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
  58. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
  59. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.windows.js +1 -2
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  68. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  69. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  70. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  71. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  72. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/Switch.windows.js +0 -2
  80. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  81. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  82. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  83. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  84. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  85. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  86. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  87. package/Libraries/Components/TextInput/TextInput.js +65 -32
  88. package/Libraries/Components/TextInput/TextInput.windows.js +87 -38
  89. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +773 -9
  90. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  91. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  92. package/Libraries/Components/Touchable/Touchable.js +2 -3
  93. package/Libraries/Components/Touchable/Touchable.windows.js +2 -3
  94. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  95. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +4 -4
  96. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  97. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  98. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -2
  99. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  100. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  101. package/Libraries/Components/View/View.js +0 -11
  102. package/Libraries/Components/View/View.windows.js +19 -18
  103. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  104. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  105. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  106. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -36
  107. package/Libraries/Core/InitializeCore.js +1 -1
  108. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  109. package/Libraries/Core/ReactNativeVersion.js +12 -6
  110. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  111. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  112. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  113. package/Libraries/Core/registerCallableModule.js +42 -0
  114. package/Libraries/Core/setUpPerformance.js +2 -2
  115. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  116. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  117. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  118. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  119. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  120. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  121. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  122. package/Libraries/Image/AssetSourceResolver.js +5 -5
  123. package/Libraries/Image/AssetUtils.js +4 -5
  124. package/Libraries/Image/Image.android.js +146 -174
  125. package/Libraries/Image/Image.d.ts +1 -1
  126. package/Libraries/Image/Image.ios.js +53 -79
  127. package/Libraries/Image/Image.windows.js +53 -79
  128. package/Libraries/Image/ImageBackground.js +2 -2
  129. package/Libraries/Image/ImageInjection.js +76 -18
  130. package/Libraries/Image/ImageTypes.flow.js +71 -0
  131. package/Libraries/Image/ImageUtils.js +1 -1
  132. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  133. package/Libraries/Image/NativeImageEditor.js +3 -42
  134. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  135. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  136. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  137. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  138. package/Libraries/Image/resolveAssetSource.js +59 -26
  139. package/Libraries/Image/resolveAssetSource.windows.js +148 -0
  140. package/Libraries/Inspector/ElementProperties.js +26 -52
  141. package/Libraries/Inspector/Inspector.js +122 -186
  142. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  143. package/Libraries/Inspector/InspectorPanel.js +3 -17
  144. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  145. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  146. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  147. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  148. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  149. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  150. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  151. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  152. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  153. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  154. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  155. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  156. package/Libraries/Lists/FillRateHelper.js +1 -1
  157. package/Libraries/Lists/FlatList.d.ts +2 -2
  158. package/Libraries/Lists/FlatList.js +6 -1
  159. package/Libraries/Lists/FlatList.windows.js +717 -0
  160. package/Libraries/Lists/SectionList.d.ts +6 -1
  161. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  162. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  163. package/Libraries/Lists/VirtualizedList.js +1 -1
  164. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  165. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  166. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  167. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  168. package/Libraries/Modal/Modal.js +43 -11
  169. package/Libraries/Modal/NativeModalManager.js +3 -11
  170. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  171. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  172. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  173. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  174. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  175. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  177. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  178. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  179. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  180. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  181. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  182. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  183. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  184. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
  185. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  186. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  187. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  188. package/Libraries/Network/FormData.js +3 -1
  189. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  190. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  191. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +4 -2
  192. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +3 -1
  193. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  194. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  195. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  196. package/Libraries/Pressability/Pressability.js +12 -2
  197. package/Libraries/Pressability/Pressability.windows.js +13 -3
  198. package/Libraries/Pressability/usePressability.js +7 -0
  199. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  200. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  201. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  202. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  203. package/Libraries/ReactNative/AppContainer.js +6 -149
  204. package/Libraries/ReactNative/AppRegistry.js +3 -1
  205. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  206. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  207. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  208. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  209. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  210. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  211. package/Libraries/ReactNative/PaperUIManager.windows.js +29 -8
  212. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  213. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  214. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  215. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  216. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  217. package/Libraries/ReactNative/UIManager.js +2 -23
  218. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  219. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  220. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  221. package/Libraries/ReactNative/renderApplication.js +9 -6
  222. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  223. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  224. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  225. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  226. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  227. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  228. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  229. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  230. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  231. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  232. package/Libraries/Share/NativeShareModule.js +3 -13
  233. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +1 -1
  234. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  235. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  236. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  237. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  238. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  239. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  240. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  241. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  242. package/Libraries/Text/Text.js +0 -6
  243. package/Libraries/Text/Text.windows.js +0 -6
  244. package/Libraries/Text/TextAncestor.js +2 -3
  245. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  246. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  247. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  248. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  249. package/Libraries/Utilities/Dimensions.js +8 -16
  250. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  251. package/Libraries/Utilities/NativeAppearance.js +3 -26
  252. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  253. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  254. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  255. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  256. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  257. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  258. package/Libraries/Utilities/Platform.android.js +4 -0
  259. package/Libraries/Utilities/Platform.d.ts +3 -0
  260. package/Libraries/Utilities/Platform.flow.js +7 -0
  261. package/Libraries/Utilities/Platform.flow.windows.js +9 -0
  262. package/Libraries/Utilities/Platform.ios.js +11 -0
  263. package/Libraries/Utilities/Platform.windows.js +6 -0
  264. package/Libraries/Utilities/binaryToBase64.js +1 -1
  265. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  266. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  267. package/Libraries/Utilities/useMergeRefs.js +5 -9
  268. package/Libraries/Vibration/NativeVibration.js +3 -14
  269. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  270. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  271. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  272. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
  273. package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
  274. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -0
  275. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +1 -1
  276. package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
  277. package/Microsoft.ReactNative/ComponentView.idl +106 -0
  278. package/Microsoft.ReactNative/Composition.Input.idl +16 -2
  279. package/Microsoft.ReactNative/CompositionComponentView.idl +117 -0
  280. package/Microsoft.ReactNative/CompositionContext.idl +1 -1
  281. package/Microsoft.ReactNative/CompositionRootView.idl +8 -0
  282. package/Microsoft.ReactNative/CompositionSwitcher.idl +25 -14
  283. package/Microsoft.ReactNative/DevMenuControl.idl +0 -3
  284. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -15
  285. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
  286. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
  287. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
  288. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
  289. package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
  290. package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
  291. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +48 -19
  292. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +8 -16
  293. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +97 -0
  294. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +39 -0
  295. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
  296. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
  297. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
  298. package/Microsoft.ReactNative/Fabric/ComponentView.h +130 -64
  299. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +48 -24
  300. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +18 -14
  301. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +42 -27
  302. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +3 -1
  303. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +123 -28
  304. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +69 -13
  305. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +651 -284
  306. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +7 -7
  307. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +9 -9
  308. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +120 -31
  309. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +12 -2
  310. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +308 -129
  311. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +34 -6
  312. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +2 -1
  313. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +61 -54
  314. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +0 -9
  315. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +99 -30
  316. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +4 -3
  317. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +273 -28
  318. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +28 -3
  319. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +7 -3
  320. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +4 -0
  321. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +479 -280
  322. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +133 -79
  323. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
  324. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
  325. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +61 -41
  326. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +19 -14
  327. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
  328. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +343 -0
  329. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
  330. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
  331. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
  332. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +53 -186
  333. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +20 -12
  334. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +59 -150
  335. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +27 -76
  336. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +81 -32
  337. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +27 -14
  338. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +707 -64
  339. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +47 -26
  340. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +225 -125
  341. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +34 -21
  342. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
  343. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
  344. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +110 -115
  345. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +228 -79
  346. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +43 -22
  347. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +18 -0
  348. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +12 -0
  349. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +5 -5
  350. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -1
  351. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +1 -2
  352. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +4 -44
  353. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +11 -9
  354. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +550 -0
  355. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +73 -0
  356. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
  357. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +48 -26
  358. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +6 -2
  359. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +30 -65
  360. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +16 -25
  361. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +72 -88
  362. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +5 -2
  363. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +3 -2
  364. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +6 -6
  365. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +2 -2
  366. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +12 -7
  367. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +28 -19
  368. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +5 -0
  369. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -2
  370. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
  371. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
  372. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
  373. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
  374. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
  375. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/{Color.cpp → PlatformColorUtils.cpp} +7 -77
  376. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
  377. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -0
  378. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
  379. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +6 -87
  380. package/Microsoft.ReactNative/IReactContext.idl +3 -0
  381. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +71 -1
  382. package/Microsoft.ReactNative/JsiApi.cpp +17 -7
  383. package/Microsoft.ReactNative/JsiApi.h +2 -2
  384. package/Microsoft.ReactNative/JsiApi.idl +5 -4
  385. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -22
  386. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +6 -2
  387. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  388. package/Microsoft.ReactNative/Modules/AlertModule.h +2 -2
  389. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +12 -8
  390. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +1 -1
  391. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  392. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -3
  393. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +4 -4
  394. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +10 -1
  395. package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
  396. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +71 -38
  397. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +5 -5
  398. package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
  399. package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
  400. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +11 -10
  401. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +8 -6
  402. package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -3
  403. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +5 -28
  404. package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
  405. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +8 -5
  406. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +3 -3
  407. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
  408. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
  409. package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
  410. package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
  411. package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
  412. package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
  413. package/Microsoft.ReactNative/Modules/Timing.h +121 -0
  414. package/Microsoft.ReactNative/QuirkSettings.cpp +32 -0
  415. package/Microsoft.ReactNative/QuirkSettings.h +9 -0
  416. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  417. package/Microsoft.ReactNative/ReactCoreInjection.cpp +15 -0
  418. package/Microsoft.ReactNative/ReactCoreInjection.h +4 -0
  419. package/Microsoft.ReactNative/ReactCoreInjection.idl +8 -0
  420. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +1 -1
  421. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +1 -1
  422. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +556 -234
  423. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +36 -9
  424. package/Microsoft.ReactNative/ReactInstanceSettings.idl +3 -0
  425. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +8 -0
  426. package/Microsoft.ReactNative/ReactPointerEventArgs.h +4 -0
  427. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +12 -0
  428. package/Microsoft.ReactNative/SchedulerSettings.cpp +23 -0
  429. package/Microsoft.ReactNative/SchedulerSettings.h +9 -1
  430. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
  431. package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
  432. package/Microsoft.ReactNative/Theme.idl +57 -0
  433. package/Microsoft.ReactNative/Timer.cpp +63 -0
  434. package/Microsoft.ReactNative/{CoreAppPage.h → Timer.h} +12 -5
  435. package/Microsoft.ReactNative/Timer.idl +34 -0
  436. package/Microsoft.ReactNative/TurboModulesProvider.cpp +4 -0
  437. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +37 -3
  438. package/Microsoft.ReactNative/Utils/ImageUtils.h +0 -1
  439. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +11 -12
  440. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +3 -3
  441. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
  442. package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
  443. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -5
  444. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -3
  445. package/Microsoft.ReactNative/ViewProps.idl +17 -0
  446. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +1 -0
  447. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
  448. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
  449. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -20
  450. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +157 -0
  451. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +5 -0
  452. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +20 -0
  453. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +4 -0
  454. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -5
  455. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +137 -0
  456. package/Microsoft.ReactNative/Views/ICompositionRootView.h +0 -1
  457. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -5
  458. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -5
  459. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +11 -0
  460. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -4
  461. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -6
  462. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -11
  463. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  464. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
  465. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
  466. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +46 -0
  467. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  468. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +77 -2
  469. package/Microsoft.ReactNative/microsoft.reactnative.def +0 -3
  470. package/Microsoft.ReactNative/packages.lock.json +9 -6
  471. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/AutoDraw.h +2 -0
  472. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/CompositionSwitcher.interop.h +4 -10
  473. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -5
  474. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +5 -0
  475. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +19 -10
  476. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +2 -0
  477. package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
  478. package/Microsoft.ReactNative.Cxx/JSValueReader.h +19 -0
  479. package/Microsoft.ReactNative.Cxx/JSValueXaml.h +1 -1
  480. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +6 -4
  481. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +0 -1
  482. package/Microsoft.ReactNative.Cxx/NativeModules.h +15 -15
  483. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +1 -1
  484. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  485. package/Microsoft.ReactNative.Managed/packages.lock.json +6 -3
  486. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +0 -1
  487. package/Mso/future/details/executor.h +1 -1
  488. package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
  489. package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +8 -0
  490. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
  491. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
  492. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +1 -1
  493. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +2 -0
  494. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  495. package/PropertySheets/JSEngine.props +0 -8
  496. package/PropertySheets/React.Cpp.props +14 -3
  497. package/PropertySheets/ReactCommunity.cpp.props +2 -2
  498. package/PropertySheets/Release.props +0 -1
  499. package/PropertySheets/WinUI.props +21 -1
  500. package/PropertySheets/x64.props +3 -0
  501. package/PropertySheets/x86.props +3 -0
  502. package/ReactCommon/ReactCommon.vcxproj +13 -8
  503. package/ReactCommon/ReactCommon.vcxproj.filters +12 -1
  504. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +114 -19
  505. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
  506. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +114 -52
  507. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +13 -15
  508. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
  509. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +437 -0
  510. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
  511. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
  512. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +19 -24
  513. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +600 -980
  514. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +5 -11
  515. package/ReactCommon/cgmanifest.json +1 -1
  516. package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
  517. package/Scripts/IntegrationTests.ps1 +26 -15
  518. package/Scripts/Microsoft.ReactNative.targets +0 -6
  519. package/Scripts/OfficeReact.Win32.nuspec +1 -2
  520. package/Scripts/TestServers.ps1 +2 -28
  521. package/Scripts/Tfs/Start-TestServers.ps1 +1 -21
  522. package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
  523. package/Scripts/rnw-dependencies.ps1 +38 -67
  524. package/Shared/CreateInstance.h +25 -0
  525. package/Shared/DevServerHelper.h +0 -3
  526. package/Shared/DevSettings.h +9 -0
  527. package/Shared/HermesRuntimeHolder.cpp +17 -0
  528. package/Shared/HermesRuntimeHolder.h +17 -0
  529. package/Shared/HermesSamplingProfiler.cpp +12 -10
  530. package/Shared/HermesSamplingProfiler.h +5 -4
  531. package/Shared/IDevSupportManager.h +4 -2
  532. package/Shared/InstanceManager.cpp +13 -11
  533. package/Shared/InstanceManager.h +8 -18
  534. package/Shared/JSI/ChakraRuntime.cpp +66 -9
  535. package/Shared/JSI/ChakraRuntime.h +8 -0
  536. package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
  537. package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
  538. package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
  539. package/Shared/Modules/BlobModule.h +1 -1
  540. package/Shared/Modules/FileReaderModule.h +1 -1
  541. package/Shared/Modules/HttpModule.h +1 -1
  542. package/Shared/Modules/WebSocketTurboModule.h +1 -1
  543. package/Shared/OInstance.cpp +212 -165
  544. package/Shared/OInstance.h +19 -0
  545. package/Shared/Shared.vcxitems +134 -50
  546. package/Shared/Shared.vcxitems.filters +81 -24
  547. package/Shared/Utils.cpp +12 -10
  548. package/Shared/Utils.h +2 -2
  549. package/Shared/WebSocketJSExecutorFactory.h +1 -0
  550. package/codegen/NativeBugReportingSpec.g.h +0 -6
  551. package/codegen/NativeFrameRateLoggerSpec.g.h +0 -2
  552. package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -23
  553. package/codegen/NativePerformanceObserverSpec.g.h +6 -0
  554. package/codegen/NativePlatformConstantsIOSSpec.g.h +2 -0
  555. package/codegen/NativePlatformConstantsWinSpec.g.h +17 -0
  556. package/codegen/NativePushNotificationManagerIOSSpec.g.h +8 -6
  557. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +88 -0
  558. package/codegen/NativeUIManagerSpec.g.h +83 -95
  559. package/codegen/react/components/rnwcore/ComponentDescriptors.h +10 -7
  560. package/codegen/react/components/rnwcore/EventEmitters.cpp +40 -52
  561. package/codegen/react/components/rnwcore/EventEmitters.h +66 -84
  562. package/codegen/react/components/rnwcore/Props.cpp +60 -95
  563. package/codegen/react/components/rnwcore/Props.h +198 -239
  564. package/codegen/react/components/rnwcore/ShadowNodes.cpp +6 -7
  565. package/codegen/react/components/rnwcore/ShadowNodes.h +38 -29
  566. package/codegen/react/components/rnwcore/States.cpp +3 -5
  567. package/codegen/react/components/rnwcore/States.h +29 -16
  568. package/codegen/rnwcoreJSI-generated.cpp +1442 -1398
  569. package/codegen/rnwcoreJSI.h +6066 -3593
  570. package/index.js +66 -99
  571. package/index.windows.js +60 -102
  572. package/jest/assetFileTransformer.js +1 -1
  573. package/jest/local-setup.js +0 -5
  574. package/jest/mockModal.js +2 -1
  575. package/jest/mockScrollView.js +1 -2
  576. package/jest/renderer.js +1 -1
  577. package/jest/setup.js +6 -3
  578. package/just-task.js +1 -1
  579. package/package.json +30 -29
  580. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  581. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  582. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  583. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  584. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  585. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  586. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  587. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  588. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  589. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  590. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  591. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  592. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  593. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  594. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  595. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  596. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  597. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  598. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  599. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  600. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  601. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  602. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  603. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  604. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  605. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  606. package/src/private/specs/modules/NativeAppState.js +33 -0
  607. package/src/private/specs/modules/NativeAppTheme.js +33 -0
  608. package/src/private/specs/modules/NativeAppearance.js +36 -0
  609. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  610. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  611. package/src/private/specs/modules/NativeClipboard.js +21 -0
  612. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  613. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  614. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  615. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  616. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  617. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  618. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  619. package/{Libraries/Alert → src/private/specs/modules}/NativeDialogManagerWindows.js +5 -4
  620. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  621. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  622. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  623. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  624. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  625. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  626. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  627. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  628. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  629. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  630. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  631. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  632. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  633. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  634. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  635. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  636. package/src/private/specs/modules/NativeLogBox.js +20 -0
  637. package/src/private/specs/modules/NativeModalManager.js +21 -0
  638. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  639. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  640. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  641. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  642. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  643. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  644. package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
  645. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  646. package/src/private/specs/modules/NativeRedBox.js +20 -0
  647. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  648. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  649. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  650. package/src/private/specs/modules/NativeShareModule.js +23 -0
  651. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  652. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  653. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  654. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  655. package/src/private/specs/modules/NativeTiming.js +26 -0
  656. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  657. package/src/private/specs/modules/NativeUIManager.js +118 -0
  658. package/src/private/specs/modules/NativeVibration.js +24 -0
  659. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  660. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  661. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  662. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  663. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  664. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  665. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  666. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  667. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  668. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  669. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  670. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  671. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  672. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  673. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  674. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  675. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  676. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  677. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  678. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  679. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  680. package/template/cpp-app/src/App.cpp +2 -2
  681. package/template/cs-app/src/App.xaml.cs +2 -2
  682. package/templates/cpp-app/jest.config.windows.js +3 -0
  683. package/templates/cpp-app/metro.config.js +0 -2
  684. package/templates/cpp-app/template.config.js +24 -9
  685. package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -1
  686. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
  687. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
  688. package/templates/cpp-app/windows/MyApp/MyApp.cpp +134 -249
  689. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +12 -11
  690. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +6 -3
  691. package/templates/cpp-app/windows/MyApp/pch.h +12 -9
  692. package/templates/cpp-app/windows/MyApp/resource.h +0 -1
  693. package/templates/cpp-app/windows/MyApp.sln +26 -26
  694. package/templates/cpp-lib/example/metro.config.js +74 -0
  695. package/templates/cpp-lib/template.config.js +235 -0
  696. package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
  697. package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
  698. package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
  699. package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
  700. package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
  701. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
  702. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
  703. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
  704. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
  705. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
  706. package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
  707. package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
  708. package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
  709. package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
  710. package/templates/cpp-lib/windows/MyLib.sln +156 -0
  711. package/templates/cpp-lib/windows/_gitignore +41 -0
  712. package/templates/templateUtils.js +137 -0
  713. package/types/modules/globals.d.ts +1 -0
  714. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +0 -1016
  715. package/Libraries/Components/Button.flow.js +0 -265
  716. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
  717. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -14
  718. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -34
  719. package/Libraries/Components/ScrollView/ScrollView.windows.js +0 -1941
  720. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  721. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -45
  722. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  723. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  724. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  725. package/Libraries/Image/Image.flow.js +0 -64
  726. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  727. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  728. package/Libraries/Settings/Settings.windows.js +0 -28
  729. package/Microsoft.ReactNative/CoreApp.cpp +0 -303
  730. package/Microsoft.ReactNative/CoreAppPage.cpp +0 -21
  731. package/Microsoft.ReactNative/CoreAppPage.idl +0 -12
  732. package/Microsoft.ReactNative/CoreAppPage.xaml +0 -14
  733. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +0 -197
  734. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +0 -84
  735. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/EventEmitters.h +0 -5
  736. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/Props.h +0 -5
  737. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/ShadowNodes.h +0 -5
  738. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +0 -5
  739. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +0 -245
  740. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +0 -134
  741. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +0 -27
  742. package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -229
  743. package/Microsoft.ReactNative/Modules/TimingModule.h +0 -88
  744. package/Microsoft.ReactNative.Cxx/CoreApp.h +0 -60
  745. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +0 -60
  746. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +0 -60
  747. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +0 -63
  748. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +0 -1038
  749. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +0 -503
  750. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -895
  751. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -182
  752. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +0 -543
  753. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +0 -1505
  754. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +0 -67
  755. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -93
  756. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -88
  757. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -606
  758. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +0 -344
  759. package/ReactCommon/Yoga.cpp +0 -961
  760. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  761. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  762. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  763. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  764. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  765. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  766. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  767. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  768. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  769. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  770. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  771. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
@@ -0,0 +1,340 @@
1
+
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+
5
+ #include "ComponentView.h"
6
+
7
+ #include <Fabric/AbiState.h>
8
+ #include "DynamicReader.h"
9
+
10
+ #include "ComponentView.g.cpp"
11
+ #include "CreateComponentViewArgs.g.cpp"
12
+ #include <Fabric/Composition/RootComponentView.h>
13
+ #include "AbiShadowNode.h"
14
+
15
+ namespace winrt::Microsoft::ReactNative::Composition::implementation {
16
+ struct RootComponentView;
17
+ }
18
+
19
+ namespace winrt::Microsoft::ReactNative::implementation {
20
+
21
+ CreateComponentViewArgs::CreateComponentViewArgs(
22
+ const winrt::Microsoft::ReactNative::IReactContext &reactContext,
23
+ facebook::react::Tag tag)
24
+ : m_tag(tag), m_reactContext(reactContext){};
25
+
26
+ facebook::react::Tag CreateComponentViewArgs::Tag() const noexcept {
27
+ return m_tag;
28
+ }
29
+
30
+ winrt::Microsoft::ReactNative::IReactContext CreateComponentViewArgs::ReactContext() const noexcept {
31
+ return m_reactContext;
32
+ }
33
+
34
+ ComponentView::ComponentView(
35
+ facebook::react::Tag tag,
36
+ winrt::Microsoft::ReactNative::ReactContext const &reactContext,
37
+ bool customComponent)
38
+ : m_tag(tag), m_reactContext(reactContext), m_customComponent(customComponent) {}
39
+
40
+ ComponentView::ComponentView(winrt::Microsoft::ReactNative::CreateComponentViewArgs const &args)
41
+ : ComponentView(args.Tag(), args.ReactContext(), true) {}
42
+
43
+ std::vector<facebook::react::ComponentDescriptorProvider>
44
+ ComponentView::supplementalComponentDescriptorProviders() noexcept {
45
+ return {};
46
+ }
47
+
48
+ void ComponentView::MountChildComponentView(
49
+ const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
50
+ uint32_t index) noexcept {
51
+ m_children.InsertAt(index, childComponentView);
52
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(childComponentView)->parent(*this);
53
+ }
54
+
55
+ void ComponentView::UnmountChildComponentView(
56
+ const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
57
+ uint32_t index) noexcept {
58
+ m_children.RemoveAt(index);
59
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(childComponentView)->parent(nullptr);
60
+ }
61
+
62
+ void ComponentView::updateProps(
63
+ facebook::react::Props::Shared const &props,
64
+ facebook::react::Props::Shared const &oldProps) noexcept {
65
+ if (m_customComponent) {
66
+ // Review is it expected that I need this cast to call overridden methods?
67
+ winrt::Microsoft::ReactNative::ComponentView outer(*this);
68
+ outer.UpdateProps(userProps(props), oldProps ? userProps(oldProps) : nullptr);
69
+ }
70
+ }
71
+
72
+ void ComponentView::UpdateProps(
73
+ const winrt::Microsoft::ReactNative::IComponentProps &props,
74
+ const winrt::Microsoft::ReactNative::IComponentProps &oldProps) noexcept {}
75
+
76
+ const winrt::Microsoft::ReactNative::IComponentProps ComponentView::userProps(
77
+ facebook::react::Props::Shared const &props) noexcept {
78
+ assert(m_customComponent);
79
+ const auto &abiProps =
80
+ *std::static_pointer_cast<const winrt::Microsoft::ReactNative::implementation::AbiProps>(props);
81
+ return abiProps.UserProps();
82
+ }
83
+
84
+ void ComponentView::updateEventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) noexcept {}
85
+
86
+ void ComponentView::updateState(
87
+ facebook::react::State::Shared const &state,
88
+ facebook::react::State::Shared const &oldState) noexcept {
89
+ // Avoid new-ing up a new AbiComponentState on every state change if we are not a custom component
90
+ if (m_customComponent) {
91
+ // Review is it expected that I need this cast to call overridden methods?
92
+ winrt::Microsoft::ReactNative::ComponentView outer(*this);
93
+ outer.UpdateState(winrt::make<::Microsoft::ReactNative::AbiComponentState>(state));
94
+ }
95
+ }
96
+
97
+ void ComponentView::UpdateState(const winrt::Microsoft::ReactNative::IComponentState &state) noexcept {}
98
+
99
+ void ComponentView::updateLayoutMetrics(
100
+ facebook::react::LayoutMetrics const &layoutMetrics,
101
+ facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept {
102
+ // Review is it expected that I need this cast to call overridden methods?
103
+ winrt::Microsoft::ReactNative::ComponentView outer(*this);
104
+ outer.UpdateLayoutMetrics(
105
+ {{layoutMetrics.frame.origin.x,
106
+ layoutMetrics.frame.origin.y,
107
+ layoutMetrics.frame.size.width,
108
+ layoutMetrics.frame.size.height},
109
+ layoutMetrics.pointScaleFactor},
110
+ {{oldLayoutMetrics.frame.origin.x,
111
+ oldLayoutMetrics.frame.origin.y,
112
+ oldLayoutMetrics.frame.size.width,
113
+ oldLayoutMetrics.frame.size.height},
114
+ oldLayoutMetrics.pointScaleFactor});
115
+ }
116
+
117
+ void ComponentView::UpdateLayoutMetrics(const LayoutMetrics &metrics, const LayoutMetrics &oldMetrics) noexcept {}
118
+
119
+ void ComponentView::FinalizeUpdates(winrt::Microsoft::ReactNative::ComponentViewUpdateMask updateMask) noexcept {}
120
+
121
+ void ComponentView::prepareForRecycle() noexcept {}
122
+
123
+ facebook::react::Props::Shared ComponentView::props() noexcept {
124
+ assert(false);
125
+ return {};
126
+ }
127
+
128
+ void ComponentView::HandleCommand(
129
+ winrt::hstring commandName,
130
+ const winrt::Microsoft::ReactNative::IJSValueReader &args) noexcept {}
131
+
132
+ winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *
133
+ ComponentView::rootComponentView() noexcept {
134
+ if (m_rootView)
135
+ return m_rootView;
136
+
137
+ if (m_parent) {
138
+ m_rootView =
139
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->rootComponentView();
140
+ }
141
+
142
+ return m_rootView;
143
+ }
144
+
145
+ void ComponentView::parent(const winrt::Microsoft::ReactNative::ComponentView &parent) noexcept {
146
+ if (!parent) {
147
+ auto root = rootComponentView();
148
+ winrt::Microsoft::ReactNative::ComponentView view{nullptr};
149
+ winrt::check_hresult(
150
+ QueryInterface(winrt::guid_of<winrt::Microsoft::ReactNative::ComponentView>(), winrt::put_abi(view)));
151
+ if (root && root->GetFocusedComponent() == view) {
152
+ root->SetFocusedComponent(nullptr); // TODO need move focus logic - where should focus go?
153
+ }
154
+ }
155
+
156
+ if (m_parent != parent) {
157
+ m_rootView = nullptr;
158
+ m_parent = parent;
159
+ if (parent) {
160
+ theme(winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(parent)->theme());
161
+ }
162
+ }
163
+ }
164
+
165
+ winrt::Microsoft::ReactNative::ComponentView ComponentView::Parent() const noexcept {
166
+ return m_parent;
167
+ }
168
+
169
+ winrt::IVectorView<winrt::Microsoft::ReactNative::ComponentView> ComponentView::Children() const noexcept {
170
+ return m_children.GetView();
171
+ }
172
+
173
+ void ComponentView::theme(winrt::Microsoft::ReactNative::Composition::implementation::Theme *value) noexcept {
174
+ if (m_theme != value) {
175
+ for (auto it = m_children.begin(); it != m_children.end(); ++it) {
176
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(*it)->theme(value);
177
+ }
178
+
179
+ m_theme = value;
180
+ onThemeChanged();
181
+ }
182
+ }
183
+
184
+ winrt::Microsoft::ReactNative::Composition::implementation::Theme *ComponentView::theme() const noexcept {
185
+ return m_theme ? m_theme
186
+ : winrt::get_self<winrt::Microsoft::ReactNative::Composition::implementation::Theme>(
187
+ winrt::Microsoft::ReactNative::Composition::implementation::Theme::EmptyTheme());
188
+ }
189
+
190
+ void ComponentView::onThemeChanged() noexcept {}
191
+
192
+ // Run fn on all children of this node until fn returns true
193
+ // returns true if the fn ever returned true
194
+ bool ComponentView::runOnChildren(
195
+ bool forward,
196
+ Mso::Functor<bool(winrt::Microsoft::ReactNative::implementation::ComponentView &)> &fn) noexcept {
197
+ if (forward) {
198
+ for (auto it = m_children.begin(); it != m_children.end(); ++it) {
199
+ if (fn(*winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(*it)))
200
+ return true;
201
+ }
202
+ } else {
203
+ // TODO is this conversion from rend correct?
204
+ for (auto it = m_children.end(); it != m_children.begin(); --it) {
205
+ if (fn(*winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(*it)))
206
+ return true;
207
+ }
208
+ }
209
+ return false;
210
+ }
211
+
212
+ RECT ComponentView::getClientRect() const noexcept {
213
+ assert(false);
214
+ return {};
215
+ }
216
+
217
+ // The offset from this elements parent to its children (accounts for things like scroll position)
218
+ facebook::react::Point ComponentView::getClientOffset() const noexcept {
219
+ assert(false);
220
+ return {};
221
+ }
222
+
223
+ void ComponentView::onFocusLost() noexcept {}
224
+
225
+ void ComponentView::onFocusGained() noexcept {}
226
+
227
+ void ComponentView::OnPointerEntered(
228
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {}
229
+
230
+ void ComponentView::OnPointerExited(
231
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {}
232
+
233
+ void ComponentView::OnPointerPressed(
234
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
235
+ if (m_parent && !args.Handled()) {
236
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnPointerPressed(args);
237
+ }
238
+ }
239
+
240
+ void ComponentView::OnPointerReleased(
241
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
242
+ if (m_parent && !args.Handled()) {
243
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnPointerReleased(args);
244
+ }
245
+ }
246
+
247
+ void ComponentView::OnPointerMoved(
248
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
249
+ if (m_parent && !args.Handled()) {
250
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnPointerMoved(args);
251
+ }
252
+ }
253
+
254
+ void ComponentView::OnPointerWheelChanged(
255
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
256
+ if (m_parent && !args.Handled()) {
257
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnPointerWheelChanged(
258
+ args);
259
+ }
260
+ }
261
+
262
+ void ComponentView::OnPointerCaptureLost() noexcept {}
263
+
264
+ void ComponentView::OnKeyDown(
265
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
266
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept {
267
+ if (m_parent && !args.Handled()) {
268
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnKeyDown(source, args);
269
+ }
270
+ }
271
+
272
+ void ComponentView::OnKeyUp(
273
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
274
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept {
275
+ if (m_parent && !args.Handled()) {
276
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnKeyUp(source, args);
277
+ }
278
+ }
279
+
280
+ void ComponentView::OnCharacterReceived(
281
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
282
+ const winrt::Microsoft::ReactNative::Composition::Input::CharacterReceivedRoutedEventArgs &args) noexcept {
283
+ if (m_parent && !args.Handled()) {
284
+ winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(m_parent)->OnCharacterReceived(
285
+ source, args);
286
+ }
287
+ }
288
+
289
+ bool ComponentView::focusable() const noexcept {
290
+ return false;
291
+ }
292
+
293
+ facebook::react::SharedViewEventEmitter ComponentView::eventEmitterAtPoint(facebook::react::Point pt) noexcept {
294
+ return nullptr;
295
+ }
296
+
297
+ facebook::react::SharedViewEventEmitter ComponentView::eventEmitter() noexcept {
298
+ return nullptr;
299
+ }
300
+
301
+ facebook::react::Tag ComponentView::Tag() const noexcept {
302
+ return m_tag;
303
+ }
304
+
305
+ // By default, hitTests according the pointerEvents prop on the Component.
306
+ // If ignorePointerEvents = true, all Components are treated as valid targets
307
+ facebook::react::Tag ComponentView::hitTest(
308
+ facebook::react::Point pt,
309
+ facebook::react::Point &localPt,
310
+ bool ignorePointerEvents) const noexcept {
311
+ return -1;
312
+ }
313
+
314
+ winrt::IInspectable ComponentView::EnsureUiaProvider() noexcept {
315
+ assert(false);
316
+ return nullptr;
317
+ }
318
+
319
+ std::optional<std::string> ComponentView::getAcccessiblityValue() noexcept {
320
+ return std::nullopt;
321
+ }
322
+
323
+ void ComponentView::setAcccessiblityValue(std::string &&value) noexcept {
324
+ assert(false);
325
+ }
326
+
327
+ bool ComponentView::getAcccessiblityIsReadOnly() noexcept {
328
+ return false;
329
+ }
330
+
331
+ // Notify up the tree to bring the rect into view by scrolling as needed
332
+ void ComponentView::StartBringIntoView(BringIntoViewOptions &&args) noexcept {
333
+ assert(false);
334
+ }
335
+
336
+ winrt::Microsoft::ReactNative::IReactContext ComponentView::ReactContext() const noexcept {
337
+ return m_reactContext.Handle();
338
+ }
339
+
340
+ } // namespace winrt::Microsoft::ReactNative::implementation
@@ -11,23 +11,24 @@
11
11
  #include <react/renderer/components/view/ViewProps.h>
12
12
  #include <react/renderer/core/LayoutMetrics.h>
13
13
 
14
+ #include <Fabric/Composition/Theme.h>
14
15
  #include <winrt/Microsoft.ReactNative.Composition.Input.h>
16
+ #include <winrt/Microsoft.ReactNative.h>
15
17
 
16
- namespace Microsoft::ReactNative {
18
+ #include "ComponentView.g.h"
19
+ #include "CreateComponentViewArgs.g.h"
17
20
 
18
- enum class RNComponentViewUpdateMask : std::uint_fast8_t {
19
- None = 0,
20
- Props = 1 << 0,
21
- EventEmitter = 1 << 1,
22
- State = 1 << 2,
23
- LayoutMetrics = 1 << 3,
24
-
25
- All = Props | EventEmitter | State | LayoutMetrics
26
- };
21
+ namespace winrt::Microsoft::ReactNative::Composition::implementation {
22
+ struct RootComponentView;
23
+ }
27
24
 
28
- DEFINE_ENUM_FLAG_OPERATORS(RNComponentViewUpdateMask);
25
+ namespace winrt::Microsoft::ReactNative::implementation {
29
26
 
30
- struct RootComponentView;
27
+ enum class ClipState : std::uint_fast8_t {
28
+ NoClip = 0,
29
+ PartialClip = 1,
30
+ FullyClipped = 2,
31
+ };
31
32
 
32
33
  struct BringIntoViewOptions {
33
34
  bool AnimationDesired{false};
@@ -40,71 +41,136 @@ struct BringIntoViewOptions {
40
41
  float VerticalOffset{0};
41
42
  };
42
43
 
43
- struct IComponentView {
44
- virtual std::vector<facebook::react::ComponentDescriptorProvider>
45
- supplementalComponentDescriptorProviders() noexcept = 0;
46
- virtual void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept = 0;
47
- virtual void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept = 0;
44
+ struct CreateComponentViewArgs : public CreateComponentViewArgsT<CreateComponentViewArgs> {
45
+ CreateComponentViewArgs(const winrt::Microsoft::ReactNative::IReactContext &reactContext, facebook::react::Tag tag);
46
+
47
+ facebook::react::Tag Tag() const noexcept;
48
+
49
+ winrt::Microsoft::ReactNative::IReactContext ReactContext() const noexcept;
50
+
51
+ private:
52
+ const facebook::react::Tag m_tag;
53
+ const winrt::Microsoft::ReactNative::IReactContext m_reactContext;
54
+ };
55
+
56
+ struct ComponentView : public ComponentViewT<ComponentView> {
57
+ ComponentView(winrt::Microsoft::ReactNative::CreateComponentViewArgs const &args);
58
+
59
+ ComponentView(
60
+ facebook::react::Tag tag,
61
+ winrt::Microsoft::ReactNative::ReactContext const &reactContext,
62
+ bool customComponent);
63
+
64
+ virtual std::vector<facebook::react::ComponentDescriptorProvider> supplementalComponentDescriptorProviders() noexcept;
48
65
  virtual void updateProps(
49
66
  facebook::react::Props::Shared const &props,
50
- facebook::react::Props::Shared const &oldProps) noexcept = 0;
51
- virtual void updateEventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) noexcept = 0;
67
+ facebook::react::Props::Shared const &oldProps) noexcept;
68
+ virtual void updateEventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) noexcept;
52
69
  virtual void updateState(
53
70
  facebook::react::State::Shared const &state,
54
- facebook::react::State::Shared const &oldState) noexcept = 0;
71
+ facebook::react::State::Shared const &oldState) noexcept;
55
72
  virtual void updateLayoutMetrics(
56
73
  facebook::react::LayoutMetrics const &layoutMetrics,
57
- facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept = 0;
58
- virtual void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept = 0;
59
- virtual void prepareForRecycle() noexcept = 0;
60
- virtual facebook::react::Props::Shared props() noexcept = 0;
61
- virtual void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept = 0;
62
- virtual RootComponentView *rootComponentView() noexcept = 0;
63
- virtual void parent(IComponentView *parent) noexcept = 0;
64
- virtual IComponentView *parent() const noexcept = 0;
65
- virtual const std::vector<IComponentView *> &children() const noexcept = 0;
74
+ facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept;
75
+ virtual void prepareForRecycle() noexcept;
76
+ virtual facebook::react::Props::Shared props() noexcept;
77
+ virtual winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *rootComponentView() noexcept;
78
+ virtual void parent(const winrt::Microsoft::ReactNative::ComponentView &parent) noexcept;
79
+ virtual winrt::Microsoft::ReactNative::ComponentView Parent() const noexcept;
80
+ virtual winrt::IVectorView<winrt::Microsoft::ReactNative::ComponentView> Children() const noexcept;
81
+ virtual void theme(winrt::Microsoft::ReactNative::Composition::implementation::Theme *theme) noexcept;
82
+ virtual winrt::Microsoft::ReactNative::Composition::implementation::Theme *theme() const noexcept;
83
+ virtual void onThemeChanged() noexcept;
66
84
  // Run fn on all children of this node until fn returns true
67
85
  // returns true if the fn ever returned true
68
- virtual bool runOnChildren(bool forward, Mso::Functor<bool(IComponentView &)> &fn) noexcept = 0;
69
- virtual RECT getClientRect() const noexcept = 0;
70
- virtual void onFocusLost() noexcept = 0;
71
- virtual void onFocusGained() noexcept = 0;
72
- virtual void onPointerEntered(
73
- const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
74
- virtual void onPointerExited(
75
- const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
76
- virtual void onPointerPressed(
77
- const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
78
- virtual void onPointerReleased(
79
- const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
80
- virtual void onPointerMoved(
81
- const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
82
- virtual void onPointerWheelChanged(
83
- const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept = 0;
84
- virtual void onKeyDown(
85
- const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
86
- const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept = 0;
87
- virtual void onKeyUp(
88
- const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
89
- const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept = 0;
90
- virtual bool focusable() const noexcept = 0;
91
- virtual facebook::react::SharedViewEventEmitter eventEmitterAtPoint(facebook::react::Point pt) noexcept = 0;
92
- virtual facebook::react::SharedViewEventEmitter eventEmitter() noexcept = 0;
93
- virtual facebook::react::Tag tag() const noexcept = 0;
86
+ bool runOnChildren(bool forward, Mso::Functor<bool(ComponentView &)> &fn) noexcept;
87
+ virtual RECT getClientRect() const noexcept;
88
+ // The offset from this elements parent to its children (accounts for things like scroll position)
89
+ virtual facebook::react::Point getClientOffset() const noexcept;
90
+ virtual void onFocusLost() noexcept;
91
+ virtual void onFocusGained() noexcept;
92
+
93
+ virtual bool focusable() const noexcept;
94
+ virtual facebook::react::SharedViewEventEmitter eventEmitterAtPoint(facebook::react::Point pt) noexcept;
95
+ virtual facebook::react::SharedViewEventEmitter eventEmitter() noexcept;
96
+ virtual facebook::react::Tag Tag() const noexcept;
94
97
  // By default, hitTests according the pointerEvents prop on the Component.
95
98
  // If ignorePointerEvents = true, all Components are treated as valid targets
96
- virtual facebook::react::Tag hitTest(
97
- facebook::react::Point pt,
98
- facebook::react::Point &localPt,
99
- bool ignorePointerEvents = false) const noexcept = 0;
100
- virtual int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept = 0;
101
- virtual winrt::IInspectable EnsureUiaProvider() noexcept = 0;
99
+ virtual facebook::react::Tag
100
+ hitTest(facebook::react::Point pt, facebook::react::Point &localPt, bool ignorePointerEvents = false) const noexcept;
101
+ virtual winrt::IInspectable EnsureUiaProvider() noexcept;
102
+ virtual std::optional<std::string> getAcccessiblityValue() noexcept;
103
+ virtual void setAcccessiblityValue(std::string &&value) noexcept;
104
+ virtual bool getAcccessiblityIsReadOnly() noexcept;
105
+ winrt::Microsoft::ReactNative::IReactContext ReactContext() const noexcept;
106
+
102
107
  // Notify up the tree to bring the rect into view by scrolling as needed
103
- virtual void StartBringIntoView(BringIntoViewOptions &&args) noexcept = 0;
108
+ virtual void StartBringIntoView(BringIntoViewOptions &&args) noexcept;
109
+
110
+ virtual const winrt::Microsoft::ReactNative::IComponentProps userProps(
111
+ facebook::react::Props::Shared const &props) noexcept;
112
+
113
+ // Publicaly overridable APIs
114
+ virtual void MountChildComponentView(
115
+ const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
116
+ uint32_t index) noexcept;
117
+ virtual void UnmountChildComponentView(
118
+ const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
119
+ uint32_t index) noexcept;
120
+ virtual void HandleCommand(
121
+ winrt::hstring commandName,
122
+ const winrt::Microsoft::ReactNative::IJSValueReader &args) noexcept;
123
+ virtual void UpdateProps(
124
+ const winrt::Microsoft::ReactNative::IComponentProps &props,
125
+ const winrt::Microsoft::ReactNative::IComponentProps &oldProps) noexcept;
126
+ virtual void UpdateState(const winrt::Microsoft::ReactNative::IComponentState &state) noexcept;
127
+ virtual void UpdateLayoutMetrics(const LayoutMetrics &metrics, const LayoutMetrics &oldMetrics) noexcept;
128
+ virtual void FinalizeUpdates(winrt::Microsoft::ReactNative::ComponentViewUpdateMask updateMask) noexcept;
129
+ virtual void OnPointerEntered(
130
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
131
+ virtual void OnPointerExited(
132
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
133
+ virtual void OnPointerPressed(
134
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
135
+ virtual void OnPointerReleased(
136
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
137
+ virtual void OnPointerMoved(
138
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
139
+ virtual void OnPointerWheelChanged(
140
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
141
+ virtual void OnPointerCaptureLost() noexcept;
142
+ virtual void OnKeyDown(
143
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
144
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept;
145
+ virtual void OnKeyUp(
146
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
147
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept;
148
+ virtual void OnCharacterReceived(
149
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
150
+ const winrt::Microsoft::ReactNative::Composition::Input::CharacterReceivedRoutedEventArgs &args) noexcept;
151
+
152
+ protected:
153
+ const bool m_customComponent; // Is a user custom component, and so needs to call external override functions
154
+ const facebook::react::Tag m_tag;
155
+ winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *m_rootView{nullptr};
156
+ mutable winrt::Microsoft::ReactNative::Composition::implementation::Theme *m_theme{nullptr};
157
+ const winrt::Microsoft::ReactNative::ReactContext m_reactContext;
158
+ winrt::Microsoft::ReactNative::ComponentView m_parent{nullptr};
159
+ winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::ReactNative::ComponentView> m_children{
160
+ winrt::single_threaded_vector<winrt::Microsoft::ReactNative::ComponentView>()};
104
161
  };
105
162
 
106
163
  // Run fn on all nodes of the component view tree starting from this one until fn returns true
107
164
  // returns true if the fn ever returned true
108
- bool walkTree(IComponentView &view, bool forward, Mso::Functor<bool(IComponentView &)> &fn) noexcept;
165
+ bool walkTree(
166
+ const winrt::Microsoft::ReactNative::ComponentView &view,
167
+ bool forward,
168
+ Mso::Functor<bool(const winrt::Microsoft::ReactNative::ComponentView &)> &fn) noexcept;
169
+
170
+ } // namespace winrt::Microsoft::ReactNative::implementation
171
+
172
+ namespace winrt::Microsoft::ReactNative::factory_implementation {
173
+
174
+ struct ComponentView : ComponentViewT<ComponentView, implementation::ComponentView> {};
109
175
 
110
- } // namespace Microsoft::ReactNative
176
+ } // namespace winrt::Microsoft::ReactNative::factory_implementation