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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/.eslintignore +1 -1
  2. package/.flowconfig +11 -3
  3. package/CHANGELOG.json +411 -54
  4. package/CHANGELOG.md +157 -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/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
  61. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
  62. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
  63. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
  64. package/Libraries/Components/Pressable/Pressable.js +1 -1
  65. package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
  66. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  67. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  68. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  69. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  70. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  71. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  72. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  73. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  74. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  75. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  76. package/Libraries/Components/ScrollView/ScrollView.win32.js +12 -38
  77. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  78. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  79. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  80. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  81. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  82. package/Libraries/Components/Switch/Switch.js +0 -2
  83. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  84. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  85. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  86. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  87. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  88. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  89. package/Libraries/Components/TextInput/Tests/TextInputTest.js +127 -127
  90. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  91. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  92. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  93. package/Libraries/Components/TextInput/TextInput.js +65 -32
  94. package/Libraries/Components/TextInput/TextInput.win32.js +70 -37
  95. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  96. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  97. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  98. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +343 -344
  99. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  100. package/Libraries/Components/Touchable/Touchable.js +2 -3
  101. package/Libraries/Components/Touchable/Touchable.win32.js +2 -3
  102. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  103. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  104. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  105. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -37
  106. package/Libraries/Components/Touchable/TouchableWin32.Props.js +2 -2
  107. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  108. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  109. package/Libraries/Components/Touchable/TouchableWin32.Types.js +2 -2
  110. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -1
  111. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  112. package/Libraries/Components/Touchable/TouchableWin32.js +506 -506
  113. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  114. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  115. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  116. package/Libraries/Components/View/View.js +0 -11
  117. package/Libraries/Components/View/View.win32.js +18 -17
  118. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  119. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  120. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  121. package/Libraries/Components/View/ViewPropTypes.win32.js +36 -36
  122. package/Libraries/Core/InitializeCore.js +1 -1
  123. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  124. package/Libraries/Core/ReactNativeVersion.js +12 -6
  125. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  126. package/Libraries/Core/ReactNativeVersionCheck.win32.js +6 -6
  127. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  128. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  129. package/Libraries/Core/registerCallableModule.js +42 -0
  130. package/Libraries/Core/setUpPerformance.js +2 -2
  131. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  132. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  133. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  134. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  135. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  136. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  137. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  138. package/Libraries/Image/AssetSourceResolver.js +5 -5
  139. package/Libraries/Image/AssetUtils.js +4 -5
  140. package/Libraries/Image/Image.android.js +146 -174
  141. package/Libraries/Image/Image.d.ts +1 -1
  142. package/Libraries/Image/Image.ios.js +53 -79
  143. package/Libraries/Image/Image.win32.js +52 -74
  144. package/Libraries/Image/ImageBackground.js +2 -2
  145. package/Libraries/Image/ImageInjection.js +76 -18
  146. package/Libraries/Image/ImageTypes.d.ts +25 -25
  147. package/Libraries/Image/ImageTypes.flow.js +71 -0
  148. package/Libraries/Image/ImageTypes.js +7 -7
  149. package/Libraries/Image/ImageTypes.js.map +1 -1
  150. package/Libraries/Image/ImageUtils.js +1 -1
  151. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  152. package/Libraries/Image/NativeImageEditor.js +3 -42
  153. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  154. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  155. package/Libraries/Image/NativeImageLoaderWin32.js +4 -36
  156. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  157. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  158. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  159. package/Libraries/Image/Tests/ImageWin32Test.js +21 -21
  160. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  161. package/Libraries/Image/resolveAssetSource.js +59 -26
  162. package/Libraries/Inspector/ElementProperties.js +26 -52
  163. package/Libraries/Inspector/Inspector.js +122 -186
  164. package/Libraries/Inspector/Inspector.win32.js +118 -185
  165. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  166. package/Libraries/Inspector/InspectorOverlay.win32.js +22 -33
  167. package/Libraries/Inspector/InspectorPanel.js +3 -17
  168. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  169. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  170. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  171. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  172. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  173. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  174. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  175. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  176. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  177. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  178. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  179. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  180. package/Libraries/Lists/FillRateHelper.js +1 -1
  181. package/Libraries/Lists/FlatList.d.ts +2 -2
  182. package/Libraries/Lists/FlatList.js +6 -1
  183. package/Libraries/Lists/SectionList.d.ts +6 -1
  184. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  185. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  186. package/Libraries/Lists/VirtualizedList.js +1 -1
  187. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  188. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  189. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  190. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  191. package/Libraries/Modal/Modal.js +43 -11
  192. package/Libraries/Modal/NativeModalManager.js +3 -11
  193. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  194. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  195. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  196. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  197. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  198. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  199. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  200. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  201. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  202. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  203. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  204. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  205. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  206. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  207. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  208. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  209. package/Libraries/Network/FormData.js +3 -1
  210. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  211. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  212. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  213. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  214. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  215. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  216. package/Libraries/PersonaCoin/PersonaCoin.js +14 -14
  217. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  218. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  219. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +19 -19
  220. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -1
  221. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  222. package/Libraries/PersonaCoin/PersonaCoinTypes.js +23 -23
  223. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -1
  224. package/Libraries/Pressability/Pressability.js +12 -2
  225. package/Libraries/Pressability/Pressability.win32.js +12 -2
  226. package/Libraries/Pressability/usePressability.js +7 -0
  227. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  228. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  229. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  230. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  231. package/Libraries/ReactNative/AppContainer.js +6 -149
  232. package/Libraries/ReactNative/AppRegistry.js +3 -1
  233. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  234. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  235. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  236. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  237. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  238. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  239. package/Libraries/ReactNative/PaperUIManager.win32.js +26 -7
  240. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  241. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  242. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  243. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  244. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  245. package/Libraries/ReactNative/UIManager.js +2 -23
  246. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  247. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  248. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  249. package/Libraries/ReactNative/renderApplication.js +9 -6
  250. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  251. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  252. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  253. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  254. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  255. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  256. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  257. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  258. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  259. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  260. package/Libraries/Share/NativeShareModule.js +3 -13
  261. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +1 -1
  262. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  263. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +1 -1
  264. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  265. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  266. package/Libraries/StyleSheet/StyleSheet.win32.js +5 -28
  267. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  268. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  269. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  270. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  271. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  272. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  273. package/Libraries/Text/Text.d.ts +5 -6
  274. package/Libraries/Text/Text.js +0 -6
  275. package/Libraries/Text/Text.win32.js +0 -6
  276. package/Libraries/Text/TextAncestor.js +2 -3
  277. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  278. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  279. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  280. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  281. package/Libraries/Utilities/Dimensions.js +8 -16
  282. package/Libraries/Utilities/Dimensions.win32.js +8 -16
  283. package/Libraries/Utilities/FocusManager.win32.js +2 -0
  284. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  285. package/Libraries/Utilities/NativeAppearance.js +3 -26
  286. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  287. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  288. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  289. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  290. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  291. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  292. package/Libraries/Utilities/Platform.android.js +4 -0
  293. package/Libraries/Utilities/Platform.d.ts +3 -0
  294. package/Libraries/Utilities/Platform.flow.js +7 -0
  295. package/Libraries/Utilities/Platform.flow.win32.js +18 -5
  296. package/Libraries/Utilities/Platform.ios.js +11 -0
  297. package/Libraries/Utilities/Platform.win32.js +9 -1
  298. package/Libraries/Utilities/binaryToBase64.js +1 -1
  299. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  300. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  301. package/Libraries/Utilities/useMergeRefs.js +5 -9
  302. package/Libraries/Vibration/NativeVibration.js +3 -14
  303. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  304. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  305. package/Libraries/platform-types.d.ts +2 -3
  306. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  307. package/babel.config.js +1 -1
  308. package/flow/jest.js +1 -1
  309. package/flow/react.js +15 -0
  310. package/index.js +66 -99
  311. package/index.win32.js +60 -101
  312. package/jest/assetFileTransformer.js +1 -1
  313. package/jest/local-setup.js +0 -5
  314. package/jest/mockModal.js +2 -1
  315. package/jest/mockScrollView.js +1 -2
  316. package/jest/renderer.js +1 -1
  317. package/jest/setup.js +6 -3
  318. package/jest.config.js +2 -1
  319. package/overrides.json +152 -131
  320. package/package.json +26 -26
  321. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  322. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  323. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  324. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  325. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  326. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  327. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  328. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  329. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  330. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  331. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  332. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  333. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  334. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  335. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  336. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  337. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  338. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  339. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  340. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  341. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  342. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  343. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  344. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  345. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  346. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  347. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  348. package/src/private/specs/modules/NativeAppState.js +33 -0
  349. package/src/private/specs/modules/NativeAppearance.js +36 -0
  350. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  351. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  352. package/src/private/specs/modules/NativeClipboard.js +21 -0
  353. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  354. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  355. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  356. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  357. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  358. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  359. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  360. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  361. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  362. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  363. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  364. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  365. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  366. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  367. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  368. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  369. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  370. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  371. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  372. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  373. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  374. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  375. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  376. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  377. package/src/private/specs/modules/NativeLogBox.js +20 -0
  378. package/src/private/specs/modules/NativeModalManager.js +21 -0
  379. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  380. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  381. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  382. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  383. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  384. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  385. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  386. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  387. package/src/private/specs/modules/NativeRedBox.js +20 -0
  388. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  389. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  390. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  391. package/src/private/specs/modules/NativeShareModule.js +23 -0
  392. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  393. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  394. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  395. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  396. package/src/private/specs/modules/NativeTiming.js +26 -0
  397. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  398. package/src/private/specs/modules/NativeUIManager.js +118 -0
  399. package/src/private/specs/modules/NativeVibration.js +24 -0
  400. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  401. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  402. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  403. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  404. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  405. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  406. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  407. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  408. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  409. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  410. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  411. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  412. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  413. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  414. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  415. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  416. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  417. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  418. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  419. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  420. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  421. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  422. package/{src → src-win}/Libraries/Components/Button/ButtonWin32.tsx +3 -3
  423. package/{src → src-win}/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +9 -10
  424. package/{src → src-win}/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  425. package/{src → src-win}/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  426. package/{src → src-win}/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  427. package/{src → src-win}/Libraries/Text/Text.d.ts +5 -6
  428. package/{src → src-win}/Libraries/platform-types.d.ts +2 -3
  429. package/types/modules/globals.d.ts +1 -0
  430. package/Libraries/Components/Button.flow.js +0 -265
  431. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  432. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -63
  433. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  434. package/Libraries/Components/Text/TextWin32.Props.js.map +0 -1
  435. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  436. package/Libraries/Components/Text/TextWin32.js +0 -18
  437. package/Libraries/Components/Text/TextWin32.js.map +0 -1
  438. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  439. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  440. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  441. package/Libraries/Image/Image.flow.js +0 -64
  442. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  443. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  444. package/src/Libraries/Components/Text/TextWin32.Props.ts +0 -82
  445. package/src/Libraries/Components/Text/TextWin32.tsx +0 -25
  446. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  447. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  448. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  449. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  450. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  451. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  452. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  453. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  454. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  455. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  456. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  457. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
  458. /package/{src → src-win}/Libraries/Components/Button/ButtonWin32.Props.ts +0 -0
  459. /package/{src → src-win}/Libraries/Components/EnterString.win32.tsx +0 -0
  460. /package/{src → src-win}/Libraries/Components/TextInput/Tests/TextInputTest.tsx +0 -0
  461. /package/{src → src-win}/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -0
  462. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Props.tsx +0 -0
  463. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Types.tsx +0 -0
  464. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.tsx +0 -0
  465. /package/{src → src-win}/Libraries/Components/View/ViewWin32.d.ts +0 -0
  466. /package/{src → src-win}/Libraries/Image/ImageTypes.ts +0 -0
  467. /package/{src → src-win}/Libraries/Image/Tests/ImageWin32Test.tsx +0 -0
  468. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest.png +0 -0
  469. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  470. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  471. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  472. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  473. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  474. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  475. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoin.tsx +0 -0
  476. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +0 -0
  477. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinTypes.ts +0 -0
  478. /package/{src → src-win}/Libraries/Utilities/FocusManager.win32.d.ts +0 -0
  479. /package/{src → src-win}/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +0 -0
@@ -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,98 @@
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';
30
+ import typeof PopupMenuAndroid from './Libraries/Components/PopupMenuAndroid/PopupMenuAndroid';
24
31
  import typeof Pressable from './Libraries/Components/Pressable/Pressable';
25
32
  import typeof ProgressBarAndroid from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid';
26
33
  import typeof RefreshControl from './Libraries/Components/RefreshControl/RefreshControl';
27
34
  import typeof SafeAreaView from './Libraries/Components/SafeAreaView/SafeAreaView';
28
35
  import typeof ScrollView from './Libraries/Components/ScrollView/ScrollView';
29
- import typeof SectionList from './Libraries/Lists/SectionList';
30
36
  import typeof StatusBar from './Libraries/Components/StatusBar/StatusBar';
31
37
  import typeof Switch from './Libraries/Components/Switch/Switch';
32
- import typeof Text from './Libraries/Text/Text';
38
+ import typeof InputAccessoryView from './Libraries/Components/TextInput/InputAccessoryView';
33
39
  import typeof TextInput from './Libraries/Components/TextInput/TextInput';
40
+ import typeof ToastAndroid from './Libraries/Components/ToastAndroid/ToastAndroid';
34
41
  import typeof Touchable from './Libraries/Components/Touchable/Touchable';
35
42
  import typeof TouchableHighlight from './Libraries/Components/Touchable/TouchableHighlight';
36
43
  import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/TouchableNativeFeedback';
37
44
  import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';
38
45
  import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';
39
46
  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';
47
+ import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';
48
+ import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
49
+ import typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';
50
+ import typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';
51
+ import typeof Image from './Libraries/Image/Image';
52
+ import typeof ImageBackground from './Libraries/Image/ImageBackground';
59
53
  import typeof InteractionManager from './Libraries/Interaction/InteractionManager';
60
- import typeof Keyboard from './Libraries/Components/Keyboard/Keyboard';
54
+ import typeof PanResponder from './Libraries/Interaction/PanResponder';
61
55
  import typeof LayoutAnimation from './Libraries/LayoutAnimation/LayoutAnimation';
62
56
  import typeof Linking from './Libraries/Linking/Linking';
57
+ import typeof FlatList from './Libraries/Lists/FlatList';
58
+ import typeof SectionList from './Libraries/Lists/SectionList';
59
+ import typeof VirtualizedList from './Libraries/Lists/VirtualizedList';
60
+ import typeof VirtualizedSectionList from './Libraries/Lists/VirtualizedSectionList';
63
61
  import typeof LogBox from './Libraries/LogBox/LogBox';
62
+ import typeof Modal from './Libraries/Modal/Modal';
64
63
  import typeof NativeDialogManagerAndroid from './Libraries/NativeModules/specs/NativeDialogManagerAndroid';
65
- import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
66
64
  import typeof Networking from './Libraries/Network/RCTNetworking';
67
- import typeof PanResponder from './Libraries/Interaction/PanResponder';
65
+ import typeof * as Systrace from './Libraries/Performance/Systrace';
68
66
  import typeof PermissionsAndroid from './Libraries/PermissionsAndroid/PermissionsAndroid';
69
- import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
70
67
  import typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS';
68
+ import typeof AppRegistry from './Libraries/ReactNative/AppRegistry';
69
+ import typeof I18nManager from './Libraries/ReactNative/I18nManager';
70
+ import typeof {RootTagContext} from './Libraries/ReactNative/RootTag';
71
+ import typeof UIManager from './Libraries/ReactNative/UIManager';
72
+ import typeof ReactNative from './Libraries/Renderer/shims/ReactNative';
73
+ import type {HostComponent as _HostComponentInternal} from './Libraries/Renderer/shims/ReactNativeTypes';
71
74
  import typeof Settings from './Libraries/Settings/Settings';
72
75
  import typeof Share from './Libraries/Share/Share';
76
+ import typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';
77
+ // Plugins
78
+ import typeof {DynamicColorIOS} from './Libraries/StyleSheet/PlatformColorValueTypesIOS';
79
+ import typeof processColor from './Libraries/StyleSheet/processColor';
73
80
  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';
81
+ import typeof Text from './Libraries/Text/Text';
76
82
  import typeof * as TurboModuleRegistry from './Libraries/TurboModule/TurboModuleRegistry';
77
- import typeof UIManager from './Libraries/ReactNative/UIManager';
78
- import typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue';
83
+ import typeof UTFSequence from './Libraries/UTFSequence';
84
+ import typeof Appearance from './Libraries/Utilities/Appearance';
85
+ import typeof BackHandler from './Libraries/Utilities/BackHandler';
86
+ import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
87
+ import typeof DevSettings from './Libraries/Utilities/DevSettings';
88
+ import typeof Dimensions from './Libraries/Utilities/Dimensions';
89
+ import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
90
+ import typeof Platform from './Libraries/Utilities/Platform';
79
91
  import typeof useColorScheme from './Libraries/Utilities/useColorScheme';
80
92
  import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';
81
- import typeof UTFSequence from './Libraries/UTFSequence';
82
93
  import typeof Vibration from './Libraries/Vibration/Vibration';
83
94
  import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
84
95
 
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';
96
+ const warnOnce = require('./Libraries/Utilities/warnOnce');
97
+ const invariant = require('invariant');
96
98
 
97
99
  export type HostComponent<T> = _HostComponentInternal<T>;
98
100
 
99
- const invariant = require('invariant');
100
- const warnOnce = require('./Libraries/Utilities/warnOnce');
101
-
102
101
  module.exports = {
102
+ get registerCallableModule(): RegisterCallableModule {
103
+ return require('./Libraries/Core/registerCallableModule').default;
104
+ },
103
105
  // Components
104
106
  get AccessibilityInfo(): AccessibilityInfo {
105
107
  return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')
@@ -110,7 +112,7 @@ module.exports = {
110
112
  .default;
111
113
  },
112
114
  get Button(): Button {
113
- return require('./Libraries/Components/Button');
115
+ return require('./Libraries/Components/Button').default;
114
116
  },
115
117
  // $FlowFixMe[value-as-type]
116
118
  get DrawerLayoutAndroid(): DrawerLayoutAndroid {
@@ -126,12 +128,17 @@ module.exports = {
126
128
  return require('./Libraries/Image/ImageBackground');
127
129
  },
128
130
  get InputAccessoryView(): InputAccessoryView {
129
- return require('./Libraries/Components/TextInput/InputAccessoryView');
131
+ return require('./Libraries/Components/TextInput/InputAccessoryView')
132
+ .default;
130
133
  },
131
134
  get KeyboardAvoidingView(): KeyboardAvoidingView {
132
135
  return require('./Libraries/Components/Keyboard/KeyboardAvoidingView')
133
136
  .default;
134
137
  },
138
+ get PopupMenuAndroid(): PopupMenuAndroid {
139
+ return require('./Libraries/Components/PopupMenuAndroid/PopupMenuAndroid')
140
+ .default;
141
+ },
135
142
  get Modal(): Modal {
136
143
  return require('./Libraries/Modal/Modal');
137
144
  },
@@ -173,7 +180,7 @@ module.exports = {
173
180
  return require('./Libraries/Components/TextInput/TextInput');
174
181
  },
175
182
  get Touchable(): Touchable {
176
- return require('./Libraries/Components/Touchable/Touchable');
183
+ return require('./Libraries/Components/Touchable/Touchable').default;
177
184
  },
178
185
  get TouchableHighlight(): TouchableHighlight {
179
186
  return require('./Libraries/Components/Touchable/TouchableHighlight');
@@ -288,7 +295,7 @@ module.exports = {
288
295
  'pushNotificationIOS-moved',
289
296
  'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' +
290
297
  "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',
298
+ 'See https://github.com/react-native-push-notification/ios',
292
299
  );
293
300
  return require('./Libraries/PushNotificationIOS/PushNotificationIOS');
294
301
  },
@@ -378,47 +385,6 @@ module.exports = {
378
385
  '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
386
  );
380
387
  },
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
388
  };
423
389
 
424
390
  if (__DEV__) {
@@ -432,7 +398,8 @@ if (__DEV__) {
432
398
  invariant(
433
399
  false,
434
400
  'ART has been removed from React Native. ' +
435
- "It can now be installed and imported from '@react-native-community/art' instead of 'react-native'. " +
401
+ "Please upgrade to use either 'react-native-svg' or a similar package. " +
402
+ "If you cannot upgrade to a different library, please install the deprecated '@react-native-community/art' package. " +
436
403
  'See https://github.com/react-native-art/art',
437
404
  );
438
405
  },
@@ -512,7 +479,7 @@ if (__DEV__) {
512
479
  invariant(
513
480
  false,
514
481
  'CameraRoll has been removed from React Native. ' +
515
- "It can now be installed and imported from '@react-native-community/cameraroll' instead of 'react-native'. " +
482
+ "It can now be installed and imported from '@react-native-camera-roll/camera-roll' instead of 'react-native'. " +
516
483
  'See https://github.com/react-native-cameraroll/react-native-cameraroll',
517
484
  );
518
485
  },
@@ -625,7 +592,7 @@ if (__DEV__) {
625
592
  invariant(
626
593
  false,
627
594
  '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'." +
595
+ "It can now be installed and imported from '@react-native-segmented-control/segmented-control' instead of 'react-native'." +
629
596
  'See https://github.com/react-native-segmented-control/segmented-control',
630
597
  );
631
598
  },
@@ -703,7 +670,7 @@ if (__DEV__) {
703
670
  invariant(
704
671
  false,
705
672
  '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'. " +
673
+ "It can now be installed and imported from '@react-native-masked-view/masked-view' instead of 'react-native'. " +
707
674
  'See https://github.com/react-native-masked-view/masked-view',
708
675
  );
709
676
  },
@@ -733,7 +700,7 @@ if (__DEV__) {
733
700
  invariant(
734
701
  false,
735
702
  'ImagePickerIOS has been removed from React Native. ' +
736
- "Please upgrade to use either '@react-native-community/react-native-image-picker' or 'expo-image-picker'. " +
703
+ "Please upgrade to use either 'react-native-image-picker' or 'expo-image-picker'. " +
737
704
  "If you cannot upgrade to a different library, please install the deprecated '@react-native-community/image-picker-ios' package. " +
738
705
  'See https://github.com/rnc-archive/react-native-image-picker-ios',
739
706
  );