react-native-windows 0.78.7 → 0.79.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 (673) hide show
  1. package/.flowconfig +3 -1
  2. package/Common/Common.vcxproj +1 -1
  3. package/Folly/Folly.vcxproj +1 -1
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
  5. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
  6. package/Libraries/Alert/Alert.js +33 -10
  7. package/Libraries/Alert/Alert.windows.js +34 -12
  8. package/Libraries/Alert/NativeAlertManager.js +2 -2
  9. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  10. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  11. package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
  12. package/Libraries/Animated/Animated.js +8 -37
  13. package/Libraries/Animated/Animated.js.flow +15 -0
  14. package/Libraries/Animated/AnimatedExports.js +47 -0
  15. package/Libraries/Animated/AnimatedExports.js.flow +48 -0
  16. package/Libraries/Animated/AnimatedMock.js +1 -1
  17. package/Libraries/Animated/NativeAnimatedModule.js +2 -2
  18. package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
  19. package/Libraries/Animated/animations/Animation.js +1 -4
  20. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  21. package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
  22. package/Libraries/Animated/nodes/AnimatedValue.js +30 -22
  23. package/Libraries/Animated/useAnimatedProps.js +4 -333
  24. package/Libraries/Animated/useAnimatedValue.js +1 -3
  25. package/Libraries/AppState/AppState.js +24 -7
  26. package/Libraries/AppState/NativeAppState.js +2 -2
  27. package/Libraries/AppTheme/NativeAppTheme.js +2 -2
  28. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  29. package/Libraries/BatchedBridge/MessageQueue.js +5 -4
  30. package/Libraries/BatchedBridge/NativeModules.js +6 -4
  31. package/Libraries/Blob/Blob.js +5 -5
  32. package/Libraries/Blob/BlobManager.js +3 -2
  33. package/Libraries/Blob/BlobRegistry.js +3 -9
  34. package/Libraries/Blob/File.js +3 -2
  35. package/Libraries/Blob/FileReader.js +8 -174
  36. package/Libraries/Blob/FileReader_new.js +231 -0
  37. package/Libraries/Blob/FileReader_old.js +186 -0
  38. package/Libraries/Blob/NativeBlobModule.js +2 -2
  39. package/Libraries/Blob/NativeFileReaderModule.js +2 -2
  40. package/Libraries/Blob/URL.js +1 -1
  41. package/Libraries/Blob/URLSearchParams.js +9 -10
  42. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  43. package/Libraries/BugReporting/BugReporting.js +2 -2
  44. package/Libraries/BugReporting/NativeBugReporting.js +2 -2
  45. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  46. package/Libraries/BugReporting/getReactData.js +1 -1
  47. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  48. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
  49. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
  50. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
  51. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  52. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  53. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
  54. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
  55. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +11 -11
  56. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  57. package/Libraries/Components/Button.js +6 -6
  58. package/Libraries/Components/Button.windows.js +9 -6
  59. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  60. package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
  61. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  62. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
  63. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -3
  64. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
  65. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +1 -1
  66. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  67. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  68. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +24 -25
  69. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
  70. package/Libraries/Components/LayoutConformance/LayoutConformance.js +7 -5
  71. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  72. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
  73. package/Libraries/Components/Pressable/Pressable.js +28 -73
  74. package/Libraries/Components/Pressable/Pressable.windows.js +29 -77
  75. package/Libraries/Components/Pressable/useAndroidRippleForView.js +17 -17
  76. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -47
  77. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +9 -5
  78. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  79. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
  80. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  81. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  82. package/Libraries/Components/RefreshControl/RefreshControl.js +17 -14
  83. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +17 -14
  84. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
  85. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  86. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
  87. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  88. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
  89. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
  90. package/Libraries/Components/ScrollView/ScrollView.js +139 -134
  91. package/Libraries/Components/ScrollView/ScrollView.windows.js +139 -134
  92. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  93. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +7 -9
  94. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +9 -8
  95. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
  96. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +10 -11
  97. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  98. package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
  99. package/Libraries/Components/Sound/SoundManager.js +1 -1
  100. package/Libraries/Components/StaticRenderer.js +4 -4
  101. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
  103. package/Libraries/Components/StatusBar/StatusBar.js +57 -31
  104. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  105. package/Libraries/Components/Switch/Switch.js +74 -45
  106. package/Libraries/Components/Switch/Switch.windows.js +74 -45
  107. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  108. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -35
  109. package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
  110. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  111. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
  112. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
  113. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +5 -2
  114. package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
  115. package/Libraries/Components/TextInput/TextInput.js +152 -149
  116. package/Libraries/Components/TextInput/TextInput.windows.js +154 -151
  117. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  118. package/Libraries/Components/TextInput/TextInputState.js +6 -20
  119. package/Libraries/Components/TextInput/TextInputState.windows.js +6 -20
  120. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -35
  121. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
  122. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  125. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  126. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  127. package/Libraries/Components/Touchable/Position.js +1 -1
  128. package/Libraries/Components/Touchable/Touchable.js +23 -23
  129. package/Libraries/Components/Touchable/Touchable.windows.js +23 -23
  130. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  131. package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -9
  132. package/Libraries/Components/Touchable/TouchableHighlight.js +44 -23
  133. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +53 -22
  134. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +102 -54
  135. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +102 -54
  136. package/Libraries/Components/Touchable/TouchableOpacity.js +57 -15
  137. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +57 -15
  138. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +114 -61
  139. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +129 -74
  140. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  141. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
  142. package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
  143. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  144. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -1
  145. package/Libraries/Components/View/View.js +2 -2
  146. package/Libraries/Components/View/View.windows.js +4 -4
  147. package/Libraries/Components/View/ViewAccessibility.js +245 -5
  148. package/Libraries/Components/View/ViewAccessibility.windows.js +254 -5
  149. package/Libraries/Components/View/ViewNativeComponent.js +2 -4
  150. package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
  151. package/Libraries/Components/View/ViewPropTypes.js +65 -253
  152. package/Libraries/Components/View/ViewPropTypes.windows.js +72 -258
  153. package/Libraries/Core/Devtools/getDevServer.js +1 -3
  154. package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
  155. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +4 -2
  156. package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
  157. package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
  158. package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
  159. package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
  160. package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
  161. package/Libraries/Core/ExceptionsManager.js +6 -4
  162. package/Libraries/Core/InitializeCore.js +7 -3
  163. package/Libraries/Core/NativeExceptionsManager.js +2 -2
  164. package/Libraries/Core/RawEventEmitter.js +2 -2
  165. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  166. package/Libraries/Core/ReactNativeVersion.js +3 -5
  167. package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
  168. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
  169. package/Libraries/Core/Timers/JSTimers.js +10 -8
  170. package/Libraries/Core/Timers/NativeTiming.js +2 -2
  171. package/Libraries/Core/Timers/immediateShim.js +2 -9
  172. package/Libraries/Core/polyfillPromise.js +1 -1
  173. package/Libraries/Core/registerCallableModule.js +1 -1
  174. package/Libraries/Core/setUpAlert.js +1 -1
  175. package/Libraries/Core/setUpBatchedBridge.js +13 -8
  176. package/Libraries/Core/setUpDeveloperTools.js +3 -35
  177. package/Libraries/Core/setUpErrorHandling.js +2 -2
  178. package/Libraries/Core/setUpReactDevTools.js +26 -6
  179. package/Libraries/Core/setUpReactRefresh.js +1 -1
  180. package/Libraries/Core/setUpTimers.js +45 -66
  181. package/Libraries/Core/setUpXHR.js +11 -8
  182. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  183. package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
  184. package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
  185. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -5
  186. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  187. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  188. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  189. package/Libraries/Events/CustomEvent.js +3 -3
  190. package/Libraries/Events/EventPolyfill.js +2 -2
  191. package/Libraries/Image/AssetRegistry.js +8 -1
  192. package/Libraries/Image/AssetSourceResolver.js +4 -4
  193. package/Libraries/Image/AssetSourceResolver.windows.js +4 -4
  194. package/Libraries/Image/Image.android.js +4 -2
  195. package/Libraries/Image/Image.ios.js +1 -1
  196. package/Libraries/Image/Image.js.flow +27 -0
  197. package/Libraries/Image/Image.windows.js +1 -2
  198. package/Libraries/Image/ImageBackground.js +2 -2
  199. package/Libraries/Image/ImageProps.js +109 -39
  200. package/Libraries/Image/ImageTypes.flow.js +16 -6
  201. package/Libraries/Image/ImageViewNativeComponent.js +8 -11
  202. package/Libraries/Image/NativeImageEditor.js +2 -2
  203. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
  204. package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
  205. package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
  206. package/Libraries/Image/NativeImageStoreIOS.js +2 -2
  207. package/Libraries/Image/RelativeImageStub.js +3 -1
  208. package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
  209. package/Libraries/Image/assetPaths.js +2 -0
  210. package/Libraries/Image/nativeImageSource.js +3 -3
  211. package/Libraries/Image/resolveAssetSource.js +4 -2
  212. package/Libraries/Image/resolveAssetSource.windows.js +5 -3
  213. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  214. package/Libraries/Interaction/InteractionManager.js +20 -9
  215. package/Libraries/Interaction/InteractionManagerStub.js +10 -2
  216. package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
  217. package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
  218. package/Libraries/Interaction/PanResponder.js +49 -46
  219. package/Libraries/Interaction/TaskQueue.js +4 -4
  220. package/Libraries/Interaction/TouchHistoryMath.js +27 -1
  221. package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
  222. package/Libraries/Linking/Linking.d.ts +3 -3
  223. package/Libraries/Linking/Linking.js +10 -9
  224. package/Libraries/Linking/NativeIntentAndroid.js +2 -2
  225. package/Libraries/Linking/NativeLinkingManager.js +2 -2
  226. package/Libraries/Lists/FillRateHelper.js +4 -4
  227. package/Libraries/Lists/FlatList.js +30 -30
  228. package/Libraries/Lists/SectionList.js +10 -10
  229. package/Libraries/Lists/SectionListModern.js +9 -7
  230. package/Libraries/Lists/ViewabilityHelper.js +4 -3
  231. package/Libraries/Lists/VirtualizeUtils.js +3 -5
  232. package/Libraries/Lists/VirtualizedList.js +6 -6
  233. package/Libraries/Lists/VirtualizedListContext.js +5 -5
  234. package/Libraries/Lists/VirtualizedSectionList.js +5 -3
  235. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  236. package/Libraries/LogBox/Data/LogBoxData.js +15 -15
  237. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  238. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  239. package/Libraries/LogBox/LogBox.js +22 -2
  240. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  241. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  242. package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
  243. package/Libraries/LogBox/UI/LogBoxButton.js +8 -6
  244. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
  245. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  246. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  247. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +50 -31
  248. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
  249. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
  250. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  251. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +8 -2
  252. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
  253. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -4
  254. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +5 -3
  255. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +5 -3
  256. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  257. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -4
  258. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
  259. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +5 -3
  260. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  261. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
  262. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
  263. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
  264. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
  265. package/Libraries/Modal/Modal.js +82 -89
  266. package/Libraries/Modal/Modal.windows.js +85 -89
  267. package/Libraries/Modal/NativeModalManager.js +2 -2
  268. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  269. package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
  270. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
  271. package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
  272. package/Libraries/NativeComponent/BaseViewConfig.windows.js +19 -9
  273. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  274. package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
  275. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  276. package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
  277. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
  278. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
  279. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +2 -2
  280. package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
  281. package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
  282. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
  283. package/Libraries/Network/FormData.js +1 -1
  284. package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
  285. package/Libraries/Network/NativeNetworkingIOS.js +2 -2
  286. package/Libraries/Network/RCTNetworking.android.js +1 -1
  287. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  288. package/Libraries/Network/RCTNetworking.js.flow +44 -0
  289. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  290. package/Libraries/Network/XMLHttpRequest.js +10 -685
  291. package/Libraries/Network/XMLHttpRequest_new.js +794 -0
  292. package/Libraries/Network/XMLHttpRequest_old.js +701 -0
  293. package/Libraries/Network/convertRequestBody.js +7 -4
  294. package/Libraries/Network/fetch.js +4 -3
  295. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
  296. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +65 -63
  297. package/Libraries/Pressability/HoverState.js +1 -0
  298. package/Libraries/Pressability/Pressability.js +34 -34
  299. package/Libraries/Pressability/Pressability.windows.js +34 -34
  300. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  301. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  302. package/Libraries/Promise.js +2 -2
  303. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
  304. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
  305. package/Libraries/ReactNative/AppContainer-dev.js +4 -3
  306. package/Libraries/ReactNative/AppContainer.js +3 -3
  307. package/Libraries/ReactNative/AppRegistry.js +4 -4
  308. package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
  309. package/Libraries/ReactNative/FabricUIManager.js +22 -10
  310. package/Libraries/ReactNative/I18nManager.js +4 -3
  311. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
  312. package/Libraries/ReactNative/NativeI18nManager.js +2 -2
  313. package/Libraries/ReactNative/NativeUIManager.js +2 -2
  314. package/Libraries/ReactNative/PaperUIManager.js +6 -6
  315. package/Libraries/ReactNative/PaperUIManager.windows.js +6 -6
  316. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
  317. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
  318. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
  319. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
  320. package/Libraries/ReactNative/RendererImplementation.js +12 -5
  321. package/Libraries/ReactNative/RootTag.js +1 -1
  322. package/Libraries/ReactNative/UIManager.d.ts +1 -0
  323. package/Libraries/ReactNative/UIManager.js +3 -3
  324. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  325. package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
  326. package/Libraries/ReactNative/requireNativeComponent.js +3 -2
  327. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +30 -10
  328. package/Libraries/Renderer/shims/ReactNativeTypes.js +40 -89
  329. package/Libraries/Settings/NativeSettingsManager.js +2 -2
  330. package/Libraries/Settings/Settings.ios.js +1 -1
  331. package/Libraries/Settings/Settings.js +3 -3
  332. package/Libraries/Share/NativeShareModule.js +2 -2
  333. package/Libraries/Share/Share.js +11 -4
  334. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  335. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
  336. package/Libraries/StyleSheet/Rect.js +2 -2
  337. package/Libraries/StyleSheet/StyleSheet.js +4 -3
  338. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  339. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  340. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  341. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  342. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  343. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  344. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  345. package/Libraries/StyleSheet/processBoxShadow.js +4 -0
  346. package/Libraries/StyleSheet/processColor.js +2 -2
  347. package/Libraries/StyleSheet/processColorArray.js +1 -1
  348. package/Libraries/StyleSheet/processFilter.js +4 -0
  349. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  350. package/Libraries/StyleSheet/processTransform.js +1 -1
  351. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  352. package/Libraries/Text/Text.d.ts +1 -1
  353. package/Libraries/Text/Text.js +19 -17
  354. package/Libraries/Text/Text.windows.js +20 -18
  355. package/Libraries/Text/TextAncestor.js +2 -3
  356. package/Libraries/Text/TextNativeComponent.js +3 -3
  357. package/Libraries/Text/TextProps.js +134 -94
  358. package/Libraries/Text/TextProps.windows.js +134 -94
  359. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  360. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  361. package/Libraries/Types/CodegenTypes.js +5 -4
  362. package/Libraries/Types/CoreEventTypes.js +119 -86
  363. package/Libraries/Types/CoreEventTypes.windows.js +127 -95
  364. package/Libraries/Types/ReactDevToolsTypes.js +4 -8
  365. package/Libraries/UTFSequence.js +4 -3
  366. package/Libraries/Utilities/Appearance.js +0 -8
  367. package/Libraries/Utilities/BackHandler.android.js +3 -3
  368. package/Libraries/Utilities/BackHandler.ios.js +7 -7
  369. package/Libraries/Utilities/BackHandler.js.flow +25 -0
  370. package/Libraries/Utilities/BackHandler.windows.js +3 -3
  371. package/Libraries/Utilities/DevLoadingView.js +1 -1
  372. package/Libraries/Utilities/DevSettings.js +15 -1
  373. package/Libraries/Utilities/DeviceInfo.js +1 -1
  374. package/Libraries/Utilities/Dimensions.js +5 -0
  375. package/Libraries/Utilities/FeatureDetection.js +2 -4
  376. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  377. package/Libraries/Utilities/HMRClient.js +7 -7
  378. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  379. package/Libraries/Utilities/NativeAppearance.js +2 -2
  380. package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
  381. package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
  382. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
  383. package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
  384. package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
  385. package/Libraries/Utilities/Platform.android.js +6 -6
  386. package/Libraries/Utilities/Platform.ios.js +6 -6
  387. package/Libraries/Utilities/{DebugEnvironment.js → Platform.js.flow} +3 -6
  388. package/Libraries/Utilities/Platform.windows.js +8 -8
  389. package/Libraries/Utilities/{Platform.flow.windows.js → PlatformTypes.js} +79 -22
  390. package/Libraries/Utilities/PolyfillFunctions.js +3 -5
  391. package/Libraries/Utilities/RCTLog.js +1 -1
  392. package/Libraries/Utilities/ReactNativeTestTools.js +6 -6
  393. package/Libraries/Utilities/SceneTracker.js +1 -1
  394. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
  395. package/Libraries/Utilities/binaryToBase64.js +1 -1
  396. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  397. package/Libraries/Utilities/codegenNativeComponent.js +3 -3
  398. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  399. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  400. package/Libraries/Utilities/differ/deepDiffer.js +6 -6
  401. package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
  402. package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
  403. package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
  404. package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
  405. package/Libraries/Utilities/dismissKeyboard.js +3 -2
  406. package/Libraries/Utilities/infoLog.js +1 -1
  407. package/Libraries/Utilities/logError.js +1 -1
  408. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  409. package/Libraries/Utilities/stringifySafe.js +2 -2
  410. package/Libraries/Utilities/warnOnce.js +1 -1
  411. package/Libraries/Vibration/NativeVibration.js +2 -2
  412. package/Libraries/Vibration/Vibration.js +4 -4
  413. package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
  414. package/Libraries/WebSocket/WebSocket.js +8 -285
  415. package/Libraries/WebSocket/WebSocketEvent.js +2 -2
  416. package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
  417. package/Libraries/WebSocket/WebSocket_new.js +325 -0
  418. package/Libraries/WebSocket/WebSocket_old.js +297 -0
  419. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  420. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
  421. package/Libraries/__tests__/ViewWindows-test.js +1 -1
  422. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  423. package/Libraries/vendor/emitter/EventEmitter.js +21 -9
  424. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +4 -4
  425. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +5 -5
  426. package/Microsoft.ReactNative/Fabric/ComponentView.h +6 -5
  427. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +1 -0
  428. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +1 -1
  429. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +3 -1
  430. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +3 -2
  431. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +1 -1
  432. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +2 -1
  433. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +3 -2
  434. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +1 -1
  435. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -2
  436. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -12
  437. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +2 -2
  438. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +3 -2
  439. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +7 -3
  440. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +10 -1
  441. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +2 -0
  442. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +1 -1
  443. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +2 -2
  444. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +0 -1
  445. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +1 -1
  446. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/{TextLayoutManager.cpp → WindowsTextLayoutManager.cpp} +21 -36
  447. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +68 -0
  448. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +0 -8
  449. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +2 -3
  450. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +10 -11
  451. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -4
  452. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +1 -1
  453. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +3 -3
  454. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +4 -0
  455. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +4 -0
  456. package/PropertySheets/External/Microsoft.ReactNative.Cpp.PackageReferences.props +4 -14
  457. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
  458. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  459. package/PropertySheets/NuGet.LockFile.props +9 -1
  460. package/PropertySheets/React.Cpp.props +11 -3
  461. package/ReactCommon/ReactCommon.vcxproj +20 -5
  462. package/ReactCommon/ReactCommon.vcxproj.filters +12 -0
  463. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +14 -0
  464. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +16 -0
  465. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +58 -8
  466. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
  467. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -2
  468. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +3 -3
  469. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +214 -110
  470. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +129 -0
  471. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1404 -0
  472. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSHexColor.h +104 -0
  473. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +277 -0
  474. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +49 -0
  475. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +191 -0
  476. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -8
  477. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +96 -0
  478. package/Scripts/Microsoft.ReactNative.Managed.CodeGen.nuspec +1 -1
  479. package/Scripts/Microsoft.ReactNative.Managed.nuspec +23 -23
  480. package/Scripts/Microsoft.ReactNative.VersionCheck.targets +0 -2
  481. package/Scripts/Microsoft.ReactNative.nuspec +34 -29
  482. package/Scripts/Microsoft.ReactNative.targets +8 -5
  483. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -7
  484. package/Scripts/OfficeReact.Win32.nuspec +16 -16
  485. package/Scripts/creaternwapp.cmd +177 -0
  486. package/Scripts/creaternwlib.cmd +176 -0
  487. package/Shared/HermesRuntimeHolder.cpp +15 -3
  488. package/Shared/HermesRuntimeHolder.h +16 -1
  489. package/Shared/Shared.vcxitems +8 -5
  490. package/Shared/Shared.vcxitems.filters +3 -3
  491. package/codegen/NativeDOMSpec.g.h +67 -61
  492. package/codegen/NativeDevMenuSpec.g.h +3 -9
  493. package/codegen/NativeDevSettingsSpec.g.h +13 -19
  494. package/codegen/NativePlatformConstantsWindowsSpec.g.h +7 -7
  495. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +108 -120
  496. package/codegen/NativeUIManagerSpec.g.h +3 -3
  497. package/codegen/rnwcoreJSI-generated.cpp +90 -179
  498. package/codegen/rnwcoreJSI.h +226 -400
  499. package/index.js +153 -237
  500. package/index.windows.js +61 -57
  501. package/jest/mockScrollView.js +1 -1
  502. package/jest/setup.js +314 -264
  503. package/package.json +27 -28
  504. package/src/private/animated/createAnimatedPropsHook.js +360 -0
  505. package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
  506. package/src/private/components/HScrollViewNativeComponents.js +2 -2
  507. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  508. package/src/private/components/VScrollViewNativeComponents.js +1 -1
  509. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
  510. package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +1 -1
  511. package/src/private/devmenu/DevMenu.js +2 -2
  512. package/src/private/featureflags/ReactNativeFeatureFlags.js +53 -75
  513. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
  514. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -12
  515. package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
  516. package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
  517. package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
  518. package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +20 -15
  519. package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
  520. package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +11 -10
  521. package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
  522. package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +43 -27
  523. package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +8 -6
  524. package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
  525. package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
  526. package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
  527. package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +6 -6
  528. package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
  529. package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
  530. package/src/private/setup/setUpDOM.js +43 -3
  531. package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +3 -3
  532. package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +7 -7
  533. package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  534. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
  535. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +5 -5
  536. package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +3 -3
  537. package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +3 -3
  538. package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +3 -3
  539. package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +3 -3
  540. package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +1 -1
  541. package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +3 -3
  542. package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +5 -5
  543. package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +3 -3
  544. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
  545. package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
  546. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
  547. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
  548. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
  549. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
  550. package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
  551. package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
  552. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
  553. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
  554. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
  555. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
  556. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerWindows.js +4 -4
  557. package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +3 -3
  558. package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
  559. package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
  560. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
  561. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
  562. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
  563. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
  564. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
  565. package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
  566. package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
  567. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
  568. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
  569. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWindows.js +3 -8
  570. package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
  571. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
  572. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
  573. package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
  574. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
  575. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
  576. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
  577. package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
  578. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
  579. package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
  580. package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
  581. package/src/private/types/HostComponent.js +16 -0
  582. package/src/private/types/HostInstance.js +50 -0
  583. package/src/private/webapis/dom/events/CustomEvent.js +38 -0
  584. package/src/private/webapis/dom/events/Event.js +236 -0
  585. package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
  586. package/src/private/webapis/dom/events/EventTarget.js +436 -0
  587. package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
  588. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
  589. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +121 -0
  590. package/src/private/webapis/dom/nodes/ReactNativeElement.js +82 -51
  591. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +7 -6
  592. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +26 -26
  593. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +56 -78
  594. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
  595. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
  596. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
  597. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
  598. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  599. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  600. package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
  601. package/src/private/webapis/html/events/MessageEvent.js +56 -0
  602. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +6 -6
  603. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  604. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
  605. package/src/private/webapis/mutationobserver/MutationObserver.js +11 -11
  606. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
  607. package/src/private/webapis/performance/EventTiming.js +1 -1
  608. package/src/private/webapis/performance/Performance.js +3 -3
  609. package/src/private/webapis/performance/PerformanceObserver.js +8 -8
  610. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  611. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  612. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
  613. package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
  614. package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
  615. package/src/types/globals.d.ts +628 -0
  616. package/templates/cpp-app/template.config.js +2 -2
  617. package/templates/cpp-app/windows/_gitignore +5 -0
  618. package/templates/cpp-lib/template.config.js +2 -2
  619. package/templates/cpp-lib/windows/MyLib/MyLib.cpp +1 -1
  620. package/templates/cpp-lib/windows/MyLib/MyLib.h +2 -0
  621. package/templates/cpp-lib/windows/_gitignore +5 -0
  622. package/templates/old/generateWrapper.js +8 -22
  623. package/templates/old/uwp-cpp-app/template.config.js +1 -1
  624. package/templates/old/uwp-cs-app/template.config.js +1 -1
  625. package/types/index.d.ts +2 -58
  626. package/Libraries/Animated/AnimatedWeb.js +0 -26
  627. package/Libraries/JSInspector/InspectorAgent.js +0 -27
  628. package/Libraries/JSInspector/JSInspector.js +0 -33
  629. package/Libraries/JSInspector/NetworkAgent.js +0 -295
  630. package/Libraries/Utilities/Platform.flow.js +0 -91
  631. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
  632. package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
  633. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +0 -10
  634. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -20
  635. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -117
  636. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/textinput/TextInputState.h +0 -73
  637. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/ImageRequestParams.h +0 -30
  638. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +0 -60
  639. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/primitives.h +0 -179
  640. package/codegen/NativeCPUTimeSpec.g.h +0 -41
  641. package/codegen/NativeFantomSpec.g.h +0 -78
  642. package/src/private/specs/modules/NativeCPUTime.js +0 -24
  643. package/src/private/specs/modules/NativeFantom.js +0 -37
  644. package/src/private/specs/modules/NativeUIManager.js +0 -111
  645. package/templates/old/uwp-cpp-lib/template.config.js +0 -15
  646. package/templates/old/uwp-cs-lib/template.config.js +0 -15
  647. package/types/modules/globals.d.ts +0 -599
  648. /package/ReactCommon/TEMP_UntilReactCommonUpdate/{react → jsitooling/react}/runtime/JSRuntimeFactory.cpp +0 -0
  649. /package/ReactCommon/TEMP_UntilReactCommonUpdate/{react → jsitooling/react}/runtime/JSRuntimeFactory.h +0 -0
  650. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
  651. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppTheme.js +0 -0
  652. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
  653. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
  654. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
  655. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
  656. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
  657. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
  658. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
  659. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
  660. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
  661. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
  662. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
  663. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
  664. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
  665. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
  666. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
  667. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
  668. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
  669. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
  670. /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
  671. /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
  672. /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
  673. /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
@@ -10,6 +10,7 @@
10
10
  #include <react/renderer/dom/DOM.h>
11
11
  #include <react/renderer/uimanager/PointerEventsProcessor.h>
12
12
  #include <react/renderer/uimanager/UIManagerBinding.h>
13
+ #include <react/renderer/uimanager/primitives.h>
13
14
 
14
15
  #ifdef RN_DISABLE_OSS_PLUGIN_HEADER
15
16
  #include "Plugins.h"
@@ -33,6 +34,19 @@ static RootShadowNode::Shared getCurrentShadowTreeRevision(
33
34
  return shadowTreeRevisionProvider->getCurrentRevision(surfaceId);
34
35
  }
35
36
 
37
+ static RootShadowNode::Shared getCurrentShadowTreeRevision(
38
+ facebook::jsi::Runtime& runtime,
39
+ jsi::Value& nativeNodeReference) {
40
+ if (nativeNodeReference.isNumber()) {
41
+ return getCurrentShadowTreeRevision(
42
+ runtime, static_cast<SurfaceId>(nativeNodeReference.asNumber()));
43
+ }
44
+
45
+ return getCurrentShadowTreeRevision(
46
+ runtime,
47
+ shadowNodeFromValue(runtime, nativeNodeReference)->getSurfaceId());
48
+ }
49
+
36
50
  static facebook::react::PointerEventsProcessor&
37
51
  getPointerEventsProcessorFromRuntime(facebook::jsi::Runtime& runtime) {
38
52
  return facebook::react::UIManagerBinding::getBinding(runtime)
@@ -58,81 +72,156 @@ getArrayOfInstanceHandlesFromShadowNodes(
58
72
  return nonNullInstanceHandles;
59
73
  }
60
74
 
75
+ static bool isRootShadowNode(const ShadowNode& shadowNode) {
76
+ return shadowNode.getTraits().check(ShadowNodeTraits::Trait::RootNodeKind);
77
+ }
78
+
61
79
  #pragma mark - NativeDOM
62
80
 
63
81
  NativeDOM::NativeDOM(std::shared_ptr<CallInvoker> jsInvoker)
64
82
  : NativeDOMCxxSpec(std::move(jsInvoker)) {}
65
83
 
66
- jsi::Value NativeDOM::getParentNode(
84
+ #pragma mark - Methods from the Node interface (for ReadOnlyNode).
85
+
86
+ double NativeDOM::compareDocumentPosition(
67
87
  jsi::Runtime& rt,
68
- jsi::Value shadowNodeValue) {
69
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
70
- auto currentRevision =
71
- getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
88
+ jsi::Value nativeNodeReference,
89
+ jsi::Value otherNativeNodeReference) {
90
+ auto currentRevision = getCurrentShadowTreeRevision(rt, nativeNodeReference);
72
91
  if (currentRevision == nullptr) {
73
- return jsi::Value::undefined();
92
+ return dom::DOCUMENT_POSITION_DISCONNECTED;
74
93
  }
75
94
 
76
- auto parentShadowNode = dom::getParentNode(currentRevision, *shadowNode);
77
- if (parentShadowNode == nullptr) {
78
- return jsi::Value::undefined();
95
+ ShadowNode::Shared shadowNode;
96
+ ShadowNode::Shared otherShadowNode;
97
+
98
+ // Check if document references are used
99
+ if (nativeNodeReference.isNumber() || otherNativeNodeReference.isNumber()) {
100
+ if (nativeNodeReference.isNumber() && otherNativeNodeReference.isNumber()) {
101
+ // Both are documents (and equality is handled in JS directly).
102
+ return dom::DOCUMENT_POSITION_DISCONNECTED;
103
+ } else if (nativeNodeReference.isNumber()) {
104
+ // Only the first is a document
105
+ auto surfaceId = nativeNodeReference.asNumber();
106
+ shadowNode = currentRevision;
107
+ otherShadowNode = shadowNodeFromValue(rt, otherNativeNodeReference);
108
+
109
+ if (isRootShadowNode(*otherShadowNode)) {
110
+ // If the other is a root node, we just need to check if it is its
111
+ // documentElement
112
+ return (surfaceId == otherShadowNode->getSurfaceId())
113
+ ? dom::DOCUMENT_POSITION_CONTAINED_BY |
114
+ dom::DOCUMENT_POSITION_FOLLOWING
115
+ : dom::DOCUMENT_POSITION_DISCONNECTED;
116
+ } else {
117
+ // Otherwise, we'll use the root node to represent the document
118
+ // (the result should be the same)
119
+ }
120
+ } else {
121
+ // Only the second is a document
122
+ auto otherSurfaceId = otherNativeNodeReference.asNumber();
123
+ shadowNode = shadowNodeFromValue(rt, nativeNodeReference);
124
+ otherShadowNode = getCurrentShadowTreeRevision(rt, static_cast<SurfaceId>(otherSurfaceId));
125
+
126
+ if (isRootShadowNode(*shadowNode)) {
127
+ // If this is a root node, we just need to check if the other is its
128
+ // document.
129
+ return (otherSurfaceId == shadowNode->getSurfaceId())
130
+ ? dom::DOCUMENT_POSITION_CONTAINS | dom::DOCUMENT_POSITION_PRECEDING
131
+ : dom::DOCUMENT_POSITION_DISCONNECTED;
132
+ } else {
133
+ // Otherwise, we'll use the root node to represent the document
134
+ // (the result should be the same)
135
+ }
136
+ }
137
+ } else {
138
+ shadowNode = shadowNodeFromValue(rt, nativeNodeReference);
139
+ otherShadowNode = shadowNodeFromValue(rt, otherNativeNodeReference);
79
140
  }
80
141
 
81
- return parentShadowNode->getInstanceHandle(rt);
142
+ return dom::compareDocumentPosition(
143
+ currentRevision, *shadowNode, *otherShadowNode);
82
144
  }
83
145
 
84
146
  std::vector<jsi::Value> NativeDOM::getChildNodes(
85
147
  jsi::Runtime& rt,
86
- jsi::Value shadowNodeValue) {
87
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
88
- auto currentRevision =
89
- getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
148
+ jsi::Value nativeNodeReference) {
149
+ auto currentRevision = getCurrentShadowTreeRevision(rt, nativeNodeReference);
90
150
  if (currentRevision == nullptr) {
91
151
  return std::vector<jsi::Value>{};
92
152
  }
93
153
 
94
- auto childNodes = dom::getChildNodes(currentRevision, *shadowNode);
154
+ // The only child node of the document is the root node.
155
+ if (nativeNodeReference.isNumber()) {
156
+ return getArrayOfInstanceHandlesFromShadowNodes({currentRevision}, rt);
157
+ }
158
+
159
+ auto childNodes = dom::getChildNodes(
160
+ currentRevision, *shadowNodeFromValue(rt, nativeNodeReference));
95
161
  return getArrayOfInstanceHandlesFromShadowNodes(childNodes, rt);
96
162
  }
97
163
 
98
- bool NativeDOM::isConnected(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
99
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
164
+ jsi::Value NativeDOM::getParentNode(
165
+ jsi::Runtime& rt,
166
+ jsi::Value nativeNodeReference) {
167
+ // The document does not have a parent node.
168
+ if (nativeNodeReference.isNumber()) {
169
+ return jsi::Value::undefined();
170
+ }
171
+
172
+ auto shadowNode = shadowNodeFromValue(rt, nativeNodeReference);
173
+ if (isRootShadowNode(*shadowNode)) {
174
+ // The parent of the root node is the document.
175
+ return jsi::Value{shadowNode->getSurfaceId()};
176
+ }
177
+
100
178
  auto currentRevision =
101
179
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
102
180
  if (currentRevision == nullptr) {
103
- return false;
181
+ return jsi::Value::undefined();
104
182
  }
105
183
 
106
- return dom::isConnected(currentRevision, *shadowNode);
184
+ auto parentShadowNode = dom::getParentNode(currentRevision, *shadowNode);
185
+ if (parentShadowNode == nullptr) {
186
+ return jsi::Value::undefined();
187
+ }
188
+
189
+ return parentShadowNode->getInstanceHandle(rt);
107
190
  }
108
191
 
109
- double NativeDOM::compareDocumentPosition(
110
- jsi::Runtime& rt,
111
- jsi::Value shadowNodeValue,
112
- jsi::Value otherShadowNodeValue) {
113
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
114
- auto otherShadowNode = shadowNodeFromValue(rt, otherShadowNodeValue);
115
- auto currentRevision =
116
- getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
117
- if (otherShadowNode == nullptr || currentRevision == nullptr) {
118
- return 0;
192
+ bool NativeDOM::isConnected(jsi::Runtime& rt, jsi::Value nativeNodeReference) {
193
+ auto currentRevision = getCurrentShadowTreeRevision(rt, nativeNodeReference);
194
+ if (currentRevision == nullptr) {
195
+ return false;
119
196
  }
120
197
 
121
- return dom::compareDocumentPosition(
122
- currentRevision, *shadowNode, *otherShadowNode);
198
+ // The document is connected because we got a value for current revision.
199
+ if (nativeNodeReference.isNumber()) {
200
+ return true;
201
+ }
202
+
203
+ auto shadowNode = shadowNodeFromValue(rt, nativeNodeReference);
204
+ return dom::isConnected(currentRevision, *shadowNode);
123
205
  }
124
206
 
125
- std::string NativeDOM::getTextContent(
126
- jsi::Runtime& rt,
127
- jsi::Value shadowNodeValue) {
128
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
207
+ #pragma mark - Methods from the Element interface (for ReactNativeElement).
208
+
209
+ std::tuple<
210
+ /* topWidth: */ int,
211
+ /* rightWidth: */ int,
212
+ /* bottomWidth: */ int,
213
+ /* leftWidth: */ int>
214
+ NativeDOM::getBorderWidth(jsi::Runtime& rt, jsi::Value nativeElementReference) {
215
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
129
216
  auto currentRevision =
130
217
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
131
218
  if (currentRevision == nullptr) {
132
- return "";
219
+ return {0, 0, 0, 0};
133
220
  }
134
221
 
135
- return dom::getTextContent(currentRevision, *shadowNode);
222
+ auto borderWidth = dom::getBorderWidth(currentRevision, *shadowNode);
223
+ return std::tuple{
224
+ borderWidth.top, borderWidth.right, borderWidth.bottom, borderWidth.left};
136
225
  }
137
226
 
138
227
  std::tuple<
@@ -142,9 +231,9 @@ std::tuple<
142
231
  /* height: */ double>
143
232
  NativeDOM::getBoundingClientRect(
144
233
  jsi::Runtime& rt,
145
- jsi::Value shadowNodeValue,
234
+ jsi::Value nativeElementReference,
146
235
  bool includeTransform) {
147
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
236
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
148
237
  auto currentRevision =
149
238
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
150
239
  if (currentRevision == nullptr) {
@@ -157,31 +246,25 @@ NativeDOM::getBoundingClientRect(
157
246
  return std::tuple{domRect.x, domRect.y, domRect.width, domRect.height};
158
247
  }
159
248
 
160
- std::tuple<
161
- /* offsetParent: */ jsi::Value,
162
- /* top: */ double,
163
- /* left: */ double>
164
- NativeDOM::getOffset(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
165
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
249
+ std::tuple</* width: */ int, /* height: */ int> NativeDOM::getInnerSize(
250
+ jsi::Runtime& rt,
251
+ jsi::Value nativeElementReference) {
252
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
166
253
  auto currentRevision =
167
254
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
168
255
  if (currentRevision == nullptr) {
169
- return {jsi::Value::undefined(), 0, 0};
256
+ return {0, 0};
170
257
  }
171
258
 
172
- auto domOffset = dom::getOffset(currentRevision, *shadowNode);
173
-
174
- return std::tuple{
175
- domOffset.offsetParent == nullptr
176
- ? jsi::Value::undefined()
177
- : domOffset.offsetParent->getInstanceHandle(rt),
178
- domOffset.top,
179
- domOffset.left};
259
+ auto innerSize = dom::getInnerSize(currentRevision, *shadowNode);
260
+ return std::tuple{innerSize.width, innerSize.height};
180
261
  }
181
262
 
182
263
  std::tuple</* scrollLeft: */ double, /* scrollTop: */ double>
183
- NativeDOM::getScrollPosition(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
184
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
264
+ NativeDOM::getScrollPosition(
265
+ jsi::Runtime& rt,
266
+ jsi::Value nativeElementReference) {
267
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
185
268
  auto currentRevision =
186
269
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
187
270
  if (currentRevision == nullptr) {
@@ -193,8 +276,8 @@ NativeDOM::getScrollPosition(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
193
276
  }
194
277
 
195
278
  std::tuple</* scrollWidth: */ int, /* scrollHeight */ int>
196
- NativeDOM::getScrollSize(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
197
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
279
+ NativeDOM::getScrollSize(jsi::Runtime& rt, jsi::Value nativeElementReference) {
280
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
198
281
  auto currentRevision =
199
282
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
200
283
  if (currentRevision == nullptr) {
@@ -205,82 +288,103 @@ NativeDOM::getScrollSize(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
205
288
  return std::tuple{scrollSize.width, scrollSize.height};
206
289
  }
207
290
 
208
- std::tuple</* width: */ int, /* height: */ int> NativeDOM::getInnerSize(
291
+ std::string NativeDOM::getTagName(
209
292
  jsi::Runtime& rt,
210
- jsi::Value shadowNodeValue) {
211
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
212
- auto currentRevision =
213
- getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
214
- if (currentRevision == nullptr) {
215
- return {0, 0};
216
- }
217
-
218
- auto innerSize = dom::getInnerSize(currentRevision, *shadowNode);
219
- return std::tuple{innerSize.width, innerSize.height};
293
+ jsi::Value nativeElementReference) {
294
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
295
+ return dom::getTagName(*shadowNode);
220
296
  }
221
297
 
222
- std::tuple<
223
- /* topWidth: */ int,
224
- /* rightWidth: */ int,
225
- /* bottomWidth: */ int,
226
- /* leftWidth: */ int>
227
- NativeDOM::getBorderWidth(jsi::Runtime& rt, jsi::Value shadowNodeValue) {
228
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
298
+ std::string NativeDOM::getTextContent(
299
+ jsi::Runtime& rt,
300
+ jsi::Value nativeNodeReference) {
301
+ auto shadowNode = shadowNodeFromValue(rt, nativeNodeReference);
229
302
  auto currentRevision =
230
303
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
231
304
  if (currentRevision == nullptr) {
232
- return {0, 0, 0, 0};
305
+ return "";
233
306
  }
234
307
 
235
- auto borderWidth = dom::getBorderWidth(currentRevision, *shadowNode);
236
- return std::tuple{
237
- borderWidth.top, borderWidth.right, borderWidth.bottom, borderWidth.left};
238
- }
239
-
240
- std::string NativeDOM::getTagName(
241
- jsi::Runtime& rt,
242
- jsi::Value shadowNodeValue) {
243
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
244
- return dom::getTagName(*shadowNode);
308
+ return dom::getTextContent(currentRevision, *shadowNode);
245
309
  }
246
310
 
247
- #pragma mark - Pointer events
248
-
249
311
  bool NativeDOM::hasPointerCapture(
250
312
  jsi::Runtime& rt,
251
- jsi::Value shadowNodeValue,
313
+ jsi::Value nativeElementReference,
252
314
  double pointerId) {
253
315
  bool isCapturing = getPointerEventsProcessorFromRuntime(rt).hasPointerCapture(
254
- // [Windows] Cast to fix https://github.com/microsoft/react-native-windows/issues/14251
255
- static_cast<PointerIdentifier>(pointerId), shadowNodeFromValue(rt, shadowNodeValue).get());
316
+ static_cast<PointerIdentifier>(pointerId),
317
+ shadowNodeFromValue(rt, nativeElementReference).get());
256
318
  return isCapturing;
257
319
  }
258
320
 
321
+ void NativeDOM::releasePointerCapture(
322
+ jsi::Runtime& rt,
323
+ jsi::Value nativeElementReference,
324
+ double pointerId) {
325
+ getPointerEventsProcessorFromRuntime(rt).releasePointerCapture(
326
+ static_cast<PointerIdentifier>(pointerId),
327
+ shadowNodeFromValue(rt, nativeElementReference).get());
328
+ }
329
+
259
330
  void NativeDOM::setPointerCapture(
260
331
  jsi::Runtime& rt,
261
- jsi::Value shadowNodeValue,
332
+ jsi::Value nativeElementReference,
262
333
  double pointerId) {
263
334
  getPointerEventsProcessorFromRuntime(rt).setPointerCapture(
264
- // [Windows] Cast to fix https://github.com/microsoft/react-native-windows/issues/14251
265
- static_cast<PointerIdentifier>(pointerId), shadowNodeFromValue(rt, shadowNodeValue));
335
+ static_cast<PointerIdentifier>(pointerId),
336
+ shadowNodeFromValue(rt, nativeElementReference));
266
337
  }
267
338
 
268
- void NativeDOM::releasePointerCapture(
339
+ #pragma mark - Methods from the HTMLElement interface (for ReactNativeElement).
340
+
341
+ std::tuple<
342
+ /* offsetParent: */ jsi::Value,
343
+ /* top: */ double,
344
+ /* left: */ double>
345
+ NativeDOM::getOffset(jsi::Runtime& rt, jsi::Value nativeElementReference) {
346
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
347
+ auto currentRevision =
348
+ getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
349
+ if (currentRevision == nullptr) {
350
+ return {jsi::Value::undefined(), 0, 0};
351
+ }
352
+
353
+ auto domOffset = dom::getOffset(currentRevision, *shadowNode);
354
+
355
+ return std::tuple{
356
+ domOffset.offsetParent == nullptr
357
+ ? jsi::Value::undefined()
358
+ : domOffset.offsetParent->getInstanceHandle(rt),
359
+ domOffset.top,
360
+ domOffset.left};
361
+ }
362
+
363
+ #pragma mark - Special methods to handle the root node.
364
+
365
+ jsi::Value NativeDOM::linkRootNode(
269
366
  jsi::Runtime& rt,
270
- jsi::Value shadowNodeValue,
271
- double pointerId) {
272
- getPointerEventsProcessorFromRuntime(rt).releasePointerCapture(
273
- // [Windows] Cast to fix https://github.com/microsoft/react-native-windows/issues/14251
274
- static_cast<PointerIdentifier>(pointerId), shadowNodeFromValue(rt, shadowNodeValue).get());
367
+ SurfaceId surfaceId,
368
+ jsi::Value instanceHandle) {
369
+ auto currentRevision = getCurrentShadowTreeRevision(rt, surfaceId);
370
+ if (currentRevision == nullptr) {
371
+ return jsi::Value::undefined();
372
+ }
373
+
374
+ auto instanceHandleWrapper =
375
+ std::make_shared<InstanceHandle>(rt, instanceHandle, surfaceId);
376
+ currentRevision->setInstanceHandle(instanceHandleWrapper);
377
+
378
+ return valueFromShadowNode(rt, currentRevision);
275
379
  }
276
380
 
277
- #pragma mark - Legacy RN layout APIs
381
+ #pragma mark - Legacy layout APIs (for ReactNativeElement).
278
382
 
279
383
  void NativeDOM::measure(
280
384
  jsi::Runtime& rt,
281
- jsi::Value shadowNodeValue,
385
+ jsi::Value nativeElementReference,
282
386
  jsi::Function callback) {
283
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
387
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
284
388
  auto currentRevision =
285
389
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
286
390
  if (currentRevision == nullptr) {
@@ -302,9 +406,9 @@ void NativeDOM::measure(
302
406
 
303
407
  void NativeDOM::measureInWindow(
304
408
  jsi::Runtime& rt,
305
- jsi::Value shadowNodeValue,
409
+ jsi::Value nativeElementReference,
306
410
  jsi::Function callback) {
307
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
411
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
308
412
  auto currentRevision =
309
413
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
310
414
  if (currentRevision == nullptr) {
@@ -323,13 +427,13 @@ void NativeDOM::measureInWindow(
323
427
 
324
428
  void NativeDOM::measureLayout(
325
429
  jsi::Runtime& rt,
326
- jsi::Value shadowNodeValue,
327
- jsi::Value relativeToShadowNodeValue,
430
+ jsi::Value nativeElementReference,
431
+ jsi::Value relativeToNativeElementReference,
328
432
  jsi::Function onFail,
329
433
  jsi::Function onSuccess) {
330
- auto shadowNode = shadowNodeFromValue(rt, shadowNodeValue);
434
+ auto shadowNode = shadowNodeFromValue(rt, nativeElementReference);
331
435
  auto relativeToShadowNode =
332
- shadowNodeFromValue(rt, relativeToShadowNodeValue);
436
+ shadowNodeFromValue(rt, relativeToNativeElementReference);
333
437
  auto currentRevision =
334
438
  getCurrentShadowTreeRevision(rt, shadowNode->getSurfaceId());
335
439
  if (currentRevision == nullptr) {
@@ -0,0 +1,129 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ // [Windows #14654]
9
+
10
+ #pragma once
11
+
12
+ #include <string>
13
+
14
+ #if __has_include("rncoreJSI.h") // Cmake headers on Android
15
+ #include "rncoreJSI.h"
16
+ #elif __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple
17
+ #include "FBReactNativeSpecJSI.h"
18
+ #else
19
+ #include <FBReactNativeSpec/FBReactNativeSpecJSI.h>
20
+ #endif
21
+
22
+ #include <react/renderer/core/ShadowNodeFamily.h>
23
+
24
+ namespace facebook::react {
25
+
26
+ class NativeDOM : public NativeDOMCxxSpec<NativeDOM> {
27
+ public:
28
+ NativeDOM(std::shared_ptr<CallInvoker> jsInvoker);
29
+
30
+ #pragma mark - Methods from the Node interface (for ReadOnlyNode).
31
+
32
+ double compareDocumentPosition(
33
+ jsi::Runtime& rt,
34
+ jsi::Value nativeNodeReference,
35
+ jsi::Value otherNativeNodeReference);
36
+
37
+ std::vector<jsi::Value> getChildNodes(
38
+ jsi::Runtime& rt,
39
+ jsi::Value nativeNodeReference);
40
+
41
+ jsi::Value getParentNode(jsi::Runtime& rt, jsi::Value nativeNodeReference);
42
+
43
+ bool isConnected(jsi::Runtime& rt, jsi::Value nativeNodeReference);
44
+
45
+ #pragma mark - Methods from the Element interface (for ReactNativeElement).
46
+
47
+ std::tuple<
48
+ /* topWidth: */ int,
49
+ /* rightWidth: */ int,
50
+ /* bottomWidth: */ int,
51
+ /* leftWidth: */ int>
52
+ getBorderWidth(jsi::Runtime& rt, jsi::Value nativeElementReference);
53
+
54
+ std::tuple<
55
+ /* x: */ double,
56
+ /* y: */ double,
57
+ /* width: */ double,
58
+ /* height: */ double>
59
+ getBoundingClientRect(
60
+ jsi::Runtime& rt,
61
+ jsi::Value nativeElementReference,
62
+ bool includeTransform);
63
+
64
+ std::tuple</* width: */ int, /* height: */ int> getInnerSize(
65
+ jsi::Runtime& rt,
66
+ jsi::Value nativeElementReference);
67
+
68
+ std::tuple</* scrollLeft: */ double, /* scrollTop: */ double>
69
+ getScrollPosition(jsi::Runtime& rt, jsi::Value nativeElementReference);
70
+
71
+ std::tuple</* scrollWidth: */ int, /* scrollHeight */ int> getScrollSize(
72
+ jsi::Runtime& rt,
73
+ jsi::Value nativeElementReference);
74
+
75
+ std::string getTagName(jsi::Runtime& rt, jsi::Value nativeElementReference);
76
+
77
+ std::string getTextContent(jsi::Runtime& rt, jsi::Value nativeNodeReference);
78
+
79
+ bool hasPointerCapture(
80
+ jsi::Runtime& rt,
81
+ jsi::Value nativeElementReference,
82
+ double pointerId);
83
+
84
+ void releasePointerCapture(
85
+ jsi::Runtime& rt,
86
+ jsi::Value nativeElementReference,
87
+ double pointerId);
88
+
89
+ void setPointerCapture(
90
+ jsi::Runtime& rt,
91
+ jsi::Value nativeElementReference,
92
+ double pointerId);
93
+
94
+ #pragma mark - Methods from the HTMLElement interface (for ReactNativeElement).
95
+
96
+ std::tuple<
97
+ /* offsetParent: */ jsi::Value,
98
+ /* top: */ double,
99
+ /* left: */ double>
100
+ getOffset(jsi::Runtime& rt, jsi::Value nativeElementReference);
101
+
102
+ #pragma mark - Special methods to handle the root node.
103
+
104
+ jsi::Value linkRootNode(
105
+ jsi::Runtime& rt,
106
+ SurfaceId surfaceId,
107
+ jsi::Value instanceHandle);
108
+
109
+ #pragma mark - Legacy layout APIs (for ReactNativeElement).
110
+
111
+ void measure(
112
+ jsi::Runtime& rt,
113
+ jsi::Value nativeElementReference,
114
+ jsi::Function callback);
115
+
116
+ void measureInWindow(
117
+ jsi::Runtime& rt,
118
+ jsi::Value nativeElementReference,
119
+ jsi::Function callback);
120
+
121
+ void measureLayout(
122
+ jsi::Runtime& rt,
123
+ jsi::Value nativeElementReference,
124
+ jsi::Value relativeToNativeElementReference,
125
+ jsi::Function onFail,
126
+ jsi::Function onSuccess);
127
+ };
128
+
129
+ } // namespace facebook::react