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
@@ -4,19 +4,26 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow strict
7
+ * @flow strict-local
8
8
  * @format
9
9
  */
10
10
 
11
- import type {
12
- InternalInstanceHandle as InstanceHandle,
13
- Node as ShadowNode,
14
- } from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';
11
+ import type {RootTag} from '../../../../../../Libraries/ReactNative/RootTag';
12
+ import type {Node as ShadowNode} from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';
15
13
  import type {TurboModule} from '../../../../../../Libraries/TurboModule/RCTExport';
14
+ import type {InstanceHandle} from '../internals/NodeInternals';
16
15
 
17
16
  import * as TurboModuleRegistry from '../../../../../../Libraries/TurboModule/TurboModuleRegistry';
18
17
  import nullthrows from 'nullthrows';
19
18
 
19
+ export opaque type NativeElementReference = ShadowNode;
20
+ export opaque type NativeTextReference = ShadowNode;
21
+
22
+ export type NativeNodeReference =
23
+ | NativeElementReference
24
+ | NativeTextReference
25
+ | RootTag;
26
+
20
27
  export type MeasureInWindowOnSuccessCallback = (
21
28
  x: number,
22
29
  y: number,
@@ -41,78 +48,108 @@ export type MeasureLayoutOnSuccessCallback = (
41
48
  ) => void;
42
49
 
43
50
  export interface Spec extends TurboModule {
44
- +getParentNode: (
45
- shadowNode: mixed /* ShadowNode */,
46
- ) => mixed /* ?InstanceHandle */;
51
+ /*
52
+ * Methods from the `Node` interface (for `ReadOnlyNode`).
53
+ */
54
+
55
+ +compareDocumentPosition: (
56
+ nativeNodeReference: mixed /* NativeNodeReference */,
57
+ otherNativeNodeReference: mixed /* NativeNodeReference */,
58
+ ) => number;
47
59
 
48
60
  +getChildNodes: (
49
- shadowNode: mixed /* ShadowNode */,
61
+ nativeNodeReference: mixed /* NativeNodeReference */,
50
62
  ) => $ReadOnlyArray<mixed> /* $ReadOnlyArray<InstanceHandle> */;
51
63
 
52
- +isConnected: (shadowNode: mixed /* ShadowNode */) => boolean;
64
+ +getParentNode: (
65
+ nativeNodeReference: mixed /* NativeNodeReference */,
66
+ ) => mixed /* ?InstanceHandle */;
53
67
 
54
- +compareDocumentPosition: (
55
- shadowNode: mixed /* ShadowNode */,
56
- otherShadowNode: mixed /* ShadowNode */,
57
- ) => number;
68
+ +isConnected: (
69
+ nativeNodeReference: mixed /* NativeNodeReference */,
70
+ ) => boolean;
58
71
 
59
- +getTextContent: (shadowNode: mixed /* ShadowNode */) => string;
72
+ /*
73
+ * Methods from the `Element` interface (for `ReactNativeElement`).
74
+ */
75
+
76
+ +getBorderWidth: (
77
+ nativeElementReference: mixed /* NativeElementReference */,
78
+ ) => $ReadOnlyArray<number> /* [topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number] */;
60
79
 
61
80
  +getBoundingClientRect: (
62
- shadowNode: mixed /* ShadowNode */,
81
+ nativeElementReference: mixed /* NativeElementReference */,
63
82
  includeTransform: boolean,
64
83
  ) => $ReadOnlyArray<number> /* [x: number, y: number, width: number, height: number] */;
65
84
 
66
- +getOffset: (
67
- shadowNode: mixed /* ShadowNode */,
68
- ) => $ReadOnlyArray<mixed> /* [offsetParent: ?InstanceHandle, top: number, left: number] */;
85
+ +getInnerSize: (
86
+ nativeElementReference: mixed /* NativeElementReference */,
87
+ ) => $ReadOnlyArray<number> /* [width: number, height: number] */;
69
88
 
70
89
  +getScrollPosition: (
71
- shadowNode: mixed /* ShadowNode */,
90
+ nativeElementReference: mixed /* NativeElementReference */,
72
91
  ) => $ReadOnlyArray<number> /* [scrollLeft: number, scrollTop: number] */;
73
92
 
74
93
  +getScrollSize: (
75
- shadowNode: mixed /* ShadowNode */,
94
+ nativeElementReference: mixed /* NativeElementReference */,
76
95
  ) => $ReadOnlyArray<number> /* [scrollWidth: number, scrollHeight: number] */;
77
96
 
78
- +getInnerSize: (
79
- shadowNode: mixed /* ShadowNode */,
80
- ) => $ReadOnlyArray<number> /* [width: number, height: number] */;
81
-
82
- +getBorderWidth: (
83
- shadowNode: mixed /* ShadowNode */,
84
- ) => $ReadOnlyArray<number> /* [topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number] */;
97
+ +getTagName: (
98
+ nativeElementReference: mixed /* NativeElementReference */,
99
+ ) => string;
85
100
 
86
- +getTagName: (shadowNode: mixed /* ShadowNode */) => string;
101
+ +getTextContent: (
102
+ nativeElementReference: mixed /* NativeElementReference */,
103
+ ) => string;
87
104
 
88
105
  +hasPointerCapture: (
89
- shadowNode: mixed /* ShadowNode */,
106
+ nativeElementReference: mixed /* NativeElementReference */,
90
107
  pointerId: number,
91
108
  ) => boolean;
92
109
 
93
- +setPointerCapture: (
94
- shadowNode: mixed /* ShadowNode */,
110
+ +releasePointerCapture: (
111
+ nativeElementReference: mixed /* NativeElementReference */,
95
112
  pointerId: number,
96
113
  ) => void;
97
114
 
98
- +releasePointerCapture: (
99
- shadowNode: mixed /* ShadowNode */,
115
+ +setPointerCapture: (
116
+ nativeElementReference: mixed /* NativeElementReference */,
100
117
  pointerId: number,
101
118
  ) => void;
102
119
 
120
+ /*
121
+ * Methods from the `HTMLElement` interface (for `ReactNativeElement`).
122
+ */
123
+
124
+ +getOffset: (
125
+ nativeElementReference: mixed /* NativeElementReference */,
126
+ ) => $ReadOnlyArray<mixed> /* [offsetParent: ?InstanceHandle, top: number, left: number] */;
127
+
128
+ /*
129
+ * Special methods to handle the root node.
130
+ */
131
+
132
+ +linkRootNode?: (
133
+ rootTag: number /* RootTag */,
134
+ instanceHandle: mixed /* InstanceHandle */,
135
+ ) => mixed /* ?NativeElementReference */;
136
+
103
137
  /**
104
- * Legacy layout APIs
138
+ * Legacy layout APIs (for `ReactNativeElement`).
105
139
  */
106
140
 
107
- +measure: (shadowNode: mixed, callback: MeasureOnSuccessCallback) => void;
141
+ +measure: (
142
+ nativeElementReference: mixed,
143
+ callback: MeasureOnSuccessCallback,
144
+ ) => void;
108
145
 
109
146
  +measureInWindow: (
110
- shadowNode: mixed,
147
+ nativeElementReference: mixed,
111
148
  callback: MeasureInWindowOnSuccessCallback,
112
149
  ) => void;
113
150
 
114
151
  +measureLayout: (
115
- shadowNode: mixed,
152
+ nativeElementReference: mixed,
116
153
  relativeNode: mixed,
117
154
  onFail: () => void,
118
155
  onSuccess: MeasureLayoutOnSuccessCallback,
@@ -124,15 +161,22 @@ const RawNativeDOM = (TurboModuleRegistry.get<Spec>('NativeDOMCxx'): ?Spec);
124
161
  // This is the actual interface of this module, but the native module codegen
125
162
  // isn't expressive enough yet.
126
163
  export interface RefinedSpec {
164
+ /*
165
+ * Methods from the `Node` interface (for `ReadOnlyNode`).
166
+ */
167
+
127
168
  /**
128
- * This is a React Native implementation of `Node.prototype.parentNode`
129
- * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/parentNode).
169
+ * This is a React Native implementation of `Node.prototype.compareDocumentPosition`
170
+ * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition).
130
171
  *
131
- * If a version of the given shadow node is present in the current revision of
132
- * an active shadow tree, it returns the instance handle of its parent.
133
- * Otherwise, it returns `null`.
172
+ * It uses the version of the shadow nodes that are present in the current
173
+ * revision of the shadow tree (if any). If any of the nodes is not present,
174
+ * it just indicates they are disconnected.
134
175
  */
135
- +getParentNode: (shadowNode: ShadowNode) => ?InstanceHandle;
176
+ +compareDocumentPosition: (
177
+ nativeNodeReference: NativeNodeReference,
178
+ otherNativeNodeReference: NativeNodeReference,
179
+ ) => number;
136
180
 
137
181
  /**
138
182
  * This is a React Native implementation of `Node.prototype.childNodes`
@@ -142,7 +186,19 @@ export interface RefinedSpec {
142
186
  * of an active shadow tree, it returns an array of instance handles of its
143
187
  * children. Otherwise, it returns an empty array.
144
188
  */
145
- +getChildNodes: (shadowNode: ShadowNode) => $ReadOnlyArray<InstanceHandle>;
189
+ +getChildNodes: (
190
+ nativeNodeReference: NativeNodeReference,
191
+ ) => $ReadOnlyArray<InstanceHandle>;
192
+
193
+ /**
194
+ * This is a React Native implementation of `Node.prototype.parentNode`
195
+ * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/parentNode).
196
+ *
197
+ * If a version of the given shadow node is present in the current revision of
198
+ * an active shadow tree, it returns the instance handle of its parent.
199
+ * Otherwise, it returns `null`.
200
+ */
201
+ +getParentNode: (nativeNodeReference: NativeNodeReference) => ?InstanceHandle;
146
202
 
147
203
  /**
148
204
  * This is a React Native implementation of `Node.prototype.isConnected`
@@ -151,34 +207,34 @@ export interface RefinedSpec {
151
207
  * Indicates whether a version of the given shadow node is present in the
152
208
  * current revision of an active shadow tree.
153
209
  */
154
- +isConnected: (shadowNode: ShadowNode) => boolean;
210
+ +isConnected: (nativeNodeReference: NativeNodeReference) => boolean;
155
211
 
156
- /**
157
- * This is a React Native implementation of `Node.prototype.compareDocumentPosition`
158
- * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition).
159
- *
160
- * It uses the version of the shadow nodes that are present in the current
161
- * revision of the shadow tree (if any). If any of the nodes is not present,
162
- * it just indicates they are disconnected.
212
+ /*
213
+ * Methods from the `Element` interface (for `ReactNativeElement`).
163
214
  */
164
- +compareDocumentPosition: (
165
- shadowNode: ShadowNode,
166
- otherShadowNode: ShadowNode,
167
- ) => number;
168
215
 
169
216
  /**
170
- * This is a React Native implementation of `Element.prototype.textContent`
171
- * (see https://developer.mozilla.org/en-US/docs/Web/API/Element/textContent).
217
+ * This is a method to access the border size of a shadow node, to implement
218
+ * these methods:
219
+ * - `Element.prototype.clientLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientLeft.
220
+ * - `Element.prototype.clientTop`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientTop.
172
221
  *
173
222
  * It uses the version of the shadow node that is present in the current
174
- * revision of the shadow tree.
175
- * If the version is present, is traverses all its children in DFS and
176
- * concatenates all the text contents. Otherwise, it returns an empty string.
177
- *
178
- * This is also used to access the text content of text nodes, which does not
179
- * need any traversal.
223
+ * revision of the shadow tree. If the node is not present, it is not
224
+ * displayed (because any of its ancestors or itself have 'display: none'), or
225
+ * it has an inline display, it returns `undefined`. Otherwise, it returns its
226
+ * border size.
180
227
  */
181
- +getTextContent: (shadowNode: ShadowNode) => string;
228
+ +getBorderWidth: (
229
+ nativeElementReference: NativeElementReference,
230
+ ) => $ReadOnly<
231
+ [
232
+ /* topWidth: */ number,
233
+ /* rightWidth: */ number,
234
+ /* bottomWidth: */ number,
235
+ /* leftWidth: */ number,
236
+ ],
237
+ >;
182
238
 
183
239
  /**
184
240
  * This is a React Native implementation of `Element.prototype.getBoundingClientRect`
@@ -192,7 +248,7 @@ export interface RefinedSpec {
192
248
  * and [`offsetHeight`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight).
193
249
  */
194
250
  +getBoundingClientRect: (
195
- shadowNode: ShadowNode,
251
+ nativeElementReference: NativeElementReference,
196
252
  includeTransform: boolean,
197
253
  ) => $ReadOnly<
198
254
  [
@@ -204,28 +260,20 @@ export interface RefinedSpec {
204
260
  >;
205
261
 
206
262
  /**
207
- * This is a method to access the offset information for a shadow node, to
208
- * implement these methods:
209
- * - `HTMLElement.prototype.offsetParent`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent.
210
- * - `HTMLElement.prototype.offsetTop`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop.
211
- * - `HTMLElement.prototype.offsetLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft.
263
+ * This is a method to access the inner size of a shadow node, to implement
264
+ * these methods:
265
+ * - `Element.prototype.clientWidth`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientWidth.
266
+ * - `Element.prototype.clientHeight`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientHeight.
212
267
  *
213
268
  * It uses the version of the shadow node that is present in the current
214
- * revision of the shadow tree. If the node is not present or is not
215
- * displayed (because any of its ancestors or itself have 'display: none'),
216
- * it returns `undefined`. Otherwise, it returns its parent (as all nodes in
217
- * React Native are currently "positioned") and its offset relative to its
218
- * parent.
269
+ * revision of the shadow tree. If the node is not present, it is not
270
+ * displayed (because any of its ancestors or itself have 'display: none'), or
271
+ * it has an inline display, it returns `undefined`. Otherwise, it returns its
272
+ * inner size.
219
273
  */
220
- +getOffset: (
221
- shadowNode: ShadowNode,
222
- ) => $ReadOnly<
223
- [
224
- /* offsetParent: */ ?InstanceHandle,
225
- /* top: */ number,
226
- /* left: */ number,
227
- ],
228
- >;
274
+ +getInnerSize: (
275
+ nativeElementReference: NativeElementReference,
276
+ ) => $ReadOnly<[/* width: */ number, /* height: */ number]>;
229
277
 
230
278
  /**
231
279
  * This is a method to access scroll information for a shadow node, to
@@ -239,7 +287,7 @@ export interface RefinedSpec {
239
287
  * `undefined`. Otherwise, it returns the scroll position.
240
288
  */
241
289
  +getScrollPosition: (
242
- shadowNode: ShadowNode,
290
+ nativeElementReference: NativeElementReference,
243
291
  ) => $ReadOnly<[/* scrollLeft: */ number, /* scrollTop: */ number]>;
244
292
 
245
293
  /**
@@ -255,120 +303,165 @@ export interface RefinedSpec {
255
303
  * `undefined`. Otherwise, it returns the scroll size.
256
304
  */
257
305
  +getScrollSize: (
258
- shadowNode: ShadowNode,
306
+ nativeElementReference: NativeElementReference,
259
307
  ) => $ReadOnly<[/* scrollWidth: */ number, /* scrollHeight: */ number]>;
260
308
 
261
309
  /**
262
- * This is a method to access the inner size of a shadow node, to implement
263
- * these methods:
264
- * - `Element.prototype.clientWidth`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientWidth.
265
- * - `Element.prototype.clientHeight`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientHeight.
310
+ * This is a method to access the normalized tag name of a shadow node, to
311
+ * implement `Element.prototype.tagName` (see https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName).
312
+ */
313
+ +getTagName: (nativeElementReference: NativeElementReference) => string;
314
+
315
+ /**
316
+ * This is a React Native implementation of `Element.prototype.textContent`
317
+ * (see https://developer.mozilla.org/en-US/docs/Web/API/Element/textContent).
266
318
  *
267
319
  * It uses the version of the shadow node that is present in the current
268
- * revision of the shadow tree. If the node is not present, it is not
269
- * displayed (because any of its ancestors or itself have 'display: none'), or
270
- * it has an inline display, it returns `undefined`. Otherwise, it returns its
271
- * inner size.
320
+ * revision of the shadow tree.
321
+ * If the version is present, is traverses all its children in DFS and
322
+ * concatenates all the text contents. Otherwise, it returns an empty string.
323
+ *
324
+ * This is also used to access the text content of text nodes, which does not
325
+ * need any traversal.
272
326
  */
273
- +getInnerSize: (
274
- shadowNode: ShadowNode,
275
- ) => $ReadOnly<[/* width: */ number, /* height: */ number]>;
327
+ +getTextContent: (nativeNodeReference: NativeNodeReference) => string;
328
+
329
+ +hasPointerCapture: (
330
+ nativeElementReference: NativeElementReference,
331
+ pointerId: number,
332
+ ) => boolean;
333
+
334
+ +releasePointerCapture: (
335
+ nativeElementReference: NativeElementReference,
336
+ pointerId: number,
337
+ ) => void;
338
+
339
+ +setPointerCapture: (
340
+ nativeElementReference: NativeElementReference,
341
+ pointerId: number,
342
+ ) => void;
276
343
 
277
344
  /**
278
- * This is a method to access the border size of a shadow node, to implement
279
- * these methods:
280
- * - `Element.prototype.clientLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientLeft.
281
- * - `Element.prototype.clientTop`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientTop.
345
+ * This is a method to access the offset information for a shadow node, to
346
+ * implement these methods:
347
+ * - `HTMLElement.prototype.offsetParent`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent.
348
+ * - `HTMLElement.prototype.offsetTop`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop.
349
+ * - `HTMLElement.prototype.offsetLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft.
282
350
  *
283
351
  * It uses the version of the shadow node that is present in the current
284
- * revision of the shadow tree. If the node is not present, it is not
285
- * displayed (because any of its ancestors or itself have 'display: none'), or
286
- * it has an inline display, it returns `undefined`. Otherwise, it returns its
287
- * border size.
352
+ * revision of the shadow tree. If the node is not present or is not
353
+ * displayed (because any of its ancestors or itself have 'display: none'),
354
+ * it returns `undefined`. Otherwise, it returns its parent (as all nodes in
355
+ * React Native are currently "positioned") and its offset relative to its
356
+ * parent.
288
357
  */
289
- +getBorderWidth: (
290
- shadowNode: ShadowNode,
358
+ +getOffset: (
359
+ nativeElementReference: NativeElementReference,
291
360
  ) => $ReadOnly<
292
361
  [
293
- /* topWidth: */ number,
294
- /* rightWidth: */ number,
295
- /* bottomWidth: */ number,
296
- /* leftWidth: */ number,
362
+ /* offsetParent: */ ?InstanceHandle,
363
+ /* top: */ number,
364
+ /* left: */ number,
297
365
  ],
298
366
  >;
299
367
 
300
- /**
301
- * This is a method to access the normalized tag name of a shadow node, to
302
- * implement `Element.prototype.tagName` (see https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName).
368
+ /*
369
+ * Special methods to handle the root node.
303
370
  */
304
- +getTagName: (shadowNode: ShadowNode) => string;
305
371
 
306
372
  /**
307
- * Pointer Capture APIs
373
+ * In React Native, surfaces that represent trees (similar to a `Document` on
374
+ * Web) are created in native first, and then populated from JavaScript.
375
+ *
376
+ * Because React does not create this special node, we need a way to link
377
+ * the JavaScript instance with that node, which is what this method allows.
378
+ *
379
+ * It also allows the implementation of `Node.prototype.ownerDocument` and
380
+ * `Node.prototype.getRootNode`
381
+ * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/ownerDocument and
382
+ * https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode).
383
+ *
384
+ * Returns a shadow node representing the root node if it is still mounted.
308
385
  */
309
-
310
- +hasPointerCapture: (shadowNode: ShadowNode, pointerId: number) => boolean;
311
-
312
- +setPointerCapture: (shadowNode: ShadowNode, pointerId: number) => void;
313
-
314
- +releasePointerCapture: (shadowNode: ShadowNode, pointerId: number) => void;
386
+ +linkRootNode: (
387
+ rootTag: RootTag,
388
+ instanceHandle: InstanceHandle,
389
+ ) => ?NativeElementReference;
315
390
 
316
391
  /**
317
392
  * Legacy layout APIs
318
393
  */
319
394
 
320
395
  +measure: (
321
- shadowNode: ShadowNode,
396
+ nativeElementReference: NativeElementReference,
322
397
  callback: MeasureOnSuccessCallback,
323
398
  ) => void;
324
399
 
325
400
  +measureInWindow: (
326
- shadowNode: ShadowNode,
401
+ nativeElementReference: NativeElementReference,
327
402
  callback: MeasureInWindowOnSuccessCallback,
328
403
  ) => void;
329
404
 
330
405
  +measureLayout: (
331
- shadowNode: ShadowNode,
332
- relativeNode: ShadowNode,
406
+ nativeElementReference: NativeElementReference,
407
+ relativeNode: NativeElementReference,
333
408
  onFail: () => void,
334
409
  onSuccess: MeasureLayoutOnSuccessCallback,
335
410
  ) => void;
336
411
  }
337
412
 
338
413
  const NativeDOM: RefinedSpec = {
339
- getParentNode(shadowNode) {
340
- // $FlowExpectedError[incompatible-cast]
341
- return (nullthrows(RawNativeDOM).getParentNode(
342
- shadowNode,
343
- ): ?InstanceHandle);
414
+ /*
415
+ * Methods from the `Node` interface (for `ReadOnlyNode`).
416
+ */
417
+
418
+ compareDocumentPosition(nativeNodeReference, otherNativeNodeReference) {
419
+ return nullthrows(RawNativeDOM).compareDocumentPosition(
420
+ nativeNodeReference,
421
+ otherNativeNodeReference,
422
+ );
344
423
  },
345
424
 
346
- getChildNodes(shadowNode) {
425
+ getChildNodes(nativeNodeReference) {
347
426
  // $FlowExpectedError[incompatible-cast]
348
427
  return (nullthrows(RawNativeDOM).getChildNodes(
349
- shadowNode,
428
+ nativeNodeReference,
350
429
  ): $ReadOnlyArray<InstanceHandle>);
351
430
  },
352
431
 
353
- isConnected(shadowNode) {
354
- return nullthrows(RawNativeDOM).isConnected(shadowNode);
432
+ getParentNode(nativeNodeReference) {
433
+ // $FlowExpectedError[incompatible-cast]
434
+ return (nullthrows(RawNativeDOM).getParentNode(
435
+ nativeNodeReference,
436
+ ): ?InstanceHandle);
355
437
  },
356
438
 
357
- compareDocumentPosition(shadowNode, otherShadowNode) {
358
- return nullthrows(RawNativeDOM).compareDocumentPosition(
359
- shadowNode,
360
- otherShadowNode,
361
- );
439
+ isConnected(nativeNodeReference) {
440
+ return nullthrows(RawNativeDOM).isConnected(nativeNodeReference);
362
441
  },
363
442
 
364
- getTextContent(shadowNode) {
365
- return nullthrows(RawNativeDOM).getTextContent(shadowNode);
443
+ /*
444
+ * Methods from the `Element` interface (for `ReactNativeElement`).
445
+ */
446
+
447
+ getBorderWidth(nativeNodeReference) {
448
+ // $FlowExpectedError[incompatible-cast]
449
+ return (nullthrows(RawNativeDOM).getBorderWidth(
450
+ nativeNodeReference,
451
+ ): $ReadOnly<
452
+ [
453
+ /* topWidth: */ number,
454
+ /* rightWidth: */ number,
455
+ /* bottomWidth: */ number,
456
+ /* leftWidth: */ number,
457
+ ],
458
+ >);
366
459
  },
367
460
 
368
- getBoundingClientRect(shadowNode, includeTransform: boolean) {
461
+ getBoundingClientRect(nativeNodeReference, includeTransform: boolean) {
369
462
  // $FlowExpectedError[incompatible-cast]
370
463
  return (nullthrows(RawNativeDOM).getBoundingClientRect(
371
- shadowNode,
464
+ nativeNodeReference,
372
465
  includeTransform,
373
466
  ): $ReadOnly<
374
467
  [
@@ -380,84 +473,102 @@ const NativeDOM: RefinedSpec = {
380
473
  >);
381
474
  },
382
475
 
383
- getOffset(shadowNode) {
384
- // $FlowExpectedError[incompatible-cast]
385
- return (nullthrows(RawNativeDOM).getOffset(shadowNode): $ReadOnly<
386
- [
387
- /* offsetParent: */ ?InstanceHandle,
388
- /* top: */ number,
389
- /* left: */ number,
390
- ],
391
- >);
392
- },
393
-
394
- getScrollPosition(shadowNode) {
476
+ getInnerSize(nativeNodeReference) {
395
477
  // $FlowExpectedError[incompatible-cast]
396
- return (nullthrows(RawNativeDOM).getScrollPosition(shadowNode): $ReadOnly<
397
- [/* scrollLeft: */ number, /* scrollTop: */ number],
398
- >);
478
+ return (nullthrows(RawNativeDOM).getInnerSize(
479
+ nativeNodeReference,
480
+ ): $ReadOnly<[/* width: */ number, /* height: */ number]>);
399
481
  },
400
482
 
401
- getScrollSize(shadowNode) {
483
+ getScrollPosition(nativeNodeReference) {
402
484
  // $FlowExpectedError[incompatible-cast]
403
- return (nullthrows(RawNativeDOM).getScrollSize(shadowNode): $ReadOnly<
404
- [/* scrollWidth: */ number, /* scrollHeight: */ number],
405
- >);
485
+ return (nullthrows(RawNativeDOM).getScrollPosition(
486
+ nativeNodeReference,
487
+ ): $ReadOnly<[/* scrollLeft: */ number, /* scrollTop: */ number]>);
406
488
  },
407
489
 
408
- getInnerSize(shadowNode) {
490
+ getScrollSize(nativeNodeReference) {
409
491
  // $FlowExpectedError[incompatible-cast]
410
- return (nullthrows(RawNativeDOM).getInnerSize(shadowNode): $ReadOnly<
411
- [/* width: */ number, /* height: */ number],
412
- >);
492
+ return (nullthrows(RawNativeDOM).getScrollSize(
493
+ nativeNodeReference,
494
+ ): $ReadOnly<[/* scrollWidth: */ number, /* scrollHeight: */ number]>);
413
495
  },
414
496
 
415
- getBorderWidth(shadowNode) {
416
- // $FlowExpectedError[incompatible-cast]
417
- return (nullthrows(RawNativeDOM).getBorderWidth(shadowNode): $ReadOnly<
418
- [
419
- /* topWidth: */ number,
420
- /* rightWidth: */ number,
421
- /* bottomWidth: */ number,
422
- /* leftWidth: */ number,
423
- ],
424
- >);
497
+ getTagName(nativeNodeReference) {
498
+ return nullthrows(RawNativeDOM).getTagName(nativeNodeReference);
425
499
  },
426
500
 
427
- getTagName(shadowNode) {
428
- return nullthrows(RawNativeDOM).getTagName(shadowNode);
501
+ getTextContent(nativeNodeReference) {
502
+ return nullthrows(RawNativeDOM).getTextContent(nativeNodeReference);
429
503
  },
430
504
 
431
- hasPointerCapture(shadowNode, pointerId) {
432
- return nullthrows(RawNativeDOM).hasPointerCapture(shadowNode, pointerId);
505
+ hasPointerCapture(nativeNodeReference, pointerId) {
506
+ return nullthrows(RawNativeDOM).hasPointerCapture(
507
+ nativeNodeReference,
508
+ pointerId,
509
+ );
433
510
  },
434
511
 
435
- setPointerCapture(shadowNode, pointerId) {
436
- return nullthrows(RawNativeDOM).setPointerCapture(shadowNode, pointerId);
512
+ releasePointerCapture(nativeNodeReference, pointerId) {
513
+ return nullthrows(RawNativeDOM).releasePointerCapture(
514
+ nativeNodeReference,
515
+ pointerId,
516
+ );
437
517
  },
438
518
 
439
- releasePointerCapture(shadowNode, pointerId) {
440
- return nullthrows(RawNativeDOM).releasePointerCapture(
441
- shadowNode,
519
+ setPointerCapture(nativeNodeReference, pointerId) {
520
+ return nullthrows(RawNativeDOM).setPointerCapture(
521
+ nativeNodeReference,
442
522
  pointerId,
443
523
  );
444
524
  },
445
525
 
526
+ /*
527
+ * Methods from the `HTMLElement` interface (for `ReactNativeElement`).
528
+ */
529
+
530
+ getOffset(nativeNodeReference) {
531
+ // $FlowExpectedError[incompatible-cast]
532
+ return (nullthrows(RawNativeDOM).getOffset(nativeNodeReference): $ReadOnly<
533
+ [
534
+ /* offsetParent: */ ?InstanceHandle,
535
+ /* top: */ number,
536
+ /* left: */ number,
537
+ ],
538
+ >);
539
+ },
540
+
541
+ /*
542
+ * Special methods to handle the root node.
543
+ */
544
+
545
+ linkRootNode(rootTag, instanceHandle) {
546
+ // $FlowExpectedError[incompatible-cast]
547
+ return (nullthrows(RawNativeDOM?.linkRootNode)(
548
+ // $FlowExpectedError[incompatible-call]
549
+ rootTag,
550
+ instanceHandle,
551
+ ): ?NativeElementReference);
552
+ },
553
+
446
554
  /**
447
555
  * Legacy layout APIs
448
556
  */
449
557
 
450
- measure(shadowNode, callback) {
451
- return nullthrows(RawNativeDOM).measure(shadowNode, callback);
558
+ measure(nativeNodeReference, callback) {
559
+ return nullthrows(RawNativeDOM).measure(nativeNodeReference, callback);
452
560
  },
453
561
 
454
- measureInWindow(shadowNode, callback) {
455
- return nullthrows(RawNativeDOM).measureInWindow(shadowNode, callback);
562
+ measureInWindow(nativeNodeReference, callback) {
563
+ return nullthrows(RawNativeDOM).measureInWindow(
564
+ nativeNodeReference,
565
+ callback,
566
+ );
456
567
  },
457
568
 
458
- measureLayout(shadowNode, relativeNode, onFail, onSuccess) {
569
+ measureLayout(nativeNodeReference, relativeNode, onFail, onSuccess) {
459
570
  return nullthrows(RawNativeDOM).measureLayout(
460
- shadowNode,
571
+ nativeNodeReference,
461
572
  relativeNode,
462
573
  onFail,
463
574
  onSuccess,