react-native-windows 0.72.13 → 0.73.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/.flowconfig +16 -5
  2. package/Chakra/ChakraHelpers.cpp +1 -1
  3. package/Chakra/ChakraUtils.cpp +1 -1
  4. package/Chakra/ChakraValue.h +1 -1
  5. package/Common/packages.lock.json +13 -0
  6. package/Directory.Build.props +6 -2
  7. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
  8. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
  9. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Folly/packages.lock.json +23 -0
  12. package/Libraries/Animated/Animated.js +1 -1
  13. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  14. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  15. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  16. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  17. package/Libraries/Animated/animations/Animation.js +57 -3
  18. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  19. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  20. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  21. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  22. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  23. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  25. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  27. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  28. package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
  29. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  31. package/Libraries/Animated/useAnimatedProps.js +9 -10
  32. package/Libraries/AppState/AppState.d.ts +1 -1
  33. package/Libraries/AppState/NativeAppState.js +8 -4
  34. package/Libraries/AppTheme/AppTheme.js +5 -5
  35. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  36. package/Libraries/Blob/Blob.js +6 -2
  37. package/Libraries/Blob/BlobManager.js +9 -10
  38. package/Libraries/Blob/BlobRegistry.js +14 -9
  39. package/Libraries/Blob/File.js +1 -1
  40. package/Libraries/Blob/FileReader.js +1 -2
  41. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  43. package/Libraries/Components/Glyph/Glyph.js +1 -1
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  45. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
  46. package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
  47. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  48. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
  49. package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
  50. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  51. package/Libraries/Components/Pressable/Pressable.js +3 -2
  52. package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
  53. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  57. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
  58. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  59. package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
  60. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  61. package/Libraries/Components/Switch/Switch.js +1 -0
  62. package/Libraries/Components/Switch/Switch.windows.js +259 -0
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  64. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  65. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  66. package/Libraries/Components/TextInput/TextInput.js +62 -10
  67. package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
  68. package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
  70. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  71. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  72. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  74. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  75. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  77. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
  78. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  79. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  80. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  81. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  82. package/Libraries/Components/View/View.js +46 -32
  83. package/Libraries/Components/View/View.windows.js +23 -7
  84. package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
  85. package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
  86. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  87. package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
  88. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  89. package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
  90. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  91. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  92. package/Libraries/Core/ExceptionsManager.js +16 -7
  93. package/Libraries/Core/ExtendedError.js +12 -0
  94. package/Libraries/Core/ReactNativeVersion.js +3 -3
  95. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  96. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  97. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  98. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  99. package/Libraries/Core/setUpMutationObserver.js +16 -0
  100. package/Libraries/Core/setUpPerformance.js +6 -13
  101. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  102. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  103. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  104. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  105. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  106. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  107. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  108. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  109. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  110. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  111. package/Libraries/Image/Image.android.js +8 -2
  112. package/Libraries/Image/Image.d.ts +1 -1
  113. package/Libraries/Image/Image.ios.js +4 -1
  114. package/Libraries/Image/Image.windows.js +6 -3
  115. package/Libraries/Image/ImageBackground.js +3 -0
  116. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  117. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  118. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  119. package/Libraries/Interaction/PanResponder.js +1 -4
  120. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  121. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  122. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  123. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  124. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  125. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +2 -1
  127. package/Libraries/Lists/FlatList.js +15 -5
  128. package/Libraries/Lists/SectionList.js +4 -0
  129. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  130. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  131. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  136. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  137. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  138. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  139. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  140. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  141. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  143. package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
  144. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
  145. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  146. package/Libraries/Network/RCTNetworking.android.js +2 -1
  147. package/Libraries/Network/XMLHttpRequest.js +1 -1
  148. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
  149. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
  150. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  151. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  152. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  153. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  154. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  155. package/Libraries/Pressability/Pressability.js +28 -3
  156. package/Libraries/Pressability/Pressability.windows.js +30 -5
  157. package/Libraries/ReactNative/AppContainer.js +2 -3
  158. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  159. package/Libraries/ReactNative/AppRegistry.js +66 -53
  160. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  161. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  162. package/Libraries/ReactNative/I18nManager.js +5 -11
  163. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  164. package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
  165. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  166. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  167. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  168. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  169. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  170. package/Libraries/ReactNative/UIManager.js +8 -0
  171. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  173. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  174. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  175. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  176. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  177. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  178. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  179. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  180. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  181. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  182. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  183. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  184. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  185. package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
  186. package/Libraries/Share/Share.d.ts +3 -9
  187. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  188. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  189. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
  190. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  191. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  192. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  193. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  194. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  195. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  196. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  197. package/Libraries/StyleSheet/processColor.js +1 -2
  198. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  199. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  200. package/Libraries/Text/Text.d.ts +5 -5
  201. package/Libraries/Text/Text.js +17 -10
  202. package/Libraries/Text/Text.windows.js +53 -20
  203. package/Libraries/Text/TextProps.windows.js +275 -0
  204. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  205. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  206. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  207. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  208. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  209. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  210. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  211. package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
  212. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  213. package/Libraries/Utilities/Platform.android.js +12 -8
  214. package/Libraries/Utilities/Platform.d.ts +1 -0
  215. package/Libraries/Utilities/Platform.flow.js +84 -0
  216. package/Libraries/Utilities/Platform.flow.windows.js +111 -0
  217. package/Libraries/Utilities/Platform.ios.js +12 -8
  218. package/Libraries/Utilities/Platform.windows.js +12 -8
  219. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  220. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  221. package/Libraries/Utilities/SceneTracker.js +1 -1
  222. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  223. package/Libraries/Utilities/useColorScheme.js +7 -8
  224. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  225. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  226. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  227. package/Libraries/WebPerformance/Performance.js +42 -15
  228. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  229. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  230. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  231. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  232. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  233. package/Libraries/__tests__/ViewWindows-test.js +3 -3
  234. package/Libraries/platform-types.d.ts +6 -2
  235. package/Libraries/promiseRejectionTrackingOptions.js +1 -3
  236. package/Libraries/vendor/emitter/EventEmitter.js +20 -18
  237. package/Microsoft.ReactNative/Composition.Input.idl +103 -0
  238. package/Microsoft.ReactNative/CompositionContext.idl +31 -8
  239. package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
  240. package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
  241. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
  242. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
  243. package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
  244. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
  245. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
  246. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
  247. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
  248. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
  249. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
  250. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
  251. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
  252. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
  253. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
  254. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
  255. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
  256. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
  257. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
  258. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
  259. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
  260. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
  261. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
  262. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
  263. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
  264. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
  265. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
  266. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
  267. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
  268. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
  269. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
  270. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
  271. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
  272. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
  273. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
  274. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
  276. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
  277. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
  278. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
  279. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
  280. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
  281. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
  282. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
  283. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
  284. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
  285. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
  286. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
  287. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
  288. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
  289. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
  290. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
  291. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
  292. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
  293. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
  294. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
  295. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
  296. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
  297. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  298. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
  299. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
  300. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
  301. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
  302. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
  303. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
  304. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
  305. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
  306. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
  307. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
  308. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
  309. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
  310. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  311. package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
  312. package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
  313. package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
  314. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
  315. package/Microsoft.ReactNative/IReactContext.cpp +1 -1
  316. package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
  317. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
  318. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
  319. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
  320. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
  321. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
  322. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
  323. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  324. package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
  325. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
  326. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
  327. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
  328. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
  329. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
  330. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
  331. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
  332. package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
  333. package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
  334. package/Microsoft.ReactNative/ReactApplication.h +4 -4
  335. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
  336. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
  337. package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
  338. package/Microsoft.ReactNative/ReactHost/React.h +3 -6
  339. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
  340. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
  341. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
  342. package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
  343. package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
  344. package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
  345. package/Microsoft.ReactNative/ReactRootView.h +2 -2
  346. package/Microsoft.ReactNative/ReactSupport.h +1 -1
  347. package/Microsoft.ReactNative/RedBox.cpp +1 -1
  348. package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
  349. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
  350. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
  351. package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
  352. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
  353. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
  354. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
  355. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
  356. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
  357. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
  358. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
  359. package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
  360. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  361. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
  362. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
  363. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
  364. package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
  365. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
  366. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
  367. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
  368. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
  369. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  370. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
  371. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  372. package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
  373. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
  374. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
  375. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
  376. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
  377. package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
  378. package/Microsoft.ReactNative/XamlHelper.h +1 -1
  379. package/Microsoft.ReactNative/packages.lock.json +128 -0
  380. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
  381. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
  382. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
  383. package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
  384. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
  385. package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
  386. package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
  387. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
  388. package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
  389. package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
  390. package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
  391. package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
  392. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
  393. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
  394. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
  395. package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
  396. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
  397. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
  398. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
  399. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
  400. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
  401. package/Mso/compilerAdapters/compilerFeatures.h +1 -1
  402. package/Mso/compilerAdapters/functionDecorations.h +6 -6
  403. package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
  404. package/Mso/dispatchQueue/dispatchQueue.h +3 -3
  405. package/Mso/motifCpp/motifCppTest.h +1 -1
  406. package/Mso/motifCpp/testCheck.h +1 -1
  407. package/Mso/oacr/oacr.h +1 -1
  408. package/Mso/smartPtr/smartPointerBase.h +1 -1
  409. package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
  410. package/Mso/src/dispatchQueue/queueService.cpp +1 -1
  411. package/Mso/src/dispatchQueue/taskQueue.h +1 -1
  412. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
  413. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
  414. package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
  415. package/Mso/src/future/futureImpl.cpp +5 -5
  416. package/Mso/src/future/futureImpl.h +1 -1
  417. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  418. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
  419. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
  420. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
  421. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
  422. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
  423. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
  424. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  425. package/PropertySheets/HybridCRT.props +34 -0
  426. package/PropertySheets/JSEngine.props +1 -2
  427. package/PropertySheets/React.Cpp.props +0 -1
  428. package/PropertySheets/Warnings.props +1 -1
  429. package/PropertySheets/WinUI.props +1 -1
  430. package/ReactCommon/ReactCommon.vcxproj +15 -9
  431. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
  444. package/ReactCommon/Yoga.cpp +497 -3895
  445. package/ReactCommon/packages.lock.json +30 -0
  446. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
  447. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  448. package/Scripts/rnw-dependencies.ps1 +79 -26
  449. package/Shared/BaseScriptStoreImpl.cpp +42 -13
  450. package/Shared/BaseScriptStoreImpl.h +1 -1
  451. package/Shared/Composition/AutoDraw.h +36 -0
  452. package/Shared/CxxMessageQueue.cpp +1 -1
  453. package/Shared/DevSettings.h +3 -0
  454. package/Shared/DevSupportManager.h +1 -1
  455. package/Shared/Hasher.cpp +64 -0
  456. package/Shared/Hasher.h +24 -0
  457. package/Shared/HermesRuntimeHolder.cpp +6 -6
  458. package/Shared/IDevSupportManager.h +1 -1
  459. package/Shared/JSI/ChakraApi.cpp +1 -1
  460. package/Shared/JSI/ChakraRuntime.cpp +10 -10
  461. package/Shared/JSI/ChakraRuntime.h +6 -6
  462. package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
  463. package/Shared/Modules/IRequestBodyHandler.h +1 -1
  464. package/Shared/Modules/IUriHandler.h +1 -1
  465. package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
  466. package/Shared/Modules/WebSocketModule.cpp +1 -1
  467. package/Shared/Networking/DefaultBlobResource.cpp +2 -2
  468. package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
  469. package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
  470. package/Shared/OInstance.cpp +9 -23
  471. package/Shared/OInstance.h +1 -1
  472. package/Shared/PackagerConnection.h +1 -1
  473. package/Shared/SafeLoadLibrary.cpp +8 -44
  474. package/Shared/SafeLoadLibrary.h +1 -5
  475. package/Shared/Shared.vcxitems +50 -20
  476. package/Shared/Shared.vcxitems.filters +26 -17
  477. package/Shared/Threading/BatchingQueueThread.cpp +5 -5
  478. package/Shared/Threading/BatchingQueueThread.h +4 -4
  479. package/Shared/TurboModuleManager.cpp +1 -1
  480. package/Shared/Utils.cpp +1 -1
  481. package/Shared/tracing/fbsystrace.h +1 -1
  482. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  483. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  484. package/codegen/NativeAppStateSpec.g.h +11 -21
  485. package/codegen/NativeDeviceInfoSpec.g.h +4 -14
  486. package/codegen/NativeI18nManagerSpec.g.h +6 -16
  487. package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
  488. package/codegen/NativeMutationObserverSpec.g.h +90 -0
  489. package/codegen/NativePerformanceObserverSpec.g.h +19 -13
  490. package/codegen/NativePerformanceSpec.g.h +6 -23
  491. package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
  492. package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
  493. package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
  494. package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
  495. package/codegen/NativeSourceCodeSpec.g.h +3 -13
  496. package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
  497. package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
  498. package/codegen/react/components/rnwcore/Props.h +16 -17
  499. package/codegen/rnwcoreJSI-generated.cpp +1462 -319
  500. package/codegen/rnwcoreJSI.h +1609 -462
  501. package/fmt/packages.lock.json +13 -0
  502. package/index.windows.js +3 -3
  503. package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
  504. package/jest/__tests__/setup-test.js +18 -0
  505. package/jest/mockModal.js +6 -4
  506. package/jest/setup.js +61 -30
  507. package/just-task.js +1 -0
  508. package/package.json +37 -42
  509. package/template/cs-app/proj/MyApp.csproj +0 -1
  510. package/template/cs-lib/proj/MyLib.csproj +0 -1
  511. package/templates/.clang-format +4 -0
  512. package/templates/cpp-app/metro.config.js +51 -0
  513. package/templates/cpp-app/template.config.js +119 -0
  514. package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
  515. package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
  516. package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
  517. package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
  518. package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
  519. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
  520. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
  521. package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
  522. package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
  523. package/templates/cpp-app/windows/MyApp/pch.h +35 -0
  524. package/templates/cpp-app/windows/MyApp/resource.h +18 -0
  525. package/templates/cpp-app/windows/MyApp/small.ico +0 -0
  526. package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
  527. package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
  528. package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
  529. package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
  530. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
  531. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  532. package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
  533. package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
  534. package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
  535. package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
  536. package/templates/cpp-app/windows/MyApp.sln +176 -0
  537. package/templates/cpp-app/windows/_gitignore +41 -0
  538. package/templates/old/generateWrapper.js +67 -0
  539. package/templates/old/uwp-cpp-app/template.config.js +15 -0
  540. package/templates/old/uwp-cpp-lib/template.config.js +15 -0
  541. package/templates/old/uwp-cs-app/template.config.js +15 -0
  542. package/templates/old/uwp-cs-lib/template.config.js +15 -0
  543. package/types/experimental.d.ts +44 -0
  544. package/types/index.d.ts +2 -1
  545. package/types/modules/Devtools.d.ts +1 -0
  546. package/types/modules/globals.d.ts +16 -1
  547. package/Libraries/Components/View/ViewWindows.d.ts +0 -19
  548. package/Libraries/Components/View/ViewWindows.js +0 -22
  549. package/Libraries/Components/View/ViewWindows.js.map +0 -1
  550. package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
  551. package/Libraries/Components/View/ViewWindowsProps.js +0 -8
  552. package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
  553. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  554. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  555. package/Libraries/Utilities/useColorScheme.windows.js +0 -26
  556. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
  557. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
  558. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
  559. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
  560. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
  561. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
  562. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
  563. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
  564. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
  565. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
  566. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
  567. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
  568. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
  569. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
  570. package/Shared/V8JSIRuntimeHolder.cpp +0 -71
  571. package/Shared/V8JSIRuntimeHolder.h +0 -56
  572. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
  573. package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
  574. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
  575. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
  576. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
  577. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
  578. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
  579. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
  580. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
  581. package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
  582. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
  583. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
  584. package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
  585. package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
  586. /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
  587. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
@@ -43,12 +43,31 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
43
43
  facebook::react::Props::Shared props() noexcept override;
44
44
  void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept override;
45
45
  int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
46
- facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept override;
46
+ facebook::react::Tag hitTest(
47
+ facebook::react::Point pt,
48
+ facebook::react::Point &localPt,
49
+ bool ignorePointerEvents = false) const noexcept override;
47
50
  void OnRenderingDeviceLost() noexcept override;
48
51
  winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
49
52
  void onFocusLost() noexcept override;
50
53
  void onFocusGained() noexcept override;
51
54
  bool focusable() const noexcept override;
55
+ std::string DefaultControlType() const noexcept override;
56
+ std::string DefaultAccessibleName() const noexcept override;
57
+ std::string DefaultHelpText() const noexcept override;
58
+ void onPointerPressed(
59
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
60
+ void onPointerReleased(
61
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
62
+ void onPointerMoved(
63
+ const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
64
+
65
+ void onKeyDown(
66
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
67
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept;
68
+ void onKeyUp(
69
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
70
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept;
52
71
 
53
72
  private:
54
73
  WindowsTextInputComponentView(
@@ -67,6 +86,7 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
67
86
  void ensureDrawingSurface() noexcept;
68
87
  void DrawText() noexcept;
69
88
  void ShowCaret(bool show) noexcept;
89
+ winrt::com_ptr<::IDWriteTextLayout> CreatePlaceholderLayout();
70
90
  void UpdateCharFormat() noexcept;
71
91
  void UpdateParaFormat() noexcept;
72
92
  void UpdateText(const std::string &str) noexcept;
@@ -75,10 +95,10 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
75
95
  std::string GetTextFromRichEdit() const noexcept;
76
96
 
77
97
  winrt::Windows::UI::Composition::CompositionSurfaceBrush m_brush{nullptr};
78
- winrt::Microsoft::ReactNative::Composition::SpriteVisual m_visual{nullptr};
98
+ winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual{nullptr};
79
99
  winrt::Microsoft::ReactNative::Composition::ICaretVisual m_caretVisual{nullptr};
80
100
  winrt::Microsoft::ReactNative::ReactContext m_context;
81
- winrt::Microsoft::ReactNative::Composition::ICompositionDrawingSurface m_drawingSurface{nullptr};
101
+ winrt::Microsoft::ReactNative::Composition::IDrawingSurfaceBrush m_drawingSurface{nullptr};
82
102
 
83
103
  // Used by ITextHost impl
84
104
  CHARFORMAT2W m_cf;
@@ -89,6 +109,7 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
89
109
  unsigned int m_imgWidth{0}, m_imgHeight{0};
90
110
  std::shared_ptr<facebook::react::WindowsTextInputProps const> m_props;
91
111
  std::shared_ptr<facebook::react::WindowsTextInputShadowNode::ConcreteState const> m_state;
112
+ RECT m_rcClient;
92
113
  int m_mostRecentEventCount{0};
93
114
  int m_nativeEventCount{0};
94
115
  bool m_comingFromJS{false};
@@ -32,6 +32,7 @@ WindowsTextInputProps::WindowsTextInputProps(
32
32
  placeholderTextColor(
33
33
  convertRawProp(context, rawProps, "placeholderTextColor", sourceProps.placeholderTextColor, {})),
34
34
  scrollEnabled(convertRawProp(context, rawProps, "scrollEnabled", sourceProps.scrollEnabled, {true})),
35
+ cursorColor(convertRawProp(context, rawProps, "cursorColor", sourceProps.cursorColor, {})),
35
36
  selection(convertRawProp(context, rawProps, "selection", sourceProps.selection, {})),
36
37
  selectionColor(convertRawProp(context, rawProps, "selectionColor", sourceProps.selectionColor, {})),
37
38
  selectTextOnFocus(convertRawProp(context, rawProps, "selectTextOnFocus", sourceProps.selectTextOnFocus, {false})),
@@ -16,7 +16,7 @@ struct CompWindowsTextInputSelectionStruct {
16
16
 
17
17
  static inline void
18
18
  fromRawValue(const PropsParserContext &context, const RawValue &value, CompWindowsTextInputSelectionStruct &result) {
19
- auto map = (butter::map<std::string, RawValue>)value;
19
+ auto map = (std::unordered_map<std::string, RawValue>)value;
20
20
 
21
21
  auto tmp_start = map.find("start");
22
22
  if (tmp_start != map.end()) {
@@ -44,7 +44,7 @@ static inline void fromRawValue(
44
44
  const PropsParserContext &context,
45
45
  const RawValue &value,
46
46
  CompWindowsTextInputSubmitKeyEventsStruct &result) {
47
- auto map = (butter::map<std::string, RawValue>)value;
47
+ auto map = (std::unordered_map<std::string, RawValue>)value;
48
48
 
49
49
  auto tmp_altKey = map.find("altKey");
50
50
  if (tmp_altKey != map.end()) {
@@ -103,6 +103,7 @@ class WindowsTextInputProps final : public ViewProps, public BaseTextProps {
103
103
  std::string placeholder{};
104
104
  SharedColor placeholderTextColor{};
105
105
  bool scrollEnabled{true};
106
+ SharedColor cursorColor{};
106
107
  CompWindowsTextInputSelectionStruct selection{};
107
108
  SharedColor selectionColor{};
108
109
  bool selectTextOnFocus{false};
@@ -86,7 +86,7 @@ void WindowsTextInputShadowNode::setTextLayoutManager(SharedTextLayoutManager te
86
86
  }
87
87
 
88
88
  AttributedString WindowsTextInputShadowNode::getMostRecentAttributedString() const {
89
- auto const &state = getStateData();
89
+ const auto &state = getStateData();
90
90
 
91
91
  auto reactTreeAttributedString = getAttributedString();
92
92
 
@@ -104,7 +104,7 @@ void WindowsTextInputShadowNode::updateStateIfNeeded() {
104
104
  ensureUnsealed();
105
105
 
106
106
  auto reactTreeAttributedString = getAttributedString();
107
- auto const &state = getStateData();
107
+ const auto &state = getStateData();
108
108
 
109
109
  // Tree is often out of sync with the value of the TextInput.
110
110
  // This is by design - don't change the value of the TextInput in the State,
@@ -141,9 +141,7 @@ void WindowsTextInputShadowNode::updateStateIfNeeded() {
141
141
  newEventCount,
142
142
  newAttributedString,
143
143
  reactTreeAttributedString,
144
- {}, // TODO getConcreteProps().paragraphAttributes,
145
- defaultTextAttributes,
146
- ShadowView(*this),
144
+ {},
147
145
  state.defaultThemePaddingStart,
148
146
  state.defaultThemePaddingEnd,
149
147
  state.defaultThemePaddingTop,
@@ -153,8 +151,8 @@ void WindowsTextInputShadowNode::updateStateIfNeeded() {
153
151
  #pragma mark - LayoutableShadowNode
154
152
 
155
153
  Size WindowsTextInputShadowNode::measureContent(
156
- LayoutContext const & /*layoutContext*/,
157
- LayoutConstraints const &layoutConstraints) const {
154
+ const LayoutContext & /*layoutContext*/,
155
+ const LayoutConstraints &layoutConstraints) const {
158
156
  if (getStateData().cachedAttributedStringId != 0) {
159
157
  return m_textLayoutManager
160
158
  ->measureCachedSpannableById(
@@ -3,8 +3,8 @@
3
3
 
4
4
  #pragma once
5
5
 
6
- #include <butter/map.h>
7
6
  #include <react/renderer/components/rnwcore/EventEmitters.h>
7
+ #include <unordered_map>
8
8
  #include "WindowsTextInputEventEmitter.h"
9
9
  #include "WindowsTextInputProps.h"
10
10
  #include "WindowsTextInputState.h"
@@ -15,8 +15,7 @@
15
15
  #include <react/renderer/attributedstring/AttributedString.h>
16
16
  #include <react/renderer/textlayoutmanager/TextLayoutManager.h>
17
17
 
18
- namespace facebook {
19
- namespace react {
18
+ namespace facebook::react {
20
19
 
21
20
  extern const char WindowsTextInputComponentName[];
22
21
 
@@ -55,7 +54,7 @@ class WindowsTextInputShadowNode final : public ConcreteViewShadowNode<
55
54
 
56
55
  #pragma mark - LayoutableShadowNode
57
56
 
58
- Size measureContent(LayoutContext const &layoutContext, LayoutConstraints const &layoutConstraints) const override;
57
+ Size measureContent(const LayoutContext &layoutContext, const LayoutConstraints &layoutConstraints) const override;
59
58
  void layout(LayoutContext layoutContext) override;
60
59
 
61
60
  private:
@@ -81,5 +80,4 @@ class WindowsTextInputShadowNode final : public ConcreteViewShadowNode<
81
80
  mutable std::optional<AttributedString> m_cachedAttributedString{};
82
81
  };
83
82
 
84
- } // namespace react
85
- } // namespace facebook
83
+ } // namespace facebook::react
@@ -21,8 +21,6 @@ WindowsTextInputState::WindowsTextInputState(
21
21
  AttributedString attributedString,
22
22
  AttributedString reactTreeAttributedString,
23
23
  ParagraphAttributes paragraphAttributes,
24
- TextAttributes defaultTextAttributes,
25
- ShadowView defaultParentShadowView,
26
24
  float defaultThemePaddingStart,
27
25
  float defaultThemePaddingEnd,
28
26
  float defaultThemePaddingTop,
@@ -31,21 +29,17 @@ WindowsTextInputState::WindowsTextInputState(
31
29
  attributedString(std::move(attributedString)),
32
30
  reactTreeAttributedString(std::move(reactTreeAttributedString)),
33
31
  paragraphAttributes(std::move(paragraphAttributes)),
34
- defaultTextAttributes(std::move(defaultTextAttributes)),
35
- defaultParentShadowView(std::move(defaultParentShadowView)),
36
32
  defaultThemePaddingStart(defaultThemePaddingStart),
37
33
  defaultThemePaddingEnd(defaultThemePaddingEnd),
38
34
  defaultThemePaddingTop(defaultThemePaddingTop),
39
35
  defaultThemePaddingBottom(defaultThemePaddingBottom) {}
40
36
 
41
- WindowsTextInputState::WindowsTextInputState(WindowsTextInputState const &previousState, folly::dynamic const &data)
37
+ WindowsTextInputState::WindowsTextInputState(const WindowsTextInputState &previousState, const folly::dynamic &data)
42
38
  : mostRecentEventCount(data.getDefault("mostRecentEventCount", previousState.mostRecentEventCount).getInt()),
43
39
  cachedAttributedStringId(data.getDefault("opaqueCacheId", previousState.cachedAttributedStringId).getInt()),
44
40
  attributedString(previousState.attributedString),
45
41
  reactTreeAttributedString(previousState.reactTreeAttributedString),
46
42
  paragraphAttributes(previousState.paragraphAttributes),
47
- defaultTextAttributes(previousState.defaultTextAttributes),
48
- defaultParentShadowView(previousState.defaultParentShadowView),
49
43
  defaultThemePaddingStart(
50
44
  data.getDefault("themePaddingStart", previousState.defaultThemePaddingStart).getDouble()),
51
45
  defaultThemePaddingEnd(data.getDefault("themePaddingEnd", previousState.defaultThemePaddingEnd).getDouble()),
@@ -44,20 +44,6 @@ class WindowsTextInputState final {
44
44
  */
45
45
  ParagraphAttributes paragraphAttributes{};
46
46
 
47
- /**
48
- * Default TextAttributes used if we need to construct a new Fragment.
49
- * Only used if text is inserted into an AttributedString with no existing
50
- * Fragments.
51
- */
52
- TextAttributes defaultTextAttributes;
53
-
54
- /**
55
- * Default parent ShadowView used if we need to construct a new Fragment.
56
- * Only used if text is inserted into an AttributedString with no existing
57
- * Fragments.
58
- */
59
- ShadowView defaultParentShadowView;
60
-
61
47
  /**
62
48
  * Communicates Android theme padding back to the ShadowNode / Component
63
49
  * Descriptor for layout.
@@ -72,15 +58,13 @@ class WindowsTextInputState final {
72
58
  AttributedString attributedString,
73
59
  AttributedString reactTreeAttributedString,
74
60
  ParagraphAttributes paragraphAttributes,
75
- TextAttributes defaultTextAttributes,
76
- ShadowView defaultParentShadowView,
77
61
  float defaultThemePaddingStart,
78
62
  float defaultThemePaddingEnd,
79
63
  float defaultThemePaddingTop,
80
64
  float defaultThemePaddingBottom);
81
65
 
82
66
  WindowsTextInputState() = default;
83
- WindowsTextInputState(WindowsTextInputState const &previousState, folly::dynamic const &data);
67
+ WindowsTextInputState(const WindowsTextInputState &previousState, const folly::dynamic &data);
84
68
  folly::dynamic getDynamic() const;
85
69
  MapBuffer getMapBuffer() const;
86
70
  };
@@ -1,7 +1,10 @@
1
1
  #include "pch.h"
2
2
  #include "UiaHelpers.h"
3
3
  #include <Fabric/Composition/CompositionViewComponentView.h>
4
+ #include <atlcomcli.h>
4
5
  #include <inspectable.h>
6
+ #include "CompositionRootAutomationProvider.h"
7
+ #include "RootComponentView.h"
5
8
 
6
9
  namespace winrt::Microsoft::ReactNative::implementation {
7
10
 
@@ -61,12 +64,80 @@ HRESULT UiaNavigateHelper(
61
64
  } break;
62
65
  }
63
66
 
64
- if (uiaProvider != nullptr) {
65
- winrt::com_ptr<IRawElementProviderFragment> spFragment;
66
- uiaProvider.as(spFragment);
67
+ auto spFragment = uiaProvider.try_as<IRawElementProviderFragment>();
68
+ if (spFragment != nullptr) {
67
69
  retVal = spFragment.detach();
68
70
  }
71
+
69
72
  return S_OK;
70
73
  }
71
74
 
75
+ HRESULT UiaGetBoundingRectangleHelper(::Microsoft::ReactNative::ReactTaggedView &view, UiaRect &rect) noexcept {
76
+ auto strongView = view.view();
77
+
78
+ if (strongView == nullptr) {
79
+ return UIA_E_ELEMENTNOTAVAILABLE;
80
+ }
81
+
82
+ auto clientRect = strongView->getClientRect();
83
+
84
+ rect.left = clientRect.left;
85
+ rect.top = clientRect.top;
86
+ rect.width = clientRect.right - clientRect.left;
87
+ rect.height = clientRect.bottom - clientRect.top;
88
+
89
+ return S_OK;
90
+ }
91
+
92
+ HRESULT UiaSetFocusHelper(::Microsoft::ReactNative::ReactTaggedView &view) noexcept {
93
+ auto strongView = view.view();
94
+
95
+ if (!strongView)
96
+ return UIA_E_ELEMENTNOTAVAILABLE;
97
+
98
+ auto rootCV = strongView->rootComponentView();
99
+ if (rootCV == nullptr)
100
+ return UIA_E_ELEMENTNOTAVAILABLE;
101
+
102
+ return rootCV->TrySetFocusedComponent(*strongView) ? S_OK : E_FAIL;
103
+ }
104
+
105
+ bool WasUiaPropertyAdvised(winrt::com_ptr<IRawElementProviderSimple> &providerSimple, PROPERTYID propId) noexcept {
106
+ auto spFragment = providerSimple.try_as<IRawElementProviderFragment>();
107
+ if (spFragment == nullptr)
108
+ return false;
109
+
110
+ winrt::com_ptr<IRawElementProviderFragmentRoot> spFragmentRoot;
111
+ spFragment->get_FragmentRoot(spFragmentRoot.put());
112
+ if (spFragmentRoot == nullptr)
113
+ return false;
114
+
115
+ auto rootProvider = static_cast<CompositionRootAutomationProvider *>(spFragmentRoot.get());
116
+
117
+ return rootProvider->WasPropertyAdvised(propId);
118
+ }
119
+
120
+ void UpdateUiaProperty(winrt::IInspectable provider, PROPERTYID propId, bool oldValue, bool newValue) noexcept {
121
+ auto spProviderSimple = provider.try_as<IRawElementProviderSimple>();
122
+
123
+ if (spProviderSimple == nullptr || oldValue == newValue || !WasUiaPropertyAdvised(spProviderSimple, propId))
124
+ return;
125
+
126
+ UiaRaiseAutomationPropertyChangedEvent(spProviderSimple.get(), propId, CComVariant(oldValue), CComVariant(newValue));
127
+ }
128
+
129
+ void UpdateUiaProperty(
130
+ winrt::IInspectable provider,
131
+ PROPERTYID propId,
132
+ const std::string &oldValue,
133
+ const std::string &newValue) noexcept {
134
+ auto spProviderSimple = provider.try_as<IRawElementProviderSimple>();
135
+
136
+ if (spProviderSimple == nullptr || oldValue == newValue || !WasUiaPropertyAdvised(spProviderSimple, propId))
137
+ return;
138
+
139
+ UiaRaiseAutomationPropertyChangedEvent(
140
+ spProviderSimple.get(), propId, CComVariant(oldValue.c_str()), CComVariant(newValue.c_str()));
141
+ }
142
+
72
143
  } // namespace winrt::Microsoft::ReactNative::implementation
@@ -13,4 +13,16 @@ UiaNavigateHelper(
13
13
  NavigateDirection direction,
14
14
  IRawElementProviderFragment *&retVal) noexcept;
15
15
 
16
+ HRESULT UiaGetBoundingRectangleHelper(::Microsoft::ReactNative::ReactTaggedView &view, UiaRect &rect) noexcept;
17
+
18
+ HRESULT UiaSetFocusHelper(::Microsoft::ReactNative::ReactTaggedView &view) noexcept;
19
+
20
+ void UpdateUiaProperty(winrt::IInspectable provider, PROPERTYID propId, bool oldValue, bool newValue) noexcept;
21
+
22
+ void UpdateUiaProperty(
23
+ winrt::IInspectable provider,
24
+ PROPERTYID propId,
25
+ const std::string &oldValue,
26
+ const std::string &newValue) noexcept;
27
+
16
28
  } // namespace winrt::Microsoft::ReactNative::implementation
@@ -7,6 +7,7 @@
7
7
  #include "UnimplementedNativeViewComponentView.h"
8
8
 
9
9
  #include <Fabric/DWriteHelpers.h>
10
+ #include "Composition/AutoDraw.h"
10
11
  #include "CompositionDynamicAutomationProvider.h"
11
12
  #include "Unicode.h"
12
13
 
@@ -30,15 +31,11 @@ std::shared_ptr<UnimplementedNativeViewComponentView> UnimplementedNativeViewCom
30
31
 
31
32
  void UnimplementedNativeViewComponentView::mountChildComponentView(
32
33
  IComponentView &childComponentView,
33
- uint32_t index) noexcept {
34
- assert(false);
35
- }
34
+ uint32_t index) noexcept {}
36
35
 
37
36
  void UnimplementedNativeViewComponentView::unmountChildComponentView(
38
37
  IComponentView &childComponentView,
39
- uint32_t index) noexcept {
40
- assert(false);
41
- }
38
+ uint32_t index) noexcept {}
42
39
 
43
40
  void UnimplementedNativeViewComponentView::updateProps(
44
41
  facebook::react::Props::Shared const &props,
@@ -62,16 +59,15 @@ void UnimplementedNativeViewComponentView::updateLayoutMetrics(
62
59
 
63
60
  winrt::Windows::Foundation::Size surfaceSize = {
64
61
  width * m_layoutMetrics.pointScaleFactor, height * m_layoutMetrics.pointScaleFactor};
65
- auto drawingSurface = m_compContext.CreateDrawingSurface(
62
+ auto drawingSurface = m_compContext.CreateDrawingSurfaceBrush(
66
63
  surfaceSize,
67
64
  winrt::Windows::Graphics::DirectX::DirectXPixelFormat::B8G8R8A8UIntNormalized,
68
65
  winrt::Windows::Graphics::DirectX::DirectXAlphaMode::Premultiplied);
69
66
 
70
- auto surfaceBrush = m_compContext.CreateSurfaceBrush(drawingSurface);
71
- surfaceBrush.HorizontalAlignmentRatio(0.f);
72
- surfaceBrush.VerticalAlignmentRatio(0.f);
73
- surfaceBrush.Stretch(winrt::Microsoft::ReactNative::Composition::CompositionStretch::None);
74
- m_visual.Brush(surfaceBrush);
67
+ drawingSurface.HorizontalAlignmentRatio(0.f);
68
+ drawingSurface.VerticalAlignmentRatio(0.f);
69
+ drawingSurface.Stretch(winrt::Microsoft::ReactNative::Composition::CompositionStretch::None);
70
+ m_visual.Brush(drawingSurface);
75
71
  m_visual.Size(surfaceSize);
76
72
  m_visual.Offset({
77
73
  layoutMetrics.frame.origin.x * layoutMetrics.pointScaleFactor,
@@ -79,52 +75,49 @@ void UnimplementedNativeViewComponentView::updateLayoutMetrics(
79
75
  0.0f,
80
76
  });
81
77
 
82
- winrt::com_ptr<ID2D1DeviceContext> d2dDeviceContext;
83
78
  POINT offset;
84
-
85
- winrt::com_ptr<Composition::ICompositionDrawingSurfaceInterop> drawingSurfaceInterop;
86
- drawingSurface.as(drawingSurfaceInterop);
87
-
88
- if (CheckForDeviceRemoved(drawingSurfaceInterop->BeginDraw(d2dDeviceContext.put(), &offset))) {
89
- d2dDeviceContext->Clear(D2D1::ColorF(D2D1::ColorF::Red, 0.3f));
90
- assert(d2dDeviceContext->GetUnitMode() == D2D1_UNIT_MODE_DIPS);
91
- const auto dpi = m_layoutMetrics.pointScaleFactor * 96.0f;
92
- float oldDpiX, oldDpiY;
93
- d2dDeviceContext->GetDpi(&oldDpiX, &oldDpiY);
94
- d2dDeviceContext->SetDpi(dpi, dpi);
95
-
96
- float offsetX = static_cast<float>(offset.x / m_layoutMetrics.pointScaleFactor);
97
- float offsetY = static_cast<float>(offset.y / m_layoutMetrics.pointScaleFactor);
98
-
99
- winrt::com_ptr<IDWriteTextFormat> spTextFormat;
100
- winrt::check_hresult(Microsoft::ReactNative::DWriteFactory()->CreateTextFormat(
101
- L"Segoe UI",
102
- nullptr, // Font collection (nullptr sets it to use the system font collection).
103
- DWRITE_FONT_WEIGHT_REGULAR,
104
- DWRITE_FONT_STYLE_NORMAL,
105
- DWRITE_FONT_STRETCH_NORMAL,
106
- 12,
107
- L"",
108
- spTextFormat.put()));
109
-
110
- winrt::com_ptr<ID2D1SolidColorBrush> textBrush;
111
- winrt::check_hresult(d2dDeviceContext->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::White), textBrush.put()));
112
-
113
- const D2D1_RECT_F rect = {
114
- static_cast<float>(offset.x), static_cast<float>(offset.y), width + offset.x, height + offset.y};
115
- // const D2D1_RECT_F rect = {0.f, 0.f, width, height};
116
-
117
- auto label = Microsoft::Common::Unicode::Utf8ToUtf16(std::string("Unimplemented component: ") + m_props->name);
118
- d2dDeviceContext->DrawText(
119
- label.c_str(),
120
- static_cast<UINT32>(label.length()),
121
- spTextFormat.get(),
122
- rect,
123
- textBrush.get(),
124
- D2D1_DRAW_TEXT_OPTIONS_NONE,
125
- DWRITE_MEASURING_MODE_NATURAL);
126
-
127
- winrt::check_hresult(drawingSurfaceInterop->EndDraw());
79
+ {
80
+ ::Microsoft::ReactNative::Composition::AutoDrawDrawingSurface autoDraw(drawingSurface, &offset);
81
+ if (auto d2dDeviceContext = autoDraw.GetRenderTarget()) {
82
+ d2dDeviceContext->Clear(D2D1::ColorF(D2D1::ColorF::Red, 0.3f));
83
+ assert(d2dDeviceContext->GetUnitMode() == D2D1_UNIT_MODE_DIPS);
84
+ const auto dpi = m_layoutMetrics.pointScaleFactor * 96.0f;
85
+ float oldDpiX, oldDpiY;
86
+ d2dDeviceContext->GetDpi(&oldDpiX, &oldDpiY);
87
+ d2dDeviceContext->SetDpi(dpi, dpi);
88
+
89
+ float offsetX = static_cast<float>(offset.x / m_layoutMetrics.pointScaleFactor);
90
+ float offsetY = static_cast<float>(offset.y / m_layoutMetrics.pointScaleFactor);
91
+
92
+ winrt::com_ptr<IDWriteTextFormat> spTextFormat;
93
+ winrt::check_hresult(Microsoft::ReactNative::DWriteFactory()->CreateTextFormat(
94
+ L"Segoe UI",
95
+ nullptr, // Font collection (nullptr sets it to use the system font collection).
96
+ DWRITE_FONT_WEIGHT_REGULAR,
97
+ DWRITE_FONT_STYLE_NORMAL,
98
+ DWRITE_FONT_STRETCH_NORMAL,
99
+ 12,
100
+ L"",
101
+ spTextFormat.put()));
102
+
103
+ winrt::com_ptr<ID2D1SolidColorBrush> textBrush;
104
+ winrt::check_hresult(
105
+ d2dDeviceContext->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::White), textBrush.put()));
106
+
107
+ const D2D1_RECT_F rect = {
108
+ static_cast<float>(offset.x), static_cast<float>(offset.y), width + offset.x, height + offset.y};
109
+ // const D2D1_RECT_F rect = {0.f, 0.f, width, height};
110
+
111
+ auto label = Microsoft::Common::Unicode::Utf8ToUtf16(std::string("Unimplemented component: ") + m_props->name);
112
+ d2dDeviceContext->DrawText(
113
+ label.c_str(),
114
+ static_cast<UINT32>(label.length()),
115
+ spTextFormat.get(),
116
+ rect,
117
+ textBrush.get(),
118
+ D2D1_DRAW_TEXT_OPTIONS_NONE,
119
+ DWRITE_MEASURING_MODE_NATURAL);
120
+ }
128
121
  }
129
122
  }
130
123
  m_layoutMetrics = layoutMetrics;
@@ -151,10 +144,11 @@ winrt::Microsoft::ReactNative::Composition::IVisual UnimplementedNativeViewCompo
151
144
 
152
145
  facebook::react::Tag UnimplementedNativeViewComponentView::hitTest(
153
146
  facebook::react::Point pt,
154
- facebook::react::Point &localPt) const noexcept {
147
+ facebook::react::Point &localPt,
148
+ bool ignorePointerEvents) const noexcept {
155
149
  facebook::react::Point ptLocal{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
156
150
 
157
- if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
151
+ if ((ignorePointerEvents || m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
158
152
  m_props->pointerEvents == facebook::react::PointerEventsMode::BoxOnly) &&
159
153
  ptLocal.x >= 0 && ptLocal.x <= m_layoutMetrics.frame.size.width && ptLocal.y >= 0 &&
160
154
  ptLocal.y <= m_layoutMetrics.frame.size.height) {
@@ -34,7 +34,8 @@ struct UnimplementedNativeViewComponentView : CompositionBaseComponentView {
34
34
  void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
35
35
  void prepareForRecycle() noexcept override;
36
36
  facebook::react::Props::Shared props() noexcept override;
37
- facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept override;
37
+ facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt, bool ignorePointerEvents)
38
+ const noexcept override;
38
39
  winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
39
40
  winrt::Microsoft::ReactNative::Composition::IVisual OuterVisual() const noexcept override;
40
41
 
@@ -43,7 +44,7 @@ struct UnimplementedNativeViewComponentView : CompositionBaseComponentView {
43
44
  const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
44
45
  facebook::react::Tag tag);
45
46
  std::shared_ptr<facebook::react::UnimplementedNativeViewProps const> m_props;
46
- winrt::Microsoft::ReactNative::Composition::SpriteVisual m_visual{nullptr};
47
+ winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual{nullptr};
47
48
  };
48
49
 
49
50
  } // namespace Microsoft::ReactNative
@@ -18,12 +18,12 @@
18
18
  #include <UI.Xaml.Controls.h>
19
19
  #include <react/components/rnwcore/ComponentDescriptors.h>
20
20
  #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
21
- #include <react/renderer/core/CoreFeatures.h>
22
21
  #include <react/renderer/core/DynamicPropsUtilities.h>
23
22
  #include <react/renderer/core/EventBeat.h>
24
23
  #include <react/renderer/scheduler/Scheduler.h>
25
24
  #include <react/renderer/scheduler/SchedulerToolbox.h>
26
25
  #include <react/utils/ContextContainer.h>
26
+ #include <react/utils/CoreFeatures.h>
27
27
  #include <runtimeexecutor/ReactCommon/RuntimeExecutor.h>
28
28
  #include <winrt/Windows.Graphics.Display.h>
29
29
  #include <winrt/Windows.UI.Composition.Desktop.h>
@@ -183,8 +183,8 @@ void FabricUIManager::startSurface(
183
183
 
184
184
  facebook::react::LayoutContext context;
185
185
  facebook::react::LayoutConstraints constraints;
186
- context.pointScaleFactor = static_cast<float>(CompositionRootView->ScaleFactor());
187
- context.fontSizeMultiplier = static_cast<float>(CompositionRootView->ScaleFactor());
186
+ context.pointScaleFactor = CompositionRootView->ScaleFactor();
187
+ context.fontSizeMultiplier = CompositionRootView->ScaleFactor();
188
188
  constraints.minimumSize.height = static_cast<float>(CompositionRootView->GetActualHeight());
189
189
  constraints.minimumSize.width = static_cast<float>(CompositionRootView->GetActualWidth());
190
190
  constraints.maximumSize.height = static_cast<float>(CompositionRootView->GetActualHeight());
@@ -347,7 +347,8 @@ void FabricUIManager::initiateTransaction(facebook::react::MountingCoordinator::
347
347
  } while (m_followUpTransactionRequired);
348
348
  }
349
349
 
350
- void FabricUIManager::schedulerDidFinishTransaction(facebook::react::MountingCoordinator::Shared mountingCoordinator) {
350
+ void FabricUIManager::schedulerDidFinishTransaction(
351
+ const facebook::react::MountingCoordinator::Shared &mountingCoordinator) {
351
352
  // Should cache this locally
352
353
 
353
354
  if (m_context.UIDispatcher().HasThreadAccess()) {
@@ -75,7 +75,8 @@ struct FabricUIManager final : public std::enable_shared_from_this<FabricUIManag
75
75
  std::unordered_map<facebook::react::SurfaceId, SurfaceInfo> m_surfaceRegistry;
76
76
 
77
77
  // Inherited via SchedulerDelegate
78
- virtual void schedulerDidFinishTransaction(facebook::react::MountingCoordinator::Shared mountingCoordinator) override;
78
+ virtual void schedulerDidFinishTransaction(
79
+ const facebook::react::MountingCoordinator::Shared &mountingCoordinator) override;
79
80
  virtual void schedulerDidRequestPreliminaryViewAllocation(
80
81
  facebook::react::SurfaceId surfaceId,
81
82
  const facebook::react::ShadowNode &shadowView) override;
@@ -37,4 +37,4 @@ const std::shared_ptr<const ImageResponseObserverCoordinator> &ImageRequest::get
37
37
  return coordinator_;
38
38
  }
39
39
 
40
- } // namespace facebook::react
40
+ } // namespace facebook::react
@@ -12,7 +12,7 @@ namespace Microsoft::ReactNative {
12
12
  * Lightweight wrapper class around a ComponentView with a react tag which registers a
13
13
  * constant react tag at initialization time for a stable hash and provides the
14
14
  * underlying view to a caller if that underlying view's react tag has not
15
- * changed from the one provided at initalization time (i.e. recycled).
15
+ * changed from the one provided at initialization time (i.e. recycled).
16
16
  */
17
17
  struct ReactTaggedView {
18
18
  ReactTaggedView(const std::shared_ptr<IComponentView> &componentView)
@@ -31,10 +31,9 @@ WindowsComponentDescriptorRegistryProperty() noexcept {
31
31
 
32
32
  WindowsComponentDescriptorRegistry::WindowsComponentDescriptorRegistry()
33
33
  : m_componentDescriptorRegistry(std::make_shared<facebook::react::ComponentDescriptorProviderRegistry>()) {
34
- /*
35
- m_componentDescriptorRegistry->add(facebook::react::concreteComponentDescriptorProvider<
36
- facebook::react::ActivityIndicatorViewComponentDescriptor>());
37
- */
34
+ m_componentDescriptorRegistry->add(facebook::react::concreteComponentDescriptorProvider<
35
+ facebook::react::ActivityIndicatorViewComponentDescriptor>());
36
+
38
37
  m_componentDescriptorRegistry->add(
39
38
  facebook::react::concreteComponentDescriptorProvider<facebook::react::ImageComponentDescriptor>());
40
39
  m_componentDescriptorRegistry->add(
@@ -0,0 +1,10 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #include <react/renderer/components/view/BaseTouch.h>
7
+
8
+ namespace facebook::react {
9
+ using HostPlatformTouch = BaseTouch;
10
+ } // namespace facebook::react