@office-iss/react-native-win32 0.0.0-canary.284 → 0.0.0-canary.286

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 (473) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +55 -1
  3. package/CHANGELOG.md +28 -8
  4. package/IntegrationTests/LayoutEventsTest.js +16 -11
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +38 -17
  6. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
  7. package/Libraries/Alert/Alert.js +32 -9
  8. package/Libraries/Alert/Alert.win32.js +31 -8
  9. package/Libraries/Alert/NativeAlertManager.js +2 -2
  10. package/Libraries/Animated/NativeAnimatedModule.js +2 -2
  11. package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
  12. package/Libraries/Animated/animations/Animation.js +1 -4
  13. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  14. package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
  15. package/Libraries/Animated/useAnimatedProps.js +4 -294
  16. package/Libraries/AppState/AppState.js +24 -7
  17. package/Libraries/AppState/NativeAppState.js +2 -2
  18. package/Libraries/BatchedBridge/MessageQueue.js +3 -2
  19. package/Libraries/BatchedBridge/NativeModules.js +2 -1
  20. package/Libraries/Blob/Blob.js +1 -1
  21. package/Libraries/Blob/FileReader.js +8 -174
  22. package/Libraries/Blob/FileReader_new.js +231 -0
  23. package/Libraries/Blob/FileReader_old.js +186 -0
  24. package/Libraries/Blob/NativeBlobModule.js +2 -2
  25. package/Libraries/Blob/NativeFileReaderModule.js +2 -2
  26. package/Libraries/Blob/URL.js +1 -1
  27. package/Libraries/Blob/URLSearchParams.js +9 -10
  28. package/Libraries/BugReporting/NativeBugReporting.js +2 -2
  29. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
  30. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
  31. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
  32. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  33. package/Libraries/Components/Button.js +3 -3
  34. package/Libraries/Components/Button.win32.js +3 -6
  35. package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
  36. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  37. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -1
  38. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +14 -18
  39. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
  40. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +9 -9
  42. package/Libraries/Components/Pressable/Pressable.win32.js +9 -9
  43. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -7
  44. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +7 -1
  45. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  46. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  47. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  48. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  49. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  50. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  51. package/Libraries/Components/ScrollView/ScrollView.js +74 -59
  52. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +5 -5
  53. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
  54. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -3
  55. package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
  56. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
  57. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
  58. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  59. package/Libraries/Components/Switch/Switch.js +2 -2
  60. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  61. package/Libraries/Components/TextInput/InputAccessoryView.js +4 -2
  62. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +4 -2
  64. package/Libraries/Components/TextInput/TextInput.flow.js +106 -94
  65. package/Libraries/Components/TextInput/TextInput.js +112 -103
  66. package/Libraries/Components/TextInput/TextInput.win32.js +114 -105
  67. package/Libraries/Components/TextInput/TextInputState.js +4 -2
  68. package/Libraries/Components/TextInput/TextInputState.win32.js +4 -2
  69. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
  70. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  71. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  72. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  73. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  74. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  75. package/Libraries/Components/Touchable/Position.js +1 -1
  76. package/Libraries/Components/Touchable/Touchable.js +16 -16
  77. package/Libraries/Components/Touchable/Touchable.win32.js +16 -16
  78. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -3
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +1 -1
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
  84. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  85. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -2
  86. package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
  87. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  88. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
  89. package/Libraries/Components/View/View.js +1 -1
  90. package/Libraries/Components/View/View.win32.js +1 -1
  91. package/Libraries/Components/View/ViewAccessibility.js +243 -3
  92. package/Libraries/Components/View/ViewAccessibility.win32.js +243 -3
  93. package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
  94. package/Libraries/Components/View/ViewPropTypes.js +35 -226
  95. package/Libraries/Components/View/ViewPropTypes.win32.js +37 -229
  96. package/Libraries/Core/Devtools/getDevServer.js +1 -3
  97. package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
  98. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
  99. package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
  101. package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
  102. package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
  103. package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
  104. package/Libraries/Core/ExceptionsManager.js +6 -4
  105. package/Libraries/Core/InitializeCore.js +7 -3
  106. package/Libraries/Core/NativeExceptionsManager.js +2 -2
  107. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  108. package/Libraries/Core/ReactNativeVersion.js +1 -1
  109. package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
  110. package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
  111. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
  112. package/Libraries/Core/Timers/JSTimers.js +7 -5
  113. package/Libraries/Core/Timers/NativeTiming.js +2 -2
  114. package/Libraries/Core/Timers/immediateShim.js +2 -9
  115. package/Libraries/Core/setUpBatchedBridge.js +13 -8
  116. package/Libraries/Core/setUpDeveloperTools.js +5 -36
  117. package/Libraries/Core/setUpErrorHandling.js +1 -6
  118. package/Libraries/Core/setUpReactDevTools.js +23 -5
  119. package/Libraries/Core/setUpReactRefresh.js +1 -1
  120. package/Libraries/Core/setUpTimers.js +17 -17
  121. package/Libraries/Core/setUpXHR.js +6 -3
  122. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  123. package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
  124. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -4
  125. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  126. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  127. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  128. package/Libraries/Events/CustomEvent.js +1 -1
  129. package/Libraries/Events/EventPolyfill.js +2 -2
  130. package/Libraries/Image/AssetRegistry.js +3 -1
  131. package/Libraries/Image/AssetSourceResolver.js +2 -2
  132. package/Libraries/Image/Image.android.js +3 -1
  133. package/Libraries/Image/Image.ios.js +1 -1
  134. package/Libraries/Image/Image.win32.js +1 -1
  135. package/Libraries/Image/ImageBackground.js +1 -1
  136. package/Libraries/Image/ImageProps.js +8 -5
  137. package/Libraries/Image/ImageViewNativeComponent.js +5 -6
  138. package/Libraries/Image/NativeImageEditor.js +2 -2
  139. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
  140. package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
  141. package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
  142. package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
  143. package/Libraries/Image/NativeImageStoreIOS.js +2 -2
  144. package/Libraries/Image/RelativeImageStub.js +3 -1
  145. package/Libraries/Image/nativeImageSource.js +1 -1
  146. package/Libraries/Image/resolveAssetSource.js +4 -2
  147. package/Libraries/Image/resolveAssetSource.win32.js +1 -1
  148. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  149. package/Libraries/Interaction/InteractionManager.js +9 -7
  150. package/Libraries/Interaction/InteractionManagerStub.js +10 -2
  151. package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
  152. package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
  153. package/Libraries/Interaction/PanResponder.js +34 -31
  154. package/Libraries/Interaction/TaskQueue.js +2 -2
  155. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
  157. package/Libraries/Linking/Linking.d.ts +3 -3
  158. package/Libraries/Linking/Linking.js +10 -8
  159. package/Libraries/Linking/NativeIntentAndroid.js +2 -2
  160. package/Libraries/Linking/NativeLinkingManager.js +2 -2
  161. package/Libraries/Lists/FillRateHelper.js +4 -4
  162. package/Libraries/Lists/FlatList.js +14 -14
  163. package/Libraries/Lists/SectionList.js +3 -1
  164. package/Libraries/Lists/SectionListModern.js +3 -1
  165. package/Libraries/Lists/ViewabilityHelper.js +4 -3
  166. package/Libraries/Lists/VirtualizeUtils.js +3 -5
  167. package/Libraries/Lists/VirtualizedList.js +6 -6
  168. package/Libraries/Lists/VirtualizedListContext.js +5 -5
  169. package/Libraries/Lists/VirtualizedSectionList.js +5 -3
  170. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/LogBox.js +9 -1
  173. package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
  174. package/Libraries/LogBox/UI/LogBoxButton.js +4 -2
  175. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
  176. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
  177. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  179. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
  181. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +4 -2
  182. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +3 -1
  183. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +3 -1
  184. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  185. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
  186. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
  187. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
  188. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
  189. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
  190. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
  191. package/Libraries/Modal/Modal.js +77 -84
  192. package/Libraries/Modal/NativeModalManager.js +2 -2
  193. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  194. package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
  195. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
  196. package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
  197. package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
  198. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  199. package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
  200. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
  201. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
  202. package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
  203. package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
  204. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
  205. package/Libraries/Network/FormData.js +1 -1
  206. package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
  207. package/Libraries/Network/NativeNetworkingIOS.js +2 -2
  208. package/Libraries/Network/RCTNetworking.android.js +1 -1
  209. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  210. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  211. package/Libraries/Network/XMLHttpRequest.js +10 -685
  212. package/Libraries/Network/XMLHttpRequest_new.js +791 -0
  213. package/Libraries/Network/XMLHttpRequest_old.js +698 -0
  214. package/Libraries/Network/convertRequestBody.js +4 -3
  215. package/Libraries/Network/fetch.js +4 -3
  216. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
  217. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +63 -61
  218. package/Libraries/Pressability/Pressability.js +23 -23
  219. package/Libraries/Pressability/Pressability.win32.js +23 -23
  220. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
  221. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
  222. package/Libraries/ReactNative/AppContainer-dev.js +4 -3
  223. package/Libraries/ReactNative/AppContainer.js +1 -1
  224. package/Libraries/ReactNative/AppRegistry.js +4 -4
  225. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  226. package/Libraries/ReactNative/FabricUIManager.js +18 -8
  227. package/Libraries/ReactNative/I18nManager.js +1 -1
  228. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
  229. package/Libraries/ReactNative/NativeI18nManager.js +2 -2
  230. package/Libraries/ReactNative/NativeUIManager.js +2 -2
  231. package/Libraries/ReactNative/PaperUIManager.js +5 -5
  232. package/Libraries/ReactNative/PaperUIManager.win32.js +5 -5
  233. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
  234. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +1 -1
  235. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +1 -1
  236. package/Libraries/ReactNative/RendererImplementation.js +9 -0
  237. package/Libraries/ReactNative/RootTag.js +1 -1
  238. package/Libraries/ReactNative/UIManager.d.ts +1 -0
  239. package/Libraries/ReactNative/UIManager.js +3 -3
  240. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  241. package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
  242. package/Libraries/ReactNative/requireNativeComponent.js +2 -1
  243. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +15 -8
  244. package/Libraries/Renderer/shims/ReactNativeTypes.js +4 -1
  245. package/Libraries/Settings/NativeSettingsManager.js +2 -2
  246. package/Libraries/Settings/Settings.ios.js +1 -1
  247. package/Libraries/Settings/Settings.js +3 -3
  248. package/Libraries/Settings/Settings.win32.js +3 -3
  249. package/Libraries/Share/NativeShareModule.js +2 -2
  250. package/Libraries/Share/Share.js +11 -4
  251. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  252. package/Libraries/StyleSheet/StyleSheet.js +3 -2
  253. package/Libraries/StyleSheet/StyleSheet.win32.js +4 -3
  254. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  255. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  256. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  257. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  258. package/Libraries/StyleSheet/processBoxShadow.js +4 -0
  259. package/Libraries/StyleSheet/processColor.js +2 -2
  260. package/Libraries/StyleSheet/processColorArray.js +1 -1
  261. package/Libraries/StyleSheet/processFilter.js +4 -0
  262. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  263. package/Libraries/StyleSheet/processTransform.js +1 -1
  264. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  265. package/Libraries/Text/Text.js +16 -16
  266. package/Libraries/Text/Text.win32.js +16 -16
  267. package/Libraries/Text/TextAncestor.js +2 -2
  268. package/Libraries/Text/TextNativeComponent.js +2 -2
  269. package/Libraries/Text/TextNativeComponent.win32.js +2 -2
  270. package/Libraries/Text/TextProps.js +11 -11
  271. package/Libraries/Text/TextProps.win32.js +11 -11
  272. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  273. package/Libraries/Types/CodegenTypes.js +3 -3
  274. package/Libraries/Types/CoreEventTypes.js +103 -70
  275. package/Libraries/Types/CoreEventTypes.win32.js +115 -77
  276. package/Libraries/UTFSequence.js +2 -1
  277. package/Libraries/Utilities/Appearance.js +0 -8
  278. package/Libraries/Utilities/BackHandler.android.js +1 -1
  279. package/Libraries/Utilities/BackHandler.ios.js +5 -5
  280. package/Libraries/Utilities/BackHandler.win32.js +1 -1
  281. package/Libraries/Utilities/DevLoadingView.js +1 -1
  282. package/Libraries/Utilities/DevSettings.js +1 -1
  283. package/Libraries/Utilities/DeviceInfo.js +1 -1
  284. package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
  285. package/Libraries/Utilities/FeatureDetection.js +2 -4
  286. package/Libraries/Utilities/FocusManager.win32.js +3 -3
  287. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  288. package/Libraries/Utilities/HMRClient.js +5 -33
  289. package/Libraries/Utilities/HMRClientProdShim.js +1 -2
  290. package/Libraries/Utilities/NativeAppearance.js +2 -2
  291. package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
  292. package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
  293. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
  294. package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
  295. package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
  296. package/Libraries/Utilities/Platform.android.js +2 -2
  297. package/Libraries/Utilities/Platform.ios.js +2 -2
  298. package/Libraries/Utilities/Platform.win32.js +2 -2
  299. package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +1 -0
  300. package/Libraries/Utilities/PolyfillFunctions.js +3 -5
  301. package/Libraries/Utilities/RCTLog.js +1 -1
  302. package/Libraries/Utilities/ReactNativeTestTools.js +4 -5
  303. package/Libraries/Utilities/SceneTracker.js +1 -1
  304. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
  305. package/Libraries/Utilities/binaryToBase64.js +1 -1
  306. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  307. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  308. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  309. package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
  310. package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
  311. package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
  312. package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
  313. package/Libraries/Utilities/dismissKeyboard.js +3 -2
  314. package/Libraries/Utilities/infoLog.js +1 -1
  315. package/Libraries/Utilities/logError.js +1 -1
  316. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  317. package/Libraries/Utilities/warnOnce.js +1 -1
  318. package/Libraries/Vibration/NativeVibration.js +2 -2
  319. package/Libraries/Vibration/Vibration.js +3 -3
  320. package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
  321. package/Libraries/WebSocket/WebSocket.js +8 -285
  322. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  323. package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
  324. package/Libraries/WebSocket/WebSocket_new.js +325 -0
  325. package/Libraries/WebSocket/WebSocket_old.js +297 -0
  326. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  327. package/Libraries/vendor/emitter/EventEmitter.js +21 -9
  328. package/index.js +138 -225
  329. package/index.win32.js +46 -39
  330. package/jest/mockScrollView.js +1 -1
  331. package/jest/setup.js +100 -67
  332. package/overrides.json +54 -65
  333. package/package.json +19 -19
  334. package/src/private/animated/createAnimatedPropsHook.js +360 -0
  335. package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
  336. package/src/private/components/HScrollViewNativeComponents.js +1 -1
  337. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  338. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
  339. package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
  340. package/src/private/devmenu/DevMenu.js +2 -2
  341. package/src/private/featureflags/ReactNativeFeatureFlags.js +39 -47
  342. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
  343. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +6 -10
  344. package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
  345. package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
  346. package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
  347. package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +16 -12
  348. package/{Libraries/Inspector → src/private/inspector}/Inspector.js +18 -15
  349. package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +7 -7
  350. package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +12 -10
  351. package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +37 -22
  352. package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +6 -5
  353. package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
  354. package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
  355. package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
  356. package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +5 -3
  357. package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +3 -2
  358. package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
  359. package/src/private/setup/setUpDOM.js +7 -2
  360. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
  361. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
  362. package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +1 -1
  363. package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
  364. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
  365. package/src/private/webapis/dom/events/CustomEvent.js +38 -0
  366. package/src/private/webapis/dom/events/Event.js +236 -0
  367. package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
  368. package/src/private/webapis/dom/events/EventTarget.js +436 -0
  369. package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
  370. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
  371. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +120 -0
  372. package/src/private/webapis/dom/nodes/ReactNativeElement.js +48 -25
  373. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +6 -5
  374. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +25 -25
  375. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +55 -77
  376. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
  377. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
  378. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
  379. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
  380. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  381. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  382. package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
  383. package/src/private/webapis/html/events/MessageEvent.js +56 -0
  384. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  385. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +12 -9
  386. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +4 -6
  387. package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
  388. package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
  389. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
  390. package/types/index.d.ts +0 -5
  391. package/Libraries/Animated/AnimatedWeb.js +0 -44
  392. package/Libraries/Inspector/Inspector.win32.js +0 -212
  393. package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
  394. package/Libraries/JSInspector/InspectorAgent.js +0 -27
  395. package/Libraries/JSInspector/JSInspector.js +0 -33
  396. package/Libraries/JSInspector/NetworkAgent.js +0 -296
  397. package/Libraries/Utilities/DebugEnvironment.js +0 -16
  398. package/Libraries/Utilities/Platform.flow.js +0 -91
  399. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
  400. package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -76
  401. package/flow/react.js +0 -15
  402. package/src/private/specs/modules/NativeCPUTime.js +0 -24
  403. package/src/private/specs/modules/NativeFantom.js +0 -43
  404. package/src/private/specs/modules/NativeUIManager.js +0 -111
  405. /package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +0 -0
  406. /package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +0 -0
  407. /package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +0 -0
  408. /package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +0 -0
  409. /package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +0 -0
  410. /package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +0 -0
  411. /package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +0 -0
  412. /package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +0 -0
  413. /package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +0 -0
  414. /package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +0 -0
  415. /package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +0 -0
  416. /package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +0 -0
  417. /package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +0 -0
  418. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
  419. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
  420. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +0 -0
  421. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +0 -0
  422. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +0 -0
  423. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +0 -0
  424. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +0 -0
  425. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +0 -0
  426. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
  427. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +0 -0
  428. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
  429. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +0 -0
  430. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
  431. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
  432. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +0 -0
  433. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +0 -0
  434. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
  435. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +0 -0
  436. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
  437. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +0 -0
  438. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +0 -0
  439. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +0 -0
  440. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +0 -0
  441. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +0 -0
  442. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +0 -0
  443. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +0 -0
  444. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
  445. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
  446. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
  447. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
  448. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
  449. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
  450. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
  451. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +0 -0
  452. /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +0 -0
  453. /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +0 -0
  454. /package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +0 -0
  455. /package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +0 -0
  456. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
  457. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
  458. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +0 -0
  459. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
  460. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +0 -0
  461. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +0 -0
  462. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
  463. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +0 -0
  464. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +0 -0
  465. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +0 -0
  466. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
  467. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +0 -0
  468. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +0 -0
  469. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +0 -0
  470. /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
  471. /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
  472. /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
  473. /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
@@ -0,0 +1,120 @@
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
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ // flowlint unsafe-getters-setters:off
12
+
13
+ import type {RootTag} from '../../../../../Libraries/ReactNative/RootTag';
14
+ import type {ViewConfig} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
15
+ import type HTMLCollection from '../oldstylecollections/HTMLCollection';
16
+ import type {ReactNativeDocumentInstanceHandle} from './internals/ReactNativeDocumentInstanceHandle';
17
+ import type ReadOnlyElement from './ReadOnlyElement';
18
+
19
+ import {createHTMLCollection} from '../oldstylecollections/HTMLCollection';
20
+ import {
21
+ createReactNativeDocumentElementInstanceHandle,
22
+ setNativeElementReferenceForReactNativeDocumentElementInstanceHandle,
23
+ setPublicInstanceForReactNativeDocumentElementInstanceHandle,
24
+ } from './internals/ReactNativeDocumentElementInstanceHandle';
25
+ import {createReactNativeDocumentInstanceHandle} from './internals/ReactNativeDocumentInstanceHandle';
26
+ import ReactNativeElement from './ReactNativeElement';
27
+ import ReadOnlyNode from './ReadOnlyNode';
28
+ import NativeDOM from './specs/NativeDOM';
29
+
30
+ export default class ReactNativeDocument extends ReadOnlyNode {
31
+ _documentElement: ReactNativeElement;
32
+
33
+ constructor(
34
+ rootTag: RootTag,
35
+ instanceHandle: ReactNativeDocumentInstanceHandle,
36
+ ) {
37
+ super(instanceHandle, null);
38
+ this._documentElement = createDocumentElement(rootTag, this);
39
+ }
40
+
41
+ get childElementCount(): number {
42
+ // just `documentElement`.
43
+ return 1;
44
+ }
45
+
46
+ get children(): HTMLCollection<ReadOnlyElement> {
47
+ return createHTMLCollection([this.documentElement]);
48
+ }
49
+
50
+ get documentElement(): ReactNativeElement {
51
+ return this._documentElement;
52
+ }
53
+
54
+ get firstElementChild(): ReadOnlyElement | null {
55
+ return this.documentElement;
56
+ }
57
+
58
+ get lastElementChild(): ReadOnlyElement | null {
59
+ return this.documentElement;
60
+ }
61
+
62
+ get nodeName(): string {
63
+ return '#document';
64
+ }
65
+
66
+ get nodeType(): number {
67
+ return ReadOnlyNode.DOCUMENT_NODE;
68
+ }
69
+
70
+ get nodeValue(): null {
71
+ return null;
72
+ }
73
+
74
+ get textContent(): null {
75
+ return null;
76
+ }
77
+ }
78
+
79
+ function createDocumentElement(
80
+ rootTag: RootTag,
81
+ ownerDocument: ReactNativeDocument,
82
+ ): ReactNativeElement {
83
+ // In the case of the document object, React does not create an instance
84
+ // handle for it, so we create a custom one.
85
+ const instanceHandle = createReactNativeDocumentElementInstanceHandle();
86
+
87
+ // $FlowExpectedError[incompatible-type]
88
+ const rootTagIsNumber: number = rootTag;
89
+ // $FlowExpectedError[incompatible-type]
90
+ const viewConfig: ViewConfig = null;
91
+
92
+ const documentElement = new ReactNativeElement(
93
+ rootTagIsNumber,
94
+ viewConfig,
95
+ instanceHandle,
96
+ ownerDocument,
97
+ );
98
+
99
+ // The root shadow node was created ahead of time without an instance
100
+ // handle, so we need to link them now.
101
+ const rootShadowNode = NativeDOM.linkRootNode(rootTag, instanceHandle);
102
+ setNativeElementReferenceForReactNativeDocumentElementInstanceHandle(
103
+ instanceHandle,
104
+ rootShadowNode,
105
+ );
106
+ setPublicInstanceForReactNativeDocumentElementInstanceHandle(
107
+ instanceHandle,
108
+ documentElement,
109
+ );
110
+
111
+ return documentElement;
112
+ }
113
+
114
+ export function createReactNativeDocument(
115
+ rootTag: RootTag,
116
+ ): ReactNativeDocument {
117
+ const instanceHandle = createReactNativeDocumentInstanceHandle(rootTag);
118
+ const document = new ReactNativeDocument(rootTag, instanceHandle);
119
+ return document;
120
+ }
@@ -17,19 +17,23 @@ import type {
17
17
  MeasureInWindowOnSuccessCallback,
18
18
  MeasureLayoutOnSuccessCallback,
19
19
  MeasureOnSuccessCallback,
20
+ Node as ShadowNode,
20
21
  ViewConfig,
21
22
  } from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
23
+ import type {InstanceHandle} from './internals/NodeInternals';
24
+ import type ReactNativeDocument from './ReactNativeDocument';
22
25
 
23
26
  import TextInputState from '../../../../../Libraries/Components/TextInput/TextInputState';
24
27
  import {getFabricUIManager} from '../../../../../Libraries/ReactNative/FabricUIManager';
25
28
  import {create as createAttributePayload} from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
26
29
  import warnForStyleProps from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps';
27
- import ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';
28
- import ReadOnlyNode, {setInstanceHandle} from './ReadOnlyNode';
29
30
  import {
30
- getPublicInstanceFromInternalInstanceHandle,
31
- getShadowNode,
32
- } from './ReadOnlyNode';
31
+ getNativeElementReference,
32
+ getPublicInstanceFromInstanceHandle,
33
+ setInstanceHandle,
34
+ setOwnerDocument,
35
+ } from './internals/NodeInternals';
36
+ import ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';
33
37
  import NativeDOM from './specs/NativeDOM';
34
38
  import nullthrows from 'nullthrows';
35
39
 
@@ -60,7 +64,7 @@ class ReactNativeElementMethods
60
64
  {
61
65
  // These need to be accessible from `ReactFabricPublicInstanceUtils`.
62
66
  __nativeTag: number;
63
- __internalInstanceHandle: InternalInstanceHandle;
67
+ __internalInstanceHandle: InstanceHandle;
64
68
 
65
69
  __viewConfig: ViewConfig;
66
70
 
@@ -69,12 +73,13 @@ class ReactNativeElementMethods
69
73
  constructor(
70
74
  tag: number,
71
75
  viewConfig: ViewConfig,
72
- internalInstanceHandle: InternalInstanceHandle,
76
+ instanceHandle: InstanceHandle,
77
+ ownerDocument: ReactNativeDocument,
73
78
  ) {
74
- super(internalInstanceHandle);
79
+ super(instanceHandle, ownerDocument);
75
80
 
76
81
  this.__nativeTag = tag;
77
- this.__internalInstanceHandle = internalInstanceHandle;
82
+ this.__internalInstanceHandle = instanceHandle;
78
83
  this.__viewConfig = viewConfig;
79
84
  }
80
85
 
@@ -85,7 +90,7 @@ class ReactNativeElementMethods
85
90
  }
86
91
 
87
92
  get offsetLeft(): number {
88
- const node = getShadowNode(this);
93
+ const node = getNativeElementReference(this);
89
94
 
90
95
  if (node != null) {
91
96
  const offset = NativeDOM.getOffset(node);
@@ -96,7 +101,7 @@ class ReactNativeElementMethods
96
101
  }
97
102
 
98
103
  get offsetParent(): ReadOnlyElement | null {
99
- const node = getShadowNode(this);
104
+ const node = getNativeElementReference(this);
100
105
 
101
106
  if (node != null) {
102
107
  const offset = NativeDOM.getOffset(node);
@@ -105,7 +110,7 @@ class ReactNativeElementMethods
105
110
  // in JavaScript yet.
106
111
  if (offset[0] != null) {
107
112
  const offsetParentInstanceHandle = offset[0];
108
- const offsetParent = getPublicInstanceFromInternalInstanceHandle(
113
+ const offsetParent = getPublicInstanceFromInstanceHandle(
109
114
  offsetParentInstanceHandle,
110
115
  );
111
116
  // $FlowExpectedError[incompatible-type] The value returned by `getOffset` is always an instance handle for `ReadOnlyElement`.
@@ -118,7 +123,7 @@ class ReactNativeElementMethods
118
123
  }
119
124
 
120
125
  get offsetTop(): number {
121
- const node = getShadowNode(this);
126
+ const node = getNativeElementReference(this);
122
127
 
123
128
  if (node != null) {
124
129
  const offset = NativeDOM.getOffset(node);
@@ -149,16 +154,20 @@ class ReactNativeElementMethods
149
154
  }
150
155
 
151
156
  measure(callback: MeasureOnSuccessCallback) {
152
- const node = getShadowNode(this);
157
+ const node = getNativeElementReference(this);
153
158
  if (node != null) {
154
- nullthrows(getFabricUIManager()).measure(node, callback);
159
+ // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
160
+ const shadowNode: ShadowNode = node;
161
+ nullthrows(getFabricUIManager()).measure(shadowNode, callback);
155
162
  }
156
163
  }
157
164
 
158
165
  measureInWindow(callback: MeasureInWindowOnSuccessCallback) {
159
- const node = getShadowNode(this);
166
+ const node = getNativeElementReference(this);
160
167
  if (node != null) {
161
- nullthrows(getFabricUIManager()).measureInWindow(node, callback);
168
+ // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
169
+ const shadowNode: ShadowNode = node;
170
+ nullthrows(getFabricUIManager()).measureInWindow(shadowNode, callback);
162
171
  }
163
172
  }
164
173
 
@@ -167,7 +176,7 @@ class ReactNativeElementMethods
167
176
  onSuccess: MeasureLayoutOnSuccessCallback,
168
177
  onFail?: () => void /* currently unused */,
169
178
  ) {
170
- if (!(relativeToNativeNode instanceof ReadOnlyNode)) {
179
+ if (!(relativeToNativeNode instanceof ReactNativeElement)) {
171
180
  if (__DEV__) {
172
181
  console.error(
173
182
  'Warning: ref.measureLayout must be called with a ref to a native component.',
@@ -177,13 +186,18 @@ class ReactNativeElementMethods
177
186
  return;
178
187
  }
179
188
 
180
- const toStateNode = getShadowNode(this);
181
- const fromStateNode = getShadowNode(relativeToNativeNode);
189
+ const toStateNode = getNativeElementReference(this);
190
+ const fromStateNode = getNativeElementReference(relativeToNativeNode);
182
191
 
183
192
  if (toStateNode != null && fromStateNode != null) {
193
+ // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
194
+ const toStateShadowNode: ShadowNode = toStateNode;
195
+ // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
196
+ const fromStateShadowNode: ShadowNode = fromStateNode;
197
+
184
198
  nullthrows(getFabricUIManager()).measureLayout(
185
- toStateNode,
186
- fromStateNode,
199
+ toStateShadowNode,
200
+ fromStateShadowNode,
187
201
  onFail != null ? onFail : noop,
188
202
  onSuccess != null ? onSuccess : noop,
189
203
  );
@@ -200,10 +214,15 @@ class ReactNativeElementMethods
200
214
  this.__viewConfig.validAttributes,
201
215
  );
202
216
 
203
- const node = getShadowNode(this);
217
+ const node = getNativeElementReference(this);
204
218
 
205
219
  if (node != null && updatePayload != null) {
206
- nullthrows(getFabricUIManager()).setNativeProps(node, updatePayload);
220
+ // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.
221
+ const shadowNode: ShadowNode = node;
222
+ nullthrows(getFabricUIManager()).setNativeProps(
223
+ shadowNode,
224
+ updatePayload,
225
+ );
207
226
  }
208
227
  }
209
228
  }
@@ -215,11 +234,15 @@ function ReactNativeElement(
215
234
  tag: number,
216
235
  viewConfig: ViewConfig,
217
236
  internalInstanceHandle: InternalInstanceHandle,
237
+ ownerDocument: ReactNativeDocument,
218
238
  ) {
239
+ // Inlined from `ReadOnlyNode`
240
+ setOwnerDocument(this, ownerDocument);
241
+ setInstanceHandle(this, internalInstanceHandle);
242
+
219
243
  this.__nativeTag = tag;
220
244
  this.__internalInstanceHandle = internalInstanceHandle;
221
245
  this.__viewConfig = viewConfig;
222
- setInstanceHandle(this, internalInstanceHandle);
223
246
  }
224
247
 
225
248
  ReactNativeElement.prototype = Object.create(
@@ -12,9 +12,10 @@
12
12
 
13
13
  import type ReadOnlyElement from './ReadOnlyElement';
14
14
 
15
- import ReadOnlyNode, {getShadowNode} from './ReadOnlyNode';
15
+ import {getNativeTextReference} from './internals/NodeInternals';
16
+ import {getElementSibling} from './internals/Traversal';
17
+ import ReadOnlyNode from './ReadOnlyNode';
16
18
  import NativeDOM from './specs/NativeDOM';
17
- import {getElementSibling} from './utilities/Traversal';
18
19
 
19
20
  export default class ReadOnlyCharacterData extends ReadOnlyNode {
20
21
  get nextElementSibling(): ReadOnlyElement | null {
@@ -26,10 +27,10 @@ export default class ReadOnlyCharacterData extends ReadOnlyNode {
26
27
  }
27
28
 
28
29
  get data(): string {
29
- const shadowNode = getShadowNode(this);
30
+ const node = getNativeTextReference(this);
30
31
 
31
- if (shadowNode != null) {
32
- return NativeDOM.getTextContent(shadowNode);
32
+ if (node != null) {
33
+ return NativeDOM.getTextContent(node);
33
34
  }
34
35
 
35
36
  return '';
@@ -12,15 +12,15 @@
12
12
 
13
13
  import type HTMLCollection from '../oldstylecollections/HTMLCollection';
14
14
 
15
- import DOMRect from '../geometry/DOMRect';
15
+ import DOMRect from '../../geometry/DOMRect';
16
16
  import {createHTMLCollection} from '../oldstylecollections/HTMLCollection';
17
- import ReadOnlyNode, {
18
- getChildNodes,
17
+ import {
19
18
  getInstanceHandle,
20
- getShadowNode,
21
- } from './ReadOnlyNode';
19
+ getNativeElementReference,
20
+ } from './internals/NodeInternals';
21
+ import {getElementSibling} from './internals/Traversal';
22
+ import ReadOnlyNode, {getChildNodes} from './ReadOnlyNode';
22
23
  import NativeDOM from './specs/NativeDOM';
23
- import {getElementSibling} from './utilities/Traversal';
24
24
 
25
25
  export default class ReadOnlyElement extends ReadOnlyNode {
26
26
  get childElementCount(): number {
@@ -32,7 +32,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
32
32
  }
33
33
 
34
34
  get clientHeight(): number {
35
- const node = getShadowNode(this);
35
+ const node = getNativeElementReference(this);
36
36
 
37
37
  if (node != null) {
38
38
  const innerSize = NativeDOM.getInnerSize(node);
@@ -43,7 +43,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
43
43
  }
44
44
 
45
45
  get clientLeft(): number {
46
- const node = getShadowNode(this);
46
+ const node = getNativeElementReference(this);
47
47
 
48
48
  if (node != null) {
49
49
  const borderSize = NativeDOM.getBorderWidth(node);
@@ -54,7 +54,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
54
54
  }
55
55
 
56
56
  get clientTop(): number {
57
- const node = getShadowNode(this);
57
+ const node = getNativeElementReference(this);
58
58
 
59
59
  if (node != null) {
60
60
  const borderSize = NativeDOM.getBorderWidth(node);
@@ -65,7 +65,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
65
65
  }
66
66
 
67
67
  get clientWidth(): number {
68
- const node = getShadowNode(this);
68
+ const node = getNativeElementReference(this);
69
69
 
70
70
  if (node != null) {
71
71
  const innerSize = NativeDOM.getInnerSize(node);
@@ -126,7 +126,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
126
126
  }
127
127
 
128
128
  get scrollHeight(): number {
129
- const node = getShadowNode(this);
129
+ const node = getNativeElementReference(this);
130
130
 
131
131
  if (node != null) {
132
132
  const scrollSize = NativeDOM.getScrollSize(node);
@@ -137,7 +137,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
137
137
  }
138
138
 
139
139
  get scrollLeft(): number {
140
- const node = getShadowNode(this);
140
+ const node = getNativeElementReference(this);
141
141
 
142
142
  if (node != null) {
143
143
  const scrollPosition = NativeDOM.getScrollPosition(node);
@@ -148,7 +148,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
148
148
  }
149
149
 
150
150
  get scrollTop(): number {
151
- const node = getShadowNode(this);
151
+ const node = getNativeElementReference(this);
152
152
 
153
153
  if (node != null) {
154
154
  const scrollPosition = NativeDOM.getScrollPosition(node);
@@ -159,7 +159,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
159
159
  }
160
160
 
161
161
  get scrollWidth(): number {
162
- const node = getShadowNode(this);
162
+ const node = getNativeElementReference(this);
163
163
 
164
164
  if (node != null) {
165
165
  const scrollSize = NativeDOM.getScrollSize(node);
@@ -170,7 +170,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
170
170
  }
171
171
 
172
172
  get tagName(): string {
173
- const node = getShadowNode(this);
173
+ const node = getNativeElementReference(this);
174
174
 
175
175
  if (node != null) {
176
176
  return NativeDOM.getTagName(node);
@@ -180,10 +180,10 @@ export default class ReadOnlyElement extends ReadOnlyNode {
180
180
  }
181
181
 
182
182
  get textContent(): string | null {
183
- const shadowNode = getShadowNode(this);
183
+ const node = getNativeElementReference(this);
184
184
 
185
- if (shadowNode != null) {
186
- return NativeDOM.getTextContent(shadowNode);
185
+ if (node != null) {
186
+ return NativeDOM.getTextContent(node);
187
187
  }
188
188
 
189
189
  return '';
@@ -197,7 +197,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
197
197
  * Pointer Capture APIs
198
198
  */
199
199
  hasPointerCapture(pointerId: number): boolean {
200
- const node = getShadowNode(this);
200
+ const node = getNativeElementReference(this);
201
201
  if (node != null) {
202
202
  return NativeDOM.hasPointerCapture(node, pointerId);
203
203
  }
@@ -205,14 +205,14 @@ export default class ReadOnlyElement extends ReadOnlyNode {
205
205
  }
206
206
 
207
207
  setPointerCapture(pointerId: number): void {
208
- const node = getShadowNode(this);
208
+ const node = getNativeElementReference(this);
209
209
  if (node != null) {
210
210
  NativeDOM.setPointerCapture(node, pointerId);
211
211
  }
212
212
  }
213
213
 
214
214
  releasePointerCapture(pointerId: number): void {
215
- const node = getShadowNode(this);
215
+ const node = getNativeElementReference(this);
216
216
  if (node != null) {
217
217
  NativeDOM.releasePointerCapture(node, pointerId);
218
218
  }
@@ -232,13 +232,13 @@ function getChildElements(node: ReadOnlyNode): $ReadOnlyArray<ReadOnlyElement> {
232
232
  * implement methods like `offsetWidth` and `offsetHeight`.
233
233
  */
234
234
  export function getBoundingClientRect(
235
- node: ReadOnlyElement,
235
+ element: ReadOnlyElement,
236
236
  {includeTransform}: {includeTransform: boolean},
237
237
  ): DOMRect {
238
- const shadowNode = getShadowNode(node);
238
+ const node = getNativeElementReference(element);
239
239
 
240
- if (shadowNode != null) {
241
- const rect = NativeDOM.getBoundingClientRect(shadowNode, includeTransform);
240
+ if (node != null) {
241
+ const rect = NativeDOM.getBoundingClientRect(node, includeTransform);
242
242
  return new DOMRect(rect[0], rect[1], rect[2], rect[3]);
243
243
  }
244
244