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
@@ -8,10 +8,18 @@
8
8
  * @flow strict
9
9
  */
10
10
 
11
- import type {HighResTimeStamp} from './PerformanceEntry';
11
+ import type {HighResTimeStamp, PerformanceEntryJSON} from './PerformanceEntry';
12
12
 
13
13
  import {PerformanceEntry} from './PerformanceEntry';
14
14
 
15
+ export type PerformanceEventTimingJSON = {
16
+ ...PerformanceEntryJSON,
17
+ processingStart: HighResTimeStamp,
18
+ processingEnd: HighResTimeStamp,
19
+ interactionId: number,
20
+ ...
21
+ };
22
+
15
23
  export class PerformanceEventTiming extends PerformanceEntry {
16
24
  processingStart: HighResTimeStamp;
17
25
  processingEnd: HighResTimeStamp;
@@ -35,4 +43,13 @@ export class PerformanceEventTiming extends PerformanceEntry {
35
43
  this.processingEnd = init.processingEnd ?? 0;
36
44
  this.interactionId = init.interactionId ?? 0;
37
45
  }
46
+
47
+ toJSON(): PerformanceEventTimingJSON {
48
+ return {
49
+ ...super.toJSON(),
50
+ processingStart: this.processingStart,
51
+ processingEnd: this.processingEnd,
52
+ interactionId: this.interactionId,
53
+ };
54
+ }
38
55
  }
@@ -11,23 +11,35 @@
11
11
 
12
12
  // flowlint unsafe-getters-setters:off
13
13
 
14
- import type {ReactNativeStartupTiming as ReactNativeStartupTimingType} from './NativePerformance';
14
+ type ReactNativeStartupTimingLike = {
15
+ startTime: ?number,
16
+ endTime: ?number,
17
+ initializeRuntimeStart: ?number,
18
+ initializeRuntimeEnd: ?number,
19
+ executeJavaScriptBundleEntryPointStart: ?number,
20
+ executeJavaScriptBundleEntryPointEnd: ?number,
21
+ };
15
22
 
16
23
  // Read-only object with RN startup timing information.
17
24
  // This is returned by the performance.reactNativeStartup API.
18
25
  export default class ReactNativeStartupTiming {
19
- // All time information here are in ms. To match web spec,
20
- // the default value for timings are zero if not present.
21
- // See https://www.w3.org/TR/performance-timeline/#performancetiming-interface
22
- _startTime = 0;
23
- _endTime = 0;
24
- _executeJavaScriptBundleEntryPointStart = 0;
25
- _executeJavaScriptBundleEntryPointEnd = 0;
26
+ // All time information here are in ms. The values may be null if not provided.
27
+ // We do NOT match web spect here for two reasons:
28
+ // 1. The `ReactNativeStartupTiming` is non-standard API
29
+ // 2. The timing information is relative to the time origin, which means `0` has valid meaning
30
+ _startTime: ?number;
31
+ _endTime: ?number;
32
+ _initializeRuntimeStart: ?number;
33
+ _initializeRuntimeEnd: ?number;
34
+ _executeJavaScriptBundleEntryPointStart: ?number;
35
+ _executeJavaScriptBundleEntryPointEnd: ?number;
26
36
 
27
- constructor(startUpTiming: ?ReactNativeStartupTimingType) {
37
+ constructor(startUpTiming: ?ReactNativeStartupTimingLike) {
28
38
  if (startUpTiming != null) {
29
39
  this._startTime = startUpTiming.startTime;
30
40
  this._endTime = startUpTiming.endTime;
41
+ this._initializeRuntimeStart = startUpTiming.initializeRuntimeStart;
42
+ this._initializeRuntimeEnd = startUpTiming.initializeRuntimeEnd;
31
43
  this._executeJavaScriptBundleEntryPointStart =
32
44
  startUpTiming.executeJavaScriptBundleEntryPointStart;
33
45
  this._executeJavaScriptBundleEntryPointEnd =
@@ -36,30 +48,44 @@ export default class ReactNativeStartupTiming {
36
48
  }
37
49
 
38
50
  /**
39
- * Start time of the RN app startup process. This is provided by the platform by implementing the `ReactMarker.setAppStartTime` API in the native platform code.
51
+ * Start time of the RN app startup process. This is provided by the platform by implementing the `ReactMarker.setAppStartTime` API in the native platform code.
40
52
  */
41
- get startTime(): number {
53
+ get startTime(): ?number {
42
54
  return this._startTime;
43
55
  }
44
56
 
45
57
  /**
46
58
  * End time of the RN app startup process. This is equal to `executeJavaScriptBundleEntryPointEnd`.
47
59
  */
48
- get endTime(): number {
60
+ get endTime(): ?number {
49
61
  return this._endTime;
50
62
  }
51
63
 
64
+ /**
65
+ * Start time when RN runtime get initialized. This is when RN infra first kicks in app startup process.
66
+ */
67
+ get initializeRuntimeStart(): ?number {
68
+ return this._initializeRuntimeStart;
69
+ }
70
+
71
+ /**
72
+ * End time when RN runtime get initialized. This is the last marker before ends of the app startup process.
73
+ */
74
+ get initializeRuntimeEnd(): ?number {
75
+ return this._initializeRuntimeEnd;
76
+ }
77
+
52
78
  /**
53
79
  * Start time of JS bundle being executed. This indicates the RN JS bundle is loaded and start to be evaluated.
54
80
  */
55
- get executeJavaScriptBundleEntryPointStart(): number {
81
+ get executeJavaScriptBundleEntryPointStart(): ?number {
56
82
  return this._executeJavaScriptBundleEntryPointStart;
57
83
  }
58
84
 
59
85
  /**
60
86
  * End time of JS bundle being executed. This indicates all the synchronous entry point jobs are finished.
61
87
  */
62
- get executeJavaScriptBundleEntryPointEnd(): number {
88
+ get executeJavaScriptBundleEntryPointEnd(): ?number {
63
89
  return this._executeJavaScriptBundleEntryPointEnd;
64
90
  }
65
91
  }
@@ -20,12 +20,12 @@ import {RawPerformanceEntryTypeValues} from '../RawPerformanceEntry';
20
20
  const marks: Map<string, number> = new Map();
21
21
 
22
22
  const NativePerformanceMock: NativePerformance = {
23
- mark: (name: string, startTime: number, duration: number): void => {
23
+ mark: (name: string, startTime: number): void => {
24
24
  NativePerformanceObserver?.logRawEntry({
25
25
  name,
26
26
  entryType: RawPerformanceEntryTypeValues.MARK,
27
27
  startTime,
28
- duration,
28
+ duration: 0,
29
29
  });
30
30
  marks.set(name, startTime);
31
31
  },
@@ -58,6 +58,8 @@ const NativePerformanceMock: NativePerformance = {
58
58
  endTime: 0,
59
59
  executeJavaScriptBundleEntryPointStart: 0,
60
60
  executeJavaScriptBundleEntryPointEnd: 0,
61
+ initializeRuntimeStart: 0,
62
+ initializeRuntimeEnd: 0,
61
63
  };
62
64
  },
63
65
  };
@@ -18,6 +18,7 @@ import type {
18
18
  import {RawPerformanceEntryTypeValues} from '../RawPerformanceEntry';
19
19
 
20
20
  const reportingType: Set<RawPerformanceEntryType> = new Set();
21
+ const isAlwaysLogged: Set<RawPerformanceEntryType> = new Set();
21
22
  const eventCounts: Map<string, number> = new Map();
22
23
  const durationThresholds: Map<RawPerformanceEntryType, number> = new Map();
23
24
  let entries: Array<RawPerformanceEntry> = [];
@@ -33,6 +34,19 @@ const NativePerformanceObserverMock: NativePerformanceObserver = {
33
34
  durationThresholds.delete(entryType);
34
35
  },
35
36
 
37
+ setIsBuffered: (
38
+ entryTypes: $ReadOnlyArray<RawPerformanceEntryType>,
39
+ isBuffered: boolean,
40
+ ) => {
41
+ for (const entryType of entryTypes) {
42
+ if (isBuffered) {
43
+ isAlwaysLogged.add(entryType);
44
+ } else {
45
+ isAlwaysLogged.delete(entryType);
46
+ }
47
+ }
48
+ },
49
+
36
50
  popPendingEntries: (): GetPendingEntriesResult => {
37
51
  const res = entries;
38
52
  entries = [];
@@ -47,7 +61,10 @@ const NativePerformanceObserverMock: NativePerformanceObserver = {
47
61
  },
48
62
 
49
63
  logRawEntry: (entry: RawPerformanceEntry) => {
50
- if (reportingType.has(entry.entryType)) {
64
+ if (
65
+ reportingType.has(entry.entryType) ||
66
+ isAlwaysLogged.has(entry.entryType)
67
+ ) {
51
68
  const durationThreshold = durationThresholds.get(entry.entryType);
52
69
  if (
53
70
  durationThreshold !== undefined &&
@@ -81,8 +98,9 @@ const NativePerformanceObserverMock: NativePerformanceObserver = {
81
98
  clearEntries: (entryType: RawPerformanceEntryType, entryName?: string) => {
82
99
  entries = entries.filter(
83
100
  e =>
84
- e.entryType === entryType &&
85
- (entryName == null || e.name === entryName),
101
+ (entryType !== RawPerformanceEntryTypeValues.UNDEFINED &&
102
+ e.entryType !== entryType) ||
103
+ (entryName != null && e.name !== entryName),
86
104
  );
87
105
  },
88
106
 
@@ -4,12 +4,12 @@
4
4
  const React = require('react');
5
5
  const ReactTestRenderer = require('react-test-renderer');
6
6
 
7
- const {ViewWindows} = require('../Components/View/ViewWindows');
7
+ const View = require('../Components/View/View');
8
8
 
9
- describe('ViewWindows', () => {
9
+ describe('View', () => {
10
10
  it('renders basic view', () => {
11
11
  const component = ReactTestRenderer.create(
12
- <ViewWindows/>
12
+ <View/>
13
13
  );
14
14
  expect(component).toMatchSnapshot();
15
15
  });
@@ -10,6 +10,10 @@ export {Glyph, GlyphProps, GlyphStyle} from './Components/Glyph/Glyph';
10
10
  export {IPopupProps, Popup} from './Components/Popup/Popup';
11
11
  export * from './Components/Keyboard/KeyboardExt';
12
12
  export * from './Components/Keyboard/KeyboardExtProps';
13
- export * from './Components/View/ViewWindowsProps';
14
- export * from './Components/View/ViewWindows';
13
+ import type {ViewProps} from './Components/View/ViewPropTypes';
14
+ export type IViewWindowsProps = ViewProps;
15
+ import {View} from './Components/View/View';
16
+ export const ViewWindows = View;
17
+ import type {View} from './Components/View/View';
18
+ export type ViewWindows = View;
15
19
  export * from './AppTheme/AppThemeTypes';
@@ -10,9 +10,7 @@
10
10
 
11
11
  import typeof {enable} from 'promise/setimmediate/rejection-tracking';
12
12
 
13
- type ExtractOptionsType = <P>(((options?: ?P) => void)) => P;
14
-
15
- let rejectionTrackingOptions: $Call<ExtractOptionsType, enable> = {
13
+ let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
16
14
  allRejections: true,
17
15
  onUnhandled: (id, rejection = {}) => {
18
16
  let message: string;
@@ -15,13 +15,13 @@ export interface EventSubscription {
15
15
  export interface IEventEmitter<TEventToArgsMap: {...}> {
16
16
  addListener<TEvent: $Keys<TEventToArgsMap>>(
17
17
  eventType: TEvent,
18
- listener: (...args: $ElementType<TEventToArgsMap, TEvent>) => mixed,
18
+ listener: (...args: TEventToArgsMap[TEvent]) => mixed,
19
19
  context?: mixed,
20
20
  ): EventSubscription;
21
21
 
22
22
  emit<TEvent: $Keys<TEventToArgsMap>>(
23
23
  eventType: TEvent,
24
- ...args: $ElementType<TEventToArgsMap, TEvent>
24
+ ...args: TEventToArgsMap[TEvent]
25
25
  ): void;
26
26
 
27
27
  removeAllListeners<TEvent: $Keys<TEventToArgsMap>>(eventType?: ?TEvent): void;
@@ -63,7 +63,7 @@ type Registry<TEventToArgsMap: {...}> = $ObjMap<
63
63
  export default class EventEmitter<TEventToArgsMap: {...}>
64
64
  implements IEventEmitter<TEventToArgsMap>
65
65
  {
66
- _registry: Registry<TEventToArgsMap> = {};
66
+ #registry: Registry<TEventToArgsMap> = {};
67
67
 
68
68
  /**
69
69
  * Registers a listener that is called when the supplied event is emitted.
@@ -71,7 +71,7 @@ export default class EventEmitter<TEventToArgsMap: {...}>
71
71
  */
72
72
  addListener<TEvent: $Keys<TEventToArgsMap>>(
73
73
  eventType: TEvent,
74
- listener: (...args: $ElementType<TEventToArgsMap, TEvent>) => mixed,
74
+ listener: (...args: TEventToArgsMap[TEvent]) => mixed,
75
75
  context: mixed,
76
76
  ): EventSubscription {
77
77
  if (typeof listener !== 'function') {
@@ -79,11 +79,12 @@ export default class EventEmitter<TEventToArgsMap: {...}>
79
79
  'EventEmitter.addListener(...): 2nd argument must be a function.',
80
80
  );
81
81
  }
82
- const registrations = allocate<_, _, TEventToArgsMap[TEvent]>(
83
- this._registry,
84
- eventType,
85
- );
86
- const registration: Registration<$ElementType<TEventToArgsMap, TEvent>> = {
82
+ const registrations = allocate<
83
+ TEventToArgsMap,
84
+ TEvent,
85
+ TEventToArgsMap[TEvent],
86
+ >(this.#registry, eventType);
87
+ const registration: Registration<TEventToArgsMap[TEvent]> = {
87
88
  context,
88
89
  listener,
89
90
  remove(): void {
@@ -103,13 +104,14 @@ export default class EventEmitter<TEventToArgsMap: {...}>
103
104
  */
104
105
  emit<TEvent: $Keys<TEventToArgsMap>>(
105
106
  eventType: TEvent,
106
- ...args: $ElementType<TEventToArgsMap, TEvent>
107
+ ...args: TEventToArgsMap[TEvent]
107
108
  ): void {
108
- const registrations: ?Set<
109
- Registration<$ElementType<TEventToArgsMap, TEvent>>,
110
- > = this._registry[eventType];
109
+ const registrations: ?Set<Registration<TEventToArgsMap[TEvent]>> =
110
+ this.#registry[eventType];
111
111
  if (registrations != null) {
112
- for (const registration of [...registrations]) {
112
+ // Copy `registrations` to take a snapshot when we invoke `emit`, in case
113
+ // registrations are added or removed when listeners are invoked.
114
+ for (const registration of Array.from(registrations)) {
113
115
  registration.listener.apply(registration.context, args);
114
116
  }
115
117
  }
@@ -122,9 +124,9 @@ export default class EventEmitter<TEventToArgsMap: {...}>
122
124
  eventType?: ?TEvent,
123
125
  ): void {
124
126
  if (eventType == null) {
125
- this._registry = {};
127
+ this.#registry = {};
126
128
  } else {
127
- delete this._registry[eventType];
129
+ delete this.#registry[eventType];
128
130
  }
129
131
  }
130
132
 
@@ -132,7 +134,7 @@ export default class EventEmitter<TEventToArgsMap: {...}>
132
134
  * Returns the number of registered listeners for the supplied event.
133
135
  */
134
136
  listenerCount<TEvent: $Keys<TEventToArgsMap>>(eventType: TEvent): number {
135
- const registrations: ?Set<Registration<mixed>> = this._registry[eventType];
137
+ const registrations: ?Set<Registration<mixed>> = this.#registry[eventType];
136
138
  return registrations == null ? 0 : registrations.size;
137
139
  }
138
140
  }
@@ -140,7 +142,7 @@ export default class EventEmitter<TEventToArgsMap: {...}>
140
142
  function allocate<
141
143
  TEventToArgsMap: {...},
142
144
  TEvent: $Keys<TEventToArgsMap>,
143
- TEventArgs: $ElementType<TEventToArgsMap, TEvent>,
145
+ TEventArgs: TEventToArgsMap[TEvent],
144
146
  >(
145
147
  registry: Registry<TEventToArgsMap>,
146
148
  eventType: TEvent,
@@ -0,0 +1,103 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "NamespaceRedirect.h"
5
+ #include "DocString.h"
6
+
7
+ namespace Microsoft.ReactNative.Composition.Input
8
+ {
9
+ interface KeyboardSource
10
+ {
11
+ Windows.UI.Core.CoreVirtualKeyStates GetKeyState(Windows.System.VirtualKey key);
12
+ }
13
+
14
+ interface RoutedEventArgs
15
+ {
16
+ Int32 OriginalSource { get; };
17
+ }
18
+
19
+ interface KeyRoutedEventArgs requires RoutedEventArgs
20
+ {
21
+ String DeviceId { get; };
22
+ Boolean Handled { get; set; };
23
+ Windows.System.VirtualKey Key { get; };
24
+ Windows.UI.Core.CorePhysicalKeyStatus KeyStatus { get; };
25
+ Windows.System.VirtualKey OriginalKey { get; };
26
+ }
27
+
28
+ interface IPointerPointTransform
29
+ {
30
+ IPointerPointTransform Inverse { get; };
31
+ Boolean TryTransform(Windows.Foundation.Point inPoint, out Windows.Foundation.Point outPoint);
32
+ Boolean TryTransformBounds(Windows.Foundation.Rect inRect, out Windows.Foundation.Rect outRect);
33
+ };
34
+
35
+ enum PointerDeviceType
36
+ {
37
+ Touch = 0,
38
+ Pen,
39
+ Mouse,
40
+ Touchpad,
41
+ };
42
+
43
+ enum PointerUpdateKind
44
+ {
45
+ Other = 0,
46
+ LeftButtonPressed,
47
+ LeftButtonReleased,
48
+ RightButtonPressed,
49
+ RightButtonReleased,
50
+ MiddleButtonPressed,
51
+ MiddleButtonReleased,
52
+ XButton1Pressed,
53
+ XButton1Released,
54
+ XButton2Pressed,
55
+ XButton2Released,
56
+ };
57
+
58
+ runtimeclass PointerPointProperties
59
+ {
60
+ Windows.Foundation.Rect ContactRect { get; };
61
+ Boolean IsBarrelButtonPressed { get; };
62
+ Boolean IsCanceled { get; };
63
+ Boolean IsEraser { get; };
64
+ Boolean IsHorizontalMouseWheel { get; };
65
+ Boolean IsInRange { get; };
66
+ Boolean IsInverted { get; };
67
+ Boolean IsLeftButtonPressed { get; };
68
+ Boolean IsMiddleButtonPressed { get; };
69
+ Boolean IsPrimary { get; };
70
+ Boolean IsRightButtonPressed { get; };
71
+ Boolean IsXButton1Pressed { get; };
72
+ Boolean IsXButton2Pressed { get; };
73
+ Int32 MouseWheelDelta { get; };
74
+ Single Orientation { get; };
75
+ PointerUpdateKind PointerUpdateKind{ get; };
76
+ Single Pressure { get; };
77
+ Boolean TouchConfidence { get; };
78
+ Single Twist { get; };
79
+ Single XTilt { get; };
80
+ Single YTilt { get; };
81
+ };
82
+
83
+ runtimeclass PointerPoint
84
+ {
85
+ UInt32 FrameId { get; };
86
+ Boolean IsInContact{ get; };
87
+ PointerDeviceType PointerDeviceType { get; };
88
+ UInt32 PointerId{ get; };
89
+ Windows.Foundation.Point Position { get; };
90
+ PointerPointProperties Properties{ get; };
91
+ UInt64 Timestamp { get; };
92
+ PointerPoint GetTransformedPoint(
93
+ IPointerPointTransform transform);
94
+ };
95
+
96
+ runtimeclass PointerRoutedEventArgs : RoutedEventArgs
97
+ {
98
+ PointerPoint GetCurrentPoint(Int32 tag);
99
+ Boolean Handled;
100
+ Windows.System.VirtualKeyModifiers KeyModifiers { get; };
101
+ };
102
+
103
+ } // namespace Microsoft.ReactNative.Composition.Input
@@ -11,21 +11,44 @@ namespace Microsoft.ReactNative.Composition
11
11
  [default_interface]
12
12
  [experimental]
13
13
  DOC_STRING("A helper static class for to create a @ICompositionContext based on Windows.Composition Visuals. And to access the underlying Windows.Composition objects from the abstraction.")
14
- static runtimeclass CompositionContextHelper
14
+ static runtimeclass WindowsCompositionContextHelper
15
15
  {
16
16
  DOC_STRING(
17
17
  "Creates a @ICompositionContext from a Compositor")
18
- static ICompositionContext CreateContext(COMP_NAMESPACE.Compositor compositor);
18
+ static ICompositionContext CreateContext(Windows.UI.Composition.Compositor compositor);
19
19
 
20
20
  DOC_STRING(
21
21
  "Creates a @IVisual from a Visual")
22
- static IVisual CreateVisual(COMP_NAMESPACE.Visual visual);
22
+ static IVisual CreateVisual(Windows.UI.Composition.Visual visual);
23
23
 
24
- static COMP_NAMESPACE.Compositor InnerCompositor(ICompositionContext context);
25
- static COMP_NAMESPACE.Visual InnerVisual(IVisual visual);
26
- static COMP_NAMESPACE.DropShadow InnerDropShadow(IDropShadow shadow);
27
- static COMP_NAMESPACE.CompositionBrush InnerBrush(IBrush brush);
28
- static COMP_NAMESPACE.ICompositionSurface InnerSurface(ICompositionDrawingSurface surface);
24
+ static Windows.UI.Composition.Compositor InnerCompositor(ICompositionContext context);
25
+ static Windows.UI.Composition.Visual InnerVisual(IVisual visual);
26
+ static Windows.UI.Composition.DropShadow InnerDropShadow(IDropShadow shadow);
27
+ static Windows.UI.Composition.CompositionBrush InnerBrush(IBrush brush);
28
+ static Windows.UI.Composition.ICompositionSurface InnerSurface(IDrawingSurfaceBrush surface);
29
29
  }
30
30
 
31
+ #ifdef USE_WINUI3
32
+ [webhosthidden]
33
+ [default_interface]
34
+ [experimental]
35
+ DOC_STRING("A helper static class for to create a @ICompositionContext based on Microsoft.Composition Visuals. And to access the underlying Microsoft.Composition objects from the abstraction.")
36
+ static runtimeclass MicrosoftCompositionContextHelper
37
+ {
38
+ DOC_STRING(
39
+ "Creates a @ICompositionContext from a Compositor")
40
+ static ICompositionContext CreateContext(Microsoft.UI.Composition.Compositor compositor);
41
+
42
+ DOC_STRING(
43
+ "Creates a @IVisual from a Visual")
44
+ static IVisual CreateVisual(Microsoft.UI.Composition.Visual visual);
45
+
46
+ static Microsoft.UI.Composition.Compositor InnerCompositor(ICompositionContext context);
47
+ static Microsoft.UI.Composition.Visual InnerVisual(IVisual visual);
48
+ static Microsoft.UI.Composition.DropShadow InnerDropShadow(IDropShadow shadow);
49
+ static Microsoft.UI.Composition.CompositionBrush InnerBrush(IBrush brush);
50
+ static Microsoft.UI.Composition.ICompositionSurface InnerSurface(IDrawingSurfaceBrush surface);
51
+ }
52
+ #endif
53
+
31
54
  } // namespace Microsoft.ReactNative.Composition
@@ -49,6 +49,10 @@ namespace Microsoft.ReactNative
49
49
  DOC_STRING("Creates a new instance of @CompositionRootView.")
50
50
  CompositionRootView();
51
51
 
52
+ #ifdef USE_WINUI3
53
+ CompositionRootView(Microsoft.UI.Composition.Compositor compositor);
54
+ #endif
55
+
52
56
  DOC_STRING(
53
57
  "A ReactViewHost specifies the root UI component and initial properties to render in this RootView"
54
58
  "It must be set to show any React UI elements.")
@@ -60,7 +64,7 @@ namespace Microsoft.ReactNative
60
64
  Windows.Foundation.Size Size {get; set; };
61
65
 
62
66
  DOC_STRING("ScaleFactor for this windows (DPI/96)")
63
- Double ScaleFactor {get; set;};
67
+ Single ScaleFactor {get; set;};
64
68
 
65
69
  DOC_STRING("Move focus to this @CompositionRootView")
66
70
  FocusNavigationResult NavigateFocus(FocusNavigationRequest request);
@@ -72,9 +76,9 @@ namespace Microsoft.ReactNative
72
76
 
73
77
  Object GetUiaProvider();
74
78
 
75
- //void OnPointerPressed(PointerPressedArgs args);
76
- //void OnMouseUp(Windows.Foundation.Point point);
77
- void OnScrollWheel(Windows.Foundation.Point point, Int32 delta);
79
+ #ifdef USE_WINUI3
80
+ Microsoft.UI.Content.ContentIsland Island { get; };
81
+ #endif
78
82
  }
79
83
 
80
84
  } // namespace Microsoft.ReactNative
@@ -23,14 +23,14 @@ namespace Microsoft.ReactNative.Composition
23
23
 
24
24
  [webhosthidden]
25
25
  [uuid("172def51-9e1a-4e3c-841a-e5a470065acc")] // uuid needed for empty interfaces
26
- [version(1)]
26
+ [version(0)]
27
27
  [experimental]
28
28
  interface IBrush {
29
29
  }
30
30
 
31
31
  [webhosthidden]
32
32
  [experimental]
33
- runtimeclass SurfaceBrush : IBrush
33
+ interface IDrawingSurfaceBrush requires IBrush
34
34
  {
35
35
  void HorizontalAlignmentRatio(Single value);
36
36
  void VerticalAlignmentRatio(Single value);
@@ -67,7 +67,7 @@ namespace Microsoft.ReactNative.Composition
67
67
 
68
68
  [webhosthidden]
69
69
  [experimental]
70
- runtimeclass SpriteVisual : IVisual
70
+ interface ISpriteVisual requires IVisual
71
71
  {
72
72
  void Brush(IBrush brush);
73
73
  void Shadow(IDropShadow shadow);
@@ -75,29 +75,28 @@ namespace Microsoft.ReactNative.Composition
75
75
 
76
76
  [webhosthidden]
77
77
  [experimental]
78
- runtimeclass ScrollPositionChangedArgs
78
+ interface IScrollPositionChangedArgs
79
79
  {
80
80
  Windows.Foundation.Numerics.Vector2 Position { get; };
81
81
  }
82
82
 
83
83
  [webhosthidden]
84
84
  [experimental]
85
- runtimeclass ScrollVisual : IVisual
85
+ interface IScrollVisual requires IVisual
86
86
  {
87
87
  void Brush(IBrush brush);
88
- event Windows.Foundation.EventHandler<ScrollPositionChangedArgs> ScrollPositionChanged;
88
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollPositionChanged;
89
89
  void ContentSize(Windows.Foundation.Numerics.Vector2 size);
90
90
  Windows.Foundation.Numerics.Vector3 ScrollPosition { get; };
91
- void ScrollBy(Windows.Foundation.Numerics.Vector3 offset);
91
+ void ScrollBy(Windows.Foundation.Numerics.Vector3 offset, Boolean animate);
92
92
  void TryUpdatePosition(Windows.Foundation.Numerics.Vector3 position, Boolean animate);
93
93
  }
94
94
 
95
95
  [webhosthidden]
96
- [uuid("a74bfffc-7f2d-432f-8291-654782ab0d52")] // uuid needed for empty interfaces
97
- [version(1)]
98
96
  [experimental]
99
- interface ICompositionDrawingSurface
97
+ interface IActivityVisual requires IVisual
100
98
  {
99
+ void Color(Windows.UI.Color color);
101
100
  }
102
101
 
103
102
  [webhosthidden]
@@ -108,6 +107,18 @@ namespace Microsoft.ReactNative.Composition
108
107
  void Size(Windows.Foundation.Numerics.Vector2 size);
109
108
  void Position(Windows.Foundation.Numerics.Vector2 position);
110
109
  Boolean IsVisible { get; set; };
110
+ void Color(Windows.UI.Color color);
111
+ }
112
+
113
+ [webhosthidden]
114
+ [experimental]
115
+ interface ISwitchThumbVisual
116
+ {
117
+ IVisual InnerVisual { get; };
118
+ void Size(Windows.Foundation.Numerics.Vector2 size);
119
+ void Position(Windows.Foundation.Numerics.Vector2 position);
120
+ Boolean IsVisible { get; set; };
121
+ void Color(Windows.UI.Color color);
111
122
  }
112
123
 
113
124
  [webhosthidden]
@@ -123,17 +134,17 @@ namespace Microsoft.ReactNative.Composition
123
134
  [experimental]
124
135
  interface ICompositionContext
125
136
  {
126
- ICompositionDrawingSurface CreateDrawingSurface(Windows.Foundation.Size surfaceSize,
127
- Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat,
128
- Windows.Graphics.DirectX.DirectXAlphaMode alphaMode);
129
-
130
- SpriteVisual CreateSpriteVisual();
131
- ScrollVisual CreateScrollerVisual();
137
+ ISpriteVisual CreateSpriteVisual();
138
+ IScrollVisual CreateScrollerVisual();
139
+ IActivityVisual CreateActivityVisual();
132
140
  ICaretVisual CreateCaretVisual();
141
+ ISwitchThumbVisual CreateSwitchThumbVisual();
133
142
  IFocusVisual CreateFocusVisual();
134
143
  IDropShadow CreateDropShadow();
135
144
  IBrush CreateColorBrush(Windows.UI.Color color);
136
- SurfaceBrush CreateSurfaceBrush(ICompositionDrawingSurface surface);
145
+ IDrawingSurfaceBrush CreateDrawingSurfaceBrush(Windows.Foundation.Size surfaceSize,
146
+ Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat,
147
+ Windows.Graphics.DirectX.DirectXAlphaMode alphaMode);
137
148
 
138
149
  // TODO Add and hook up to rootnode - to notify the tree
139
150
  // event Windows.Foundation.EventHandler<RenderingDeviceReplacedArgs> RenderingDeviceReplaced;