@office-iss/react-native-win32 0.0.0-canary.283 → 0.0.0-canary.285

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 +79 -1
  3. package/CHANGELOG.md +32 -8
  4. package/IntegrationTests/AccessibilityManagerTest.js +17 -12
  5. package/IntegrationTests/AppEventsTest.js +47 -32
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
  7. package/IntegrationTests/ImageCachePolicyTest.js +64 -81
  8. package/IntegrationTests/ImageSnapshotTest.js +17 -20
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
  10. package/IntegrationTests/IntegrationTestsApp.js +11 -6
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +2 -1
  13. package/IntegrationTests/PromiseTest.js +51 -43
  14. package/IntegrationTests/SimpleSnapshotTest.js +19 -24
  15. package/IntegrationTests/SyncMethodTest.js +9 -13
  16. package/IntegrationTests/TimersTest.js +3 -3
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
  19. package/Libraries/Alert/Alert.flow.js +62 -0
  20. package/Libraries/Alert/Alert.js +5 -28
  21. package/Libraries/Alert/Alert.win32.js +6 -28
  22. package/Libraries/Alert/NativeAlertManager.js +2 -2
  23. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  24. package/Libraries/Alert/RCTAlertManager.flow.js +20 -0
  25. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  26. package/Libraries/Animated/AnimatedMock.js +1 -1
  27. package/Libraries/Animated/NativeAnimatedModule.js +2 -2
  28. package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
  29. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  30. package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
  31. package/Libraries/Animated/useAnimatedProps.js +4 -332
  32. package/Libraries/AppState/AppState.js +1 -1
  33. package/Libraries/AppState/NativeAppState.js +2 -2
  34. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  35. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  36. package/Libraries/BatchedBridge/NativeModules.js +4 -3
  37. package/Libraries/Blob/Blob.js +4 -4
  38. package/Libraries/Blob/BlobManager.js +3 -2
  39. package/Libraries/Blob/BlobRegistry.js +3 -9
  40. package/Libraries/Blob/File.js +3 -2
  41. package/Libraries/Blob/FileReader.js +8 -174
  42. package/Libraries/Blob/FileReader_new.js +231 -0
  43. package/Libraries/Blob/FileReader_old.js +186 -0
  44. package/Libraries/Blob/NativeBlobModule.js +2 -2
  45. package/Libraries/Blob/NativeFileReaderModule.js +2 -2
  46. package/Libraries/Blob/URLSearchParams.js +1 -2
  47. package/Libraries/BugReporting/BugReporting.js +2 -2
  48. package/Libraries/BugReporting/NativeBugReporting.js +2 -2
  49. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  50. package/Libraries/BugReporting/getReactData.js +1 -1
  51. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
  52. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
  53. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
  54. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  55. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  56. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  57. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
  58. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  59. package/Libraries/Components/Button.js +2 -2
  60. package/Libraries/Components/Button.win32.js +2 -2
  61. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  62. package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
  63. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  64. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +7 -7
  65. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +2 -2
  66. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  67. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +18 -22
  68. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
  69. package/Libraries/Components/Pressable/Pressable.js +4 -4
  70. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  71. package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
  72. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
  73. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  74. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  75. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  76. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  77. package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
  78. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  79. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  80. package/Libraries/Components/ScrollView/ScrollView.js +32 -26
  81. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  82. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
  83. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  84. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  85. package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
  86. package/Libraries/Components/Sound/SoundManager.js +1 -1
  87. package/Libraries/Components/StaticRenderer.js +4 -4
  88. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
  89. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
  90. package/Libraries/Components/StatusBar/StatusBar.js +33 -18
  91. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  92. package/Libraries/Components/Switch/Switch.js +6 -6
  93. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  94. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
  95. package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
  96. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  97. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  98. package/Libraries/Components/TextInput/TextInput.flow.js +117 -107
  99. package/Libraries/Components/TextInput/TextInput.js +122 -115
  100. package/Libraries/Components/TextInput/TextInput.win32.js +124 -117
  101. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  102. package/Libraries/Components/TextInput/TextInputState.js +3 -1
  103. package/Libraries/Components/TextInput/TextInputState.win32.js +3 -1
  104. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
  105. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  106. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  107. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  108. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  109. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  110. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  111. package/Libraries/Components/Touchable/Position.js +1 -1
  112. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  113. package/Libraries/Components/Touchable/TouchableHighlight.js +12 -12
  114. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +15 -15
  115. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
  116. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
  117. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -4
  118. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  119. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
  120. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  121. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  122. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
  123. package/Libraries/Components/View/View.js +1 -1
  124. package/Libraries/Components/View/View.win32.js +1 -1
  125. package/Libraries/Components/View/ViewAccessibility.js +2 -2
  126. package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
  127. package/Libraries/Components/View/ViewPropTypes.js +22 -22
  128. package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
  129. package/Libraries/Core/Devtools/getDevServer.js +1 -3
  130. package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
  131. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
  132. package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
  133. package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
  134. package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
  135. package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
  136. package/Libraries/Core/Devtools/symbolicateStackTrace.js +5 -4
  137. package/Libraries/Core/ExceptionsManager.js +6 -4
  138. package/Libraries/Core/InitializeCore.js +5 -2
  139. package/Libraries/Core/NativeExceptionsManager.js +2 -2
  140. package/Libraries/Core/RawEventEmitter.js +2 -2
  141. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  142. package/Libraries/Core/ReactNativeVersion.js +3 -5
  143. package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
  144. package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
  145. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
  146. package/Libraries/Core/Timers/JSTimers.js +4 -4
  147. package/Libraries/Core/Timers/NativeTiming.js +2 -2
  148. package/Libraries/Core/Timers/immediateShim.js +2 -9
  149. package/Libraries/Core/polyfillPromise.js +1 -1
  150. package/Libraries/Core/registerCallableModule.js +1 -1
  151. package/Libraries/Core/setUpAlert.js +1 -1
  152. package/Libraries/Core/setUpBatchedBridge.js +4 -3
  153. package/Libraries/Core/setUpDeveloperTools.js +2 -9
  154. package/Libraries/Core/setUpErrorHandling.js +2 -2
  155. package/Libraries/Core/setUpReactDevTools.js +23 -5
  156. package/Libraries/Core/setUpTimers.js +45 -66
  157. package/Libraries/Core/setUpXHR.js +6 -6
  158. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  159. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  160. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  161. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  162. package/Libraries/Events/CustomEvent.js +2 -2
  163. package/Libraries/Image/AssetRegistry.js +8 -1
  164. package/Libraries/Image/AssetSourceResolver.js +3 -3
  165. package/Libraries/Image/Image.android.js +3 -1
  166. package/Libraries/Image/Image.ios.js +1 -1
  167. package/Libraries/Image/Image.win32.js +1 -1
  168. package/Libraries/Image/ImageBackground.js +1 -1
  169. package/Libraries/Image/ImageProps.js +17 -17
  170. package/Libraries/Image/ImageViewNativeComponent.js +4 -5
  171. package/Libraries/Image/NativeImageEditor.js +2 -2
  172. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
  173. package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
  174. package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
  175. package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
  176. package/Libraries/Image/NativeImageStoreIOS.js +2 -2
  177. package/Libraries/Image/RelativeImageStub.js +3 -1
  178. package/Libraries/Image/nativeImageSource.js +3 -3
  179. package/Libraries/Image/resolveAssetSource.js +4 -2
  180. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  181. package/Libraries/Interaction/InteractionManager.js +11 -8
  182. package/Libraries/Interaction/InteractionManagerStub.js +1 -1
  183. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  184. package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
  185. package/Libraries/Interaction/PanResponder.js +8 -8
  186. package/Libraries/Interaction/TaskQueue.js +1 -1
  187. package/Libraries/Interaction/TouchHistoryMath.js +27 -1
  188. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
  189. package/Libraries/Linking/Linking.d.ts +3 -3
  190. package/Libraries/Linking/Linking.js +10 -9
  191. package/Libraries/Linking/NativeIntentAndroid.js +2 -2
  192. package/Libraries/Linking/NativeLinkingManager.js +2 -2
  193. package/Libraries/Lists/FillRateHelper.js +1 -1
  194. package/Libraries/Lists/FlatList.js +10 -11
  195. package/Libraries/Lists/SectionList.js +7 -9
  196. package/Libraries/Lists/SectionListModern.js +6 -6
  197. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  198. package/Libraries/Lists/VirtualizeUtils.js +1 -3
  199. package/Libraries/Lists/VirtualizedList.js +1 -1
  200. package/Libraries/Lists/VirtualizedListContext.js +1 -3
  201. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  202. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  203. package/Libraries/LogBox/Data/LogBoxData.js +15 -15
  204. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  205. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  206. package/Libraries/LogBox/LogBox.js +13 -1
  207. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  208. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  209. package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
  210. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  211. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  212. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
  213. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +2 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
  216. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  217. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  218. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  219. package/Libraries/Modal/Modal.js +10 -10
  220. package/Libraries/Modal/NativeModalManager.js +2 -2
  221. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  222. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  223. package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
  224. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
  225. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
  226. package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
  227. package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
  228. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
  229. package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
  230. package/Libraries/Network/NativeNetworkingIOS.js +2 -2
  231. package/Libraries/Network/RCTNetworking.android.js +1 -1
  232. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  233. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  234. package/Libraries/Network/XMLHttpRequest.js +11 -685
  235. package/Libraries/Network/XMLHttpRequest_new.js +790 -0
  236. package/Libraries/Network/XMLHttpRequest_old.js +697 -0
  237. package/Libraries/Network/convertRequestBody.js +3 -1
  238. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
  239. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  240. package/Libraries/Pressability/Pressability.js +10 -10
  241. package/Libraries/Pressability/Pressability.win32.js +10 -10
  242. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  243. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  244. package/Libraries/Promise.js +2 -2
  245. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
  246. package/Libraries/ReactNative/AppContainer-dev.js +2 -2
  247. package/Libraries/ReactNative/AppContainer.js +3 -3
  248. package/Libraries/ReactNative/AppRegistry.js +1 -1
  249. package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
  250. package/Libraries/ReactNative/FabricUIManager.js +18 -8
  251. package/Libraries/ReactNative/I18nManager.js +4 -3
  252. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
  253. package/Libraries/ReactNative/NativeI18nManager.js +2 -2
  254. package/Libraries/ReactNative/NativeUIManager.js +2 -2
  255. package/Libraries/ReactNative/PaperUIManager.js +3 -4
  256. package/Libraries/ReactNative/PaperUIManager.win32.js +3 -4
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -31
  258. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
  259. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
  260. package/Libraries/ReactNative/RendererImplementation.js +9 -0
  261. package/Libraries/ReactNative/UIManager.d.ts +1 -0
  262. package/Libraries/ReactNative/UIManager.js +3 -3
  263. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  264. package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -5
  265. package/Libraries/ReactNative/requireNativeComponent.js +2 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +12 -6
  267. package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -1
  268. package/Libraries/Settings/NativeSettingsManager.js +2 -2
  269. package/Libraries/Settings/Settings.ios.js +1 -1
  270. package/Libraries/Settings/Settings.js +1 -1
  271. package/Libraries/Settings/Settings.win32.js +1 -1
  272. package/Libraries/Share/NativeShareModule.js +2 -2
  273. package/Libraries/Share/Share.js +1 -1
  274. package/Libraries/StyleSheet/Rect.js +2 -2
  275. package/Libraries/StyleSheet/StyleSheet.js +3 -2
  276. package/Libraries/StyleSheet/StyleSheet.win32.js +3 -2
  277. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  278. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  279. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  280. package/Libraries/StyleSheet/processBoxShadow.js +4 -0
  281. package/Libraries/StyleSheet/processColorArray.js +1 -1
  282. package/Libraries/Text/Text.js +1 -1
  283. package/Libraries/Text/Text.win32.js +1 -1
  284. package/Libraries/Text/TextAncestor.js +2 -3
  285. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  286. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  287. package/Libraries/Types/CodegenTypes.js +2 -1
  288. package/Libraries/Types/CoreEventTypes.js +42 -40
  289. package/Libraries/Types/CoreEventTypes.win32.js +42 -40
  290. package/Libraries/UTFSequence.js +2 -2
  291. package/Libraries/Utilities/Appearance.js +0 -8
  292. package/Libraries/Utilities/BackHandler.android.js +2 -2
  293. package/Libraries/Utilities/BackHandler.ios.js +2 -2
  294. package/Libraries/Utilities/BackHandler.win32.js +2 -2
  295. package/Libraries/Utilities/HMRClient.js +2 -2
  296. package/Libraries/Utilities/NativeAppearance.js +2 -2
  297. package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
  298. package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
  299. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
  300. package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
  301. package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
  302. package/Libraries/Utilities/Platform.android.js +4 -4
  303. package/Libraries/Utilities/Platform.flow.js +8 -8
  304. package/Libraries/Utilities/Platform.flow.win32.js +8 -8
  305. package/Libraries/Utilities/Platform.ios.js +4 -4
  306. package/Libraries/Utilities/Platform.win32.js +2 -2
  307. package/Libraries/Utilities/ReactNativeTestTools.js +5 -5
  308. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  309. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  310. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  311. package/Libraries/Utilities/dismissKeyboard.js +2 -1
  312. package/Libraries/Utilities/stringifySafe.js +2 -2
  313. package/Libraries/Vibration/NativeVibration.js +2 -2
  314. package/Libraries/Vibration/Vibration.js +1 -1
  315. package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
  316. package/Libraries/WebSocket/WebSocket.js +8 -285
  317. package/Libraries/WebSocket/WebSocketEvent.js +2 -2
  318. package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
  319. package/Libraries/WebSocket/WebSocket_new.js +325 -0
  320. package/Libraries/WebSocket/WebSocket_old.js +297 -0
  321. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  322. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  323. package/flow/jest.js +14 -14
  324. package/index.js +40 -38
  325. package/index.win32.js +40 -38
  326. package/jest/mockScrollView.js +1 -1
  327. package/jest/setup.js +305 -262
  328. package/overrides.json +44 -56
  329. package/package.json +17 -17
  330. package/src/private/animated/createAnimatedPropsHook.js +360 -0
  331. package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
  332. package/src/private/components/HScrollViewNativeComponents.js +1 -1
  333. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  334. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
  335. package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
  336. package/src/private/devmenu/DevMenu.js +1 -1
  337. package/src/private/featureflags/ReactNativeFeatureFlags.js +29 -55
  338. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -1
  339. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -8
  340. package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
  341. package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
  342. package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +8 -8
  343. package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +18 -15
  344. package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
  345. package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +9 -8
  346. package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
  347. package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +40 -24
  348. package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +7 -6
  349. package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +9 -8
  350. package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
  351. package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +1 -1
  352. package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +5 -3
  353. package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
  354. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -4
  355. package/src/private/setup/setUpDOM.js +7 -2
  356. package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +2 -2
  357. package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +6 -6
  358. package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  359. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  360. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +4 -4
  361. package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +2 -2
  362. package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +2 -2
  363. package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +2 -2
  364. package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  365. package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +4 -4
  366. package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +2 -2
  367. package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +4 -4
  368. package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +2 -2
  369. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
  370. package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
  371. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
  372. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
  373. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
  374. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
  375. package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
  376. package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
  377. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
  378. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
  379. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
  380. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
  381. package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +2 -2
  382. package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
  383. package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
  384. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
  385. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
  386. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
  387. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +1 -1
  388. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
  389. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
  390. package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
  391. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
  392. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
  393. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +5 -10
  394. package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
  395. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
  396. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
  397. package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
  398. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
  399. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
  400. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
  401. package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
  402. package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
  403. package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
  404. package/src/private/webapis/dom/events/CustomEvent.js +40 -0
  405. package/src/private/webapis/dom/events/Event.js +236 -0
  406. package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
  407. package/src/private/webapis/dom/events/EventTarget.js +436 -0
  408. package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
  409. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
  410. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +120 -0
  411. package/src/private/webapis/dom/nodes/ReactNativeElement.js +48 -25
  412. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +6 -5
  413. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +25 -25
  414. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +55 -77
  415. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
  416. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
  417. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +43 -0
  418. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
  419. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  420. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  421. package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
  422. package/src/private/webapis/html/events/MessageEvent.js +63 -0
  423. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
  424. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  425. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
  426. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  427. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
  428. package/src/private/webapis/performance/EventTiming.js +1 -1
  429. package/src/private/webapis/performance/Performance.js +3 -3
  430. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  431. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  432. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  433. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
  434. package/src/private/webapis/websockets/events/CloseEvent.js +54 -0
  435. package/src/private/webapis/xhr/events/ProgressEvent.js +54 -0
  436. package/types/index.d.ts +0 -5
  437. package/Libraries/Animated/AnimatedWeb.js +0 -26
  438. package/Libraries/Inspector/Inspector.win32.js +0 -212
  439. package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
  440. package/Libraries/JSInspector/InspectorAgent.js +0 -27
  441. package/Libraries/JSInspector/JSInspector.js +0 -33
  442. package/Libraries/JSInspector/NetworkAgent.js +0 -295
  443. package/Libraries/Utilities/DebugEnvironment.js +0 -16
  444. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
  445. package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
  446. package/src/private/specs/modules/NativeCPUTime.js +0 -24
  447. package/src/private/specs/modules/NativeFantom.js +0 -37
  448. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
  449. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
  450. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
  451. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
  452. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
  453. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
  454. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
  455. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
  456. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
  457. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
  458. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
  459. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
  460. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
  461. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
  462. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
  463. /package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +0 -0
  464. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
  465. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
  466. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
  467. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
  468. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
  469. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeUIManager.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
@@ -10,65 +10,49 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
14
- const ReactNative = require('react-native');
13
+ import * as React from 'react';
14
+ import {useEffect, useState} from 'react';
15
+ import {NativeModules, StyleSheet, Text, View} from 'react-native';
15
16
 
16
- const {Text, View, StyleSheet} = ReactNative;
17
- const {TestModule} = ReactNative.NativeModules;
17
+ const {TestModule} = NativeModules;
18
18
 
19
- type Props = $ReadOnly<{|
19
+ type Props = $ReadOnly<{
20
20
  shouldThrow?: boolean,
21
21
  waitOneFrame?: boolean,
22
- |}>;
22
+ }>;
23
23
 
24
- type State = {|
25
- done: boolean,
26
- |};
24
+ function IntegrationTestHarnessTest(props: Props): React.Node {
25
+ const [done, setDone] = useState(false);
27
26
 
28
- class IntegrationTestHarnessTest extends React.Component<Props, State> {
29
- state: State = {
30
- done: false,
31
- };
27
+ useEffect(() => {
28
+ const runTest = () => {
29
+ if (props.shouldThrow) {
30
+ throw new Error('Throwing error because shouldThrow');
31
+ }
32
+ if (!TestModule) {
33
+ throw new Error('RCTTestModule is not registered.');
34
+ } else if (!TestModule.markTestCompleted) {
35
+ throw new Error('RCTTestModule.markTestCompleted not defined.');
36
+ }
37
+ setDone(true);
38
+ TestModule.markTestCompleted();
39
+ };
32
40
 
33
- componentDidMount() {
34
- if (this.props.waitOneFrame) {
35
- requestAnimationFrame(this.runTest);
41
+ if (props.waitOneFrame) {
42
+ requestAnimationFrame(runTest);
36
43
  } else {
37
- this.runTest();
38
- }
39
- }
40
-
41
- runTest: () => void = () => {
42
- if (this.props.shouldThrow) {
43
- throw new Error('Throwing error because shouldThrow');
44
+ runTest();
44
45
  }
45
- if (!TestModule) {
46
- throw new Error('RCTTestModule is not registered.');
47
- } else if (!TestModule.markTestCompleted) {
48
- throw new Error('RCTTestModule.markTestCompleted not defined.');
49
- }
50
- this.setState({done: true}, () => {
51
- TestModule.markTestCompleted();
52
- });
53
- };
46
+ }, [props.shouldThrow, props.waitOneFrame]);
54
47
 
55
- render(): React.Node {
56
- return (
57
- <View style={styles.container}>
58
- <Text>
59
- {
60
- /* $FlowFixMe[incompatible-type] (>=0.54.0 site=react_native_fb,react_
61
- * native_oss) This comment suppresses an error found when Flow v0.54
62
- * was deployed. To see the error delete this comment and run Flow.
63
- */
64
- // $FlowFixMe[unsafe-addition]
65
- this.constructor.displayName + ': '
66
- }
67
- {this.state.done ? 'Done' : 'Testing...'}
68
- </Text>
69
- </View>
70
- );
71
- }
48
+ return (
49
+ <View style={styles.container}>
50
+ <Text>
51
+ {IntegrationTestHarnessTest.name + ': '}
52
+ {done ? 'Done' : 'Testing...'}
53
+ </Text>
54
+ </View>
55
+ );
72
56
  }
73
57
 
74
58
  const styles = StyleSheet.create({
@@ -78,6 +62,4 @@ const styles = StyleSheet.create({
78
62
  },
79
63
  });
80
64
 
81
- IntegrationTestHarnessTest.displayName = 'IntegrationTestHarnessTest';
82
-
83
- module.exports = IntegrationTestHarnessTest;
65
+ export default IntegrationTestHarnessTest;
@@ -32,11 +32,14 @@ const TESTS = [
32
32
  require('./GlobalEvalWithSourceUrlTest'),
33
33
  ];
34
34
 
35
- TESTS.forEach(
36
- /* $FlowFixMe[incompatible-call] (>=0.54.0 site=react_native_fb,react_native_
37
- * oss) This comment suppresses an error found when Flow v0.54 was deployed.
38
- * To see the error delete this comment and run Flow. */
39
- test => AppRegistry.registerComponent(test.displayName, () => test),
35
+ TESTS.forEach(test =>
36
+ AppRegistry.registerComponent(
37
+ test.displayName || test.name || '',
38
+ /* $FlowFixMe[incompatible-call] (>=0.54.0 site=react_native_fb,react_native_
39
+ * oss) This comment suppresses an error found when Flow v0.54 was deployed.
40
+ * To see the error delete this comment and run Flow. */
41
+ () => test,
42
+ ),
40
43
  );
41
44
 
42
45
  // Modules required for integration tests
@@ -78,7 +81,9 @@ class IntegrationTestsApp extends React.Component<{...}, $FlowFixMeState> {
78
81
  * deployed. To see the error, delete this comment and run Flow.
79
82
  */
80
83
  style={styles.row}>
81
- <Text style={styles.testName}>{test.displayName}</Text>
84
+ <Text style={styles.testName}>
85
+ {test.displayName || test.name}
86
+ </Text>
82
87
  </TouchableOpacity>,
83
88
  <View style={styles.separator} />,
84
89
  ])}
@@ -26,7 +26,7 @@ function debug(...args: Array<void | Layout | string>) {
26
26
  // console.log.apply(null, arguments);
27
27
  }
28
28
 
29
- type Props = $ReadOnly<{||}>;
29
+ type Props = $ReadOnly<{}>;
30
30
 
31
31
  type State = {
32
32
  didAnimation: boolean,
@@ -10,7 +10,8 @@
10
10
  'use strict';
11
11
 
12
12
  const invariant = require('invariant');
13
- const BatchedBridge = require('react-native/Libraries/BatchedBridge/BatchedBridge');
13
+ const BatchedBridge =
14
+ require('react-native/Libraries/BatchedBridge/BatchedBridge').default;
14
15
 
15
16
  const LoggingTestModule = {
16
17
  logToConsole: function (str) {
@@ -10,69 +10,77 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
14
- const ReactNative = require('react-native');
15
- const {View} = ReactNative;
16
- const {TestModule} = ReactNative.NativeModules;
13
+ import * as React from 'react';
14
+ import {useEffect, useRef} from 'react';
15
+ import {NativeModules, View} from 'react-native';
17
16
 
18
- class PromiseTest extends React.Component<{...}> {
19
- shouldResolve: boolean = false;
20
- shouldReject: boolean = false;
21
- shouldSucceedAsync: boolean = false;
22
- shouldThrowAsync: boolean = false;
17
+ const {TestModule} = NativeModules;
23
18
 
24
- componentDidMount() {
25
- // $FlowFixMe[unused-promise]
26
- Promise.all([
27
- this.testShouldResolve(),
28
- this.testShouldReject(),
29
- this.testShouldSucceedAsync(),
30
- this.testShouldThrowAsync(),
31
- ]).then(() =>
32
- TestModule.markTestPassed(
33
- this.shouldResolve &&
34
- this.shouldReject &&
35
- this.shouldSucceedAsync &&
36
- this.shouldThrowAsync,
37
- ),
38
- );
39
- }
19
+ function PromiseTest(): React.Node {
20
+ const shouldResolve = useRef(false);
21
+ const shouldReject = useRef(false);
22
+ const shouldSucceedAsync = useRef(false);
23
+ const shouldThrowAsync = useRef(false);
40
24
 
41
- testShouldResolve: () => any = () => {
25
+ const testShouldResolve = () => {
42
26
  return TestModule.shouldResolve()
43
- .then(() => (this.shouldResolve = true))
44
- .catch(() => (this.shouldResolve = false));
27
+ .then(() => {
28
+ shouldResolve.current = true;
29
+ })
30
+ .catch(() => {
31
+ shouldResolve.current = false;
32
+ });
45
33
  };
46
34
 
47
- testShouldReject: () => any = () => {
35
+ const testShouldReject = () => {
48
36
  return TestModule.shouldReject()
49
- .then(() => (this.shouldReject = false))
50
- .catch(() => (this.shouldReject = true));
37
+ .then(() => {
38
+ shouldReject.current = false;
39
+ })
40
+ .catch(() => {
41
+ shouldReject.current = true;
42
+ });
51
43
  };
52
44
 
53
- testShouldSucceedAsync: () => Promise<any> = async (): Promise<any> => {
45
+ const testShouldSucceedAsync = async () => {
54
46
  try {
55
47
  await TestModule.shouldResolve();
56
- this.shouldSucceedAsync = true;
48
+ shouldSucceedAsync.current = true;
57
49
  } catch (e) {
58
- this.shouldSucceedAsync = false;
50
+ shouldSucceedAsync.current = false;
59
51
  }
60
52
  };
61
53
 
62
- testShouldThrowAsync: () => Promise<any> = async (): Promise<any> => {
54
+ const testShouldThrowAsync = async () => {
63
55
  try {
64
56
  await TestModule.shouldReject();
65
- this.shouldThrowAsync = false;
57
+ shouldThrowAsync.current = false;
66
58
  } catch (e) {
67
- this.shouldThrowAsync = true;
59
+ shouldThrowAsync.current = true;
68
60
  }
69
61
  };
70
62
 
71
- render(): React.Node {
72
- return <View />;
73
- }
74
- }
63
+ useEffect(() => {
64
+ async function runTests() {
65
+ await Promise.all([
66
+ testShouldResolve(),
67
+ testShouldReject(),
68
+ testShouldSucceedAsync(),
69
+ testShouldThrowAsync(),
70
+ ]);
75
71
 
76
- PromiseTest.displayName = 'PromiseTest';
72
+ TestModule.markTestPassed(
73
+ shouldResolve.current &&
74
+ shouldReject.current &&
75
+ shouldSucceedAsync.current &&
76
+ shouldThrowAsync.current,
77
+ );
78
+ }
79
+
80
+ runTests().catch(console.error);
81
+ }, []);
82
+
83
+ return <View />;
84
+ }
77
85
 
78
- module.exports = PromiseTest;
86
+ export default PromiseTest;
@@ -10,32 +10,29 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
14
- const ReactNative = require('react-native');
13
+ import * as React from 'react';
14
+ import {useEffect} from 'react';
15
+ import {NativeModules, StyleSheet, View} from 'react-native';
15
16
 
16
- const {StyleSheet, View} = ReactNative;
17
- const {TestModule} = ReactNative.NativeModules;
17
+ const {TestModule} = NativeModules;
18
18
 
19
- class SimpleSnapshotTest extends React.Component<{...}> {
20
- componentDidMount(): void {
19
+ function SimpleSnapshotTest(): React.Node {
20
+ const done = (success: boolean) => {
21
+ TestModule.markTestPassed(success);
22
+ };
23
+ useEffect(() => {
21
24
  if (!TestModule.verifySnapshot) {
22
25
  throw new Error('TestModule.verifySnapshot not defined.');
23
26
  }
24
- requestAnimationFrame(() => TestModule.verifySnapshot(this.done));
25
- }
26
-
27
- done: (success: boolean) => void = (success: boolean) => {
28
- TestModule.markTestPassed(success);
29
- };
30
-
31
- render(): React.Node {
32
- return (
33
- <View style={styles.container}>
34
- <View style={styles.box1} />
35
- <View style={styles.box2} />
36
- </View>
37
- );
38
- }
27
+ requestAnimationFrame(() => TestModule.verifySnapshot(done));
28
+ }, []);
29
+
30
+ return (
31
+ <View style={styles.container}>
32
+ <View style={styles.box1} />
33
+ <View style={styles.box2} />
34
+ </View>
35
+ );
39
36
  }
40
37
 
41
38
  const styles = StyleSheet.create({
@@ -57,6 +54,4 @@ const styles = StyleSheet.create({
57
54
  },
58
55
  });
59
56
 
60
- SimpleSnapshotTest.displayName = 'SimpleSnapshotTest';
61
-
62
- module.exports = SimpleSnapshotTest;
57
+ export default SimpleSnapshotTest;
@@ -10,14 +10,14 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
14
- const ReactNative = require('react-native');
15
- const {View} = ReactNative;
13
+ import * as React from 'react';
14
+ import {useEffect} from 'react';
15
+ import {NativeModules, View} from 'react-native';
16
16
 
17
- const {TestModule, RNTesterTestModule} = ReactNative.NativeModules;
17
+ const {TestModule, RNTesterTestModule} = NativeModules;
18
18
 
19
- class SyncMethodTest extends React.Component<{...}> {
20
- componentDidMount(): void {
19
+ function SyncMethodTest(): React.Node {
20
+ useEffect(() => {
21
21
  if (
22
22
  RNTesterTestModule.echoString('test string value') !== 'test string value'
23
23
  ) {
@@ -41,13 +41,9 @@ class SyncMethodTest extends React.Component<{...}> {
41
41
  );
42
42
  }
43
43
  });
44
- }
44
+ }, []);
45
45
 
46
- render(): React.Node {
47
- return <View />;
48
- }
46
+ return <View />;
49
47
  }
50
48
 
51
- SyncMethodTest.displayName = 'SyncMethodTest';
52
-
53
- module.exports = SyncMethodTest;
49
+ export default SyncMethodTest;
@@ -15,12 +15,12 @@ const ReactNative = require('react-native');
15
15
  const {StyleSheet, Text, View} = ReactNative;
16
16
  const {TestModule} = ReactNative.NativeModules;
17
17
 
18
- type Props = $ReadOnly<{||}>;
18
+ type Props = $ReadOnly<{}>;
19
19
 
20
- type State = {|
20
+ type State = {
21
21
  count: number,
22
22
  done: boolean,
23
- |};
23
+ };
24
24
 
25
25
  type ImmediateID = Object;
26
26
 
@@ -16,6 +16,39 @@ import RCTActionSheetManager from './NativeActionSheetManager';
16
16
  const processColor = require('../StyleSheet/processColor').default;
17
17
  const invariant = require('invariant');
18
18
 
19
+ export type ActionSheetIOSOptions = $ReadOnly<{
20
+ title?: ?string,
21
+ message?: ?string,
22
+ options: Array<string>,
23
+ destructiveButtonIndex?: ?number | ?Array<number>,
24
+ cancelButtonIndex?: ?number,
25
+ anchor?: ?number,
26
+ tintColor?: ColorValue | ProcessedColorValue,
27
+ cancelButtonTintColor?: ColorValue | ProcessedColorValue,
28
+ disabledButtonTintColor?: ColorValue | ProcessedColorValue,
29
+ userInterfaceStyle?: string,
30
+ disabledButtonIndices?: Array<number>,
31
+ }>;
32
+
33
+ export type ShareActionSheetIOSOptions = $ReadOnly<{
34
+ message?: ?string,
35
+ url?: ?string,
36
+ subject?: ?string,
37
+ anchor?: ?number,
38
+ tintColor?: ?number,
39
+ cancelButtonTintColor?: ?number,
40
+ disabledButtonTintColor?: ?number,
41
+ excludedActivityTypes?: ?Array<string>,
42
+ userInterfaceStyle?: ?string,
43
+ }>;
44
+
45
+ export type ShareActionSheetError = $ReadOnly<{
46
+ domain: string,
47
+ code: string,
48
+ userInfo?: ?Object,
49
+ message: string,
50
+ }>;
51
+
19
52
  /**
20
53
  * Display action sheets and share sheets on iOS.
21
54
  *
@@ -40,19 +73,7 @@ const ActionSheetIOS = {
40
73
  * See https://reactnative.dev/docs/actionsheetios#showactionsheetwithoptions
41
74
  */
42
75
  showActionSheetWithOptions(
43
- options: {|
44
- +title?: ?string,
45
- +message?: ?string,
46
- +options: Array<string>,
47
- +destructiveButtonIndex?: ?number | ?Array<number>,
48
- +cancelButtonIndex?: ?number,
49
- +anchor?: ?number,
50
- +tintColor?: ColorValue | ProcessedColorValue,
51
- +cancelButtonTintColor?: ColorValue | ProcessedColorValue,
52
- +disabledButtonTintColor?: ColorValue | ProcessedColorValue,
53
- +userInterfaceStyle?: string,
54
- +disabledButtonIndices?: Array<number>,
55
- |},
76
+ options: ActionSheetIOSOptions,
56
77
  callback: (buttonIndex: number) => void,
57
78
  ) {
58
79
  invariant(
@@ -136,9 +157,9 @@ const ActionSheetIOS = {
136
157
  * See https://reactnative.dev/docs/actionsheetios#showshareactionsheetwithoptions
137
158
  */
138
159
  showShareActionSheetWithOptions(
139
- options: Object,
140
- failureCallback: Function,
141
- successCallback: Function,
160
+ options: ShareActionSheetIOSOptions,
161
+ failureCallback: Function | ((error: ShareActionSheetError) => void),
162
+ successCallback: Function | ((success: boolean, method: ?string) => void),
142
163
  ) {
143
164
  invariant(
144
165
  typeof options === 'object' && options !== null,
@@ -154,7 +175,7 @@ const ActionSheetIOS = {
154
175
  );
155
176
  invariant(RCTActionSheetManager, "ActionSheetManager doesn't exist");
156
177
  RCTActionSheetManager.showShareActionSheetWithOptions(
157
- {...options, tintColor: processColor(options.tintColor)},
178
+ {...options, tintColor: processColor(options.tintColor) as $FlowFixMe},
158
179
  failureCallback,
159
180
  successCallback,
160
181
  );
@@ -172,4 +193,4 @@ const ActionSheetIOS = {
172
193
  },
173
194
  };
174
195
 
175
- module.exports = ActionSheetIOS;
196
+ export default ActionSheetIOS;
@@ -8,6 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- export * from '../../src/private/specs/modules/NativeActionSheetManager';
12
- import NativeActionSheetManager from '../../src/private/specs/modules/NativeActionSheetManager';
11
+ export * from '../../src/private/specs_DEPRECATED/modules/NativeActionSheetManager';
12
+ import NativeActionSheetManager from '../../src/private/specs_DEPRECATED/modules/NativeActionSheetManager';
13
13
  export default NativeActionSheetManager;
@@ -0,0 +1,62 @@
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
9
+ */
10
+
11
+ export type AlertType =
12
+ | 'default'
13
+ | 'plain-text'
14
+ | 'secure-text'
15
+ | 'login-password';
16
+
17
+ export type AlertButtonStyle = 'default' | 'cancel' | 'destructive';
18
+
19
+ export type AlertButton = {
20
+ text?: string,
21
+ onPress?: ?((value?: string) => any) | ?Function,
22
+ isPreferred?: boolean,
23
+ style?: AlertButtonStyle,
24
+ ...
25
+ };
26
+
27
+ export type Buttons = Array<AlertButton>;
28
+
29
+ export type AlertOptions = {
30
+ /** @platform android */
31
+ cancelable?: ?boolean,
32
+ userInterfaceStyle?: 'unspecified' | 'light' | 'dark',
33
+ /** @platform android */
34
+ onDismiss?: ?() => void,
35
+ ...
36
+ };
37
+
38
+ /**
39
+ * Launches an alert dialog with the specified title and message.
40
+ *
41
+ * See https://reactnative.dev/docs/alert
42
+ */
43
+ declare class Alert {
44
+ static alert(
45
+ title: ?string,
46
+ message?: ?string,
47
+ buttons?: Buttons,
48
+ options?: AlertOptions,
49
+ ): void;
50
+
51
+ static prompt(
52
+ title: ?string,
53
+ message?: ?string,
54
+ callbackOrButtons?: ?(((text: string) => void) | Buttons),
55
+ type?: ?AlertType,
56
+ defaultValue?: string,
57
+ keyboardType?: string,
58
+ options?: AlertOptions,
59
+ ): void;
60
+ }
61
+
62
+ export default Alert;
@@ -9,42 +9,19 @@
9
9
  */
10
10
 
11
11
  import type {DialogOptions} from '../NativeModules/specs/NativeDialogManagerAndroid';
12
+ import type {AlertOptions, AlertType, Buttons} from './Alert.flow';
12
13
 
13
14
  import Platform from '../Utilities/Platform';
14
15
  import RCTAlertManager from './RCTAlertManager';
15
16
 
16
- export type AlertType =
17
- | 'default'
18
- | 'plain-text'
19
- | 'secure-text'
20
- | 'login-password';
21
- export type AlertButtonStyle = 'default' | 'cancel' | 'destructive';
22
- export type Buttons = Array<{
23
- text?: string,
24
- onPress?: ?Function,
25
- isPreferred?: boolean,
26
- style?: AlertButtonStyle,
27
- ...
28
- }>;
17
+ export type * from './Alert.flow';
29
18
 
30
- type Options = {
31
- cancelable?: ?boolean,
32
- userInterfaceStyle?: 'unspecified' | 'light' | 'dark',
33
- onDismiss?: ?() => void,
34
- ...
35
- };
36
-
37
- /**
38
- * Launches an alert dialog with the specified title and message.
39
- *
40
- * See https://reactnative.dev/docs/alert
41
- */
42
19
  class Alert {
43
20
  static alert(
44
21
  title: ?string,
45
22
  message?: ?string,
46
23
  buttons?: Buttons,
47
- options?: Options,
24
+ options?: AlertOptions,
48
25
  ): void {
49
26
  if (Platform.OS === 'ios') {
50
27
  Alert.prompt(
@@ -123,7 +100,7 @@ class Alert {
123
100
  type?: ?AlertType = 'plain-text',
124
101
  defaultValue?: string,
125
102
  keyboardType?: string,
126
- options?: Options,
103
+ options?: AlertOptions,
127
104
  ): void {
128
105
  if (Platform.OS === 'ios') {
129
106
  let callbacks: Array<?any> = [];
@@ -174,4 +151,4 @@ class Alert {
174
151
  }
175
152
  }
176
153
 
177
- module.exports = Alert;
154
+ export default Alert;
@@ -8,44 +8,22 @@
8
8
  * @flow
9
9
  */
10
10
 
11
+ import type {AlertOptions, AlertType, Buttons} from './Alert.flow';
12
+
11
13
  // [Windows
12
14
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
13
15
  // $FlowFixMe[underconstrained-implicit-instantiation]
14
16
  const PLYAlertManager = TurboModuleRegistry.getEnforcing('Alert');
15
17
  // Windows]
16
18
 
17
- export type AlertType =
18
- | 'default'
19
- | 'plain-text'
20
- | 'secure-text'
21
- | 'login-password';
22
- export type AlertButtonStyle = 'default' | 'cancel' | 'destructive';
23
- export type Buttons = Array<{
24
- text?: string,
25
- onPress?: ?Function,
26
- isPreferred?: boolean,
27
- style?: AlertButtonStyle,
28
- ...
29
- }>;
30
-
31
- type Options = {
32
- cancelable?: ?boolean,
33
- userInterfaceStyle?: 'unspecified' | 'light' | 'dark',
34
- onDismiss?: ?() => void,
35
- ...
36
- };
19
+ export type * from './Alert.flow';
37
20
 
38
- /**
39
- * Launches an alert dialog with the specified title and message.
40
- *
41
- * See https://reactnative.dev/docs/alert
42
- */
43
21
  class Alert {
44
22
  static alert(
45
23
  title: ?string,
46
24
  message?: ?string,
47
25
  buttons?: Buttons,
48
- options?: Options,
26
+ options?: AlertOptions,
49
27
  ): void {
50
28
  // [Windows
51
29
  PLYAlertManager.showAlert(
@@ -83,7 +61,7 @@ class Alert {
83
61
  type?: ?AlertType = 'plain-text',
84
62
  defaultValue?: string,
85
63
  keyboardType?: string,
86
- options?: Options,
64
+ options?: AlertOptions,
87
65
  ): void {
88
66
  // [Windows
89
67
  throw new Error(
@@ -93,4 +71,4 @@ class Alert {
93
71
  }
94
72
  }
95
73
 
96
- module.exports = Alert;
74
+ export default Alert;