@office-iss/react-native-win32 0.73.1 → 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 (478) hide show
  1. package/.eslintignore +1 -1
  2. package/.flowconfig +11 -3
  3. package/CHANGELOG.json +422 -44
  4. package/CHANGELOG.md +162 -26
  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/LogBoxInspectorContainer.js +1 -1
  190. package/Libraries/Modal/Modal.js +43 -11
  191. package/Libraries/Modal/NativeModalManager.js +3 -11
  192. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  193. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  194. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  195. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  196. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  197. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  198. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  199. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  200. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  208. package/Libraries/Network/FormData.js +3 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  210. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  211. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  212. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  213. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  214. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  215. package/Libraries/PersonaCoin/PersonaCoin.js +14 -14
  216. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  217. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  218. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +19 -19
  219. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -1
  220. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  221. package/Libraries/PersonaCoin/PersonaCoinTypes.js +23 -23
  222. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -1
  223. package/Libraries/Pressability/Pressability.js +12 -2
  224. package/Libraries/Pressability/Pressability.win32.js +12 -2
  225. package/Libraries/Pressability/usePressability.js +7 -0
  226. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  227. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  228. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  229. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  230. package/Libraries/ReactNative/AppContainer.js +6 -149
  231. package/Libraries/ReactNative/AppRegistry.js +3 -1
  232. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  233. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  234. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  235. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  236. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  237. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  238. package/Libraries/ReactNative/PaperUIManager.win32.js +26 -7
  239. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  240. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  241. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  242. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  243. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  244. package/Libraries/ReactNative/UIManager.js +2 -23
  245. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  246. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  247. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  248. package/Libraries/ReactNative/renderApplication.js +9 -6
  249. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  250. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  251. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  252. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  253. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  254. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  255. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  256. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  257. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  258. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  259. package/Libraries/Share/NativeShareModule.js +3 -13
  260. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +1 -1
  261. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  262. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +1 -1
  263. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  264. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  265. package/Libraries/StyleSheet/StyleSheet.win32.js +5 -28
  266. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  267. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  268. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  269. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  270. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  271. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  272. package/Libraries/Text/Text.d.ts +85 -0
  273. package/Libraries/Text/Text.js +0 -6
  274. package/Libraries/Text/Text.win32.js +0 -6
  275. package/Libraries/Text/TextAncestor.js +2 -3
  276. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  277. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  278. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  279. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  280. package/Libraries/Utilities/Dimensions.js +8 -16
  281. package/Libraries/Utilities/Dimensions.win32.js +8 -16
  282. package/Libraries/Utilities/FocusManager.win32.js +2 -0
  283. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  284. package/Libraries/Utilities/NativeAppearance.js +3 -26
  285. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  286. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  287. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  288. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  289. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  290. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  291. package/Libraries/Utilities/Platform.android.js +4 -0
  292. package/Libraries/Utilities/Platform.d.ts +3 -0
  293. package/Libraries/Utilities/Platform.flow.js +7 -0
  294. package/Libraries/Utilities/Platform.flow.win32.js +18 -5
  295. package/Libraries/Utilities/Platform.ios.js +11 -0
  296. package/Libraries/Utilities/Platform.win32.js +9 -1
  297. package/Libraries/Utilities/binaryToBase64.js +1 -1
  298. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  299. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  300. package/Libraries/Utilities/useMergeRefs.js +5 -9
  301. package/Libraries/Vibration/NativeVibration.js +3 -14
  302. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  303. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  304. package/Libraries/platform-types.d.ts +2 -3
  305. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  306. package/babel.config.js +1 -1
  307. package/flow/jest.js +1 -1
  308. package/flow/react.js +15 -0
  309. package/index.js +66 -99
  310. package/index.win32.js +60 -101
  311. package/jest/assetFileTransformer.js +1 -1
  312. package/jest/local-setup.js +0 -5
  313. package/jest/mockModal.js +2 -1
  314. package/jest/mockScrollView.js +1 -2
  315. package/jest/renderer.js +1 -1
  316. package/jest/setup.js +6 -3
  317. package/jest.config.js +2 -1
  318. package/overrides.json +157 -130
  319. package/package.json +26 -26
  320. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  321. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  322. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  323. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  324. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  325. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  326. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  327. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  328. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  329. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  330. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  331. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  332. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  333. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  334. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  335. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  336. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  337. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  338. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  339. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  340. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  341. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  342. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  343. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  344. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  345. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  346. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  347. package/src/private/specs/modules/NativeAppState.js +33 -0
  348. package/src/private/specs/modules/NativeAppearance.js +36 -0
  349. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  350. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  351. package/src/private/specs/modules/NativeClipboard.js +21 -0
  352. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  353. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  354. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  355. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  356. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  357. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  358. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  359. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  360. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  361. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  362. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  363. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  364. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  365. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  366. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  367. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  368. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  369. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  370. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  371. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  372. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  373. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  374. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  375. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  376. package/src/private/specs/modules/NativeLogBox.js +20 -0
  377. package/src/private/specs/modules/NativeModalManager.js +21 -0
  378. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  379. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  380. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  381. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  382. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  383. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  384. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  385. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  386. package/src/private/specs/modules/NativeRedBox.js +20 -0
  387. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  388. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  389. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  390. package/src/private/specs/modules/NativeShareModule.js +23 -0
  391. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  392. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  393. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  394. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  395. package/src/private/specs/modules/NativeTiming.js +26 -0
  396. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  397. package/src/private/specs/modules/NativeUIManager.js +118 -0
  398. package/src/private/specs/modules/NativeVibration.js +24 -0
  399. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  400. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  401. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  402. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  403. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  404. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  405. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  406. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  407. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  408. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  409. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  410. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  411. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  412. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  413. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  414. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  415. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  416. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  417. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  418. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  419. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  420. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  421. package/{src → src-win}/Libraries/Components/Button/ButtonWin32.tsx +3 -3
  422. package/{src → src-win}/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +9 -10
  423. package/{src → src-win}/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  424. package/{src → src-win}/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  425. package/{src → src-win}/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  426. package/src-win/Libraries/Text/Text.d.ts +304 -0
  427. package/{src → src-win}/Libraries/platform-types.d.ts +2 -3
  428. package/types/modules/globals.d.ts +1 -0
  429. package/Libraries/Components/Button.flow.js +0 -265
  430. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  431. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -63
  432. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  433. package/Libraries/Components/Text/TextWin32.Props.js.map +0 -1
  434. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  435. package/Libraries/Components/Text/TextWin32.js +0 -18
  436. package/Libraries/Components/Text/TextWin32.js.map +0 -1
  437. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  438. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  439. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  440. package/Libraries/Image/Image.flow.js +0 -64
  441. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  442. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  443. package/src/Libraries/Components/Text/TextWin32.Props.ts +0 -82
  444. package/src/Libraries/Components/Text/TextWin32.tsx +0 -25
  445. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  446. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  447. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  448. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  449. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  450. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  451. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  452. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  453. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  454. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  455. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  456. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
  457. /package/{src → src-win}/Libraries/Components/Button/ButtonWin32.Props.ts +0 -0
  458. /package/{src → src-win}/Libraries/Components/EnterString.win32.tsx +0 -0
  459. /package/{src → src-win}/Libraries/Components/TextInput/Tests/TextInputTest.tsx +0 -0
  460. /package/{src → src-win}/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -0
  461. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Props.tsx +0 -0
  462. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Types.tsx +0 -0
  463. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.tsx +0 -0
  464. /package/{src → src-win}/Libraries/Components/View/ViewWin32.d.ts +0 -0
  465. /package/{src → src-win}/Libraries/Image/ImageTypes.ts +0 -0
  466. /package/{src → src-win}/Libraries/Image/Tests/ImageWin32Test.tsx +0 -0
  467. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest.png +0 -0
  468. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  469. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  470. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  471. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  472. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  473. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  474. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoin.tsx +0 -0
  475. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +0 -0
  476. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinTypes.ts +0 -0
  477. /package/{src → src-win}/Libraries/Utilities/FocusManager.win32.d.ts +0 -0
  478. /package/{src → src-win}/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +0 -0
@@ -19,6 +19,10 @@ import {
19
19
  NativeSyntheticEvent,
20
20
  TextLayoutEventData,
21
21
  } from '../Types/CoreEventTypes';
22
+ import type {
23
+ IKeyboardEvent,
24
+ IHandledKeyboardEvent,
25
+ } from '../View/ViewPropTypes'; // Win32
22
26
 
23
27
  export interface TextPropsIOS {
24
28
  /**
@@ -101,10 +105,91 @@ export interface TextPropsAndroid {
101
105
  android_hyphenationFrequency?: 'normal' | 'none' | 'full' | undefined;
102
106
  }
103
107
 
108
+ /**
109
+ * Role-based text style names.
110
+ */
111
+ export type TextWin32TextStyle =
112
+ | 'None'
113
+ | 'SmallStandard'
114
+ | 'SmallSecondary'
115
+ | 'MediumStandard'
116
+ | 'MediumSecondary'
117
+ | 'MediumApp'
118
+ | 'MediumBold'
119
+ | 'MediumBoldApp'
120
+ | 'LargeStandard'
121
+ | 'LargePlusStandard'
122
+ | 'ExtraLargeStandard'
123
+ | 'HugeStandard';
124
+
125
+ export interface TextPropsWin32 {
126
+ onKeyDown?: (args: IKeyboardEvent) => void;
127
+ onKeyDownCapture?: (args: IKeyboardEvent) => void;
128
+ onKeyUp?: (args: IKeyboardEvent) => void;
129
+ onKeyUpCapture?: (args: IKeyboardEvent) => void;
130
+
131
+ keyDownEvents?: IHandledKeyboardEvent[];
132
+ keyUpEvents?: IHandledKeyboardEvent[];
133
+
134
+ /** Enables a focusable label with copyability but without character selectability (property:selectable) */
135
+ focusable?: boolean;
136
+
137
+ /**
138
+ * The onBlur event occurs when an element loses focus. The opposite of onBlur is onFocus. Note that in React
139
+ * Native, unlike in the web, the onBlur event bubbles (similar to onFocusOut in the web).
140
+ *
141
+ * `ev.target === ev.currentTarget` when the focus is being lost from this component.
142
+ * `ev.target !== ev.currentTarget` when the focus is being lost from a descendant.
143
+ */
144
+ onBlur?: (ev: NativeSyntheticEvent<{}>) => void;
145
+ /**
146
+ * The onBlur event occurs when an element loses focus. The opposite of onBlur is onFocus. Note that in React
147
+ * Native, unlike in the web, the onBlur event bubbles (similar to onFocusOut in the web).
148
+ *
149
+ * `ev.target === ev.currentTarget` when the focus is being lost from this component.
150
+ * `ev.target !== ev.currentTarget` when the focus is being lost from a descendant.
151
+ */
152
+ onBlurCapture?: (ev: NativeSyntheticEvent<{}>) => void;
153
+ /**
154
+ * The onFocus event occurs when an element gets focus. The opposite of onFocus is onBlur. Note that in React
155
+ * Native, unlike in the web, the onFocus event bubbles (similar to onFocusIn in the web).
156
+ *
157
+ * `ev.target === ev.currentTarget` when the focus is being lost from this component.
158
+ * `ev.target !== ev.currentTarget` when the focus is being lost from a descendant.
159
+ */
160
+ onFocus?: (ev: NativeSyntheticEvent<{}>) => void;
161
+ /**
162
+ * The onFocus event occurs when an element gets focus. The opposite of onFocus is onBlur. Note that in React
163
+ * Native, unlike in the web, the onFocus event bubbles (similar to onFocusIn in the web).
164
+ *
165
+ * `ev.target === ev.currentTarget` when the focus is being lost from this component.
166
+ * `ev.target !== ev.currentTarget` when the focus is being lost from a descendant.
167
+ */
168
+ onFocusCapture?: (ev: NativeSyntheticEvent<{}>) => void;
169
+
170
+ /**
171
+ * Role-based styling of the text control. The styles applied include
172
+ * font face, size, weight and color. These styles take precedence over
173
+ * the `style` property.
174
+ *
175
+ * @remarks
176
+ * The default value is `MediumStandard`.
177
+ *
178
+ * When set to `None`, role-based styling is disabled.
179
+ *
180
+ * @deprecated Use `style` instead.
181
+ */
182
+ textStyle?: TextWin32TextStyle;
183
+
184
+ /** Tooltip displayed on mouse hover of this element */
185
+ tooltip?: string;
186
+ }
187
+
104
188
  // https://reactnative.dev/docs/text#props
105
189
  export interface TextProps
106
190
  extends TextPropsIOS,
107
191
  TextPropsAndroid,
192
+ TextPropsWin32, // Win32
108
193
  AccessibilityProps {
109
194
  /**
110
195
  * Specifies whether fonts should scale to respect Text Size accessibility settings.
@@ -286,12 +286,6 @@ const Text: React.AbstractComponent<
286
286
 
287
287
  Text.displayName = 'Text';
288
288
 
289
- /**
290
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
291
- * releases. This is deprecated and will be removed in the future.
292
- */
293
- Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
294
-
295
289
  /**
296
290
  * Returns false until the first time `newValue` is true, after which this will
297
291
  * always return true. This is necessary to lazily initialize `Pressability` so
@@ -317,12 +317,6 @@ const Text: React.AbstractComponent<
317
317
 
318
318
  Text.displayName = 'Text';
319
319
 
320
- /**
321
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
322
- * releases. This is deprecated and will be removed in the future.
323
- */
324
- Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
325
-
326
320
  /**
327
321
  * Returns false until the first time `newValue` is true, after which this will
328
322
  * always return true. This is necessary to lazily initialize `Pressability` so
@@ -15,9 +15,8 @@ const React = require('react');
15
15
  /**
16
16
  * Whether the current element is the descendant of a <Text> element.
17
17
  */
18
- const TextAncestorContext = (React.createContext(
19
- false,
20
- ): React$Context<$FlowFixMe>);
18
+ const TextAncestorContext: React$Context<$FlowFixMe> =
19
+ React.createContext(false);
21
20
  if (__DEV__) {
22
21
  TextAncestorContext.displayName = 'TextAncestorContext';
23
22
  }
@@ -4,47 +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 {UnsafeObject} from '../../Types/CodegenTypes';
12
- import type {RootTag, TurboModule} from '../RCTExport';
13
-
14
- import * as TurboModuleRegistry from '../TurboModuleRegistry';
15
-
16
- export enum EnumInt {
17
- A = 23,
18
- B = 42,
19
- }
20
-
21
- export interface Spec extends TurboModule {
22
- // Exported methods.
23
- +getConstants: () => {|
24
- const1: boolean,
25
- const2: number,
26
- const3: string,
27
- |};
28
- +voidFunc: () => void;
29
- +getBool: (arg: boolean) => boolean;
30
- +getEnum?: (arg: EnumInt) => EnumInt;
31
- +getNumber: (arg: number) => number;
32
- +getString: (arg: string) => string;
33
- +getArray: (arg: Array<any>) => Array<any>;
34
- +getObject: (arg: Object) => Object;
35
- +getUnsafeObject: (arg: UnsafeObject) => UnsafeObject;
36
- +getRootTag: (arg: RootTag) => RootTag;
37
- +getValue: (x: number, y: string, z: Object) => Object;
38
- +getValueWithCallback: (callback: (value: string) => void) => void;
39
- +getValueWithPromise: (error: boolean) => Promise<string>;
40
- +voidFuncThrows?: () => void;
41
- +getObjectThrows?: (arg: Object) => Object;
42
- +promiseThrows?: () => Promise<void>;
43
- +voidFuncAssert?: () => void;
44
- +getObjectAssert?: (arg: Object) => Object;
45
- +promiseAssert?: () => Promise<void>;
46
- }
47
-
48
- export default (TurboModuleRegistry.getEnforcing<Spec>(
49
- 'SampleTurboModule',
50
- ): Spec);
11
+ export * from '../../../src/private/specs/modules/NativeSampleTurboModule';
12
+ import NativeSampleTurboModule from '../../../src/private/specs/modules/NativeSampleTurboModule';
13
+ export default NativeSampleTurboModule;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ * @oncall react_native
10
+ */
11
+
12
+ import type {NativeMethods} from '../Renderer/shims/ReactNativeTypes';
13
+
14
+ type PublicInstance = {
15
+ ...NativeMethods,
16
+ };
17
+
18
+ export type InstanceFromReactDevTools =
19
+ | PublicInstance
20
+ | {
21
+ canonical?:
22
+ | PublicInstance // TODO: remove this variant when syncing the new version of the renderer from React to React Native.
23
+ | {
24
+ publicInstance?: PublicInstance,
25
+ },
26
+ };
27
+
28
+ export type ReactDevToolsAgentEvents = {
29
+ drawTraceUpdates: [Array<{node: InstanceFromReactDevTools, color: string}>],
30
+ disableTraceUpdates: [],
31
+
32
+ showNativeHighlight: [nodes: Array<InstanceFromReactDevTools>],
33
+ hideNativeHighlight: [],
34
+ shutdown: [],
35
+ startInspectingNative: [],
36
+ stopInspectingNative: [],
37
+ };
38
+
39
+ export type ReactDevToolsAgent = {
40
+ selectNode(node: mixed): void,
41
+ stopInspectingNative(value: boolean): void,
42
+ addListener<Event: $Keys<ReactDevToolsAgentEvents>>(
43
+ event: Event,
44
+ listener: (...ReactDevToolsAgentEvents[Event]) => void,
45
+ ): void,
46
+ removeListener(
47
+ event: $Keys<ReactDevToolsAgentEvents>,
48
+ listener: () => void,
49
+ ): void,
50
+ };
51
+
52
+ export type ReactDevToolsGlobalHook = {
53
+ on: (eventName: string, (agent: ReactDevToolsAgent) => void) => void,
54
+ off: (eventName: string, (agent: ReactDevToolsAgent) => void) => void,
55
+ reactDevtoolsAgent?: ReactDevToolsAgent,
56
+ resolveRNStyle?: mixed,
57
+ nativeStyleEditorValidAttributes?: Array<string>,
58
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow
8
+ * @format
9
+ */
10
+
11
+ import type {Spec} from '../ReactNative/NativeUIManager';
12
+
13
+ export interface UIManagerJSInterface extends Spec {
14
+ +getViewManagerConfig: (viewManagerName: string) => Object;
15
+ +hasViewManagerConfig: (viewManagerName: string) => boolean;
16
+ }
@@ -12,8 +12,5 @@ export let isAsyncDebugging: boolean = false;
12
12
 
13
13
  if (__DEV__) {
14
14
  // These native interfaces don't exist in asynchronous debugging environments.
15
- isAsyncDebugging =
16
- !global.nativeExtensions &&
17
- !global.nativeCallSyncHook &&
18
- !global.RN$Bridgeless;
15
+ isAsyncDebugging = !global.nativeCallSyncHook && !global.RN$Bridgeless;
19
16
  }
@@ -110,21 +110,13 @@ class Dimensions {
110
110
  }
111
111
  }
112
112
 
113
- let initialDims: ?$ReadOnly<DimensionsPayload> =
114
- global.nativeExtensions &&
115
- global.nativeExtensions.DeviceInfo &&
116
- global.nativeExtensions.DeviceInfo.Dimensions;
117
- if (!initialDims) {
118
- // Subscribe before calling getConstants to make sure we don't miss any updates in between.
119
- RCTDeviceEventEmitter.addListener(
120
- 'didUpdateDimensions',
121
- (update: DimensionsPayload) => {
122
- Dimensions.set(update);
123
- },
124
- );
125
- initialDims = NativeDeviceInfo.getConstants().Dimensions;
126
- }
127
-
128
- Dimensions.set(initialDims);
113
+ // Subscribe before calling getConstants to make sure we don't miss any updates in between.
114
+ RCTDeviceEventEmitter.addListener(
115
+ 'didUpdateDimensions',
116
+ (update: DimensionsPayload) => {
117
+ Dimensions.set(update);
118
+ },
119
+ );
120
+ Dimensions.set(NativeDeviceInfo.getConstants().Dimensions);
129
121
 
130
122
  export default Dimensions;
@@ -111,21 +111,13 @@ class Dimensions {
111
111
  }
112
112
  }
113
113
 
114
- let initialDims: ?$ReadOnly<DimensionsPayload> =
115
- global.nativeExtensions &&
116
- global.nativeExtensions.DeviceInfo &&
117
- global.nativeExtensions.DeviceInfo.Dimensions;
118
- if (!initialDims) {
119
- // Subscribe before calling getConstants to make sure we don't miss any updates in between.
120
- RCTDeviceEventEmitter.addListener(
121
- 'didUpdateDimensions',
122
- (update: DimensionsPayload) => {
123
- Dimensions.set(update);
124
- },
125
- );
126
- initialDims = NativeDeviceInfo.getConstants().Dimensions;
127
- }
128
-
129
- Dimensions.set(initialDims);
114
+ // Subscribe before calling getConstants to make sure we don't miss any updates in between.
115
+ RCTDeviceEventEmitter.addListener(
116
+ 'didUpdateDimensions',
117
+ (update: DimensionsPayload) => {
118
+ Dimensions.set(update);
119
+ },
120
+ );
121
+ Dimensions.set(NativeDeviceInfo.getConstants().Dimensions);
130
122
 
131
123
  export default Dimensions;
@@ -22,12 +22,14 @@ class FocusManager {
22
22
  if (ref) {
23
23
  if (setWindowFocus) {
24
24
  UIManager.dispatchViewManagerCommand(
25
+ // $FlowIgnoreMe[incompatible-call]
25
26
  findNodeHandle(ref),
26
27
  UIManager.getViewManagerConfig('RCTView').Commands.aggressivefocus,
27
28
  null,
28
29
  );
29
30
  } else {
30
31
  UIManager.dispatchViewManagerCommand(
32
+ // $FlowIgnoreMe[incompatible-call]
31
33
  findNodeHandle(ref),
32
34
  UIManager.getViewManagerConfig('RCTView').Commands.politefocus,
33
35
  null,
@@ -19,7 +19,6 @@ import createPerformanceLogger from './createPerformanceLogger';
19
19
  * that are logged during loading bundle. If you want to log something from your
20
20
  * React component you should use PerformanceLoggerContext instead.
21
21
  */
22
- const GlobalPerformanceLogger: IPerformanceLogger =
23
- createPerformanceLogger(true);
22
+ const GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger();
24
23
 
25
24
  module.exports = GlobalPerformanceLogger;
@@ -8,29 +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 type ColorSchemeName = 'light' | 'dark';
16
-
17
- export type AppearancePreferences = {|
18
- // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union
19
- // types.
20
- /* 'light' | 'dark' */
21
- colorScheme?: ?string,
22
- |};
23
-
24
- export interface Spec extends TurboModule {
25
- // TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union
26
- // types.
27
- /* 'light' | 'dark' */
28
- +getColorScheme: () => ?string;
29
- +setColorScheme?: (colorScheme: string) => void;
30
-
31
- // RCTEventEmitter
32
- +addListener: (eventName: string) => void;
33
- +removeListeners: (count: number) => void;
34
- }
35
-
36
- export default (TurboModuleRegistry.get<Spec>('Appearance'): ?Spec);
11
+ export type * from '../../src/private/specs/modules/NativeAppearance';
12
+ import NativeAppearance from '../../src/private/specs/modules/NativeAppearance';
13
+ export default NativeAppearance;
@@ -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
- +showMessage: (
17
- message: string,
18
- withColor: ?number,
19
- withBackgroundColor: ?number,
20
- ) => void;
21
- +hide: () => void;
22
- }
23
-
24
- export default (TurboModuleRegistry.get<Spec>('DevLoadingView'): ?Spec);
11
+ export * from '../../src/private/specs/modules/NativeDevLoadingView';
12
+ import NativeDevLoadingView from '../../src/private/specs/modules/NativeDevLoadingView';
13
+ export default NativeDevLoadingView;
@@ -8,51 +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 type DisplayMetricsAndroid = {|
16
- width: number,
17
- height: number,
18
- scale: number,
19
- fontScale: number,
20
- densityDpi: number,
21
- |};
22
-
23
- export type DisplayMetrics = {|
24
- width: number,
25
- height: number,
26
- scale: number,
27
- fontScale: number,
28
- |};
29
-
30
- export type DimensionsPayload = {|
31
- window?: DisplayMetrics,
32
- screen?: DisplayMetrics,
33
- windowPhysicalPixels?: DisplayMetricsAndroid,
34
- screenPhysicalPixels?: DisplayMetricsAndroid,
35
- |};
36
-
37
- export type DeviceInfoConstants = {|
38
- +Dimensions: DimensionsPayload,
39
- +isIPhoneX_deprecated?: boolean,
40
- |};
41
-
42
- export interface Spec extends TurboModule {
43
- +getConstants: () => DeviceInfoConstants;
44
- }
45
-
46
- const NativeModule: Spec = TurboModuleRegistry.getEnforcing<Spec>('DeviceInfo');
47
- let constants: ?DeviceInfoConstants = null;
48
-
49
- const NativeDeviceInfo = {
50
- getConstants(): DeviceInfoConstants {
51
- if (constants == null) {
52
- constants = NativeModule.getConstants();
53
- }
54
- return constants;
55
- },
56
- };
57
-
11
+ export * from '../../src/private/specs/modules/NativeDeviceInfo';
12
+ import NativeDeviceInfo from '../../src/private/specs/modules/NativeDeviceInfo';
58
13
  export default NativeDeviceInfo;
@@ -8,37 +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 type ReactNativeVersionAndroid = {|
16
- major: number,
17
- minor: number,
18
- patch: number,
19
- prerelease: ?number,
20
- |};
21
-
22
- export type PlatformConstantsAndroid = {|
23
- isTesting: boolean,
24
- isDisableAnimations?: boolean,
25
- reactNativeVersion: ReactNativeVersionAndroid,
26
- Version: number,
27
- Release: string,
28
- Serial: string,
29
- Fingerprint: string,
30
- Model: string,
31
- ServerHost?: string,
32
- uiMode: string,
33
- Brand: string,
34
- Manufacturer: string,
35
- |};
36
-
37
- export interface Spec extends TurboModule {
38
- +getConstants: () => PlatformConstantsAndroid;
39
- +getAndroidID: () => string;
40
- }
41
-
42
- export default (TurboModuleRegistry.getEnforcing<Spec>(
43
- 'PlatformConstants',
44
- ): Spec);
11
+ export * from '../../src/private/specs/modules/NativePlatformConstantsAndroid';
12
+ import NativePlatformConstantsAndroid from '../../src/private/specs/modules/NativePlatformConstantsAndroid';
13
+ export default NativePlatformConstantsAndroid;
@@ -8,29 +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 type PlatformConstantsIOS = {|
16
- isTesting: boolean,
17
- isDisableAnimations?: boolean,
18
- reactNativeVersion: {|
19
- major: number,
20
- minor: number,
21
- patch: number,
22
- prerelease: ?number,
23
- |},
24
- forceTouchAvailable: boolean,
25
- osVersion: string,
26
- systemName: string,
27
- interfaceIdiom: string,
28
- |};
29
-
30
- export interface Spec extends TurboModule {
31
- +getConstants: () => PlatformConstantsIOS;
32
- }
33
-
34
- export default (TurboModuleRegistry.getEnforcing<Spec>(
35
- 'PlatformConstants',
36
- ): Spec);
11
+ export * from '../../src/private/specs/modules/NativePlatformConstantsIOS';
12
+ import NativePlatformConstantsIOS from '../../src/private/specs/modules/NativePlatformConstantsIOS';
13
+ export default NativePlatformConstantsIOS;
@@ -6,26 +6,6 @@
6
6
  * @flow strict
7
7
  */
8
8
 
9
- import type {TurboModule} from '../TurboModule/RCTExport';
10
-
11
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
12
-
13
- export type PlatformConstantsWin32 = {|
14
- isTesting: boolean,
15
- isDisableAnimations?: boolean,
16
- reactNativeVersion: {|
17
- major: number,
18
- minor: number,
19
- patch: number,
20
- prerelease: ?string | number,
21
- |},
22
- osVersion: number,
23
- |};
24
-
25
- export interface Spec extends TurboModule {
26
- +getConstants: () => PlatformConstantsWin32;
27
- }
28
-
29
- export default (TurboModuleRegistry.getEnforcing<Spec>(
30
- 'PlatformConstants',
31
- ): Spec);
9
+ export * from '../../src/private/specs/modules/NativePlatformConstantsWin';
10
+ import NativePlatformConstantsWin from '../../src/private/specs/modules/NativePlatformConstantsWin';
11
+ export default NativePlatformConstantsWin;
@@ -32,11 +32,11 @@ export interface PixelRatioStatic {
32
32
  used to calculate the absolute font size, so any elements that
33
33
  heavily depend on that should use this to do calculations.
34
34
 
35
- If a font scale is not set, this returns the device pixel ratio.
35
+ * on Android value reflects the user preference set in Settings > Display > Font size
36
+ * on iOS value reflects the user preference set in Settings > Display & Brightness > Text Size,
37
+ value can also be updated in Settings > Accessibility > Display & Text Size > Larger Text
36
38
 
37
- Currently this is only implemented on Android and reflects the user
38
- preference set in Settings > Display > Font size,
39
- on iOS it will always return the default pixel ratio.
39
+ If a font scale is not set, this returns the device pixel ratio.
40
40
  */
41
41
  getFontScale(): number;
42
42
 
@@ -69,6 +69,10 @@ const Platform: PlatformType = {
69
69
  // $FlowFixMe[object-this-reference]
70
70
  return this.constants.uiMode === 'tv';
71
71
  },
72
+ // $FlowFixMe[unsafe-getters-setters]
73
+ get isVision(): boolean {
74
+ return false;
75
+ },
72
76
  select: <T>(spec: PlatformSelectSpec<T>): T =>
73
77
  'android' in spec
74
78
  ? // $FlowFixMe[incompatible-return]
@@ -50,10 +50,13 @@ interface PlatformIOSStatic extends PlatformStatic {
50
50
  interfaceIdiom: string;
51
51
  osVersion: string;
52
52
  systemName: string;
53
+ isMacCatalyst?: boolean | undefined;
53
54
  };
54
55
  OS: 'ios';
55
56
  isPad: boolean;
56
57
  isTV: boolean;
58
+ isVision: boolean;
59
+ isMacCatalyst?: boolean | undefined;
57
60
  Version: string;
58
61
  }
59
62
 
@@ -35,15 +35,20 @@ type IOSPlatform = {
35
35
  prerelease: ?number,
36
36
  |},
37
37
  systemName: string,
38
+ isMacCatalyst?: boolean,
38
39
  |},
39
40
  // $FlowFixMe[unsafe-getters-setters]
40
41
  get isPad(): boolean,
41
42
  // $FlowFixMe[unsafe-getters-setters]
42
43
  get isTV(): boolean,
43
44
  // $FlowFixMe[unsafe-getters-setters]
45
+ get isVision(): boolean,
46
+ // $FlowFixMe[unsafe-getters-setters]
44
47
  get isTesting(): boolean,
45
48
  // $FlowFixMe[unsafe-getters-setters]
46
49
  get isDisableAnimations(): boolean,
50
+ // $FlowFixMe[unsafe-getters-setters]
51
+ get isMacCatalyst(): boolean,
47
52
  select: <T>(spec: PlatformSelectSpec<T>) => T,
48
53
  };
49
54
 
@@ -75,6 +80,8 @@ type AndroidPlatform = {
75
80
  // $FlowFixMe[unsafe-getters-setters]
76
81
  get isTV(): boolean,
77
82
  // $FlowFixMe[unsafe-getters-setters]
83
+ get isVision(): boolean,
84
+ // $FlowFixMe[unsafe-getters-setters]
78
85
  get isTesting(): boolean,
79
86
  // $FlowFixMe[unsafe-getters-setters]
80
87
  get isDisableAnimations(): boolean,