react-native-windows 0.80.1 → 0.81.0-preview.4

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 (679) hide show
  1. package/.flowconfig +10 -5
  2. package/Directory.Build.props +1 -1
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  4. package/Libraries/Alert/Alert.js +3 -3
  5. package/Libraries/Alert/Alert.windows.js +5 -2
  6. package/Libraries/Alert/NativeAlertManager.js +1 -0
  7. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  8. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  9. package/Libraries/Alert/RCTAlertManager.js +1 -3
  10. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  11. package/Libraries/Animated/Animated.js +0 -1
  12. package/Libraries/Animated/Animated.js.flow +0 -1
  13. package/Libraries/Animated/AnimatedEvent.js +4 -3
  14. package/Libraries/Animated/AnimatedExports.js +0 -1
  15. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  16. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  17. package/Libraries/Animated/AnimatedMock.js +2 -2
  18. package/Libraries/Animated/Easing.js +1 -1
  19. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  21. package/Libraries/Animated/SpringConfig.js +1 -1
  22. package/Libraries/Animated/animations/Animation.js +10 -2
  23. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  24. package/Libraries/Animated/components/AnimatedText.js +2 -5
  25. package/Libraries/Animated/components/AnimatedView.js +2 -1
  26. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  27. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  28. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  29. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  31. package/Libraries/AppState/NativeAppState.js +1 -0
  32. package/Libraries/AppTheme/AppTheme.js +1 -1
  33. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  34. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  35. package/Libraries/Blob/BlobManager.js +4 -0
  36. package/Libraries/Blob/NativeBlobModule.js +1 -0
  37. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  38. package/Libraries/Blob/URL.js +1 -1
  39. package/Libraries/Blob/URLSearchParams.js +5 -1
  40. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  41. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  42. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  44. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  45. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
  47. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  48. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  49. package/Libraries/Components/Button.js +10 -7
  50. package/Libraries/Components/Button.windows.js +4 -4
  51. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  52. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  53. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  54. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  59. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +1 -1
  60. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  61. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  62. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  63. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  64. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  65. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
  66. package/Libraries/Components/Pressable/Pressable.js +17 -8
  67. package/Libraries/Components/Pressable/Pressable.windows.js +17 -14
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  70. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  71. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  72. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  73. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  74. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  75. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  76. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  77. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  78. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  79. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  80. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  81. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  82. package/Libraries/Components/ScrollView/ScrollView.windows.js +25 -14
  83. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  84. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  85. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  86. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  87. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  88. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  89. package/Libraries/Components/Sound/SoundManager.js +1 -1
  90. package/Libraries/Components/StaticRenderer.js +1 -1
  91. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  92. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  93. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  94. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  95. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  96. package/Libraries/Components/Switch/Switch.js +10 -3
  97. package/Libraries/Components/Switch/Switch.windows.js +10 -3
  98. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  99. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  100. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  101. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  102. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  103. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  104. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -15
  105. package/Libraries/Components/TextInput/TextInput.js +42 -39
  106. package/Libraries/Components/TextInput/TextInput.windows.js +69 -38
  107. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  108. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  109. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -17
  110. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  111. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  112. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  116. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  117. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  118. package/Libraries/Components/Touchable/Position.js +1 -1
  119. package/Libraries/Components/Touchable/Touchable.js +17 -3
  120. package/Libraries/Components/Touchable/Touchable.windows.js +17 -3
  121. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  122. package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -3
  123. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  124. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +14 -5
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +5 -3
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  129. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +10 -5
  130. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  131. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -3
  132. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  133. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  134. package/Libraries/Components/View/View.js +114 -29
  135. package/Libraries/Components/View/View.windows.js +261 -217
  136. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  137. package/Libraries/Components/View/ViewAccessibility.windows.js +1 -8
  138. package/Libraries/Components/View/ViewPropTypes.d.ts +21 -1
  139. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  140. package/Libraries/Components/View/ViewPropTypes.windows.js +9 -1
  141. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  142. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  143. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +49 -7
  144. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  145. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  146. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  147. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  148. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  149. package/Libraries/Core/ExceptionsManager.js +27 -16
  150. package/Libraries/Core/InitializeCore.js +2 -23
  151. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  152. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  153. package/Libraries/Core/ReactNativeVersion.js +3 -2
  154. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  155. package/Libraries/Core/Timers/JSTimers.js +1 -1
  156. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  157. package/Libraries/Core/Timers/immediateShim.js +1 -1
  158. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  159. package/Libraries/Core/checkNativeVersion.js +1 -0
  160. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  161. package/Libraries/Core/setUpReactDevTools.js +21 -4
  162. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  163. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  164. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  165. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  166. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  167. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  168. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  169. package/Libraries/Image/AssetRegistry.js +4 -10
  170. package/Libraries/Image/Image.android.js +113 -107
  171. package/Libraries/Image/Image.ios.js +10 -2
  172. package/Libraries/Image/Image.windows.js +30 -20
  173. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  174. package/Libraries/Image/ImageInjection.js +1 -1
  175. package/Libraries/Image/ImageSource.d.ts +5 -0
  176. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  177. package/Libraries/Image/NativeImageEditor.js +1 -0
  178. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  179. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  180. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  181. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  182. package/Libraries/Image/RelativeImageStub.js +2 -1
  183. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  184. package/Libraries/Image/resolveAssetSource.js +1 -1
  185. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  186. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  187. package/Libraries/Interaction/InteractionManager.js +64 -54
  188. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  189. package/Libraries/Interaction/TaskQueue.js +8 -9
  190. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  191. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  192. package/Libraries/Linking/Linking.js +1 -1
  193. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  194. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  195. package/Libraries/Lists/FlatList.d.ts +9 -5
  196. package/Libraries/Lists/FlatList.js +6 -7
  197. package/Libraries/Lists/SectionList.js +4 -4
  198. package/Libraries/Lists/SectionListModern.js +9 -3
  199. package/Libraries/Lists/VirtualizedList.js +3 -2
  200. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  201. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  202. package/Libraries/LogBox/LogBox.js +72 -99
  203. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  204. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  205. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +2 -1
  206. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  207. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  208. package/Libraries/Modal/Modal.d.ts +8 -2
  209. package/Libraries/Modal/Modal.js +24 -3
  210. package/Libraries/Modal/Modal.windows.js +24 -3
  211. package/Libraries/Modal/NativeModalManager.js +1 -0
  212. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  213. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  214. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  215. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  216. package/Libraries/NativeComponent/BaseViewConfig.windows.js +9 -18
  217. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  218. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  219. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  220. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  221. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  222. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  223. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +1 -0
  224. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  225. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  226. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  227. package/Libraries/Network/FormData.js +1 -1
  228. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  229. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  230. package/Libraries/Network/RCTNetworking.android.js +2 -2
  231. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  232. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  233. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  234. package/Libraries/Network/XMLHttpRequest.js +3 -3
  235. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  236. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  237. package/Libraries/Pressability/Pressability.js +1 -1
  238. package/Libraries/Pressability/Pressability.windows.js +1 -1
  239. package/Libraries/Promise.js +1 -1
  240. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  241. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  242. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  243. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  244. package/Libraries/ReactNative/AppContainer.js +1 -1
  245. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  246. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  247. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  248. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  249. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  250. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  251. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  252. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  253. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  254. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  255. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  256. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  257. package/Libraries/ReactNative/RendererProxy.js +1 -1
  258. package/Libraries/ReactNative/RootTag.js +2 -2
  259. package/Libraries/ReactNative/renderApplication.js +1 -1
  260. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  261. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  262. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  263. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  264. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  265. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  266. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  267. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +261 -0
  268. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  269. package/Libraries/Settings/Settings.ios.js +1 -1
  270. package/Libraries/Settings/Settings.js +1 -1
  271. package/Libraries/Settings/SettingsFallback.js +1 -1
  272. package/Libraries/Share/NativeShareModule.js +1 -0
  273. package/Libraries/Share/Share.js +1 -1
  274. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  275. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  276. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  277. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  278. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  279. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  280. package/Libraries/StyleSheet/PointPropType.js +1 -1
  281. package/Libraries/StyleSheet/Rect.js +1 -1
  282. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  283. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  284. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  285. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  286. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  287. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  288. package/Libraries/StyleSheet/processColor.js +1 -1
  289. package/Libraries/StyleSheet/processColorArray.js +1 -1
  290. package/Libraries/StyleSheet/processFilter.js +1 -2
  291. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  292. package/Libraries/StyleSheet/processTransform.js +1 -1
  293. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  294. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  295. package/Libraries/Text/Text.d.ts +1 -2
  296. package/Libraries/Text/Text.js +255 -246
  297. package/Libraries/Text/Text.windows.js +282 -301
  298. package/Libraries/Text/TextAncestor.js +3 -9
  299. package/Libraries/Text/TextAncestorContext.js +23 -0
  300. package/Libraries/Text/TextNativeComponent.js +4 -0
  301. package/Libraries/Text/TextProps.js +2 -5
  302. package/Libraries/Text/TextProps.windows.js +2 -6
  303. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  304. package/Libraries/Types/CodegenTypes.js +1 -1
  305. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  306. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  307. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  308. package/Libraries/Utilities/Appearance.js +1 -1
  309. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  310. package/Libraries/Utilities/DevLoadingView.js +1 -1
  311. package/Libraries/Utilities/DeviceInfo.js +1 -1
  312. package/Libraries/Utilities/Dimensions.js +1 -1
  313. package/Libraries/Utilities/HMRClient.js +13 -3
  314. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  315. package/Libraries/Utilities/NativeAppearance.js +1 -0
  316. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  317. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  318. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  319. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  320. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  321. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  322. package/Libraries/Utilities/PixelRatio.js +1 -1
  323. package/Libraries/Utilities/Platform.android.js +2 -5
  324. package/Libraries/Utilities/Platform.ios.js +2 -5
  325. package/Libraries/Utilities/Platform.js +1 -1
  326. package/Libraries/Utilities/Platform.js.flow +2 -2
  327. package/Libraries/Utilities/Platform.windows.js +2 -5
  328. package/Libraries/Utilities/PlatformTypes.js +2 -2
  329. package/Libraries/Utilities/RCTLog.js +1 -1
  330. package/Libraries/Utilities/SceneTracker.js +1 -1
  331. package/Libraries/Utilities/binaryToBase64.js +1 -1
  332. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  333. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  334. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  335. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  336. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  337. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  338. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  339. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  340. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  341. package/Libraries/Utilities/logError.js +1 -1
  342. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  343. package/Libraries/Utilities/stringifySafe.js +1 -1
  344. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  345. package/Libraries/Utilities/useColorScheme.js +1 -1
  346. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  347. package/Libraries/Utilities/warnOnce.js +1 -1
  348. package/Libraries/Vibration/NativeVibration.js +1 -0
  349. package/Libraries/Vibration/Vibration.js +1 -2
  350. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  351. package/Libraries/WebSocket/WebSocket.js +1 -1
  352. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  353. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  354. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  355. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  356. package/Microsoft.ReactNative/CompositionSwitcher.idl +163 -162
  357. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +3 -3
  358. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +3 -3
  359. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +2 -1
  360. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +2 -2
  361. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +3 -3
  362. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +2 -1
  363. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +1 -1
  364. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +104 -4
  365. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +18 -7
  366. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
  367. package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
  368. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
  369. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +41 -33
  370. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
  371. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
  372. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +19 -0
  373. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +3 -3
  374. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +108 -24
  375. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +1 -0
  376. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +21 -17
  377. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -4
  378. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +19 -0
  379. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +76 -0
  380. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -1
  381. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  382. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +6 -0
  383. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +62 -39
  384. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
  385. package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
  386. package/Microsoft.ReactNative/JsiApi.cpp +1 -1
  387. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
  388. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
  389. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -2
  390. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -1
  391. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -3
  392. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +27 -11
  393. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +19 -2
  394. package/Microsoft.ReactNative/QuirkSettings.cpp +16 -0
  395. package/Microsoft.ReactNative/QuirkSettings.h +3 -0
  396. package/Microsoft.ReactNative/QuirkSettings.idl +5 -0
  397. package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
  398. package/Microsoft.ReactNative/ReactHost/React.h +11 -4
  399. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +199 -29
  400. package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
  401. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +68 -52
  402. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  403. package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
  404. package/Microsoft.ReactNative/ReactRootView.h +6 -0
  405. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +1 -0
  406. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
  407. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +36 -8
  408. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +6 -2
  409. package/Microsoft.ReactNative/Views/ViewManager.h +0 -1
  410. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -1
  411. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
  412. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
  413. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
  414. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
  415. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  416. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
  417. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +5 -5
  418. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +0 -2
  419. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +0 -19
  420. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +45 -34
  421. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +1 -1
  422. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +1 -0
  423. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +36 -33
  424. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +10 -10
  425. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +14 -8
  426. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
  427. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
  428. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
  429. package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
  430. package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
  431. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +13 -4
  432. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +10 -0
  433. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  434. package/PropertySheets/JSEngine.props +1 -1
  435. package/PropertySheets/React.Cpp.props +6 -4
  436. package/README.md +1 -1
  437. package/ReactCommon/ReactCommon.vcxproj +29 -21
  438. package/ReactCommon/ReactCommon.vcxproj.filters +36 -13
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +5 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +6 -2
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +111 -7
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +57 -4
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +17 -1
  444. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +175 -0
  445. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +1 -0
  446. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +69 -56
  447. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +35 -18
  448. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +445 -0
  449. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +92 -0
  450. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +35 -0
  451. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +37 -1
  452. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +250 -80
  453. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +528 -0
  454. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +1 -2
  455. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  456. package/ReactCommon/cgmanifest.json +1 -1
  457. package/Scripts/Analyze-Crash.ps1 +87 -3
  458. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  459. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
  460. package/Scripts/Tfs/Start-TestServers.ps1 +2 -1
  461. package/Scripts/creaternwapp.cmd +10 -6
  462. package/Scripts/rnw-dependencies.ps1 +33 -4
  463. package/Shared/CreateModules.h +0 -35
  464. package/Shared/DevServerHelper.h +13 -3
  465. package/Shared/DevSettings.h +6 -5
  466. package/Shared/DevSupportManager.cpp +79 -20
  467. package/Shared/DevSupportManager.h +7 -19
  468. package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
  469. package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
  470. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +274 -0
  471. package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
  472. package/Shared/HermesRuntimeHolder.cpp +29 -111
  473. package/Shared/HermesRuntimeHolder.h +214 -32
  474. package/Shared/IDevSupportManager.h +5 -2
  475. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
  476. package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
  477. package/Shared/Inspector/ReactInspectorThread.h +18 -0
  478. package/Shared/JSI/RuntimeHolder.h +5 -2
  479. package/Shared/Modules/BlobModule.cpp +0 -90
  480. package/Shared/Modules/BlobModule.h +0 -40
  481. package/Shared/Modules/FileReaderModule.cpp +0 -104
  482. package/Shared/Modules/FileReaderModule.h +0 -38
  483. package/Shared/Modules/HttpModule.cpp +0 -172
  484. package/Shared/Modules/HttpModule.h +0 -47
  485. package/Shared/Modules/WebSocketModule.cpp +0 -287
  486. package/Shared/Modules/WebSocketModule.h +1 -94
  487. package/Shared/OInstance.cpp +45 -139
  488. package/Shared/OInstance.h +0 -1
  489. package/Shared/Shared.vcxitems +33 -32
  490. package/Shared/Shared.vcxitems.filters +38 -51
  491. package/Shared/TurboModuleManager.cpp +0 -1
  492. package/codegen/NativeDOMSpec.g.h +6 -0
  493. package/codegen/NativeDeviceInfoSpec.g.h +2 -0
  494. package/codegen/NativeIntersectionObserverSpec.g.h +19 -5
  495. package/codegen/NativeMutationObserverSpec.g.h +4 -4
  496. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +159 -93
  497. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  498. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  499. package/codegen/react/components/rnwcore/ModalHostView.g.h +4 -0
  500. package/codegen/react/components/rnwcore/Props.cpp +535 -24
  501. package/codegen/react/components/rnwcore/Props.h +138 -0
  502. package/codegen/react/components/rnwcore/States.h +9 -78
  503. package/codegen/react/components/rnwcore/VirtualView.g.h +226 -0
  504. package/codegen/rnwcoreJSI-generated.cpp +101 -31
  505. package/codegen/rnwcoreJSI.h +169 -88
  506. package/include/Shared/II18nModule.h +0 -1
  507. package/index.js +22 -2
  508. package/index.windows.js +131 -221
  509. package/interface.js +1 -1
  510. package/jest/MockNativeMethods.js +9 -3
  511. package/jest/RefreshControlMock.js +32 -0
  512. package/jest/assetFileTransformer.js +1 -0
  513. package/jest/local-setup.js +4 -3
  514. package/jest/mock.js +39 -0
  515. package/jest/mockComponent.js +47 -17
  516. package/jest/mockNativeComponent.js +26 -15
  517. package/jest/mocks/AccessibilityInfo.js +62 -0
  518. package/jest/mocks/ActivityIndicator.js +23 -0
  519. package/jest/mocks/AppState.js +19 -0
  520. package/jest/mocks/Clipboard.js +16 -0
  521. package/jest/mocks/Image.js +23 -0
  522. package/jest/mocks/InitializeCore.js +9 -0
  523. package/jest/mocks/Linking.js +28 -0
  524. package/jest/mocks/Modal.js +33 -0
  525. package/jest/mocks/NativeComponentRegistry.js +30 -0
  526. package/jest/mocks/NativeModules.js +239 -0
  527. package/jest/mocks/RefreshControl.js +31 -0
  528. package/jest/mocks/RendererProxy.js +45 -0
  529. package/jest/mocks/ScrollView.js +58 -0
  530. package/jest/mocks/Text.js +27 -0
  531. package/jest/mocks/TextInput.js +32 -0
  532. package/jest/mocks/UIManager.js +60 -0
  533. package/jest/mocks/Vibration.js +16 -0
  534. package/jest/mocks/View.js +27 -0
  535. package/jest/mocks/ViewNativeComponent.js +23 -0
  536. package/jest/mocks/requireNativeComponent.js +22 -0
  537. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  538. package/jest/react-native-env.js +1 -0
  539. package/jest/renderer.js +1 -2
  540. package/jest/resolver.js +1 -0
  541. package/jest/setup.js +64 -449
  542. package/package.json +24 -24
  543. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  544. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  545. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  546. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  547. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  548. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  549. package/src/private/components/virtualview/VirtualView.js +145 -0
  550. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  551. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  552. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  553. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  554. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  555. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  556. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  557. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  558. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  559. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  560. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  561. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  562. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  563. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  564. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  565. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  566. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  567. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  568. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.windows.js +8 -9
  569. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  570. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  571. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  572. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  573. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  574. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  575. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  576. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  577. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  578. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  579. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  580. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  581. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  582. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  583. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  584. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  585. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  586. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  587. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  588. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  589. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  590. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  591. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  592. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  593. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  594. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  595. package/src/private/styles/composeStyles.js +5 -12
  596. package/src/private/types/HostInstance.js +1 -1
  597. package/src/private/webapis/dom/events/Event.js +3 -0
  598. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  599. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  600. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  601. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  602. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  603. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  604. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  605. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  606. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  607. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  608. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  609. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  610. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  611. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  612. package/src/private/webapis/errors/DOMException.js +166 -0
  613. package/src/private/webapis/geometry/DOMRect.js +5 -0
  614. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  615. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  616. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  617. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  618. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  619. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  620. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  621. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  622. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  623. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  624. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  625. package/src/private/webapis/performance/EventTiming.js +1 -1
  626. package/src/private/webapis/performance/LongTasks.js +1 -1
  627. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  628. package/src/private/webapis/performance/Performance.js +20 -9
  629. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  630. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  631. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  632. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  633. package/src/private/webapis/performance/UserTiming.js +1 -1
  634. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  635. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  636. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  637. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  638. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  639. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  640. package/template/metro.config.js +2 -4
  641. package/templates/cpp-app/metro.config.js +2 -4
  642. package/templates/cpp-lib/example/metro.config.js +2 -3
  643. package/templates/cpp-lib/template.config.js +24 -0
  644. package/templates/cpp-lib/windows/MyLib/MyLib.h +20 -1
  645. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +0 -1
  646. package/types/modules/Devtools.d.ts +23 -9
  647. package/Libraries/BugReporting/BugReporting.js +0 -140
  648. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  649. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  650. package/Libraries/BugReporting/getReactData.js +0 -187
  651. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  652. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
  653. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
  654. package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
  655. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
  656. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
  657. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +0 -49
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +0 -191
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
  660. package/Shared/InspectorPackagerConnection.cpp +0 -232
  661. package/Shared/InspectorPackagerConnection.h +0 -61
  662. package/Shared/Modules/ExceptionsManagerModule.cpp +0 -209
  663. package/Shared/Modules/ExceptionsManagerModule.h +0 -32
  664. package/Shared/Modules/I18nModule.cpp +0 -36
  665. package/Shared/Modules/I18nModule.h +0 -28
  666. package/Shared/Modules/NetworkingModule.cpp +0 -432
  667. package/Shared/Modules/NetworkingModule.h +0 -34
  668. package/Shared/Modules/PlatformConstantsModule.cpp +0 -60
  669. package/Shared/Modules/PlatformConstantsModule.h +0 -23
  670. package/Shared/Modules/SourceCodeModule.cpp +0 -35
  671. package/Shared/Modules/SourceCodeModule.h +0 -27
  672. package/Shared/Modules/StatusBarManagerModule.cpp +0 -25
  673. package/Shared/Modules/StatusBarManagerModule.h +0 -19
  674. package/codegen/NativeBugReportingSpec.g.h +0 -41
  675. package/jest/mockModal.js +0 -32
  676. package/jest/mockScrollView.js +0 -35
  677. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  678. /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
  679. /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
@@ -1,178 +1,179 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
- #include "NamespaceRedirect.h"
5
4
  #include "DocString.h"
5
+ #include "NamespaceRedirect.h"
6
6
  import "Composition.Input.idl";
7
7
 
8
- namespace Microsoft.ReactNative.Composition.Experimental
8
+ namespace Microsoft.ReactNative.Composition.Experimental {
9
+ enum CompositionStretch {
10
+ None,
11
+ Fill,
12
+ Uniform,
13
+ UniformToFill,
14
+ };
15
+
16
+ enum BackfaceVisibility { Inherit, Visible, Hidden };
17
+
18
+ enum AnimationClass {
19
+ None = 0,
20
+ ScrollBar,
21
+ ScrollBarThumbHorizontal,
22
+ ScrollBarThumbVertical,
23
+ SwitchThumb,
24
+ };
25
+
26
+ enum SnapPointsAlignment {
27
+ Near = 0, // Start alignment (left/top)
28
+ Center = 1, // Center alignment
29
+ Far = 2, // End alignment (right/bottom)
30
+ };
31
+
32
+ [webhosthidden][uuid("172def51-9e1a-4e3c-841a-e5a470065acc")] // uuid needed for empty interfaces
33
+ [version(0)][experimental] interface IBrush {}
34
+
35
+ [webhosthidden][experimental] interface IDrawingSurfaceBrush
36
+ requires IBrush
37
+ {
38
+ void HorizontalAlignmentRatio(Single value);
39
+ void VerticalAlignmentRatio(Single value);
40
+ void Stretch(CompositionStretch value);
41
+ }
42
+
43
+ [webhosthidden][experimental] interface IDropShadow {
44
+ void Offset(Windows.Foundation.Numerics.Vector3 value);
45
+ void Opacity(Single value);
46
+ void BlurRadius(Single value);
47
+ void Color(Windows.UI.Color value);
48
+ }
49
+
50
+ [webhosthidden][experimental] interface IVisual {
51
+ void InsertAt(IVisual visual, Int32 index);
52
+ void Remove(IVisual visual);
53
+ IVisual GetAt(UInt32 index);
54
+ void Opacity(Single opacity);
55
+ void Scale(Windows.Foundation.Numerics.Vector3 scale);
56
+ void TransformMatrix(Windows.Foundation.Numerics.Matrix4x4 transform);
57
+ void RotationAngle(Single angle);
58
+ void IsVisible(Boolean isVisible);
59
+ void Size(Windows.Foundation.Numerics.Vector2 size);
60
+ void Offset(Windows.Foundation.Numerics.Vector3 offset);
61
+ void Offset(Windows.Foundation.Numerics.Vector3 offset, Windows.Foundation.Numerics.Vector3 relativeAdjustment);
62
+ void RelativeSizeWithOffset(
63
+ Windows.Foundation.Numerics.Vector2 size, Windows.Foundation.Numerics.Vector2 relativeSizeAdjustment);
64
+ BackfaceVisibility BackfaceVisibility {
65
+ get;
66
+ set;
67
+ };
68
+ String Comment {
69
+ get;
70
+ set;
71
+ };
72
+ void AnimationClass(AnimationClass value);
73
+ }
74
+
75
+ [webhosthidden][experimental] interface ISpriteVisual
76
+ requires IVisual
77
+ {
78
+ void Brush(IBrush brush);
79
+ void Shadow(IDropShadow shadow);
80
+ }
81
+
82
+ [webhosthidden][experimental] interface IRoundedRectangleVisual
83
+ requires IVisual
9
84
  {
10
- enum CompositionStretch
11
- {
12
- None,
13
- Fill,
14
- Uniform,
15
- UniformToFill,
85
+ void Brush(IBrush brush);
86
+ void CornerRadius(Windows.Foundation.Numerics.Vector2 value);
87
+ void StrokeBrush(IBrush brush);
88
+ void StrokeThickness(Single value);
89
+ }
90
+
91
+ [webhosthidden][experimental] interface IScrollPositionChangedArgs {
92
+ Windows.Foundation.Numerics.Vector2 Position {
93
+ get;
16
94
  };
95
+ }
17
96
 
18
- enum BackfaceVisibility
19
- {
20
- Inherit,
21
- Visible,
22
- Hidden
97
+ [webhosthidden][experimental] interface IScrollVisual
98
+ requires IVisual
99
+ {
100
+ void Brush(IBrush brush);
101
+ void ScrollEnabled(Boolean isScrollEnabled);
102
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollPositionChanged;
103
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollBeginDrag;
104
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollEndDrag;
105
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumBegin;
106
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumEnd;
107
+ void ContentSize(Windows.Foundation.Numerics.Vector2 size);
108
+ Windows.Foundation.Numerics.Vector3 ScrollPosition {
109
+ get;
110
+ };
111
+ void ScrollBy(Windows.Foundation.Numerics.Vector3 offset, Boolean animate);
112
+ void TryUpdatePosition(Windows.Foundation.Numerics.Vector3 position, Boolean animate);
113
+ void OnPointerPressed(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
114
+ void SetDecelerationRate(Windows.Foundation.Numerics.Vector3 decelerationRate);
115
+ void SetMaximumZoomScale(Single maximumZoomScale);
116
+ void SetMinimumZoomScale(Single minimumZoomScale);
117
+ Boolean Horizontal;
118
+ void SetSnapPoints(
119
+ Boolean snapToStart, Boolean snapToEnd, Windows.Foundation.Collections.IVectorView<Single> offsets);
120
+ void PagingEnabled(Boolean pagingEnabled);
121
+ void SnapToInterval(Single interval);
122
+ void SnapToAlignment(SnapPointsAlignment alignment);
123
+ }
124
+
125
+ [webhosthidden][experimental] interface IActivityVisual
126
+ requires IVisual
127
+ {
128
+ void Size(Single value);
129
+ void Brush(IBrush brush);
130
+ void StartAnimation();
131
+ void StopAnimation();
132
+ }
133
+
134
+ [webhosthidden][experimental] interface ICaretVisual {
135
+ IVisual InnerVisual {
136
+ get;
23
137
  };
24
-
25
- enum AnimationClass
26
- {
27
- None = 0,
28
- ScrollBar,
29
- ScrollBarThumbHorizontal,
30
- ScrollBarThumbVertical,
31
- SwitchThumb,
138
+ void Size(Windows.Foundation.Numerics.Vector2 size);
139
+ void Position(Windows.Foundation.Numerics.Vector2 position);
140
+ Boolean IsVisible {
141
+ get;
142
+ set;
32
143
  };
144
+ void Brush(IBrush brush);
145
+ }
33
146
 
34
- [webhosthidden]
35
- [uuid("172def51-9e1a-4e3c-841a-e5a470065acc")] // uuid needed for empty interfaces
36
- [version(0)]
37
- [experimental]
38
- interface IBrush {
39
- }
40
-
41
- [webhosthidden]
42
- [experimental]
43
- interface IDrawingSurfaceBrush requires IBrush
44
- {
45
- void HorizontalAlignmentRatio(Single value);
46
- void VerticalAlignmentRatio(Single value);
47
- void Stretch(CompositionStretch value);
48
- }
49
-
50
- [webhosthidden]
51
- [experimental]
52
- interface IDropShadow {
53
- void Offset(Windows.Foundation.Numerics.Vector3 value);
54
- void Opacity(Single value);
55
- void BlurRadius(Single value);
56
- void Color(Windows.UI.Color value);
57
- }
58
-
59
- [webhosthidden]
60
- [experimental]
61
- interface IVisual
62
- {
63
- void InsertAt(IVisual visual, Int32 index);
64
- void Remove(IVisual visual);
65
- IVisual GetAt(UInt32 index);
66
- void Opacity(Single opacity);
67
- void Scale(Windows.Foundation.Numerics.Vector3 scale);
68
- void TransformMatrix(Windows.Foundation.Numerics.Matrix4x4 transform);
69
- void RotationAngle(Single angle);
70
- void IsVisible(Boolean isVisible);
71
- void Size(Windows.Foundation.Numerics.Vector2 size);
72
- void Offset(Windows.Foundation.Numerics.Vector3 offset);
73
- void Offset(Windows.Foundation.Numerics.Vector3 offset, Windows.Foundation.Numerics.Vector3 relativeAdjustment);
74
- void RelativeSizeWithOffset(Windows.Foundation.Numerics.Vector2 size, Windows.Foundation.Numerics.Vector2 relativeSizeAdjustment);
75
- BackfaceVisibility BackfaceVisibility{ get; set; };
76
- String Comment { get; set; };
77
- void AnimationClass(AnimationClass value);
78
- }
79
-
80
- [webhosthidden]
81
- [experimental]
82
- interface ISpriteVisual requires IVisual
83
- {
84
- void Brush(IBrush brush);
85
- void Shadow(IDropShadow shadow);
86
- }
87
-
88
- [webhosthidden]
89
- [experimental]
90
- interface IRoundedRectangleVisual requires IVisual
91
- {
92
- void Brush(IBrush brush);
93
- void CornerRadius(Windows.Foundation.Numerics.Vector2 value);
94
- void StrokeBrush(IBrush brush);
95
- void StrokeThickness(Single value);
96
- }
97
-
98
- [webhosthidden]
99
- [experimental]
100
- interface IScrollPositionChangedArgs
101
- {
102
- Windows.Foundation.Numerics.Vector2 Position { get; };
103
- }
104
-
105
- [webhosthidden]
106
- [experimental]
107
- interface IScrollVisual requires IVisual
108
- {
109
- void Brush(IBrush brush);
110
- void ScrollEnabled(Boolean isScrollEnabled);
111
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollPositionChanged;
112
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollBeginDrag;
113
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollEndDrag;
114
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumBegin;
115
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumEnd;
116
- void ContentSize(Windows.Foundation.Numerics.Vector2 size);
117
- Windows.Foundation.Numerics.Vector3 ScrollPosition { get; };
118
- void ScrollBy(Windows.Foundation.Numerics.Vector3 offset, Boolean animate);
119
- void TryUpdatePosition(Windows.Foundation.Numerics.Vector3 position, Boolean animate);
120
- void OnPointerPressed(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
121
- void SetDecelerationRate(Windows.Foundation.Numerics.Vector3 decelerationRate);
122
- void SetMaximumZoomScale(Single maximumZoomScale);
123
- void SetMinimumZoomScale(Single minimumZoomScale);
124
- Boolean Horizontal;
125
- void SetSnapPoints(Boolean snapToStart, Boolean snapToEnd, Windows.Foundation.Collections.IVectorView<Single> offsets);
126
- }
127
-
128
- [webhosthidden]
129
- [experimental]
130
- interface IActivityVisual requires IVisual
131
- {
132
- void Size(Single value);
133
- void Brush(IBrush brush);
134
- void StartAnimation();
135
- void StopAnimation();
136
- }
137
-
138
- [webhosthidden]
139
- [experimental]
140
- interface ICaretVisual
141
- {
142
- IVisual InnerVisual { get; };
143
- void Size(Windows.Foundation.Numerics.Vector2 size);
144
- void Position(Windows.Foundation.Numerics.Vector2 position);
145
- Boolean IsVisible { get; set; };
146
- void Brush(IBrush brush);
147
- }
148
-
149
- [webhosthidden]
150
- [experimental]
151
- interface IFocusVisual
152
- {
153
- IVisual InnerVisual { get; };
154
- Boolean IsFocused { get; set; };
155
- Single ScaleFactor { get; set; };
156
- }
157
-
158
- [webhosthidden]
159
- [experimental]
160
- interface ICompositionContext
161
- {
162
- ISpriteVisual CreateSpriteVisual();
163
- IScrollVisual CreateScrollerVisual();
164
- IRoundedRectangleVisual CreateRoundedRectangleVisual();
165
- IActivityVisual CreateActivityVisual();
166
- ICaretVisual CreateCaretVisual();
167
- IFocusVisual CreateFocusVisual();
168
- IDropShadow CreateDropShadow();
169
- IBrush CreateColorBrush(Windows.UI.Color color);
170
- IDrawingSurfaceBrush CreateDrawingSurfaceBrush(Windows.Foundation.Size surfaceSize,
147
+ [webhosthidden][experimental] interface IFocusVisual {
148
+ IVisual InnerVisual {
149
+ get;
150
+ };
151
+ Boolean IsFocused {
152
+ get;
153
+ set;
154
+ };
155
+ Single ScaleFactor {
156
+ get;
157
+ set;
158
+ };
159
+ }
160
+
161
+ [webhosthidden][experimental] interface ICompositionContext {
162
+ ISpriteVisual CreateSpriteVisual();
163
+ IScrollVisual CreateScrollerVisual();
164
+ IRoundedRectangleVisual CreateRoundedRectangleVisual();
165
+ IActivityVisual CreateActivityVisual();
166
+ ICaretVisual CreateCaretVisual();
167
+ IFocusVisual CreateFocusVisual();
168
+ IDropShadow CreateDropShadow();
169
+ IBrush CreateColorBrush(Windows.UI.Color color);
170
+ IDrawingSurfaceBrush CreateDrawingSurfaceBrush(
171
+ Windows.Foundation.Size surfaceSize,
171
172
  Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat,
172
173
  Windows.Graphics.DirectX.DirectXAlphaMode alphaMode);
173
174
 
174
- // TODO Add and hook up to rootnode - to notify the tree
175
- // event Windows.Foundation.EventHandler<RenderingDeviceReplacedArgs> RenderingDeviceReplaced;
176
- }
175
+ // TODO Add and hook up to rootnode - to notify the tree
176
+ // event Windows.Foundation.EventHandler<RenderingDeviceReplacedArgs> RenderingDeviceReplaced;
177
+ }
177
178
 
178
- } // namespace Microsoft.ReactNative.Composition.Experimental
179
+ } // namespace Microsoft.ReactNative.Composition. Experimental
@@ -55,7 +55,7 @@ std::shared_ptr<facebook::react::ShadowNode> AbiComponentDescriptor::createShado
55
55
  return shadowNode;
56
56
  }
57
57
 
58
- facebook::react::ShadowNode::Unshared AbiComponentDescriptor::cloneShadowNode(
58
+ std::shared_ptr<facebook::react::ShadowNode> AbiComponentDescriptor::cloneShadowNode(
59
59
  const facebook::react::ShadowNode &sourceShadowNode,
60
60
  const facebook::react::ShadowNodeFragment &fragment) const {
61
61
  auto shadowNode = std::make_shared<ShadowNodeT>(sourceShadowNode, fragment);
@@ -69,8 +69,8 @@ facebook::react::ShadowNode::Unshared AbiComponentDescriptor::cloneShadowNode(
69
69
  }
70
70
 
71
71
  void AbiComponentDescriptor::appendChild(
72
- const facebook::react::ShadowNode::Shared &parentShadowNode,
73
- const facebook::react::ShadowNode::Shared &childShadowNode) const {
72
+ const std::shared_ptr<const facebook::react::ShadowNode> &parentShadowNode,
73
+ const std::shared_ptr<const facebook::react::ShadowNode> &childShadowNode) const {
74
74
  auto concreteParentShadowNode = std::static_pointer_cast<const ShadowNodeT>(parentShadowNode);
75
75
  auto concreteNonConstParentShadowNode = std::const_pointer_cast<ShadowNodeT>(concreteParentShadowNode);
76
76
  concreteNonConstParentShadowNode->appendChild(childShadowNode);
@@ -32,13 +32,13 @@ class AbiComponentDescriptor : public facebook::react::ComponentDescriptor {
32
32
  std::shared_ptr<facebook::react::ShadowNode> createShadowNode(
33
33
  const facebook::react::ShadowNodeFragment &fragment,
34
34
  facebook::react::ShadowNodeFamily::Shared const &family) const override;
35
- facebook::react::ShadowNode::Unshared cloneShadowNode(
35
+ std::shared_ptr<facebook::react::ShadowNode> cloneShadowNode(
36
36
  const facebook::react::ShadowNode &sourceShadowNode,
37
37
  const facebook::react::ShadowNodeFragment &fragment) const override;
38
38
 
39
39
  void appendChild(
40
- const facebook::react::ShadowNode::Shared &parentShadowNode,
41
- const facebook::react::ShadowNode::Shared &childShadowNode) const override;
40
+ const std::shared_ptr<const facebook::react::ShadowNode> &parentShadowNode,
41
+ const std::shared_ptr<const facebook::react::ShadowNode> &childShadowNode) const override;
42
42
  virtual facebook::react::Props::Shared cloneProps(
43
43
  const facebook::react::PropsParserContext &context,
44
44
  const facebook::react::Props::Shared &props,
@@ -27,7 +27,8 @@ winrt::Microsoft::ReactNative::IComponentProps AbiProps::UserProps() const noexc
27
27
  return m_componentProps;
28
28
  }
29
29
 
30
- ShadowNode::ShadowNode(facebook::react::ShadowNode::Shared shadowNode) noexcept : m_shadowNode(shadowNode) {}
30
+ ShadowNode::ShadowNode(std::shared_ptr<const facebook::react::ShadowNode> shadowNode) noexcept
31
+ : m_shadowNode(shadowNode) {}
31
32
 
32
33
  void ShadowNode::EnsureUnsealed() noexcept {
33
34
  if (auto shadowNode = m_shadowNode.lock()) {
@@ -34,7 +34,7 @@ class AbiProps final : public facebook::react::Props {
34
34
  };
35
35
 
36
36
  struct ShadowNode : ShadowNodeT<ShadowNode> {
37
- ShadowNode(facebook::react::ShadowNode::Shared shadowNode) noexcept;
37
+ ShadowNode(std::shared_ptr<const facebook::react::ShadowNode> shadowNode) noexcept;
38
38
 
39
39
  void EnsureUnsealed() noexcept;
40
40
  winrt::Windows::Foundation::IInspectable Tag() const noexcept;
@@ -46,7 +46,7 @@ struct ShadowNode : ShadowNodeT<ShadowNode> {
46
46
  winrt::Microsoft::ReactNative::EventEmitter EventEmitter() const noexcept;
47
47
 
48
48
  protected:
49
- facebook::react::ShadowNode::Weak m_shadowNode;
49
+ std::weak_ptr<const facebook::react::ShadowNode> m_shadowNode;
50
50
  winrt::Windows::Foundation::IInspectable m_tag;
51
51
  };
52
52
 
@@ -70,7 +70,7 @@ class ConcreteAbiViewComponentDescriptor : public facebook::react::ComponentDesc
70
70
  return shadowNode;
71
71
  }
72
72
 
73
- facebook::react::ShadowNode::Unshared cloneShadowNode(
73
+ std::shared_ptr<facebook::react::ShadowNode> cloneShadowNode(
74
74
  const facebook::react::ShadowNode &sourceShadowNode,
75
75
  const facebook::react::ShadowNodeFragment &fragment) const override {
76
76
  auto shadowNode = std::make_shared<ShadowNodeT>(sourceShadowNode, fragment);
@@ -83,8 +83,8 @@ class ConcreteAbiViewComponentDescriptor : public facebook::react::ComponentDesc
83
83
  }
84
84
 
85
85
  void appendChild(
86
- const facebook::react::ShadowNode::Shared &parentShadowNode,
87
- const facebook::react::ShadowNode::Shared &childShadowNode) const override {
86
+ const std::shared_ptr<const facebook::react::ShadowNode> &parentShadowNode,
87
+ const std::shared_ptr<const facebook::react::ShadowNode> &childShadowNode) const override {
88
88
  auto concreteParentShadowNode = std::static_pointer_cast<const ShadowNodeT>(parentShadowNode);
89
89
  auto concreteNonConstParentShadowNode = std::const_pointer_cast<ShadowNodeT>(concreteParentShadowNode);
90
90
  concreteNonConstParentShadowNode->appendChild(childShadowNode);
@@ -13,7 +13,8 @@
13
13
 
14
14
  namespace winrt::Microsoft::ReactNative::implementation {
15
15
 
16
- YogaLayoutableShadowNode::YogaLayoutableShadowNode(facebook::react::ShadowNode::Shared shadowNode) noexcept
16
+ YogaLayoutableShadowNode::YogaLayoutableShadowNode(
17
+ std::shared_ptr<const facebook::react::ShadowNode> shadowNode) noexcept
17
18
  : base_type(shadowNode) {}
18
19
 
19
20
  void YogaLayoutableShadowNode::Layout(winrt::Microsoft::ReactNative::LayoutContext layoutContext) noexcept {
@@ -49,7 +49,7 @@ struct LayoutContext : LayoutContextT<LayoutContext> {
49
49
  };
50
50
 
51
51
  struct YogaLayoutableShadowNode : YogaLayoutableShadowNodeT<YogaLayoutableShadowNode, implementation::ShadowNode> {
52
- YogaLayoutableShadowNode(facebook::react::ShadowNode::Shared shadowNode) noexcept;
52
+ YogaLayoutableShadowNode(std::shared_ptr<const facebook::react::ShadowNode> shadowNode) noexcept;
53
53
 
54
54
  void Layout(winrt::Microsoft::ReactNative::LayoutContext layoutContext) noexcept;
55
55
  };
@@ -910,6 +910,31 @@ struct CompScrollerVisual : winrt::implements<
910
910
  m_snapToOffsets.push_back(offset);
911
911
  }
912
912
  }
913
+ // Match Paper behavior: snapToOffsets disables pagingEnabled and snapToInterval
914
+ if (!m_snapToOffsets.empty()) {
915
+ m_pagingEnabled = false;
916
+ m_snapToInterval = 0.0f;
917
+ }
918
+ ConfigureSnapInertiaModifiers();
919
+ }
920
+
921
+ void PagingEnabled(bool pagingEnabled) noexcept {
922
+ m_pagingEnabled = pagingEnabled;
923
+ ConfigureSnapInertiaModifiers();
924
+ }
925
+
926
+ void SnapToInterval(float interval) noexcept {
927
+ m_snapToInterval = interval;
928
+ // Match Paper behavior: snapToOffsets disables snapToInterval
929
+ if (!m_snapToOffsets.empty()) {
930
+ m_snapToInterval = 0.0f;
931
+ }
932
+ ConfigureSnapInertiaModifiers();
933
+ }
934
+
935
+ void SnapToAlignment(
936
+ winrt::Microsoft::ReactNative::Composition::Experimental::SnapPointsAlignment alignment) noexcept {
937
+ m_snapToAlignment = alignment;
913
938
  ConfigureSnapInertiaModifiers();
914
939
  }
915
940
 
@@ -934,9 +959,13 @@ struct CompScrollerVisual : winrt::implements<
934
959
  }
935
960
 
936
961
  void Size(winrt::Windows::Foundation::Numerics::float2 const &size) noexcept {
962
+ bool sizeChanged = (m_visualSize.x != size.x || m_visualSize.y != size.y);
937
963
  m_visualSize = size;
938
964
  m_visual.Size(size);
939
965
  UpdateMaxPosition();
966
+ if (sizeChanged && m_pagingEnabled) {
967
+ ConfigureSnapInertiaModifiers();
968
+ }
940
969
  }
941
970
 
942
971
  void Offset(winrt::Windows::Foundation::Numerics::float3 const &offset) noexcept {
@@ -1046,9 +1075,13 @@ struct CompScrollerVisual : winrt::implements<
1046
1075
  }
1047
1076
 
1048
1077
  void ContentSize(winrt::Windows::Foundation::Numerics::float2 const &size) noexcept {
1078
+ bool sizeChanged = (m_contentSize.x != size.x || m_contentSize.y != size.y);
1049
1079
  m_contentSize = size;
1050
1080
  m_contentVisual.Size(size);
1051
1081
  UpdateMaxPosition();
1082
+ if (sizeChanged && m_pagingEnabled) {
1083
+ ConfigureSnapInertiaModifiers();
1084
+ }
1052
1085
  }
1053
1086
 
1054
1087
  winrt::Windows::Foundation::Numerics::float3 ScrollPosition() const noexcept {
@@ -1155,11 +1188,73 @@ struct CompScrollerVisual : winrt::implements<
1155
1188
  // Collect and deduplicate all snap positions
1156
1189
  std::vector<float> snapPositions;
1157
1190
 
1158
- if (m_snapToStart) {
1159
- snapPositions.push_back(0.0f);
1191
+ // Priority: snapToOffsets > snapToInterval > pagingEnabled
1192
+ if (!m_snapToOffsets.empty()) {
1193
+ // Use explicit snap points when snapToOffsets is set (highest priority)
1194
+ if (m_snapToStart) {
1195
+ snapPositions.push_back(0.0f);
1196
+ }
1197
+ snapPositions.insert(snapPositions.end(), m_snapToOffsets.begin(), m_snapToOffsets.end());
1198
+ } else if (m_snapToInterval > 0.0f) {
1199
+ // Generate snap points at interval positions
1200
+ float viewportSize = m_horizontal ? visualSize.x : visualSize.y;
1201
+ float maxScroll =
1202
+ m_horizontal ? std::max(contentSize.x - visualSize.x, 0.0f) : std::max(contentSize.y - visualSize.y, 0.0f);
1203
+
1204
+ // Calculate alignment offset based on snapToAlignment
1205
+ float alignmentOffset = 0.0f;
1206
+ using SnapPointsAlignment = winrt::Microsoft::ReactNative::Composition::Experimental::SnapPointsAlignment;
1207
+ if (m_snapToAlignment == SnapPointsAlignment::Center) {
1208
+ alignmentOffset = -viewportSize / 2.0f;
1209
+ } else if (m_snapToAlignment == SnapPointsAlignment::Far) {
1210
+ alignmentOffset = -viewportSize;
1211
+ }
1212
+ // Near (start) alignment has no offset (alignmentOffset = 0)
1213
+
1214
+ // Generate snap points at interval positions with alignment offset
1215
+ for (float position = alignmentOffset; position <= maxScroll; position += m_snapToInterval) {
1216
+ if (position >= 0.0f) { // Only include positions >= 0
1217
+ snapPositions.push_back(position);
1218
+ }
1219
+ }
1220
+
1221
+ // Ensure we have at least the start position
1222
+ if (snapPositions.empty() || snapPositions.front() > 0.0f) {
1223
+ snapPositions.insert(snapPositions.begin(), 0.0f);
1224
+ }
1225
+
1226
+ // Ensure the end position is included if not already
1227
+ if (!snapPositions.empty() && snapPositions.back() < maxScroll) {
1228
+ snapPositions.push_back(maxScroll);
1229
+ }
1230
+ } else if (m_pagingEnabled) {
1231
+ // Generate snap points at viewport intervals (paging)
1232
+ float viewportSize = m_horizontal ? visualSize.x : visualSize.y;
1233
+ float maxScroll =
1234
+ m_horizontal ? std::max(contentSize.x - visualSize.x, 0.0f) : std::max(contentSize.y - visualSize.y, 0.0f);
1235
+
1236
+ // Only generate paging snap points if viewport size is valid
1237
+ if (viewportSize > 0 && maxScroll > 0) {
1238
+ // Add snap points at each page (viewport size) interval
1239
+ for (float position = 0.0f; position <= maxScroll; position += viewportSize) {
1240
+ snapPositions.push_back(position);
1241
+ }
1242
+
1243
+ // Ensure the end position is included if not already
1244
+ if (!snapPositions.empty() && snapPositions.back() < maxScroll) {
1245
+ snapPositions.push_back(maxScroll);
1246
+ }
1247
+ } else {
1248
+ // If content fits in viewport or invalid size, just snap to start
1249
+ snapPositions.push_back(0.0f);
1250
+ }
1251
+ } else {
1252
+ // No interval or paging - use explicit snap points only
1253
+ if (m_snapToStart) {
1254
+ snapPositions.push_back(0.0f);
1255
+ }
1160
1256
  }
1161
1257
 
1162
- snapPositions.insert(snapPositions.end(), m_snapToOffsets.begin(), m_snapToOffsets.end());
1163
1258
  std::sort(snapPositions.begin(), snapPositions.end());
1164
1259
  snapPositions.erase(std::unique(snapPositions.begin(), snapPositions.end()), snapPositions.end());
1165
1260
 
@@ -1222,7 +1317,8 @@ struct CompScrollerVisual : winrt::implements<
1222
1317
  restingValues.push_back(restingValue);
1223
1318
  }
1224
1319
 
1225
- if (m_snapToEnd) {
1320
+ // Only add snapToEnd handling when NOT using pagingEnabled or snapToInterval (they already include end position)
1321
+ if (m_snapToEnd && !m_pagingEnabled && m_snapToInterval <= 0.0f) {
1226
1322
  auto endRestingValue = TTypeRedirects::InteractionTrackerInertiaRestingValue::Create(compositor);
1227
1323
 
1228
1324
  // Create property sets to dynamically compute content - visual size
@@ -1286,6 +1382,10 @@ struct CompScrollerVisual : winrt::implements<
1286
1382
  bool m_horizontal{false};
1287
1383
  bool m_snapToStart{true};
1288
1384
  bool m_snapToEnd{true};
1385
+ bool m_pagingEnabled{false};
1386
+ float m_snapToInterval{0.0f};
1387
+ winrt::Microsoft::ReactNative::Composition::Experimental::SnapPointsAlignment m_snapToAlignment{
1388
+ winrt::Microsoft::ReactNative::Composition::Experimental::SnapPointsAlignment::Near};
1289
1389
  std::vector<float> m_snapToOffsets;
1290
1390
  bool m_inertia{false};
1291
1391
  bool m_custom{false};
@@ -407,13 +407,24 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::GetPropertyValue(PROPERT
407
407
  case UIA_IsOffscreenPropertyId: {
408
408
  pRetVal->vt = VT_BOOL;
409
409
 
410
- // Check if element is offscreen - consider modal content special case
411
- bool isOffscreen = (compositionView->getClipState() == ClipState::FullyClipped);
412
-
413
- // Modal content may appear clipped but is visible in its own window
414
- if (isOffscreen) {
415
- if (const auto hwnd = compositionView->GetHwndForParenting()) {
416
- isOffscreen = !(IsWindowVisible(hwnd) && !IsIconic(hwnd));
410
+ // Special handling for modal content - check if component is in a popup/modal window
411
+ bool isOffscreen = true;
412
+ auto clipState = compositionView->getClipState();
413
+
414
+ if (clipState != ClipState::FullyClipped) {
415
+ isOffscreen = false;
416
+ } else {
417
+ // Component appears clipped, but check if it's modal content
418
+ // Modal content may appear clipped due to lack of parent relationships
419
+ // but should still be considered visible if it's in its own window
420
+ if (auto hwnd = compositionView->GetHwndForParenting()) {
421
+ // Check if this window is visible and not minimized
422
+ if (IsWindowVisible(hwnd) && !IsIconic(hwnd)) {
423
+ isOffscreen = false; // Window is visible, so content is not offscreen
424
+ }
425
+ } else {
426
+ // If we can't get window info, fall back to clip state
427
+ isOffscreen = true;
417
428
  }
418
429
  }
419
430