@office-iss/react-native-win32 0.79.1 → 0.80.0

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 (294) hide show
  1. package/.flowconfig +10 -3
  2. package/CHANGELOG.json +117 -24
  3. package/CHANGELOG.md +49 -14
  4. package/IntegrationTests/ImageCachePolicyTest.js +1 -1
  5. package/IntegrationTests/LayoutEventsTest.js +1 -4
  6. package/Libraries/Alert/Alert.d.ts +4 -1
  7. package/Libraries/Alert/Alert.js +3 -0
  8. package/Libraries/Alert/RCTAlertManager.js +17 -0
  9. package/Libraries/Animated/Animated.js.flow +1 -3
  10. package/Libraries/Animated/AnimatedEvent.js +4 -3
  11. package/Libraries/Animated/AnimatedExports.js +2 -2
  12. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  13. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  14. package/Libraries/Animated/Easing.js +13 -15
  15. package/Libraries/Animated/animations/Animation.js +8 -4
  16. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  17. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  18. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  19. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  20. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  21. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  22. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  23. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  24. package/Libraries/AppState/AppState.js +7 -2
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/BlobManager.js +1 -0
  28. package/Libraries/Blob/FileReader.js +219 -8
  29. package/Libraries/Blob/URL.js +37 -12
  30. package/Libraries/Blob/URLSearchParams.js +106 -31
  31. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
  34. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  35. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  36. package/Libraries/Components/Button.js +1 -1
  37. package/Libraries/Components/Button.win32.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  39. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  40. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  43. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  45. package/Libraries/Components/Pressable/Pressable.js +20 -4
  46. package/Libraries/Components/Pressable/Pressable.win32.js +20 -4
  47. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  48. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  49. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  50. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  51. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  52. package/Libraries/Components/StaticRenderer.js +1 -1
  53. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  54. package/Libraries/Components/Switch/Switch.js +8 -4
  55. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  57. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +2 -1
  58. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  59. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  60. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  61. package/Libraries/Components/TextInput/TextInput.flow.win32.js +1208 -0
  62. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  63. package/Libraries/Components/TextInput/TextInput.win32.js +89 -1059
  64. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  65. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  66. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  67. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  68. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +4 -32
  70. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  71. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +2 -1
  72. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  73. package/Libraries/Components/Touchable/Touchable.js +5 -5
  74. package/Libraries/Components/Touchable/Touchable.win32.js +5 -5
  75. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  76. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  77. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +6 -6
  79. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  80. package/Libraries/Components/View/View.js +18 -21
  81. package/Libraries/Components/View/View.win32.js +21 -24
  82. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  83. package/Libraries/Components/View/ViewAccessibility.win32.js +9 -1
  84. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +49 -3
  86. package/Libraries/Core/ReactNativeVersion.js +1 -1
  87. package/Libraries/Core/setUpReactDevTools.js +5 -5
  88. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  89. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  90. package/Libraries/Image/AssetSourceResolver.js +17 -4
  91. package/Libraries/Image/Image.d.ts +26 -10
  92. package/Libraries/Image/Image.js +17 -0
  93. package/Libraries/Image/Image.js.flow +5 -5
  94. package/Libraries/Image/ImageBackground.js +2 -0
  95. package/Libraries/Image/ImageInjection.js +1 -1
  96. package/Libraries/Image/ImageProps.js +22 -17
  97. package/Libraries/Image/ImageSource.js +3 -1
  98. package/Libraries/Image/ImageSourceUtils.js +4 -2
  99. package/Libraries/Image/ImageTypes.flow.js +1 -1
  100. package/Libraries/Image/Tests/ImageWin32Test.d.ts +2 -1
  101. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  102. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  103. package/Libraries/Interaction/InteractionManager.js +1 -1
  104. package/Libraries/Interaction/PanResponder.js +3 -3
  105. package/Libraries/Interaction/TaskQueue.js +1 -0
  106. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  107. package/Libraries/Linking/Linking.js +1 -1
  108. package/Libraries/Lists/FlatList.d.ts +2 -2
  109. package/Libraries/Lists/FlatList.js +8 -11
  110. package/Libraries/Lists/SectionList.js +39 -42
  111. package/Libraries/Lists/SectionListModern.js +25 -34
  112. package/Libraries/Lists/VirtualizedList.js +1 -0
  113. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  114. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  115. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  116. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +140 -0
  117. package/Libraries/Modal/Modal.js +33 -7
  118. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  119. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  120. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  121. package/Libraries/NativeComponent/BaseViewConfig.win32.js +1 -0
  122. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  123. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  124. package/Libraries/Network/RCTNetworking.android.js +1 -1
  125. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  126. package/Libraries/Network/RCTNetworking.js +17 -0
  127. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  128. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  129. package/Libraries/Network/XMLHttpRequest.js +781 -10
  130. package/Libraries/Performance/Systrace.js +7 -7
  131. package/Libraries/Pressability/Pressability.js +1 -1
  132. package/Libraries/Pressability/Pressability.win32.js +1 -1
  133. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  134. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  135. package/Libraries/ReactNative/AppRegistry.js +2 -322
  136. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  137. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  138. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  139. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  140. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  141. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  142. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  143. package/Libraries/ReactNative/renderApplication.js +9 -0
  144. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  145. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  146. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  147. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  148. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  149. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  150. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  151. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  152. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  153. package/Libraries/Settings/Settings.ios.js +1 -0
  154. package/Libraries/Settings/Settings.js +13 -19
  155. package/Libraries/Settings/Settings.win32.js +19 -20
  156. package/Libraries/Settings/SettingsFallback.js +33 -0
  157. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  158. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  159. package/Libraries/StyleSheet/Rect.js +1 -0
  160. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  161. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  162. package/Libraries/StyleSheet/{StyleSheet.win32.js → StyleSheetExports.js} +2 -151
  163. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  164. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  166. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  167. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  168. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  169. package/Libraries/Text/Text.d.ts +2 -5
  170. package/Libraries/Text/Text.js +3 -3
  171. package/Libraries/Text/Text.win32.js +3 -3
  172. package/Libraries/Text/TextNativeComponent.js +0 -4
  173. package/Libraries/Text/TextNativeComponent.win32.js +0 -4
  174. package/Libraries/Text/TextProps.js +5 -33
  175. package/Libraries/Text/TextProps.win32.js +5 -30
  176. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  177. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  178. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  179. package/Libraries/Types/CoreEventTypes.js +1 -1
  180. package/Libraries/Types/CoreEventTypes.win32.js +1 -1
  181. package/Libraries/Utilities/Appearance.js +2 -0
  182. package/Libraries/Utilities/BackHandler.js +17 -0
  183. package/Libraries/Utilities/DeviceInfo.js +2 -0
  184. package/Libraries/Utilities/Dimensions.js +1 -1
  185. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  186. package/Libraries/Utilities/Platform.js +17 -0
  187. package/Libraries/Utilities/PlatformTypes.js +11 -3
  188. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  189. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  190. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  191. package/Libraries/WebSocket/WebSocket.js +313 -8
  192. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  193. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  194. package/flow/global.js +1 -0
  195. package/index.js +51 -331
  196. package/index.win32.js +71 -352
  197. package/interface.js +0 -4
  198. package/jest/resolver.js +31 -0
  199. package/overrides.json +45 -47
  200. package/package.json +25 -25
  201. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  202. package/src/private/animated/NativeAnimatedHelper.win32.js +21 -8
  203. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  204. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  205. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  206. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  207. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  208. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  209. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  210. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  211. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  212. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  213. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  214. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  215. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  216. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  217. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  218. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  219. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  220. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  221. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  222. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  223. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  224. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  225. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  226. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.win32.js +1 -1
  227. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  228. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  229. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  230. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  231. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  232. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  233. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  234. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  235. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  236. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  237. package/src/private/styles/composeStyles.js +12 -5
  238. package/src/private/types/HostComponent.js +1 -1
  239. package/src/private/types/HostInstance.js +67 -1
  240. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  241. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  242. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  243. package/src/private/webapis/performance/Performance.js +1 -3
  244. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  245. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  246. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  247. package/src/types/globals.d.ts +42 -0
  248. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +7 -7
  249. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +3 -3
  250. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +1 -1
  251. package/src-win/Libraries/Text/Text.d.ts +2 -5
  252. package/types/index.d.ts +6 -3
  253. package/types/public/ReactNativeTypes.d.ts +2 -2
  254. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  255. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  256. package/Libraries/Blob/FileReader_new.js +0 -231
  257. package/Libraries/Blob/FileReader_old.js +0 -186
  258. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  259. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  260. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  261. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  262. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  263. package/Libraries/Events/CustomEvent.js +0 -32
  264. package/Libraries/Events/EventPolyfill.js +0 -239
  265. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  266. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  267. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  268. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  269. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  270. package/Libraries/NewAppScreen/components/Header.js +0 -77
  271. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  272. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  273. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  274. package/Libraries/NewAppScreen/components/logo.png +0 -0
  275. package/Libraries/NewAppScreen/index.js +0 -25
  276. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  277. package/Libraries/Utilities/DeviceInfo.win32.js +0 -19
  278. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  279. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  280. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  281. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  282. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  283. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  284. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  285. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  286. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  287. package/flow/jest.js +0 -1287
  288. package/jest/__tests__/setup-test.js +0 -18
  289. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  290. package/src/private/utilities/ensureInstance.js +0 -21
  291. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  292. package/types/modules/LaunchScreen.d.ts +0 -18
  293. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  294. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
@@ -188,25 +188,12 @@ export default class ReadOnlyNode {
188
188
  }
189
189
 
190
190
  getRootNode(): ReadOnlyNode {
191
- if (ReactNativeFeatureFlags.enableDOMDocumentAPI()) {
192
- if (this.isConnected) {
193
- // If this is the document node, then the root node is itself.
194
- return this.ownerDocument ?? this;
195
- }
196
-
197
- return this;
198
- } else {
199
- // eslint-disable-next-line consistent-this
200
- let lastKnownParent: ReadOnlyNode = this;
201
- let nextPossibleParent: ?ReadOnlyNode = this.parentNode;
202
-
203
- while (nextPossibleParent != null) {
204
- lastKnownParent = nextPossibleParent;
205
- nextPossibleParent = nextPossibleParent.parentNode;
206
- }
207
-
208
- return lastKnownParent;
191
+ if (this.isConnected) {
192
+ // If this is the document node, then the root node is itself.
193
+ return this.ownerDocument ?? this;
209
194
  }
195
+
196
+ return this;
210
197
  }
211
198
 
212
199
  hasChildNodes(): boolean {
@@ -129,6 +129,12 @@ export function getNativeElementReference(
129
129
  // $FlowExpectedError[incompatible-cast] We know ReadOnlyElement instances provide InternalInstanceHandle
130
130
  const instanceHandle = getInstanceHandle(node) as InternalInstanceHandle;
131
131
 
132
+ if (isReactNativeDocumentElementInstanceHandle(instanceHandle)) {
133
+ return getNativeElementReferenceFromReactNativeDocumentElementInstanceHandle(
134
+ instanceHandle,
135
+ );
136
+ }
137
+
132
138
  // $FlowExpectedError[incompatible-return]
133
139
  return getRendererProxy().getNodeFromInternalInstanceHandle(instanceHandle);
134
140
  }
@@ -226,9 +226,7 @@ export default class Performance {
226
226
  * Returns a double, measured in milliseconds.
227
227
  * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
228
228
  */
229
- now(): DOMHighResTimeStamp {
230
- return getCurrentTimeStamp();
231
- }
229
+ now: () => DOMHighResTimeStamp = getCurrentTimeStamp;
232
230
 
233
231
  /**
234
232
  * An extension that allows to get back to JS all currently logged marks/measures
@@ -11,7 +11,12 @@
11
11
  // flowlint unsafe-getters-setters:off
12
12
 
13
13
  export type DOMHighResTimeStamp = number;
14
- export type PerformanceEntryType = 'mark' | 'measure' | 'event' | 'longtask';
14
+ export type PerformanceEntryType =
15
+ | 'mark'
16
+ | 'measure'
17
+ | 'event'
18
+ | 'longtask'
19
+ | 'resource';
15
20
 
16
21
  export type PerformanceEntryJSON = {
17
22
  name: string,
@@ -24,6 +24,7 @@ export const RawPerformanceEntryTypeValues = {
24
24
  MEASURE: 2,
25
25
  EVENT: 3,
26
26
  LONGTASK: 4,
27
+ RESOURCE: 5,
27
28
  };
28
29
 
29
30
  export function rawToPerformanceEntry(
@@ -95,6 +96,8 @@ export function performanceEntryTypeToRaw(
95
96
  return RawPerformanceEntryTypeValues.EVENT;
96
97
  case 'longtask':
97
98
  return RawPerformanceEntryTypeValues.LONGTASK;
99
+ case 'resource':
100
+ return RawPerformanceEntryTypeValues.RESOURCE;
98
101
  default:
99
102
  // Verify exhaustive check with Flow
100
103
  (type: empty);
@@ -24,10 +24,19 @@ export type RawPerformanceEntry = {
24
24
  startTime: number,
25
25
  duration: number,
26
26
 
27
- // For "event" entries only:
27
+ // For PerformanceEventTiming only
28
28
  processingStart?: number,
29
29
  processingEnd?: number,
30
30
  interactionId?: number,
31
+
32
+ // For PerformanceResourceTiming only
33
+ fetchStart?: number,
34
+ requestStart?: number,
35
+ connectStart?: number,
36
+ connectEnd?: number,
37
+ responseStart?: number,
38
+ responseEnd?: number,
39
+ responseStatus?: number,
31
40
  };
32
41
 
33
42
  export type OpaqueNativeObserverHandle = mixed;
@@ -57,6 +57,48 @@ declare global {
57
57
 
58
58
  const HermesInternal: null | {};
59
59
 
60
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly) */
61
+ interface DOMRectReadOnly {
62
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/bottom) */
63
+ readonly bottom: number;
64
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/height) */
65
+ readonly height: number;
66
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/left) */
67
+ readonly left: number;
68
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/right) */
69
+ readonly right: number;
70
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/top) */
71
+ readonly top: number;
72
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/width) */
73
+ readonly width: number;
74
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/x) */
75
+ readonly x: number;
76
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly/y) */
77
+ readonly y: number;
78
+ toJSON(): any;
79
+ }
80
+
81
+ interface DOMRect extends DOMRectReadOnly {
82
+ height: number;
83
+ width: number;
84
+ x: number;
85
+ y: number;
86
+ }
87
+
88
+ interface DOMRectInit {
89
+ height?: number | undefined;
90
+ width?: number | undefined;
91
+ x?: number | undefined;
92
+ y?: number | undefined;
93
+ }
94
+
95
+ var DOMRect: {
96
+ prototype: DOMRect;
97
+ new (x?: number, y?: number, width?: number, height?: number): DOMRect;
98
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/fromRect_static) */
99
+ fromRect(other?: DOMRectInit): DOMRect;
100
+ };
101
+
60
102
  // #region Timer Functions
61
103
 
62
104
  function clearInterval(handle: number): void;
@@ -114,49 +114,49 @@ export const examples = [
114
114
  {
115
115
  title: 'Autofocus Example',
116
116
  description: 'autoFocus in action',
117
- render(): JSX.Element {
117
+ render() {
118
118
  return (<AutoFocusingTextInputTest />);
119
119
  },
120
120
  },
121
121
  {
122
122
  title: 'Placeholders Example',
123
123
  description: 'placeholder in action',
124
- render(): JSX.Element {
124
+ render() {
125
125
  return (<PlaceholderTextInputTest />);
126
126
  },
127
127
  },
128
128
  {
129
129
  title: 'Controlled Example',
130
130
  description: 'Controlling inputs in action',
131
- render(): JSX.Element {
131
+ render() {
132
132
  return (<ControllingTextInputTest />);
133
133
  },
134
134
  },
135
135
  {
136
136
  title: 'Focus and Blur Example',
137
137
  description: 'onFocus/onBlur in action',
138
- render(): JSX.Element {
138
+ render() {
139
139
  return (<BlurringAndFocusingTextInputTest />);
140
140
  },
141
141
  },
142
142
  {
143
143
  title: 'ContentSizeChange Example',
144
144
  description: 'onContentSizeChange in action',
145
- render(): JSX.Element {
145
+ render() {
146
146
  return (<LayoutListeningTextInputTest />);
147
147
  },
148
148
  },
149
149
  {
150
150
  title: 'Control via onKeyPress Example',
151
151
  description: 'onKeyPress in action',
152
- render(): JSX.Element {
152
+ render() {
153
153
  return (<KeyPressListeningTextInputTest />);
154
154
  },
155
155
  },
156
156
  {
157
157
  title: 'Super Styling Example',
158
158
  description: 'Styling in action',
159
- render(): JSX.Element {
159
+ render() {
160
160
  return (<StyleTextInputTest />);
161
161
  },
162
162
  },
@@ -481,21 +481,21 @@ export const examples = [
481
481
  {
482
482
  title: 'TouchableWithoutFeedback Example',
483
483
  description: 'A simple example implementation of without feedback behavior',
484
- render(): JSX.Element {
484
+ render() {
485
485
  return <TouchableWithoutFeedbackExample />;
486
486
  },
487
487
  },
488
488
  {
489
489
  title: 'TouchableHighlight Example',
490
490
  description: 'A simple example implementation of highlight behavior',
491
- render(): JSX.Element {
491
+ render() {
492
492
  return <TouchableHighlightExample />;
493
493
  },
494
494
  },
495
495
  {
496
496
  title: 'Imperative Focus on TouchableWin32 Example',
497
497
  description: 'A simple example implementation of imperative focus behavior',
498
- render(): JSX.Element {
498
+ render() {
499
499
  return <TouchableFocusExample />;
500
500
  },
501
501
  }
@@ -10,7 +10,7 @@ export const examples = [
10
10
  {
11
11
  title: 'Win32 Image control test',
12
12
  description: 'Test Image',
13
- render(): JSX.Element {
13
+ render() {
14
14
  return (
15
15
  <Image
16
16
  style={ { width: 100, height: 100 } }
@@ -16,8 +16,7 @@ import {TextStyle, ViewStyle} from '../StyleSheet/StyleSheetTypes';
16
16
  import {
17
17
  GestureResponderEvent,
18
18
  LayoutChangeEvent,
19
- NativeSyntheticEvent,
20
- TextLayoutEventData,
19
+ TextLayoutEvent,
21
20
  } from '../Types/CoreEventTypes';
22
21
  import type {
23
22
  IKeyboardEvent,
@@ -248,9 +247,7 @@ export interface TextProps
248
247
  /**
249
248
  * Invoked on Text layout
250
249
  */
251
- onTextLayout?:
252
- | ((event: NativeSyntheticEvent<TextLayoutEventData>) => void)
253
- | undefined;
250
+ onTextLayout?: ((event: TextLayoutEvent) => void) | undefined;
254
251
 
255
252
  /**
256
253
  * This function is called on press.
package/types/index.d.ts CHANGED
@@ -68,8 +68,7 @@
68
68
  /// <reference path="modules/BatchedBridge.d.ts" />
69
69
  /// <reference path="modules/Codegen.d.ts" />
70
70
  /// <reference path="modules/Devtools.d.ts" />
71
- /// <reference types="../src/types/globals.d.ts" />
72
- /// <reference path="modules/LaunchScreen.d.ts" />
71
+ /// <reference path="../src/types/globals.d.ts" />
73
72
 
74
73
  export * from '../Libraries/ActionSheetIOS/ActionSheetIOS';
75
74
  export * from '../Libraries/Alert/Alert';
@@ -139,10 +138,11 @@ export * from '../Libraries/StyleSheet/processColor';
139
138
  export * from '../Libraries/Text/Text';
140
139
  export * from '../Libraries/TurboModule/RCTExport';
141
140
  export * as TurboModuleRegistry from '../Libraries/TurboModule/TurboModuleRegistry';
141
+ export * as CodegenTypes from '../Libraries/Types/CodegenTypesNamespace';
142
142
  export * from '../Libraries/Types/CoreEventTypes';
143
143
  export * from '../Libraries/Utilities/Appearance';
144
144
  export * from '../Libraries/Utilities/BackHandler';
145
- export * from '../src/private/devmenu/DevMenu';
145
+ export * from '../src/private/devsupport/devmenu/DevMenu';
146
146
  export * from '../Libraries/Utilities/DevSettings';
147
147
  export * from '../Libraries/Utilities/Dimensions';
148
148
  export * from '../Libraries/Utilities/PixelRatio';
@@ -159,5 +159,8 @@ export * from './public/Insets';
159
159
  export * from './public/ReactNativeRenderer';
160
160
  export * from './public/ReactNativeTypes';
161
161
 
162
+ export {default as codegenNativeCommands} from '../Libraries/Utilities/codegenNativeCommands';
163
+ export {default as codegenNativeComponent} from '../Libraries/Utilities/codegenNativeComponent';
164
+
162
165
  // Export platform specific types
163
166
  export * from '../Libraries/platform-types';
@@ -39,7 +39,7 @@ export type MeasureLayoutOnSuccessCallback = (
39
39
  * The methods described here are available on most of the default components provided by React Native.
40
40
  * Note, however, that they are not available on composite components that aren't directly backed by a
41
41
  * native view. This will generally include most components that you define in your own app.
42
- * For more information, see [Direct Manipulation](https://reactnative.dev/docs/direct-manipulation).
42
+ * For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
43
43
  * @see https://github.com/facebook/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
44
44
  */
45
45
  export interface NativeMethods {
@@ -95,7 +95,7 @@ export interface NativeMethods {
95
95
  * This function sends props straight to native. They will not participate in
96
96
  * future diff process - this means that if you do not include them in the
97
97
  * next render, they will remain active (see [Direct
98
- * Manipulation](https://reactnative.dev/docs/direct-manipulation)).
98
+ * Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture)).
99
99
  */
100
100
  setNativeProps(nativeProps: object): void;
101
101
 
@@ -1,38 +0,0 @@
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
- * @flow strict-local
8
- * @format
9
- */
10
-
11
- // These don't actually exist anywhere in the code.
12
-
13
- 'use strict';
14
-
15
- import type {ModuleConfig} from '../NativeModules';
16
-
17
- const remoteModulesConfig: $ReadOnlyArray<ModuleConfig> = [
18
- [
19
- 'RemoteModule1',
20
- null,
21
- ['remoteMethod', 'promiseMethod', 'promiseReturningMethod', 'syncMethod'],
22
- [2 /* promiseReturningMethod */],
23
- [3 /* syncMethod */],
24
- ],
25
- [
26
- 'RemoteModule2',
27
- null,
28
- ['remoteMethod', 'promiseMethod', 'promiseReturningMethod', 'syncMethod'],
29
- [2 /* promiseReturningMethod */],
30
- [3 /* syncMethod */],
31
- ],
32
- ];
33
-
34
- const MessageQueueTestConfig = {
35
- remoteModuleConfig: remoteModulesConfig,
36
- };
37
-
38
- module.exports = MessageQueueTestConfig;
@@ -1,22 +0,0 @@
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
- */
9
-
10
- 'use strict';
11
-
12
- /**
13
- * Dummy module that only exists for the sake of proving that the message queue
14
- * correctly dispatches to commonJS modules. The `testHook` is overridden by test
15
- * cases.
16
- */
17
- const MessageQueueTestModule = {
18
- testHook1: function () {},
19
- testHook2: function () {},
20
- };
21
-
22
- module.exports = MessageQueueTestModule;
@@ -1,231 +0,0 @@
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
- * @flow
8
- * @format
9
- */
10
-
11
- import type {EventCallback} from '../../src/private/webapis/dom/events/EventTarget';
12
- import type Blob from './Blob';
13
-
14
- import Event from '../../src/private/webapis/dom/events/Event';
15
- import {
16
- getEventHandlerAttribute,
17
- setEventHandlerAttribute,
18
- } from '../../src/private/webapis/dom/events/EventHandlerAttributes';
19
- import EventTarget from '../../src/private/webapis/dom/events/EventTarget';
20
- import NativeFileReaderModule from './NativeFileReaderModule';
21
- import {toByteArray} from 'base64-js';
22
-
23
- type ReadyState =
24
- | 0 // EMPTY
25
- | 1 // LOADING
26
- | 2; // DONE
27
-
28
- type ReaderResult = string | ArrayBuffer;
29
-
30
- const EMPTY = 0;
31
- const LOADING = 1;
32
- const DONE = 2;
33
-
34
- class FileReader extends EventTarget {
35
- static EMPTY: number = EMPTY;
36
- static LOADING: number = LOADING;
37
- static DONE: number = DONE;
38
-
39
- EMPTY: number = EMPTY;
40
- LOADING: number = LOADING;
41
- DONE: number = DONE;
42
-
43
- _readyState: ReadyState;
44
- _error: ?Error;
45
- _result: ?ReaderResult;
46
- _aborted: boolean = false;
47
-
48
- constructor() {
49
- super();
50
- this._reset();
51
- }
52
-
53
- _reset(): void {
54
- this._readyState = EMPTY;
55
- this._error = null;
56
- this._result = null;
57
- }
58
-
59
- _setReadyState(newState: ReadyState) {
60
- this._readyState = newState;
61
- this.dispatchEvent(new Event('readystatechange'));
62
- if (newState === DONE) {
63
- if (this._aborted) {
64
- this.dispatchEvent(new Event('abort'));
65
- } else if (this._error) {
66
- this.dispatchEvent(new Event('error'));
67
- } else {
68
- this.dispatchEvent(new Event('load'));
69
- }
70
- this.dispatchEvent(new Event('loadend'));
71
- }
72
- }
73
-
74
- readAsArrayBuffer(blob: ?Blob): void {
75
- this._aborted = false;
76
-
77
- if (blob == null) {
78
- throw new TypeError(
79
- "Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'",
80
- );
81
- }
82
-
83
- NativeFileReaderModule.readAsDataURL(blob.data).then(
84
- (text: string) => {
85
- if (this._aborted) {
86
- return;
87
- }
88
-
89
- const base64 = text.split(',')[1];
90
- const typedArray = toByteArray(base64);
91
-
92
- this._result = typedArray.buffer;
93
- this._setReadyState(DONE);
94
- },
95
- error => {
96
- if (this._aborted) {
97
- return;
98
- }
99
- this._error = error;
100
- this._setReadyState(DONE);
101
- },
102
- );
103
- }
104
-
105
- readAsDataURL(blob: ?Blob): void {
106
- this._aborted = false;
107
-
108
- if (blob == null) {
109
- throw new TypeError(
110
- "Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'",
111
- );
112
- }
113
-
114
- NativeFileReaderModule.readAsDataURL(blob.data).then(
115
- (text: string) => {
116
- if (this._aborted) {
117
- return;
118
- }
119
- this._result = text;
120
- this._setReadyState(DONE);
121
- },
122
- error => {
123
- if (this._aborted) {
124
- return;
125
- }
126
- this._error = error;
127
- this._setReadyState(DONE);
128
- },
129
- );
130
- }
131
-
132
- readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {
133
- this._aborted = false;
134
-
135
- if (blob == null) {
136
- throw new TypeError(
137
- "Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'",
138
- );
139
- }
140
-
141
- NativeFileReaderModule.readAsText(blob.data, encoding).then(
142
- (text: string) => {
143
- if (this._aborted) {
144
- return;
145
- }
146
- this._result = text;
147
- this._setReadyState(DONE);
148
- },
149
- error => {
150
- if (this._aborted) {
151
- return;
152
- }
153
- this._error = error;
154
- this._setReadyState(DONE);
155
- },
156
- );
157
- }
158
-
159
- abort() {
160
- this._aborted = true;
161
- // only call onreadystatechange if there is something to abort, as per spec
162
- if (this._readyState !== EMPTY && this._readyState !== DONE) {
163
- this._reset();
164
- this._setReadyState(DONE);
165
- }
166
- // Reset again after, in case modified in handler
167
- this._reset();
168
- }
169
-
170
- get readyState(): ReadyState {
171
- return this._readyState;
172
- }
173
-
174
- get error(): ?Error {
175
- return this._error;
176
- }
177
-
178
- get result(): ?ReaderResult {
179
- return this._result;
180
- }
181
-
182
- get onabort(): EventCallback | null {
183
- return getEventHandlerAttribute(this, 'abort');
184
- }
185
-
186
- set onabort(listener: ?EventCallback) {
187
- setEventHandlerAttribute(this, 'abort', listener);
188
- }
189
-
190
- get onerror(): EventCallback | null {
191
- return getEventHandlerAttribute(this, 'error');
192
- }
193
-
194
- set onerror(listener: ?EventCallback) {
195
- setEventHandlerAttribute(this, 'error', listener);
196
- }
197
-
198
- get onload(): EventCallback | null {
199
- return getEventHandlerAttribute(this, 'load');
200
- }
201
-
202
- set onload(listener: ?EventCallback) {
203
- setEventHandlerAttribute(this, 'load', listener);
204
- }
205
-
206
- get onloadstart(): EventCallback | null {
207
- return getEventHandlerAttribute(this, 'loadstart');
208
- }
209
-
210
- set onloadstart(listener: ?EventCallback) {
211
- setEventHandlerAttribute(this, 'loadstart', listener);
212
- }
213
-
214
- get onloadend(): EventCallback | null {
215
- return getEventHandlerAttribute(this, 'loadend');
216
- }
217
-
218
- set onloadend(listener: ?EventCallback) {
219
- setEventHandlerAttribute(this, 'loadend', listener);
220
- }
221
-
222
- get onprogress(): EventCallback | null {
223
- return getEventHandlerAttribute(this, 'progress');
224
- }
225
-
226
- set onprogress(listener: ?EventCallback) {
227
- setEventHandlerAttribute(this, 'progress', listener);
228
- }
229
- }
230
-
231
- export default FileReader;