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,13 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #include <winrt/Windows.UI.h>
7
+
8
+ namespace Microsoft::ReactNative {
9
+
10
+ bool IsColorLight(const winrt::Windows::UI::Color &clr) noexcept;
11
+ bool IsInHighContrastWin32() noexcept;
12
+
13
+ } // namespace Microsoft::ReactNative
@@ -337,11 +337,6 @@ REACTWINDOWS_API_(bool) IsValidColorValue(const winrt::Microsoft::ReactNative::J
337
337
  v.Type() == winrt::Microsoft::ReactNative::JSValueType::Int64;
338
338
  }
339
339
 
340
- REACTWINDOWS_API_(winrt::TimeSpan) TimeSpanFromMs(double ms) {
341
- std::chrono::milliseconds dur((int64_t)ms);
342
- return dur;
343
- }
344
-
345
340
  bool IsValidOptionalColorValue(const winrt::Microsoft::ReactNative::JSValue &v) {
346
341
  return v.Type() == winrt::Microsoft::ReactNative::JSValueType::Null || IsValidColorValue(v);
347
342
  }
@@ -54,9 +54,6 @@ REACTWINDOWS_API_(bool) IsValidColorValue(const folly::dynamic &d);
54
54
  REACTWINDOWS_API_(bool)
55
55
  IsValidColorValue(const winrt::Microsoft::ReactNative::JSValue &v);
56
56
 
57
- REACTWINDOWS_API_(winrt::Windows::Foundation::TimeSpan)
58
- TimeSpanFromMs(double ms);
59
-
60
57
  winrt::Windows::UI::Color ColorFromNumber(DWORD argb) noexcept;
61
58
 
62
59
  bool IsValidOptionalColorValue(const winrt::Microsoft::ReactNative::JSValue &v);
@@ -3,8 +3,23 @@
3
3
 
4
4
  #include "DocString.h"
5
5
  import "IJSValueReader.idl";
6
+ import "IJSValueWriter.idl";
7
+ import "Theme.idl";
6
8
 
7
9
  namespace Microsoft.ReactNative {
10
+
11
+ [webhosthidden]
12
+ [experimental]
13
+ runtimeclass Color {
14
+ Windows.UI.Color AsWindowsColor(Microsoft.ReactNative.Composition.Theme theme);
15
+ Microsoft.ReactNative.Composition.IBrush AsBrush(Microsoft.ReactNative.Composition.Theme theme);
16
+
17
+ static Color Black();
18
+ static Color Transparent();
19
+ static Color ReadValue(IJSValueReader reader);
20
+ static void WriteValue(IJSValueWriter writer, Color color);
21
+ };
22
+
8
23
  [webhosthidden]
9
24
  [experimental]
10
25
  DOC_STRING("Interface to implement custom view component properties.")
@@ -24,6 +39,8 @@ namespace Microsoft.ReactNative {
24
39
  {
25
40
  Single Opacity { get; };
26
41
 
42
+ Color BackgroundColor { get; };
43
+
27
44
  // TODO add accessors to all the properties on ViewProps
28
45
  };
29
46
 
@@ -23,6 +23,7 @@ void ActivityIndicatorViewManager::GetNativeProps(const winrt::Microsoft::ReactN
23
23
 
24
24
  winrt::Microsoft::ReactNative::WriteProperty(writer, L"animating", L"boolean");
25
25
  winrt::Microsoft::ReactNative::WriteProperty(writer, L"color", L"Color");
26
+ winrt::Microsoft::ReactNative::WriteProperty(writer, L"size", L"string");
26
27
  }
27
28
 
28
29
  ShadowNode *Microsoft::ReactNative::ActivityIndicatorViewManager::createShadow() const {
@@ -0,0 +1,54 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "pch.h"
5
+
6
+ #include <UI.Xaml.Controls.h>
7
+
8
+ #include <Views/DebuggingOverlayViewManager.h>
9
+
10
+ #include <JSValueWriter.h>
11
+
12
+ namespace Microsoft::ReactNative {
13
+
14
+ namespace DebuggingOverlayCommands {
15
+ constexpr const char *Draw = "draw";
16
+ }; // namespace DebuggingOverlayCommands
17
+
18
+ DebuggingOverlayViewManager::DebuggingOverlayViewManager(const Mso::React::IReactContext &context) : Super(context) {}
19
+
20
+ const wchar_t *DebuggingOverlayViewManager::GetName() const {
21
+ return L"DebuggingOverlay";
22
+ }
23
+
24
+ void DebuggingOverlayViewManager::GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
25
+ Super::GetNativeProps(writer);
26
+ }
27
+
28
+ void DebuggingOverlayViewManager::GetCommands(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
29
+ // Upstream JS will dispatch the string directly instead of ever actually calling this, but providing a real
30
+ // implementation is simple enough in case anything changes.
31
+ writer.WritePropertyName(winrt::to_hstring(DebuggingOverlayCommands::Draw));
32
+ writer.WriteString(winrt::to_hstring(DebuggingOverlayCommands::Draw));
33
+ }
34
+
35
+ XamlView DebuggingOverlayViewManager::CreateViewCore(
36
+ int64_t /*tag*/,
37
+ const winrt::Microsoft::ReactNative::JSValueObject &) {
38
+ return xaml::Controls::Canvas();
39
+ }
40
+
41
+ void DebuggingOverlayViewManager::DispatchCommand(
42
+ const XamlView &viewToUpdate,
43
+ const std::string &commandId,
44
+ winrt::Microsoft::ReactNative::JSValueArray &&commandArgs) {
45
+ if (commandId == DebuggingOverlayCommands::Draw) {
46
+ // The current spec has a Draw command -- but this will be replaced with some different commands in
47
+ // https://github.com/facebook/react-native/pull/42119
48
+ // There is little point in attempting to implement these commands until then.
49
+ return;
50
+ }
51
+ Super::DispatchCommand(viewToUpdate, commandId, std::move(commandArgs));
52
+ }
53
+
54
+ } // namespace Microsoft::ReactNative
@@ -0,0 +1,30 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #include "FrameworkElementViewManager.h"
7
+
8
+ namespace Microsoft::ReactNative {
9
+
10
+ struct ShadowNodeBase;
11
+
12
+ class REACTWINDOWS_EXPORT DebuggingOverlayViewManager : public FrameworkElementViewManager {
13
+ using Super = FrameworkElementViewManager;
14
+
15
+ public:
16
+ DebuggingOverlayViewManager(const Mso::React::IReactContext &context);
17
+
18
+ const wchar_t *GetName() const override;
19
+ void GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const override;
20
+ void GetCommands(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const override;
21
+ XamlView DebuggingOverlayViewManager::CreateViewCore(
22
+ int64_t /*tag*/,
23
+ const winrt::Microsoft::ReactNative::JSValueObject &) override;
24
+ void DispatchCommand(
25
+ const XamlView &viewToUpdate,
26
+ const std::string &commandId,
27
+ winrt::Microsoft::ReactNative::JSValueArray &&commandArgs) override;
28
+ };
29
+
30
+ } // namespace Microsoft::ReactNative
@@ -124,12 +124,6 @@ struct InAppXamlDevMenu : public IDevMenu, public std::enable_shared_from_this<I
124
124
  void Show() noexcept override {
125
125
  winrt::Microsoft::ReactNative::DevMenuControl devMenu{};
126
126
 
127
- devMenu.RemoteDebugText().Text(
128
- Mso::React::ReactOptions::UseWebDebugger(m_context->Properties()) ? L"Disable Remote JS Debugging"
129
- : L"Enable Remote JS Debugging");
130
- devMenu.RemoteDebugDesc().Text(
131
- L"When enabled runs the JS remotely in VSCode or Chrome based on what you attach to the packager. This means that the JS may run with a different JS engine than it runs in on in the real application, in addition synchronous native module calls, and JSI native modules will not work.");
132
-
133
127
  devMenu.FastRefreshText().Text(FastRefreshLabel(m_context));
134
128
  if (Mso::React::ReactOptions::JsiEngine(m_context->Properties()) == Mso::React::JSIEngine::Hermes) {
135
129
  devMenu.SamplingProfilerText().Text(HermesProfilerLabel(m_context));
@@ -146,7 +140,7 @@ struct InAppXamlDevMenu : public IDevMenu, public std::enable_shared_from_this<I
146
140
  auto lastTraceFilePath = Microsoft::ReactNative::HermesSamplingProfiler::GetLastTraceFilePath();
147
141
  if (!lastTraceFilePath.empty()) {
148
142
  os << std::endl
149
- << "Samples from last invocation are stored at " << lastTraceFilePath.c_str()
143
+ << "Samples from last invocation are stored at " << winrt::to_string(lastTraceFilePath)
150
144
  << " (path copied to clipboard).";
151
145
  os << std::endl << "Navigate to \"edge:\\tracing\" and load the trace file.";
152
146
  }
@@ -169,18 +163,6 @@ struct InAppXamlDevMenu : public IDevMenu, public std::enable_shared_from_this<I
169
163
  }
170
164
  });
171
165
 
172
- m_remoteDebugJSRevoker = devMenu.RemoteDebug().Click(
173
- winrt::auto_revoke,
174
- [wkThis = weak_from_this()](auto const & /*sender*/, xaml::RoutedEventArgs const & /*args*/) noexcept {
175
- if (auto strongThis = wkThis.lock()) {
176
- strongThis->Hide();
177
- Mso::React::ReactOptions::SetUseWebDebugger(
178
- strongThis->m_context->Properties(),
179
- !Mso::React::ReactOptions::UseWebDebugger(strongThis->m_context->Properties()));
180
- DevSettings::Reload(React::ReactPropertyBag(strongThis->m_context->Properties()));
181
- }
182
- });
183
-
184
166
  m_directDebuggingRevoker = devMenu.DirectDebug().Click(
185
167
  winrt::auto_revoke,
186
168
  [wkThis = weak_from_this()](auto const & /*sender*/, xaml::RoutedEventArgs const & /*args*/) noexcept {
@@ -301,7 +283,6 @@ struct InAppXamlDevMenu : public IDevMenu, public std::enable_shared_from_this<I
301
283
  private:
302
284
  const Mso::CntPtr<Mso::React::IReactContext> m_context;
303
285
  xaml::Controls::Flyout m_flyout{nullptr};
304
- xaml::Controls::Button::Click_revoker m_remoteDebugJSRevoker{};
305
286
  xaml::Controls::Button::Click_revoker m_cancelRevoker{};
306
287
  xaml::Controls::Button::Click_revoker m_toggleInspectorRevoker{};
307
288
  xaml::Controls::Button::Click_revoker m_configBundlerRevoker{};
@@ -44,6 +44,154 @@ winrt::hstring DynamicAutomationPeer::GetNameCore() const {
44
44
  }
45
45
 
46
46
  winrt::AutomationControlType DynamicAutomationPeer::GetAutomationControlTypeCore() const {
47
+ const auto automationControlType = GetAutomationControlTypeFromAriaRole();
48
+ return automationControlType ? automationControlType.value() : GetAutomationControlTypeFromAccessibilityRole();
49
+ }
50
+
51
+ std::optional<winrt::AutomationControlType> DynamicAutomationPeer::GetAutomationControlTypeFromAriaRole() const {
52
+ const auto ariaRole = GetAriaRole();
53
+ // Sourced from: https://www.w3.org/TR/core-aam-1.2
54
+ // Remaining unmapped roles are:
55
+ // - "none"
56
+ // - "presentation"
57
+ switch (ariaRole) {
58
+ case winrt::Microsoft::ReactNative::AriaRole::Alert:
59
+ return winrt::AutomationControlType::Group;
60
+ case winrt::Microsoft::ReactNative::AriaRole::AlertDialog:
61
+ return winrt::AutomationControlType::Pane;
62
+ case winrt::Microsoft::ReactNative::AriaRole::Application:
63
+ return winrt::AutomationControlType::Pane;
64
+ case winrt::Microsoft::ReactNative::AriaRole::Article:
65
+ return winrt::AutomationControlType::Group;
66
+ case winrt::Microsoft::ReactNative::AriaRole::Banner:
67
+ return winrt::AutomationControlType::Group;
68
+ case winrt::Microsoft::ReactNative::AriaRole::Button:
69
+ return winrt::AutomationControlType::Button;
70
+ case winrt::Microsoft::ReactNative::AriaRole::Cell:
71
+ return winrt::AutomationControlType::DataItem;
72
+ case winrt::Microsoft::ReactNative::AriaRole::CheckBox:
73
+ return winrt::AutomationControlType::CheckBox;
74
+ case winrt::Microsoft::ReactNative::AriaRole::ColumnHeader:
75
+ return winrt::AutomationControlType::DataItem;
76
+ case winrt::Microsoft::ReactNative::AriaRole::ComboBox:
77
+ return winrt::AutomationControlType::ComboBox;
78
+ case winrt::Microsoft::ReactNative::AriaRole::Complementary:
79
+ return winrt::AutomationControlType::Group;
80
+ case winrt::Microsoft::ReactNative::AriaRole::ContentInfo:
81
+ return winrt::AutomationControlType::Group;
82
+ case winrt::Microsoft::ReactNative::AriaRole::Definition:
83
+ return winrt::AutomationControlType::Group;
84
+ case winrt::Microsoft::ReactNative::AriaRole::Dialog:
85
+ return winrt::AutomationControlType::Pane;
86
+ case winrt::Microsoft::ReactNative::AriaRole::Directory:
87
+ return winrt::AutomationControlType::List;
88
+ case winrt::Microsoft::ReactNative::AriaRole::Document:
89
+ return winrt::AutomationControlType::Document;
90
+ case winrt::Microsoft::ReactNative::AriaRole::Feed:
91
+ return winrt::AutomationControlType::Group;
92
+ case winrt::Microsoft::ReactNative::AriaRole::Figure:
93
+ return winrt::AutomationControlType::Group;
94
+ case winrt::Microsoft::ReactNative::AriaRole::Form:
95
+ return winrt::AutomationControlType::Group;
96
+ case winrt::Microsoft::ReactNative::AriaRole::Grid:
97
+ return winrt::AutomationControlType::DataGrid;
98
+ case winrt::Microsoft::ReactNative::AriaRole::Group:
99
+ return winrt::AutomationControlType::Group;
100
+ case winrt::Microsoft::ReactNative::AriaRole::Heading:
101
+ return winrt::AutomationControlType::Text;
102
+ case winrt::Microsoft::ReactNative::AriaRole::Img:
103
+ return winrt::AutomationControlType::Image;
104
+ case winrt::Microsoft::ReactNative::AriaRole::Link:
105
+ return winrt::AutomationControlType::Hyperlink;
106
+ case winrt::Microsoft::ReactNative::AriaRole::List:
107
+ return winrt::AutomationControlType::List;
108
+ case winrt::Microsoft::ReactNative::AriaRole::ListItem:
109
+ return winrt::AutomationControlType::ListItem;
110
+ case winrt::Microsoft::ReactNative::AriaRole::Log:
111
+ return winrt::AutomationControlType::Group;
112
+ case winrt::Microsoft::ReactNative::AriaRole::Main:
113
+ return winrt::AutomationControlType::Group;
114
+ case winrt::Microsoft::ReactNative::AriaRole::Marquee:
115
+ return winrt::AutomationControlType::Text;
116
+ case winrt::Microsoft::ReactNative::AriaRole::Math:
117
+ return winrt::AutomationControlType::Group;
118
+ case winrt::Microsoft::ReactNative::AriaRole::Menu:
119
+ return winrt::AutomationControlType::Menu;
120
+ case winrt::Microsoft::ReactNative::AriaRole::MenuBar:
121
+ return winrt::AutomationControlType::MenuBar;
122
+ case winrt::Microsoft::ReactNative::AriaRole::MenuItem:
123
+ return winrt::AutomationControlType::MenuItem;
124
+ case winrt::Microsoft::ReactNative::AriaRole::Meter:
125
+ return winrt::AutomationControlType::ProgressBar;
126
+ case winrt::Microsoft::ReactNative::AriaRole::Navigation:
127
+ return winrt::AutomationControlType::Group;
128
+ case winrt::Microsoft::ReactNative::AriaRole::Note:
129
+ return winrt::AutomationControlType::Group;
130
+ case winrt::Microsoft::ReactNative::AriaRole::Option:
131
+ return winrt::AutomationControlType::ListItem;
132
+ case winrt::Microsoft::ReactNative::AriaRole::ProgressBar:
133
+ return winrt::AutomationControlType::ProgressBar;
134
+ case winrt::Microsoft::ReactNative::AriaRole::Radio:
135
+ return winrt::AutomationControlType::RadioButton;
136
+ case winrt::Microsoft::ReactNative::AriaRole::RadioGroup:
137
+ return winrt::AutomationControlType::List;
138
+ case winrt::Microsoft::ReactNative::AriaRole::Region:
139
+ return winrt::AutomationControlType::Group;
140
+ case winrt::Microsoft::ReactNative::AriaRole::Row:
141
+ return winrt::AutomationControlType::DataItem;
142
+ case winrt::Microsoft::ReactNative::AriaRole::RowGroup:
143
+ return winrt::AutomationControlType::Group;
144
+ case winrt::Microsoft::ReactNative::AriaRole::RowHeader:
145
+ return winrt::AutomationControlType::HeaderItem;
146
+ case winrt::Microsoft::ReactNative::AriaRole::ScrollBar:
147
+ return winrt::AutomationControlType::ScrollBar;
148
+ case winrt::Microsoft::ReactNative::AriaRole::SearchBox:
149
+ return winrt::AutomationControlType::Edit;
150
+ case winrt::Microsoft::ReactNative::AriaRole::Separator:
151
+ if (auto const &viewControl = Owner().try_as<winrt::Microsoft::ReactNative::ViewControl>()) {
152
+ if (viewControl.IsTabStop()) {
153
+ return winrt::AutomationControlType::Thumb;
154
+ }
155
+ }
156
+ return winrt::AutomationControlType::Separator;
157
+ case winrt::Microsoft::ReactNative::AriaRole::Slider:
158
+ return winrt::AutomationControlType::Slider;
159
+ case winrt::Microsoft::ReactNative::AriaRole::SpinButton:
160
+ return winrt::AutomationControlType::Spinner;
161
+ case winrt::Microsoft::ReactNative::AriaRole::Status:
162
+ return winrt::AutomationControlType::Group;
163
+ case winrt::Microsoft::ReactNative::AriaRole::Switch:
164
+ return winrt::AutomationControlType::Button;
165
+ case winrt::Microsoft::ReactNative::AriaRole::Tab:
166
+ return winrt::AutomationControlType::TabItem;
167
+ case winrt::Microsoft::ReactNative::AriaRole::Table:
168
+ return winrt::AutomationControlType::DataGrid;
169
+ case winrt::Microsoft::ReactNative::AriaRole::TabList:
170
+ return winrt::AutomationControlType::Tab;
171
+ case winrt::Microsoft::ReactNative::AriaRole::TabPanel:
172
+ return winrt::AutomationControlType::Pane;
173
+ case winrt::Microsoft::ReactNative::AriaRole::Term:
174
+ return winrt::AutomationControlType::Text;
175
+ case winrt::Microsoft::ReactNative::AriaRole::Timer:
176
+ return winrt::AutomationControlType::Group;
177
+ case winrt::Microsoft::ReactNative::AriaRole::ToolBar:
178
+ return winrt::AutomationControlType::ToolBar;
179
+ case winrt::Microsoft::ReactNative::AriaRole::ToolTip:
180
+ return winrt::AutomationControlType::ToolTip;
181
+ case winrt::Microsoft::ReactNative::AriaRole::Tree:
182
+ return winrt::AutomationControlType::Tree;
183
+ case winrt::Microsoft::ReactNative::AriaRole::TreeGrid:
184
+ return winrt::AutomationControlType::DataGrid;
185
+ case winrt::Microsoft::ReactNative::AriaRole::TreeItem:
186
+ return winrt::AutomationControlType::TreeItem;
187
+ case winrt::Microsoft::ReactNative::AriaRole::None:
188
+ case winrt::Microsoft::ReactNative::AriaRole::Presentation:
189
+ default:
190
+ return std::nullopt;
191
+ }
192
+ }
193
+
194
+ winrt::AutomationControlType DynamicAutomationPeer::GetAutomationControlTypeFromAccessibilityRole() const {
47
195
  auto accessibilityRole = GetAccessibilityRole();
48
196
 
49
197
  switch (accessibilityRole) {
@@ -342,6 +490,15 @@ winrt::Microsoft::ReactNative::AccessibilityRoles DynamicAutomationPeer::GetAcce
342
490
  return winrt::Microsoft::ReactNative::AccessibilityRoles::None;
343
491
  }
344
492
 
493
+ winrt::Microsoft::ReactNative::AriaRole DynamicAutomationPeer::GetAriaRole() const {
494
+ try {
495
+ return DynamicAutomationProperties::GetAriaRole(Owner());
496
+ } catch (...) {
497
+ }
498
+
499
+ return winrt::Microsoft::ReactNative::AriaRole::Unknown;
500
+ }
501
+
345
502
  bool DynamicAutomationPeer::HasAccessibilityState(winrt::Microsoft::ReactNative::AccessibilityStates state) const {
346
503
  try {
347
504
  auto const &owner = Owner();
@@ -72,6 +72,11 @@ struct DynamicAutomationPeer : DynamicAutomationPeerT<DynamicAutomationPeer> {
72
72
  private:
73
73
  winrt::hstring GetContentName() const;
74
74
  winrt::Microsoft::ReactNative::AccessibilityRoles GetAccessibilityRole() const;
75
+ winrt::Microsoft::ReactNative::AriaRole GetAriaRole() const;
76
+
77
+ std::optional<xaml::Automation::Peers::AutomationControlType> GetAutomationControlTypeFromAriaRole() const;
78
+ xaml::Automation::Peers::AutomationControlType GetAutomationControlTypeFromAccessibilityRole() const;
79
+
75
80
  bool HasAccessibilityState(winrt::Microsoft::ReactNative::AccessibilityStates state) const;
76
81
  bool HasAccessibilityValue(winrt::Microsoft::ReactNative::AccessibilityValue value) const;
77
82
  double GetAccessibilityValueRange(winrt::Microsoft::ReactNative::AccessibilityValue value) const;
@@ -48,6 +48,26 @@ winrt::Microsoft::ReactNative::AccessibilityRoles DynamicAutomationProperties::G
48
48
  element.GetValue(AccessibilityRoleProperty()));
49
49
  }
50
50
 
51
+ xaml::DependencyProperty DynamicAutomationProperties::AriaRoleProperty() {
52
+ static xaml::DependencyProperty s_ariaRoleProperty = xaml::DependencyProperty::RegisterAttached(
53
+ L"AriaRole",
54
+ winrt::xaml_typename<winrt::Microsoft::ReactNative::AriaRole>(),
55
+ dynamicAutomationTypeName,
56
+ winrt::PropertyMetadata(winrt::box_value(winrt::Microsoft::ReactNative::AriaRole::Unknown)));
57
+
58
+ return s_ariaRoleProperty;
59
+ }
60
+
61
+ void DynamicAutomationProperties::SetAriaRole(
62
+ xaml::UIElement const &element,
63
+ winrt::Microsoft::ReactNative::AriaRole const &value) {
64
+ element.SetValue(AriaRoleProperty(), winrt::box_value<Microsoft::ReactNative::AriaRole>(value));
65
+ }
66
+
67
+ winrt::Microsoft::ReactNative::AriaRole DynamicAutomationProperties::GetAriaRole(xaml::UIElement const &element) {
68
+ return winrt::unbox_value<winrt::Microsoft::ReactNative::AriaRole>(element.GetValue(AriaRoleProperty()));
69
+ }
70
+
51
71
  xaml::DependencyProperty DynamicAutomationProperties::AccessibilityStateSelectedProperty() {
52
72
  static xaml::DependencyProperty s_AccessibilityStateSelectedProperty = xaml::DependencyProperty::RegisterAttached(
53
73
  L"AccessibilityStateSelected",
@@ -26,6 +26,10 @@ struct DynamicAutomationProperties : DynamicAutomationPropertiesT<DynamicAutomat
26
26
  winrt::Microsoft::ReactNative::AccessibilityRoles const &value);
27
27
  static AccessibilityRoles GetAccessibilityRole(xaml::UIElement const &element);
28
28
 
29
+ static xaml::DependencyProperty AriaRoleProperty();
30
+ static void SetAriaRole(xaml::UIElement const &element, winrt::Microsoft::ReactNative::AriaRole const &value);
31
+ static AriaRole GetAriaRole(xaml::UIElement const &element);
32
+
29
33
  static xaml::DependencyProperty AccessibilityStateSelectedProperty();
30
34
  static void SetAccessibilityStateSelected(xaml::UIElement const &element, bool value);
31
35
  static bool GetAccessibilityStateSelected(xaml::UIElement const &element);
@@ -114,10 +114,6 @@ class FlyoutShadowNode : public ShadowNodeBase {
114
114
  winrt::Flyout GetFlyout();
115
115
  void AdjustDefaultFlyoutStyle(float maxWidth, float maxHeight);
116
116
 
117
- bool IsWindowed() override {
118
- return true;
119
- }
120
-
121
117
  private:
122
118
  void SetTargetFrameworkElement();
123
119
  winrt::Popup GetFlyoutParentPopup() const;
@@ -152,7 +148,7 @@ FlyoutShadowNode::~FlyoutShadowNode() {
152
148
 
153
149
  void FlyoutShadowNode::AddView(ShadowNode &child, int64_t /*index*/) {
154
150
  auto childView = static_cast<ShadowNodeBase &>(child).GetView();
155
- m_touchEventHandler->AddTouchHandlers(childView);
151
+ m_touchEventHandler->AddTouchHandlers(childView, GetRootView());
156
152
  m_previewKeyboardEventHandlerOnRoot->hook(childView);
157
153
 
158
154
  if (m_flyout != nullptr) {
@@ -126,6 +126,7 @@ void FrameworkElementViewManager::GetNativeProps(const winrt::Microsoft::ReactNa
126
126
 
127
127
  winrt::Microsoft::ReactNative::WriteProperty(writer, L"accessible", L"boolean");
128
128
  winrt::Microsoft::ReactNative::WriteProperty(writer, L"accessibilityRole", L"string");
129
+ winrt::Microsoft::ReactNative::WriteProperty(writer, L"role", L"string");
129
130
  writer.WritePropertyName(L"accessibilityState");
130
131
  GetAccessibilityStateProps(writer);
131
132
  winrt::Microsoft::ReactNative::WriteProperty(writer, L"accessibilityHint", L"string");
@@ -433,6 +434,142 @@ bool FrameworkElementViewManager::UpdateProperty(
433
434
  } else if (propertyValue.IsNull()) {
434
435
  element.ClearValue(DynamicAutomationProperties::AccessibilityRoleProperty());
435
436
  }
437
+ } else if (propertyName == "role") {
438
+ if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::String) {
439
+ const std::string &role = propertyValue.AsString();
440
+ if (role == "alert")
441
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Alert);
442
+ else if (role == "alertdialog")
443
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::AlertDialog);
444
+ else if (role == "application")
445
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Application);
446
+ else if (role == "article")
447
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Article);
448
+ else if (role == "banner")
449
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Banner);
450
+ else if (role == "button")
451
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Button);
452
+ else if (role == "cell")
453
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Cell);
454
+ else if (role == "checkbox")
455
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::CheckBox);
456
+ else if (role == "columnheader")
457
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ColumnHeader);
458
+ else if (role == "combobox")
459
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ComboBox);
460
+ else if (role == "complementary")
461
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Complementary);
462
+ else if (role == "contentinfo")
463
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ContentInfo);
464
+ else if (role == "definition")
465
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Definition);
466
+ else if (role == "dialog")
467
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Dialog);
468
+ else if (role == "directory")
469
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Directory);
470
+ else if (role == "document")
471
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Document);
472
+ else if (role == "feed")
473
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Feed);
474
+ else if (role == "figure")
475
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Figure);
476
+ else if (role == "form")
477
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Form);
478
+ else if (role == "grid")
479
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Grid);
480
+ else if (role == "group")
481
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Group);
482
+ else if (role == "heading")
483
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Heading);
484
+ else if (role == "img")
485
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Img);
486
+ else if (role == "link")
487
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Link);
488
+ else if (role == "list")
489
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::List);
490
+ else if (role == "listitem")
491
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ListItem);
492
+ else if (role == "log")
493
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Log);
494
+ else if (role == "main")
495
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Main);
496
+ else if (role == "marquee")
497
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Marquee);
498
+ else if (role == "math")
499
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Math);
500
+ else if (role == "menu")
501
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Menu);
502
+ else if (role == "menubar")
503
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::MenuBar);
504
+ else if (role == "menuitem")
505
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::MenuItem);
506
+ else if (role == "meter")
507
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Meter);
508
+ else if (role == "navigation")
509
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Navigation);
510
+ else if (role == "none")
511
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::None);
512
+ else if (role == "note")
513
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Note);
514
+ else if (role == "option")
515
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Option);
516
+ else if (role == "presentation")
517
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Presentation);
518
+ else if (role == "progressbar")
519
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ProgressBar);
520
+ else if (role == "radio")
521
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Radio);
522
+ else if (role == "radiogroup")
523
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::RadioGroup);
524
+ else if (role == "region")
525
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Region);
526
+ else if (role == "row")
527
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Row);
528
+ else if (role == "rowgroup")
529
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::RowGroup);
530
+ else if (role == "rowheader")
531
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::RowHeader);
532
+ else if (role == "scrollbar")
533
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ScrollBar);
534
+ else if (role == "searchbox")
535
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::SearchBox);
536
+ else if (role == "separator")
537
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Separator);
538
+ else if (role == "slider")
539
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Slider);
540
+ else if (role == "spinbutton")
541
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::SpinButton);
542
+ else if (role == "status")
543
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Status);
544
+ else if (role == "summary")
545
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Summary);
546
+ else if (role == "switch")
547
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Switch);
548
+ else if (role == "tab")
549
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Tab);
550
+ else if (role == "tablist")
551
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::TabList);
552
+ else if (role == "tabpanel")
553
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::TabPanel);
554
+ else if (role == "term")
555
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Term);
556
+ else if (role == "timer")
557
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Timer);
558
+ else if (role == "toolbar")
559
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ToolBar);
560
+ else if (role == "tooltip")
561
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::ToolTip);
562
+ else if (role == "tree")
563
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Tree);
564
+ else if (role == "treegrid")
565
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::TreeGrid);
566
+ else if (role == "treeitem")
567
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::TreeItem);
568
+ else
569
+ DynamicAutomationProperties::SetAriaRole(element, winrt::Microsoft::ReactNative::AriaRole::Unknown);
570
+ } else if (propertyValue.IsNull()) {
571
+ element.ClearValue(DynamicAutomationProperties::AriaRoleProperty());
572
+ }
436
573
  } else if (propertyName == "accessibilityState") {
437
574
  if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Object) {
438
575
  for (const auto &pair : propertyValue.AsObject()) {
@@ -12,7 +12,6 @@
12
12
  namespace Microsoft::ReactNative {
13
13
 
14
14
  struct ICompositionRootView : public facebook::react::IReactRootView {
15
- virtual winrt::Microsoft::ReactNative::Composition::IVisual GetVisual() const noexcept = 0;
16
15
  virtual float ScaleFactor() noexcept = 0;
17
16
  };
18
17
 
@@ -185,11 +185,6 @@ void ImageViewManager::EmitImageEvent(
185
185
 
186
186
  void ImageViewManager::setSource(winrt::Grid grid, const winrt::Microsoft::ReactNative::JSValue &data) {
187
187
  auto sources{json_type_traits<std::vector<ReactImageSource>>::parseJson(data)};
188
- sources[0].bundleRootPath = GetReactContext().SettingsSnapshot().BundleRootPath();
189
-
190
- if (sources[0].packagerAsset && sources[0].uri.find("file://") == 0) {
191
- sources[0].uri.replace(0, 7, sources[0].bundleRootPath);
192
- }
193
188
 
194
189
  auto reactImage{grid.as<ReactImage>()};
195
190
 
@@ -44,10 +44,6 @@ class PopupShadowNode : public ShadowNodeBase {
44
44
  void UpdateTabStops();
45
45
  void UpdateLayout();
46
46
 
47
- bool IsWindowed() override {
48
- return true;
49
- }
50
-
51
47
  private:
52
48
  bool m_autoFocus{true};
53
49
  double m_verticalOffset{0};
@@ -132,7 +128,7 @@ void PopupShadowNode::AddView(ShadowNode &child, int64_t index) {
132
128
 
133
129
  control.Content(childView);
134
130
 
135
- m_touchEventHandler->AddTouchHandlers(childView);
131
+ m_touchEventHandler->AddTouchHandlers(childView, GetRootView());
136
132
  m_previewKeyboardEventHandlerOnRoot->hook(childView);
137
133
  }
138
134