@office-iss/react-native-win32 0.73.2 → 0.74.0-preview.2

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 (475) hide show
  1. package/.eslintignore +1 -1
  2. package/.flowconfig +11 -3
  3. package/CHANGELOG.json +426 -54
  4. package/CHANGELOG.md +165 -30
  5. package/IntegrationTests/AccessibilityManagerTest.js +2 -2
  6. package/IntegrationTests/AppEventsTest.js +2 -2
  7. package/IntegrationTests/LayoutEventsTest.js +8 -10
  8. package/IntegrationTests/LoggingTestModule.js +1 -2
  9. package/IntegrationTests/websocket_integration_test_server.js +1 -1
  10. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  12. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  13. package/Libraries/Alert/NativeAlertManager.js +4 -26
  14. package/Libraries/Animated/Animated.js +2 -2
  15. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  16. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  17. package/Libraries/Animated/NativeAnimatedHelper.win32.js +14 -11
  18. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  19. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  20. package/Libraries/Animated/animations/Animation.js +6 -22
  21. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  22. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  23. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  24. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  25. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  26. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  27. package/Libraries/Animated/useAnimatedProps.js +21 -1
  28. package/Libraries/AppState/NativeAppState.js +4 -24
  29. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  30. package/Libraries/Blob/Blob.js +1 -4
  31. package/Libraries/Blob/BlobManager.js +6 -8
  32. package/Libraries/Blob/File.js +1 -1
  33. package/Libraries/Blob/NativeBlobModule.js +4 -50
  34. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  35. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  36. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  37. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +48 -7
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
  40. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  42. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +3 -2
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  45. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
  46. package/Libraries/Components/Button/ButtonWin32.Props.js +2 -2
  47. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -1
  48. package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
  49. package/Libraries/Components/Button/ButtonWin32.js +82 -82
  50. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  51. package/Libraries/Components/Button.js +103 -107
  52. package/Libraries/Components/Button.win32.js +297 -301
  53. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  54. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  56. package/Libraries/Components/EnterString.win32.d.ts +12 -12
  57. package/Libraries/Components/EnterString.win32.js +81 -81
  58. package/Libraries/Components/EnterString.win32.js.map +1 -1
  59. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  68. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  69. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  70. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  71. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  72. package/Libraries/Components/ScrollView/ScrollView.win32.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  80. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  81. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  82. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  83. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  84. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  85. package/Libraries/Components/TextInput/Tests/TextInputTest.js +127 -127
  86. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  87. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  88. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  89. package/Libraries/Components/TextInput/TextInput.js +65 -32
  90. package/Libraries/Components/TextInput/TextInput.win32.js +70 -37
  91. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  92. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  93. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  94. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +343 -344
  95. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  96. package/Libraries/Components/Touchable/Touchable.js +2 -3
  97. package/Libraries/Components/Touchable/Touchable.win32.js +2 -3
  98. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  99. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  100. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  101. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -37
  102. package/Libraries/Components/Touchable/TouchableWin32.Props.js +2 -2
  103. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  104. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  105. package/Libraries/Components/Touchable/TouchableWin32.Types.js +2 -2
  106. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -1
  107. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  108. package/Libraries/Components/Touchable/TouchableWin32.js +506 -506
  109. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  110. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  111. package/Libraries/Components/View/ReactNativeStyleAttributes.js +2 -1
  112. package/Libraries/Components/View/View.js +0 -11
  113. package/Libraries/Components/View/View.win32.js +18 -17
  114. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  115. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  116. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  117. package/Libraries/Components/View/ViewPropTypes.win32.js +36 -36
  118. package/Libraries/Core/InitializeCore.js +1 -1
  119. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  120. package/Libraries/Core/ReactNativeVersion.js +12 -6
  121. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  122. package/Libraries/Core/ReactNativeVersionCheck.win32.js +6 -6
  123. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  124. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  125. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  126. package/Libraries/Core/registerCallableModule.js +42 -0
  127. package/Libraries/Core/setUpPerformance.js +2 -2
  128. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  129. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  130. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  131. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  132. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  133. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  134. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  135. package/Libraries/Image/AssetSourceResolver.js +5 -5
  136. package/Libraries/Image/AssetUtils.js +4 -5
  137. package/Libraries/Image/Image.android.js +146 -174
  138. package/Libraries/Image/Image.d.ts +1 -1
  139. package/Libraries/Image/Image.ios.js +53 -79
  140. package/Libraries/Image/Image.win32.js +52 -74
  141. package/Libraries/Image/ImageBackground.js +2 -2
  142. package/Libraries/Image/ImageInjection.js +76 -18
  143. package/Libraries/Image/ImageTypes.d.ts +25 -25
  144. package/Libraries/Image/ImageTypes.flow.js +71 -0
  145. package/Libraries/Image/ImageTypes.js +7 -7
  146. package/Libraries/Image/ImageTypes.js.map +1 -1
  147. package/Libraries/Image/ImageUtils.js +1 -1
  148. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  149. package/Libraries/Image/NativeImageEditor.js +3 -42
  150. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  151. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  152. package/Libraries/Image/NativeImageLoaderWin32.js +4 -36
  153. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  154. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  155. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  156. package/Libraries/Image/Tests/ImageWin32Test.js +21 -21
  157. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  158. package/Libraries/Image/resolveAssetSource.js +59 -26
  159. package/Libraries/Inspector/ElementProperties.js +26 -52
  160. package/Libraries/Inspector/Inspector.js +122 -186
  161. package/Libraries/Inspector/Inspector.win32.js +118 -185
  162. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  163. package/Libraries/Inspector/InspectorOverlay.win32.js +22 -33
  164. package/Libraries/Inspector/InspectorPanel.js +3 -17
  165. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  166. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  167. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  168. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  169. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  170. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  171. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  172. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  173. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  174. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  175. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  176. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  177. package/Libraries/Lists/FillRateHelper.js +1 -1
  178. package/Libraries/Lists/FlatList.d.ts +2 -2
  179. package/Libraries/Lists/FlatList.js +6 -2
  180. package/Libraries/Lists/SectionList.d.ts +6 -1
  181. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  182. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  183. package/Libraries/Lists/VirtualizedList.js +1 -1
  184. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  185. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  186. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  187. package/Libraries/Modal/Modal.js +43 -11
  188. package/Libraries/Modal/NativeModalManager.js +3 -11
  189. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  190. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  191. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  192. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  193. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  194. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  196. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  197. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  198. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  199. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  200. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  201. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  202. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  203. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  204. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  205. package/Libraries/Network/FormData.js +3 -1
  206. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  207. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  208. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  209. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  210. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  211. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  212. package/Libraries/PersonaCoin/PersonaCoin.js +14 -14
  213. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  214. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  215. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +19 -19
  216. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -1
  217. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  218. package/Libraries/PersonaCoin/PersonaCoinTypes.js +23 -23
  219. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -1
  220. package/Libraries/Pressability/Pressability.js +12 -2
  221. package/Libraries/Pressability/Pressability.win32.js +12 -2
  222. package/Libraries/Pressability/usePressability.js +7 -0
  223. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  224. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  225. package/Libraries/ReactNative/AppContainer-dev.js +211 -0
  226. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  227. package/Libraries/ReactNative/AppContainer.js +6 -149
  228. package/Libraries/ReactNative/AppRegistry.js +3 -1
  229. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  230. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  231. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  232. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  233. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  234. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  235. package/Libraries/ReactNative/PaperUIManager.win32.js +26 -7
  236. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  237. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  238. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  239. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  240. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  241. package/Libraries/ReactNative/UIManager.js +2 -23
  242. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  243. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  244. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  245. package/Libraries/ReactNative/renderApplication.js +9 -6
  246. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  247. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  248. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  249. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  250. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  251. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  252. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  253. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  254. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  255. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  256. package/Libraries/Share/NativeShareModule.js +3 -13
  257. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +1 -1
  258. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  259. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  261. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  262. package/Libraries/StyleSheet/StyleSheet.win32.js +5 -28
  263. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +51 -7
  264. package/Libraries/StyleSheet/StyleSheetTypes.js +19 -11
  265. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  266. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  267. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  268. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  269. package/Libraries/Text/Text.d.ts +5 -6
  270. package/Libraries/Text/Text.js +0 -6
  271. package/Libraries/Text/Text.win32.js +0 -6
  272. package/Libraries/Text/TextAncestor.js +2 -3
  273. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  274. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  275. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  276. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  277. package/Libraries/Utilities/Dimensions.js +8 -16
  278. package/Libraries/Utilities/Dimensions.win32.js +8 -16
  279. package/Libraries/Utilities/FocusManager.win32.js +2 -0
  280. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  281. package/Libraries/Utilities/NativeAppearance.js +3 -26
  282. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  283. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  284. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  285. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  286. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  287. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  288. package/Libraries/Utilities/Platform.android.js +4 -0
  289. package/Libraries/Utilities/Platform.d.ts +3 -0
  290. package/Libraries/Utilities/Platform.flow.js +7 -0
  291. package/Libraries/Utilities/Platform.flow.win32.js +18 -5
  292. package/Libraries/Utilities/Platform.ios.js +11 -0
  293. package/Libraries/Utilities/Platform.win32.js +9 -1
  294. package/Libraries/Utilities/binaryToBase64.js +1 -1
  295. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  296. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  297. package/Libraries/Utilities/useMergeRefs.js +5 -9
  298. package/Libraries/Vibration/NativeVibration.js +3 -14
  299. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  300. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  301. package/Libraries/platform-types.d.ts +2 -3
  302. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  303. package/babel.config.js +1 -1
  304. package/flow/jest.js +1 -1
  305. package/flow/react.js +15 -0
  306. package/index.js +61 -99
  307. package/index.win32.js +60 -101
  308. package/jest/assetFileTransformer.js +1 -1
  309. package/jest/local-setup.js +0 -5
  310. package/jest/mockModal.js +2 -1
  311. package/jest/mockScrollView.js +1 -2
  312. package/jest/renderer.js +1 -1
  313. package/jest/setup.js +6 -3
  314. package/jest.config.js +2 -1
  315. package/overrides.json +152 -131
  316. package/package.json +27 -26
  317. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  318. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  319. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  320. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  321. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  322. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  323. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  324. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  325. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  326. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  327. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  328. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  329. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  330. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  331. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  332. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  333. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  334. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  335. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  336. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  337. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  338. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  339. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  340. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  341. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  342. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  343. package/src/private/specs/modules/NativeAppState.js +33 -0
  344. package/src/private/specs/modules/NativeAppearance.js +36 -0
  345. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  346. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  347. package/src/private/specs/modules/NativeClipboard.js +21 -0
  348. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  349. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  350. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  351. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  352. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  353. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  354. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  355. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  356. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  357. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  358. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  359. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  360. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  361. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  362. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  363. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  364. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  365. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  366. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  367. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  368. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  369. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  370. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  371. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  372. package/src/private/specs/modules/NativeLogBox.js +20 -0
  373. package/src/private/specs/modules/NativeModalManager.js +21 -0
  374. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  375. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  376. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  377. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  378. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  379. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  380. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  381. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  382. package/src/private/specs/modules/NativeRedBox.js +20 -0
  383. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  384. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  385. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  386. package/src/private/specs/modules/NativeShareModule.js +23 -0
  387. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  388. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  389. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  390. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  391. package/src/private/specs/modules/NativeTiming.js +26 -0
  392. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  393. package/src/private/specs/modules/NativeUIManager.js +118 -0
  394. package/src/private/specs/modules/NativeVibration.js +24 -0
  395. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  396. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  397. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  398. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  399. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  400. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  401. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  402. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  403. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  404. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  405. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  406. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  407. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  408. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  409. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  410. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  411. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  412. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  413. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  414. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  415. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  416. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  417. package/{src → src-win}/Libraries/Components/Button/ButtonWin32.tsx +3 -3
  418. package/{src → src-win}/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +9 -10
  419. package/{src → src-win}/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  420. package/{src → src-win}/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  421. package/{src → src-win}/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  422. package/{src → src-win}/Libraries/Text/Text.d.ts +5 -6
  423. package/{src → src-win}/Libraries/platform-types.d.ts +2 -3
  424. package/types/index.d.ts +1 -0
  425. package/types/modules/globals.d.ts +1 -0
  426. package/Libraries/Components/Button.flow.js +0 -265
  427. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  428. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -63
  429. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  430. package/Libraries/Components/Text/TextWin32.Props.js.map +0 -1
  431. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  432. package/Libraries/Components/Text/TextWin32.js +0 -18
  433. package/Libraries/Components/Text/TextWin32.js.map +0 -1
  434. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  435. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  436. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  437. package/Libraries/Image/Image.flow.js +0 -64
  438. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  439. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  440. package/src/Libraries/Components/Text/TextWin32.Props.ts +0 -82
  441. package/src/Libraries/Components/Text/TextWin32.tsx +0 -25
  442. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  443. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  444. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  445. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  446. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  447. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  448. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  449. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  450. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  451. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  452. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  453. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
  454. /package/{src → src-win}/Libraries/Components/Button/ButtonWin32.Props.ts +0 -0
  455. /package/{src → src-win}/Libraries/Components/EnterString.win32.tsx +0 -0
  456. /package/{src → src-win}/Libraries/Components/TextInput/Tests/TextInputTest.tsx +0 -0
  457. /package/{src → src-win}/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -0
  458. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Props.tsx +0 -0
  459. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Types.tsx +0 -0
  460. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.tsx +0 -0
  461. /package/{src → src-win}/Libraries/Components/View/ViewWin32.d.ts +0 -0
  462. /package/{src → src-win}/Libraries/Image/ImageTypes.ts +0 -0
  463. /package/{src → src-win}/Libraries/Image/Tests/ImageWin32Test.tsx +0 -0
  464. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest.png +0 -0
  465. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  466. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  467. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  468. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  469. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  470. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  471. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoin.tsx +0 -0
  472. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +0 -0
  473. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinTypes.ts +0 -0
  474. /package/{src → src-win}/Libraries/Utilities/FocusManager.win32.d.ts +0 -0
  475. /package/{src → src-win}/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +0 -0
@@ -23,15 +23,19 @@ const Platform: PlatformType = {
23
23
  },
24
24
  // $FlowFixMe[unsafe-getters-setters]
25
25
  get constants(): {|
26
+ forceTouchAvailable: boolean,
27
+ interfaceIdiom: string,
26
28
  isTesting: boolean,
27
29
  isDisableAnimations?: boolean,
30
+ osVersion: number,
28
31
  reactNativeVersion: {|
29
32
  major: number,
30
33
  minor: number,
31
34
  patch: number,
32
35
  prerelease: ?string | number,
33
36
  |},
34
- osVersion: number,
37
+ systemName: string,
38
+ isMacCatalyst?: boolean,
35
39
  |} {
36
40
  // $FlowFixMe[object-this-reference]
37
41
  if (this.__constants == null) {
@@ -59,6 +63,10 @@ const Platform: PlatformType = {
59
63
  // $FlowFixMe[object-this-reference]
60
64
  return false;
61
65
  },
66
+ // $FlowFixMe[unsafe-getters-setters]
67
+ get isVision(): boolean {
68
+ return false;
69
+ },
62
70
  select: <T>(spec: PlatformSelectSpec<T>): T =>
63
71
  'win32' in spec
64
72
  ? // $FlowFixMe[incompatible-return]
@@ -24,7 +24,7 @@ function binaryToBase64(data: ArrayBuffer | $ArrayBufferView): string {
24
24
  throw new Error('data must be ArrayBuffer or typed array');
25
25
  }
26
26
  // Already checked that `data` is `DataView` in `ArrayBuffer.isView(data)`
27
- const {buffer, byteOffset, byteLength} = ((data: $FlowFixMe): DataView);
27
+ const {buffer, byteOffset, byteLength}: DataView = (data: $FlowFixMe);
28
28
  return base64.fromByteArray(new Uint8Array(buffer, byteOffset, byteLength));
29
29
  }
30
30
 
@@ -35,12 +35,10 @@ function codegenNativeComponent<Props>(
35
35
  componentName: string,
36
36
  options?: Options,
37
37
  ): NativeComponentType<Props> {
38
- if (global.RN$Bridgeless === true) {
39
- const errorMessage =
40
- "Native Component '" +
41
- componentName +
42
- "' that calls codegenNativeComponent was not code generated at build time. Please check its definition.";
43
- console.error(errorMessage);
38
+ if (global.RN$Bridgeless === true && __DEV__) {
39
+ console.warn(
40
+ `Codegen didn't run for ${componentName}. This will be an error in the future. Make sure you are using @react-native/babel-preset when building your JavaScript code.`,
41
+ );
44
42
  }
45
43
 
46
44
  let componentNameInUse =
@@ -16,18 +16,12 @@ import type {
16
16
  } from './IPerformanceLogger';
17
17
 
18
18
  import * as Systrace from '../Performance/Systrace';
19
- import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
20
- import NativePerformance from '../WebPerformance/NativePerformance';
21
19
  import infoLog from './infoLog';
22
20
 
23
21
  const _cookies: {[key: string]: number, ...} = {};
24
22
 
25
23
  const PRINT_TO_CONSOLE: false = false; // Type as false to prevent accidentally committing `true`;
26
24
 
27
- // This is the prefix for optional logging points/timespans as marks/measures via Performance API,
28
- // used to separate these internally from other marks/measures
29
- const WEB_PERFORMANCE_PREFIX = 'global_perf_';
30
-
31
25
  export const getCurrentTimestamp: () => number =
32
26
  global.nativeQPLTimestamp ?? (() => global.performance.now());
33
27
 
@@ -37,51 +31,6 @@ class PerformanceLogger implements IPerformanceLogger {
37
31
  _points: {[key: string]: ?number} = {};
38
32
  _pointExtras: {[key: string]: ?Extras, ...} = {};
39
33
  _closed: boolean = false;
40
- _isGlobalLogger: boolean = false;
41
- _isGlobalWebPerformanceLoggerEnabled: ?boolean;
42
-
43
- constructor(isGlobalLogger?: boolean) {
44
- this._isGlobalLogger = isGlobalLogger === true;
45
- }
46
-
47
- _isLoggingForWebPerformance(): boolean {
48
- if (!this._isGlobalLogger || NativePerformance == null) {
49
- return false;
50
- }
51
- if (this._isGlobalWebPerformanceLoggerEnabled == null) {
52
- this._isGlobalWebPerformanceLoggerEnabled =
53
- ReactNativeFeatureFlags.isGlobalWebPerformanceLoggerEnabled();
54
- }
55
- return this._isGlobalWebPerformanceLoggerEnabled === true;
56
- }
57
-
58
- // NOTE: The Performance.mark/measure calls are wrapped here to ensure that
59
- // we are safe from the cases when the global 'peformance' object is still not yet defined.
60
- // It is only necessary in this file because of potential race conditions in the initialization
61
- // order between 'createPerformanceLogger' and 'setUpPerformance'.
62
- //
63
- // In most of the other cases this kind of check for `performance` being defined
64
- // wouldn't be necessary.
65
- _performanceMark(key: string, startTime: number) {
66
- if (this._isLoggingForWebPerformance()) {
67
- global.performance?.mark?.(key, {
68
- startTime,
69
- });
70
- }
71
- }
72
-
73
- _performanceMeasure(
74
- key: string,
75
- start: number | string,
76
- end: number | string,
77
- ) {
78
- if (this._isLoggingForWebPerformance()) {
79
- global.performance?.measure?.(key, {
80
- start,
81
- end,
82
- });
83
- }
84
- }
85
34
 
86
35
  addTimespan(
87
36
  key: string,
@@ -113,12 +62,6 @@ class PerformanceLogger implements IPerformanceLogger {
113
62
  startExtras,
114
63
  endExtras,
115
64
  };
116
-
117
- this._performanceMeasure(
118
- `${WEB_PERFORMANCE_PREFIX}_${key}`,
119
- startTime,
120
- endTime,
121
- );
122
65
  }
123
66
 
124
67
  append(performanceLogger: IPerformanceLogger) {
@@ -233,8 +176,6 @@ class PerformanceLogger implements IPerformanceLogger {
233
176
  if (extras) {
234
177
  this._pointExtras[key] = extras;
235
178
  }
236
-
237
- this._performanceMark(`${WEB_PERFORMANCE_PREFIX}_${key}`, timestamp);
238
179
  }
239
180
 
240
181
  removeExtra(key: string): ?ExtraValue {
@@ -296,11 +237,6 @@ class PerformanceLogger implements IPerformanceLogger {
296
237
  if (PRINT_TO_CONSOLE) {
297
238
  infoLog('PerformanceLogger.js', 'start: ' + key);
298
239
  }
299
-
300
- this._performanceMark(
301
- `${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`,
302
- timestamp,
303
- );
304
240
  }
305
241
 
306
242
  stopTimespan(
@@ -346,12 +282,6 @@ class PerformanceLogger implements IPerformanceLogger {
346
282
  Systrace.endAsyncEvent(key, _cookies[key]);
347
283
  delete _cookies[key];
348
284
  }
349
-
350
- this._performanceMeasure(
351
- `${WEB_PERFORMANCE_PREFIX}_${key}`,
352
- `${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`,
353
- timestamp,
354
- );
355
285
  }
356
286
  }
357
287
 
@@ -364,8 +294,6 @@ export type {Extras, ExtraValue, IPerformanceLogger, Timespan};
364
294
  * various performance data such as timespans, points and extras.
365
295
  * The loggers need to have minimal overhead since they're used in production.
366
296
  */
367
- export default function createPerformanceLogger(
368
- isGlobalLogger?: boolean,
369
- ): IPerformanceLogger {
370
- return new PerformanceLogger(isGlobalLogger);
297
+ export default function createPerformanceLogger(): IPerformanceLogger {
298
+ return new PerformanceLogger();
371
299
  }
@@ -8,13 +8,9 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import * as React from 'react';
11
12
  import {useCallback} from 'react';
12
13
 
13
- type CallbackRef<T> = T => mixed;
14
- type ObjectRef<T> = {current: T, ...};
15
-
16
- type Ref<T> = CallbackRef<T> | ObjectRef<T>;
17
-
18
14
  /**
19
15
  * Constructs a new ref that forwards new values to each of the given refs. The
20
16
  * given refs will always be invoked in the order that they are supplied.
@@ -24,11 +20,11 @@ type Ref<T> = CallbackRef<T> | ObjectRef<T>;
24
20
  * the returned callback ref is supplied as a `ref` to a React element, this may
25
21
  * lead to problems with the given refs being invoked more times than desired.
26
22
  */
27
- export default function useMergeRefs<T>(
28
- ...refs: $ReadOnlyArray<?Ref<T>>
29
- ): CallbackRef<T> {
23
+ export default function useMergeRefs<Instance>(
24
+ ...refs: $ReadOnlyArray<?React.RefSetter<Instance>>
25
+ ): (Instance | null) => void {
30
26
  return useCallback(
31
- (current: T) => {
27
+ (current: Instance | null) => {
32
28
  for (const ref of refs) {
33
29
  if (ref != null) {
34
30
  if (typeof ref === 'function') {
@@ -8,17 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {TurboModule} from '../TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
-
15
- export interface Spec extends TurboModule {
16
- +getConstants: () => {||};
17
- +vibrate: (pattern: number) => void;
18
-
19
- // Android only
20
- +vibrateByPattern: (pattern: Array<number>, repeat: number) => void;
21
- +cancel: () => void;
22
- }
23
-
24
- export default (TurboModuleRegistry.getEnforcing<Spec>('Vibration'): Spec);
11
+ export * from '../../src/private/specs/modules/NativeVibration';
12
+ import NativeVibration from '../../src/private/specs/modules/NativeVibration';
13
+ export default NativeVibration;
@@ -4,31 +4,10 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow
7
+ * @flow strict-local
8
8
  * @format
9
9
  */
10
10
 
11
- import type {TurboModule} from '../TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
-
15
- export interface Spec extends TurboModule {
16
- +connect: (
17
- url: string,
18
- protocols: ?Array<string>,
19
- options: {|headers?: Object|},
20
- socketID: number,
21
- ) => void;
22
- +send: (message: string, forSocketID: number) => void;
23
- +sendBinary: (base64String: string, forSocketID: number) => void;
24
- +ping: (socketID: number) => void;
25
- +close: (code: number, reason: string, socketID: number) => void;
26
-
27
- // RCTEventEmitter
28
- +addListener: (eventName: string) => void;
29
- +removeListeners: (count: number) => void;
30
- }
31
-
32
- export default (TurboModuleRegistry.getEnforcing<Spec>(
33
- 'WebSocketModule',
34
- ): Spec);
11
+ export * from '../../src/private/specs/modules/NativeWebSocketModule';
12
+ import NativeWebSocketModule from '../../src/private/specs/modules/NativeWebSocketModule';
13
+ export default NativeWebSocketModule;
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow
7
+ * @flow strict-local
8
8
  * @format
9
9
  */
10
10
 
@@ -11,10 +11,9 @@ export { AccessibilityPropsWin32 } from '@office-iss/react-native-win32/Librarie
11
11
  export type IViewWin32Props = IViewWin32PropsOnly & AccessibilityPropsWin32;
12
12
  export {ViewWin32} from './Components/View/ViewWin32';
13
13
  export {IKeyboardEvent, IHandledKeyboardEvent, EventPhase} from './Components/View/ViewPropTypes';
14
- import {TextPropsWin32 as ITextWin32PropsOnly} from './Text/Text';
14
+ import {TextPropsWin32 as ITextWin32PropsOnly} from './Components/Text/Text';
15
15
  export type ITextWin32Props = ITextWin32PropsOnly & AccessibilityPropsWin32;
16
- export {TextWin32TextStyle } from './Components/Text/TextWin32.Props';
17
- export {TextWin32} from './Components/Text/TextWin32';
16
+ export {TextWin32TextStyle, Text as TextWin32 } from './Components/Text/Text';
18
17
  export {IButtonWin32Props, IButtonWin32Style} from './Components/Button/ButtonWin32.Props';
19
18
  export {ButtonWin32} from './Components/Button/ButtonWin32';
20
19
  export {GradientColorStop, GradientColorValueWin32, ColorGradientWin32} from './StyleSheet/PlatformColorValueTypesWin32';
@@ -35,6 +35,7 @@ interface Registration<TArgs> {
35
35
  +remove: () => void;
36
36
  }
37
37
 
38
+ // $FlowFixMe[deprecated-type]
38
39
  type Registry<TEventToArgsMap: {...}> = $ObjMap<
39
40
  TEventToArgsMap,
40
41
  <TArgs>(TArgs) => Set<Registration<TArgs>>,
package/babel.config.js CHANGED
@@ -1,3 +1,3 @@
1
1
  module.exports = {
2
2
  presets: ["module:@rnw-scripts/babel-react-native-config"],
3
- };
3
+ };
package/flow/jest.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow
7
+ * @flow strict-local
8
8
  * @format
9
9
  * @oncall react_native
10
10
  */
package/flow/react.js ADDED
@@ -0,0 +1,15 @@
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
8
+ * @nolint
9
+ * @format
10
+ */
11
+
12
+ declare opaque type React$Element<
13
+ +ElementType: React$ElementType,
14
+ +P = React$ElementProps<ElementType>,
15
+ >: {...};
package/index.js CHANGED
@@ -10,96 +10,97 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ // APIs
14
+ import typeof ActionSheetIOS from './Libraries/ActionSheetIOS/ActionSheetIOS';
15
+ import typeof Alert from './Libraries/Alert/Alert';
16
+ import typeof Animated from './Libraries/Animated/Animated';
17
+ import typeof * as AnimatedModule from './Libraries/Animated/Animated';
18
+ import typeof Easing from './Libraries/Animated/Easing';
19
+ import typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue';
20
+ import typeof AppState from './Libraries/AppState/AppState';
21
+ import typeof NativeModules from './Libraries/BatchedBridge/NativeModules';
13
22
  // Components
14
23
  import typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo';
15
24
  import typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator';
16
25
  import typeof Button from './Libraries/Components/Button';
26
+ import typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';
17
27
  import typeof DrawerLayoutAndroid from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid';
18
- import typeof FlatList from './Libraries/Lists/FlatList';
19
- import typeof Image from './Libraries/Image/Image';
20
- import typeof ImageBackground from './Libraries/Image/ImageBackground';
21
- import typeof InputAccessoryView from './Libraries/Components/TextInput/InputAccessoryView';
28
+ import typeof Keyboard from './Libraries/Components/Keyboard/Keyboard';
22
29
  import typeof KeyboardAvoidingView from './Libraries/Components/Keyboard/KeyboardAvoidingView';
23
- import typeof Modal from './Libraries/Modal/Modal';
24
30
  import typeof Pressable from './Libraries/Components/Pressable/Pressable';
25
31
  import typeof ProgressBarAndroid from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid';
26
32
  import typeof RefreshControl from './Libraries/Components/RefreshControl/RefreshControl';
27
33
  import typeof SafeAreaView from './Libraries/Components/SafeAreaView/SafeAreaView';
28
34
  import typeof ScrollView from './Libraries/Components/ScrollView/ScrollView';
29
- import typeof SectionList from './Libraries/Lists/SectionList';
30
35
  import typeof StatusBar from './Libraries/Components/StatusBar/StatusBar';
31
36
  import typeof Switch from './Libraries/Components/Switch/Switch';
32
- import typeof Text from './Libraries/Text/Text';
37
+ import typeof InputAccessoryView from './Libraries/Components/TextInput/InputAccessoryView';
33
38
  import typeof TextInput from './Libraries/Components/TextInput/TextInput';
39
+ import typeof ToastAndroid from './Libraries/Components/ToastAndroid/ToastAndroid';
34
40
  import typeof Touchable from './Libraries/Components/Touchable/Touchable';
35
41
  import typeof TouchableHighlight from './Libraries/Components/Touchable/TouchableHighlight';
36
42
  import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/TouchableNativeFeedback';
37
43
  import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';
38
44
  import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';
39
45
  import typeof View from './Libraries/Components/View/View';
40
- import typeof VirtualizedList from './Libraries/Lists/VirtualizedList';
41
- import typeof VirtualizedSectionList from './Libraries/Lists/VirtualizedSectionList';
42
-
43
- // APIs
44
- import typeof ActionSheetIOS from './Libraries/ActionSheetIOS/ActionSheetIOS';
45
- import typeof Alert from './Libraries/Alert/Alert';
46
- import typeof Animated from './Libraries/Animated/Animated';
47
- import typeof * as AnimatedModule from './Libraries/Animated/Animated';
48
- import typeof Appearance from './Libraries/Utilities/Appearance';
49
- import typeof AppRegistry from './Libraries/ReactNative/AppRegistry';
50
- import typeof AppState from './Libraries/AppState/AppState';
51
- import typeof BackHandler from './Libraries/Utilities/BackHandler';
52
- import typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';
53
- import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
54
- import typeof DevSettings from './Libraries/Utilities/DevSettings';
55
- import typeof Dimensions from './Libraries/Utilities/Dimensions';
56
- import typeof Easing from './Libraries/Animated/Easing';
57
- import typeof ReactNative from './Libraries/Renderer/shims/ReactNative';
58
- import typeof I18nManager from './Libraries/ReactNative/I18nManager';
46
+ import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';
47
+ import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
48
+ import typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';
49
+ import typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';
50
+ import typeof Image from './Libraries/Image/Image';
51
+ import typeof ImageBackground from './Libraries/Image/ImageBackground';
59
52
  import typeof InteractionManager from './Libraries/Interaction/InteractionManager';
60
- import typeof Keyboard from './Libraries/Components/Keyboard/Keyboard';
53
+ import typeof PanResponder from './Libraries/Interaction/PanResponder';
61
54
  import typeof LayoutAnimation from './Libraries/LayoutAnimation/LayoutAnimation';
62
55
  import typeof Linking from './Libraries/Linking/Linking';
56
+ import typeof FlatList from './Libraries/Lists/FlatList';
57
+ import typeof SectionList from './Libraries/Lists/SectionList';
58
+ import typeof VirtualizedList from './Libraries/Lists/VirtualizedList';
59
+ import typeof VirtualizedSectionList from './Libraries/Lists/VirtualizedSectionList';
63
60
  import typeof LogBox from './Libraries/LogBox/LogBox';
61
+ import typeof Modal from './Libraries/Modal/Modal';
64
62
  import typeof NativeDialogManagerAndroid from './Libraries/NativeModules/specs/NativeDialogManagerAndroid';
65
- import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
66
63
  import typeof Networking from './Libraries/Network/RCTNetworking';
67
- import typeof PanResponder from './Libraries/Interaction/PanResponder';
64
+ import typeof * as Systrace from './Libraries/Performance/Systrace';
68
65
  import typeof PermissionsAndroid from './Libraries/PermissionsAndroid/PermissionsAndroid';
69
- import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
70
66
  import typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS';
67
+ import typeof AppRegistry from './Libraries/ReactNative/AppRegistry';
68
+ import typeof I18nManager from './Libraries/ReactNative/I18nManager';
69
+ import typeof {RootTagContext} from './Libraries/ReactNative/RootTag';
70
+ import typeof UIManager from './Libraries/ReactNative/UIManager';
71
+ import typeof ReactNative from './Libraries/Renderer/shims/ReactNative';
72
+ import type {HostComponent as _HostComponentInternal} from './Libraries/Renderer/shims/ReactNativeTypes';
71
73
  import typeof Settings from './Libraries/Settings/Settings';
72
74
  import typeof Share from './Libraries/Share/Share';
75
+ import typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';
76
+ // Plugins
77
+ import typeof {DynamicColorIOS} from './Libraries/StyleSheet/PlatformColorValueTypesIOS';
78
+ import typeof processColor from './Libraries/StyleSheet/processColor';
73
79
  import typeof StyleSheet from './Libraries/StyleSheet/StyleSheet';
74
- import typeof * as Systrace from './Libraries/Performance/Systrace';
75
- import typeof ToastAndroid from './Libraries/Components/ToastAndroid/ToastAndroid';
80
+ import typeof Text from './Libraries/Text/Text';
76
81
  import typeof * as TurboModuleRegistry from './Libraries/TurboModule/TurboModuleRegistry';
77
- import typeof UIManager from './Libraries/ReactNative/UIManager';
78
- import typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue';
82
+ import typeof UTFSequence from './Libraries/UTFSequence';
83
+ import typeof Appearance from './Libraries/Utilities/Appearance';
84
+ import typeof BackHandler from './Libraries/Utilities/BackHandler';
85
+ import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
86
+ import typeof DevSettings from './Libraries/Utilities/DevSettings';
87
+ import typeof Dimensions from './Libraries/Utilities/Dimensions';
88
+ import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
89
+ import typeof Platform from './Libraries/Utilities/Platform';
79
90
  import typeof useColorScheme from './Libraries/Utilities/useColorScheme';
80
91
  import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';
81
- import typeof UTFSequence from './Libraries/UTFSequence';
82
92
  import typeof Vibration from './Libraries/Vibration/Vibration';
83
93
  import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
84
94
 
85
- // Plugins
86
- import typeof {DynamicColorIOS} from './Libraries/StyleSheet/PlatformColorValueTypesIOS';
87
- import typeof NativeModules from './Libraries/BatchedBridge/NativeModules';
88
- import typeof Platform from './Libraries/Utilities/Platform';
89
- import typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';
90
- import typeof processColor from './Libraries/StyleSheet/processColor';
91
- import typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';
92
- import typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';
93
- import typeof {RootTagContext} from './Libraries/ReactNative/RootTag';
94
-
95
- import type {HostComponent as _HostComponentInternal} from './Libraries/Renderer/shims/ReactNativeTypes';
95
+ const warnOnce = require('./Libraries/Utilities/warnOnce');
96
+ const invariant = require('invariant');
96
97
 
97
98
  export type HostComponent<T> = _HostComponentInternal<T>;
98
99
 
99
- const invariant = require('invariant');
100
- const warnOnce = require('./Libraries/Utilities/warnOnce');
101
-
102
100
  module.exports = {
101
+ get registerCallableModule(): RegisterCallableModule {
102
+ return require('./Libraries/Core/registerCallableModule').default;
103
+ },
103
104
  // Components
104
105
  get AccessibilityInfo(): AccessibilityInfo {
105
106
  return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')
@@ -110,7 +111,7 @@ module.exports = {
110
111
  .default;
111
112
  },
112
113
  get Button(): Button {
113
- return require('./Libraries/Components/Button');
114
+ return require('./Libraries/Components/Button').default;
114
115
  },
115
116
  // $FlowFixMe[value-as-type]
116
117
  get DrawerLayoutAndroid(): DrawerLayoutAndroid {
@@ -126,7 +127,8 @@ module.exports = {
126
127
  return require('./Libraries/Image/ImageBackground');
127
128
  },
128
129
  get InputAccessoryView(): InputAccessoryView {
129
- return require('./Libraries/Components/TextInput/InputAccessoryView');
130
+ return require('./Libraries/Components/TextInput/InputAccessoryView')
131
+ .default;
130
132
  },
131
133
  get KeyboardAvoidingView(): KeyboardAvoidingView {
132
134
  return require('./Libraries/Components/Keyboard/KeyboardAvoidingView')
@@ -173,7 +175,7 @@ module.exports = {
173
175
  return require('./Libraries/Components/TextInput/TextInput');
174
176
  },
175
177
  get Touchable(): Touchable {
176
- return require('./Libraries/Components/Touchable/Touchable');
178
+ return require('./Libraries/Components/Touchable/Touchable').default;
177
179
  },
178
180
  get TouchableHighlight(): TouchableHighlight {
179
181
  return require('./Libraries/Components/Touchable/TouchableHighlight');
@@ -288,7 +290,7 @@ module.exports = {
288
290
  'pushNotificationIOS-moved',
289
291
  'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' +
290
292
  "It can now be installed and imported from '@react-native-community/push-notification-ios' instead of 'react-native'. " +
291
- 'See https://github.com/react-native-push-notification-ios/push-notification-ios',
293
+ 'See https://github.com/react-native-push-notification/ios',
292
294
  );
293
295
  return require('./Libraries/PushNotificationIOS/PushNotificationIOS');
294
296
  },
@@ -378,47 +380,6 @@ module.exports = {
378
380
  'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.',
379
381
  );
380
382
  },
381
- // Deprecated Prop Types
382
- get ColorPropType(): $FlowFixMe {
383
- console.error(
384
- 'ColorPropType will be removed from React Native, along with all ' +
385
- 'other PropTypes. We recommend that you migrate away from PropTypes ' +
386
- 'and switch to a type system like TypeScript. If you need to ' +
387
- 'continue using ColorPropType, migrate to the ' +
388
- "'deprecated-react-native-prop-types' package.",
389
- );
390
- return require('deprecated-react-native-prop-types').ColorPropType;
391
- },
392
- get EdgeInsetsPropType(): $FlowFixMe {
393
- console.error(
394
- 'EdgeInsetsPropType will be removed from React Native, along with all ' +
395
- 'other PropTypes. We recommend that you migrate away from PropTypes ' +
396
- 'and switch to a type system like TypeScript. If you need to ' +
397
- 'continue using EdgeInsetsPropType, migrate to the ' +
398
- "'deprecated-react-native-prop-types' package.",
399
- );
400
- return require('deprecated-react-native-prop-types').EdgeInsetsPropType;
401
- },
402
- get PointPropType(): $FlowFixMe {
403
- console.error(
404
- 'PointPropType will be removed from React Native, along with all ' +
405
- 'other PropTypes. We recommend that you migrate away from PropTypes ' +
406
- 'and switch to a type system like TypeScript. If you need to ' +
407
- 'continue using PointPropType, migrate to the ' +
408
- "'deprecated-react-native-prop-types' package.",
409
- );
410
- return require('deprecated-react-native-prop-types').PointPropType;
411
- },
412
- get ViewPropTypes(): $FlowFixMe {
413
- console.error(
414
- 'ViewPropTypes will be removed from React Native, along with all ' +
415
- 'other PropTypes. We recommend that you migrate away from PropTypes ' +
416
- 'and switch to a type system like TypeScript. If you need to ' +
417
- 'continue using ViewPropTypes, migrate to the ' +
418
- "'deprecated-react-native-prop-types' package.",
419
- );
420
- return require('deprecated-react-native-prop-types').ViewPropTypes;
421
- },
422
383
  };
423
384
 
424
385
  if (__DEV__) {
@@ -432,7 +393,8 @@ if (__DEV__) {
432
393
  invariant(
433
394
  false,
434
395
  'ART has been removed from React Native. ' +
435
- "It can now be installed and imported from '@react-native-community/art' instead of 'react-native'. " +
396
+ "Please upgrade to use either 'react-native-svg' or a similar package. " +
397
+ "If you cannot upgrade to a different library, please install the deprecated '@react-native-community/art' package. " +
436
398
  'See https://github.com/react-native-art/art',
437
399
  );
438
400
  },
@@ -512,7 +474,7 @@ if (__DEV__) {
512
474
  invariant(
513
475
  false,
514
476
  'CameraRoll has been removed from React Native. ' +
515
- "It can now be installed and imported from '@react-native-community/cameraroll' instead of 'react-native'. " +
477
+ "It can now be installed and imported from '@react-native-camera-roll/camera-roll' instead of 'react-native'. " +
516
478
  'See https://github.com/react-native-cameraroll/react-native-cameraroll',
517
479
  );
518
480
  },
@@ -625,7 +587,7 @@ if (__DEV__) {
625
587
  invariant(
626
588
  false,
627
589
  'SegmentedControlIOS has been removed from React Native. ' +
628
- "It can now be installed and imported from '@react-native-community/segmented-checkbox' instead of 'react-native'." +
590
+ "It can now be installed and imported from '@react-native-segmented-control/segmented-control' instead of 'react-native'." +
629
591
  'See https://github.com/react-native-segmented-control/segmented-control',
630
592
  );
631
593
  },
@@ -703,7 +665,7 @@ if (__DEV__) {
703
665
  invariant(
704
666
  false,
705
667
  'MaskedViewIOS has been removed from React Native. ' +
706
- "It can now be installed and imported from '@react-native-community/react-native-masked-view' instead of 'react-native'. " +
668
+ "It can now be installed and imported from '@react-native-masked-view/masked-view' instead of 'react-native'. " +
707
669
  'See https://github.com/react-native-masked-view/masked-view',
708
670
  );
709
671
  },
@@ -733,7 +695,7 @@ if (__DEV__) {
733
695
  invariant(
734
696
  false,
735
697
  'ImagePickerIOS has been removed from React Native. ' +
736
- "Please upgrade to use either '@react-native-community/react-native-image-picker' or 'expo-image-picker'. " +
698
+ "Please upgrade to use either 'react-native-image-picker' or 'expo-image-picker'. " +
737
699
  "If you cannot upgrade to a different library, please install the deprecated '@react-native-community/image-picker-ios' package. " +
738
700
  'See https://github.com/rnc-archive/react-native-image-picker-ios',
739
701
  );