@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
@@ -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
 
@@ -116,8 +116,8 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
116
116
  */
117
117
  onViewableItemsChanged?:
118
118
  | ((info: {
119
- viewableItems: Array<ViewToken>;
120
- changed: Array<ViewToken>;
119
+ viewableItems: Array<ViewToken<ItemT>>;
120
+ changed: Array<ViewToken<ItemT>>;
121
121
  }) => void)
122
122
  | null
123
123
  | undefined;
@@ -17,6 +17,7 @@ import type {
17
17
  ViewToken,
18
18
  } from '@react-native/virtualized-lists';
19
19
 
20
+ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
20
21
  import {type ScrollResponderType} from '../Components/ScrollView/ScrollView';
21
22
  import {
22
23
  VirtualizedList,
@@ -158,7 +159,11 @@ type OptionalProps<ItemT> = {|
158
159
 
159
160
  // removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)
160
161
  function removeClippedSubviewsOrDefault(removeClippedSubviews: ?boolean) {
161
- return removeClippedSubviews ?? Platform.OS === 'android';
162
+ if (ReactNativeFeatureFlags.shouldUseRemoveClippedSubviewsAsDefaultOnIOS()) {
163
+ return removeClippedSubviews ?? true;
164
+ } else {
165
+ return removeClippedSubviews ?? Platform.OS === 'android';
166
+ }
162
167
  }
163
168
 
164
169
  // numColumnsOrDefault(this.props.numColumns)
@@ -59,8 +59,13 @@ export type SectionListRenderItem<ItemT, SectionT = DefaultSectionT> = (
59
59
  info: SectionListRenderItemInfo<ItemT, SectionT>,
60
60
  ) => React.ReactElement | null;
61
61
 
62
+ type VirtualizedListWithoutPreConfiguredProps<ItemT> = Omit<
63
+ VirtualizedListWithoutRenderItemProps<ItemT>,
64
+ 'stickyHeaderIndices'
65
+ >;
66
+
62
67
  export interface SectionListProps<ItemT, SectionT = DefaultSectionT>
63
- extends VirtualizedListWithoutRenderItemProps<ItemT> {
68
+ extends VirtualizedListWithoutPreConfiguredProps<ItemT> {
64
69
  /**
65
70
  * Rendered in between each section.
66
71
  */
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -192,7 +192,7 @@ export function parseComponentStack(message: string): ComponentStack {
192
192
  if (!s) {
193
193
  return null;
194
194
  }
195
- const match = s.match(/(.*) \(at (.*\.(?:js|jsx|ts|tsx)):([\d]+)\)/);
195
+ const match = s.match(/(.*) \(at (.*\.js):([\d]+)\)/);
196
196
  if (!match) {
197
197
  return null;
198
198
  }
@@ -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
 
@@ -173,7 +173,13 @@ function confirmProps(props: Props) {
173
173
  }
174
174
  }
175
175
 
176
- class Modal extends React.Component<Props> {
176
+ // Create a state to track whether the Modal is rendering or not.
177
+ // This is the only prop that controls whether the modal is rendered or not.
178
+ type State = {
179
+ isRendered: boolean,
180
+ };
181
+
182
+ class Modal extends React.Component<Props, State> {
177
183
  static defaultProps: {|hardwareAccelerated: boolean, visible: boolean|} = {
178
184
  visible: true,
179
185
  hardwareAccelerated: false,
@@ -190,6 +196,9 @@ class Modal extends React.Component<Props> {
190
196
  confirmProps(props);
191
197
  }
192
198
  this._identifier = uniqueModalIdentifier++;
199
+ this.state = {
200
+ isRendered: props.visible === true,
201
+ };
193
202
  }
194
203
 
195
204
  componentDidMount() {
@@ -198,28 +207,44 @@ class Modal extends React.Component<Props> {
198
207
  this._eventSubscription = ModalEventEmitter.addListener(
199
208
  'modalDismissed',
200
209
  event => {
201
- if (event.modalID === this._identifier && this.props.onDismiss) {
202
- this.props.onDismiss();
203
- }
210
+ this.setState({isRendered: false}, () => {
211
+ if (event.modalID === this._identifier && this.props.onDismiss) {
212
+ this.props.onDismiss();
213
+ }
214
+ });
204
215
  },
205
216
  );
206
217
  }
207
218
  }
208
219
 
209
220
  componentWillUnmount() {
221
+ this.setState({isRendered: false});
210
222
  if (this._eventSubscription) {
211
223
  this._eventSubscription.remove();
212
224
  }
213
225
  }
214
226
 
215
- componentDidUpdate() {
227
+ componentDidUpdate(prevProps: Props) {
228
+ if (prevProps.visible === false && this.props.visible === true) {
229
+ this.setState({isRendered: true});
230
+ }
231
+
216
232
  if (__DEV__) {
217
233
  confirmProps(this.props);
218
234
  }
219
235
  }
220
236
 
237
+ // Helper function to encapsulate platform specific logic to show or not the Modal.
238
+ _shouldShowModal(): boolean {
239
+ if (Platform.OS === 'ios') {
240
+ return this.props.visible === true || this.state.isRendered === true;
241
+ }
242
+
243
+ return this.props.visible === true;
244
+ }
245
+
221
246
  render(): React.Node {
222
- if (this.props.visible !== true) {
247
+ if (!this._shouldShowModal()) {
223
248
  return null;
224
249
  }
225
250
 
@@ -244,6 +269,17 @@ class Modal extends React.Component<Props> {
244
269
  this.props.children
245
270
  );
246
271
 
272
+ const onDismiss = () => {
273
+ // OnDismiss is implemented on iOS only.
274
+ if (Platform.OS === 'ios') {
275
+ this.setState({isRendered: false}, () => {
276
+ if (this.props.onDismiss) {
277
+ this.props.onDismiss();
278
+ }
279
+ });
280
+ }
281
+ };
282
+
247
283
  return (
248
284
  <RCTModalHostView
249
285
  animationType={animationType}
@@ -252,11 +288,7 @@ class Modal extends React.Component<Props> {
252
288
  hardwareAccelerated={this.props.hardwareAccelerated}
253
289
  onRequestClose={this.props.onRequestClose}
254
290
  onShow={this.props.onShow}
255
- onDismiss={() => {
256
- if (this.props.onDismiss) {
257
- this.props.onDismiss();
258
- }
259
- }}
291
+ onDismiss={onDismiss}
260
292
  visible={this.props.visible}
261
293
  statusBarTranslucent={this.props.statusBarTranslucent}
262
294
  identifier={this._identifier}
@@ -8,14 +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
- // RCTEventEmitter
17
- +addListener: (eventName: string) => void;
18
- +removeListeners: (count: number) => void;
19
- }
20
-
21
- export default (TurboModuleRegistry.get<Spec>('ModalManager'): ?Spec);
11
+ export * from '../../src/private/specs/modules/NativeModalManager';
12
+ import NativeModalManager from '../../src/private/specs/modules/NativeModalManager';
13
+ export default NativeModalManager;
@@ -8,132 +8,6 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
- import type {ViewProps} from '../Components/View/ViewPropTypes';
12
- import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
13
- import type {
14
- DirectEventHandler,
15
- Int32,
16
- WithDefault,
17
- } from '../Types/CodegenTypes';
18
-
19
- import codegenNativeComponent from '../Utilities/codegenNativeComponent';
20
-
21
- type OrientationChangeEvent = $ReadOnly<{|
22
- orientation: 'portrait' | 'landscape',
23
- |}>;
24
-
25
- type NativeProps = $ReadOnly<{|
26
- ...ViewProps,
27
-
28
- /**
29
- * The `animationType` prop controls how the modal animates.
30
- *
31
- * See https://reactnative.dev/docs/modal#animationtype
32
- */
33
- animationType?: WithDefault<'none' | 'slide' | 'fade', 'none'>,
34
-
35
- /**
36
- * The `presentationStyle` prop controls how the modal appears.
37
- *
38
- * See https://reactnative.dev/docs/modal#presentationstyle
39
- */
40
- presentationStyle?: WithDefault<
41
- 'fullScreen' | 'pageSheet' | 'formSheet' | 'overFullScreen',
42
- 'fullScreen',
43
- >,
44
-
45
- /**
46
- * The `transparent` prop determines whether your modal will fill the
47
- * entire view.
48
- *
49
- * See https://reactnative.dev/docs/modal#transparent
50
- */
51
- transparent?: WithDefault<boolean, false>,
52
-
53
- /**
54
- * The `statusBarTranslucent` prop determines whether your modal should go under
55
- * the system statusbar.
56
- *
57
- * See https://reactnative.dev/docs/modal#statusBarTranslucent
58
- */
59
- statusBarTranslucent?: WithDefault<boolean, false>,
60
-
61
- /**
62
- * The `hardwareAccelerated` prop controls whether to force hardware
63
- * acceleration for the underlying window.
64
- *
65
- * See https://reactnative.dev/docs/modal#hardwareaccelerated
66
- */
67
- hardwareAccelerated?: WithDefault<boolean, false>,
68
-
69
- /**
70
- * The `onRequestClose` callback is called when the user taps the hardware
71
- * back button on Android or the menu button on Apple TV.
72
- *
73
- * This is required on Apple TV and Android.
74
- *
75
- * See https://reactnative.dev/docs/modal#onrequestclose
76
- */
77
- onRequestClose?: ?DirectEventHandler<null>,
78
-
79
- /**
80
- * The `onShow` prop allows passing a function that will be called once the
81
- * modal has been shown.
82
- *
83
- * See https://reactnative.dev/docs/modal#onshow
84
- */
85
- onShow?: ?DirectEventHandler<null>,
86
-
87
- /**
88
- * The `onDismiss` prop allows passing a function that will be called once
89
- * the modal has been dismissed.
90
- *
91
- * See https://reactnative.dev/docs/modal#ondismiss
92
- */
93
- onDismiss?: ?DirectEventHandler<null>,
94
-
95
- /**
96
- * The `visible` prop determines whether your modal is visible.
97
- *
98
- * See https://reactnative.dev/docs/modal#visible
99
- */
100
- visible?: WithDefault<boolean, false>,
101
-
102
- /**
103
- * Deprecated. Use the `animationType` prop instead.
104
- */
105
- animated?: WithDefault<boolean, false>,
106
-
107
- /**
108
- * The `supportedOrientations` prop allows the modal to be rotated to any of the specified orientations.
109
- *
110
- * See https://reactnative.dev/docs/modal#supportedorientations
111
- */
112
- supportedOrientations?: WithDefault<
113
- $ReadOnlyArray<
114
- | 'portrait'
115
- | 'portrait-upside-down'
116
- | 'landscape'
117
- | 'landscape-left'
118
- | 'landscape-right',
119
- >,
120
- 'portrait',
121
- >,
122
-
123
- /**
124
- * The `onOrientationChange` callback is called when the orientation changes while the modal is being displayed.
125
- *
126
- * See https://reactnative.dev/docs/modal#onorientationchange
127
- */
128
- onOrientationChange?: ?DirectEventHandler<OrientationChangeEvent>,
129
-
130
- /**
131
- * The `identifier` is the unique number for identifying Modal components.
132
- */
133
- identifier?: WithDefault<Int32, 0>,
134
- |}>;
135
-
136
- export default (codegenNativeComponent<NativeProps>('ModalHostView', {
137
- interfaceOnly: true,
138
- paperComponentName: 'RCTModalHostView',
139
- }): HostComponent<NativeProps>);
11
+ export * from '../../src/private/specs/components/RCTModalHostViewNativeComponent';
12
+ import RCTModalHostViewNativeComponent from '../../src/private/specs/components/RCTModalHostViewNativeComponent';
13
+ export default RCTModalHostViewNativeComponent;
@@ -13,7 +13,7 @@
13
13
  import type {MutationObserverId} from './MutationObserverManager';
14
14
  import type MutationRecord from './MutationRecord';
15
15
 
16
- import ReactNativeElement from '../DOM/Nodes/ReactNativeElement';
16
+ import ReactNativeElement from '../../src/private/webapis/dom/nodes/ReactNativeElement';
17
17
  import * as MutationObserverManager from './MutationObserverManager';
18
18
 
19
19
  export type MutationObserverCallback = (
@@ -18,7 +18,7 @@
18
18
  * the notifications together.
19
19
  */
20
20
 
21
- import type ReactNativeElement from '../DOM/Nodes/ReactNativeElement';
21
+ import type ReactNativeElement from '../../src/private/webapis/dom/nodes/ReactNativeElement';
22
22
  import type MutationObserver, {
23
23
  MutationObserverCallback,
24
24
  } from './MutationObserver';
@@ -27,7 +27,7 @@ import type MutationRecord from './MutationRecord';
27
27
  import {
28
28
  getPublicInstanceFromInternalInstanceHandle,
29
29
  getShadowNode,
30
- } from '../DOM/Nodes/ReadOnlyNode';
30
+ } from '../../src/private/webapis/dom/nodes/ReadOnlyNode';
31
31
  import * as Systrace from '../Performance/Systrace';
32
32
  import warnOnce from '../Utilities/warnOnce';
33
33
  import {createMutationRecord} from './MutationRecord';
@@ -10,11 +10,13 @@
10
10
 
11
11
  // flowlint unsafe-getters-setters:off
12
12
 
13
- import type ReactNativeElement from '../DOM/Nodes/ReactNativeElement';
14
- import type ReadOnlyNode from '../DOM/Nodes/ReadOnlyNode';
13
+ import type ReactNativeElement from '../../src/private/webapis/dom/nodes/ReactNativeElement';
14
+ import type ReadOnlyNode from '../../src/private/webapis/dom/nodes/ReadOnlyNode';
15
15
  import type {NativeMutationRecord} from './NativeMutationObserver';
16
16
 
17
- import NodeList, {createNodeList} from '../DOM/OldStyleCollections/NodeList';
17
+ import NodeList, {
18
+ createNodeList,
19
+ } from '../../src/private/webapis/dom/oldstylecollections/NodeList';
18
20
 
19
21
  export type MutationType = 'attributes' | 'characterData' | 'childList';
20
22
 
@@ -30,15 +32,15 @@ export default class MutationRecord {
30
32
  _removedNodes: NodeList<ReadOnlyNode>;
31
33
 
32
34
  constructor(nativeRecord: NativeMutationRecord) {
33
- // $FlowExpectedError[incompatible-cast] the codegen doesn't support the actual type.
34
- const target = (nativeRecord.target: ReactNativeElement);
35
+ // $FlowExpectedError[incompatible-type] the codegen doesn't support the actual type.
36
+ const target: ReactNativeElement = nativeRecord.target;
35
37
  this._target = target;
36
- // $FlowExpectedError[incompatible-cast] the codegen doesn't support the actual type.
37
- const addedNodes = (nativeRecord.addedNodes: $ReadOnlyArray<ReadOnlyNode>);
38
+ // $FlowExpectedError[incompatible-type] the codegen doesn't support the actual type.
39
+ const addedNodes: $ReadOnlyArray<ReadOnlyNode> = nativeRecord.addedNodes;
38
40
  this._addedNodes = createNodeList(addedNodes);
39
- const removedNodes =
40
- // $FlowExpectedError[incompatible-cast] the codegen doesn't support the actual type.
41
- (nativeRecord.removedNodes: $ReadOnlyArray<ReadOnlyNode>);
41
+ const removedNodes: $ReadOnlyArray<ReadOnlyNode> =
42
+ // $FlowFixMe[incompatible-type]
43
+ nativeRecord.removedNodes;
42
44
  this._removedNodes = createNodeList(removedNodes);
43
45
  }
44
46
 
@@ -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 MutationObserverId = number;
16
-
17
- // These types are not supported by the codegen.
18
- type ShadowNode = mixed;
19
- type InstanceHandle = mixed;
20
- type ReactNativeElement = mixed;
21
- type ReadOnlyNode = mixed;
22
-
23
- export type NativeMutationRecord = {
24
- mutationObserverId: MutationObserverId,
25
- target: ReactNativeElement,
26
- addedNodes: $ReadOnlyArray<ReadOnlyNode>,
27
- removedNodes: $ReadOnlyArray<ReadOnlyNode>,
28
- ...
29
- };
30
-
31
- export type NativeMutationObserverObserveOptions = {
32
- mutationObserverId: number,
33
- targetShadowNode: ShadowNode,
34
- subtree: boolean,
35
- };
36
-
37
- export interface Spec extends TurboModule {
38
- +observe: (options: NativeMutationObserverObserveOptions) => void;
39
- +unobserve: (
40
- mutationObserverId: number,
41
- targetShadowNode: ShadowNode,
42
- ) => void;
43
- +connect: (
44
- notifyMutationObservers: () => void,
45
- // We need this to retain the public instance before React removes the
46
- // reference to it (which happen in mutations that remove nodes, or when
47
- // nodes are removed between the change and the callback is executed in JS).
48
- getPublicInstanceFromInstanceHandle: (
49
- instanceHandle: InstanceHandle,
50
- ) => ReadOnlyNode,
51
- ) => void;
52
- +disconnect: () => void;
53
- +takeRecords: () => $ReadOnlyArray<NativeMutationRecord>;
54
- }
55
-
56
- export default (TurboModuleRegistry.get<Spec>(
57
- 'NativeMutationObserverCxx',
58
- ): ?Spec);
11
+ export * from '../../src/private/specs/modules/NativeMutationObserver';
12
+ import NativeMutationObserver from '../../src/private/specs/modules/NativeMutationObserver';
13
+ export default NativeMutationObserver;
@@ -28,7 +28,7 @@ import type {
28
28
  Spec,
29
29
  } from '../NativeMutationObserver';
30
30
 
31
- import ReadOnlyNode from '../../DOM/Nodes/ReadOnlyNode';
31
+ import ReadOnlyNode from '../../../src/private/webapis/dom/nodes/ReadOnlyNode';
32
32
  import {
33
33
  type NodeMock,
34
34
  type UIManagerCommitHook,
@@ -304,6 +304,7 @@ const validAttributesForEventProps = {
304
304
  onTouchCancel: true,
305
305
 
306
306
  // Pointer events
307
+ onClick: true,
307
308
  onPointerEnter: true,
308
309
  onPointerEnterCapture: true,
309
310
  onPointerLeave: true,
@@ -15,7 +15,7 @@ import type {
15
15
 
16
16
  import getNativeComponentAttributes from '../ReactNative/getNativeComponentAttributes';
17
17
  import UIManager from '../ReactNative/UIManager';
18
- import ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';
18
+ import * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';
19
19
  import verifyComponentAttributeEquivalence from '../Utilities/verifyComponentAttributeEquivalence';
20
20
  import * as StaticViewConfigValidator from './StaticViewConfigValidator';
21
21
  import {createViewConfig} from './ViewConfig';
@@ -8,13 +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
- +startRecordingFps: () => void;
17
- +stopRecordingFps: (animationStopTimeMs: number) => void;
18
- }
19
-
20
- export default (TurboModuleRegistry.get<Spec>('AnimationsDebugModule'): ?Spec);
11
+ export * from '../../../src/private/specs/modules/NativeAnimationsDebugModule';
12
+ import NativeAnimationsDebugModule from '../../../src/private/specs/modules/NativeAnimationsDebugModule';
13
+ export default NativeAnimationsDebugModule;
@@ -8,16 +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
- +show: () => void;
17
- +reload: () => void;
18
- +debugRemotely: (enableDebug: boolean) => void;
19
- +setProfilingEnabled: (enabled: boolean) => void;
20
- +setHotLoadingEnabled: (enabled: boolean) => void;
21
- }
22
-
23
- export default (TurboModuleRegistry.getEnforcing<Spec>('DevMenu'): Spec);
11
+ export * from '../../../src/private/specs/modules/NativeDevMenu';
12
+ import NativeDevMenu from '../../../src/private/specs/modules/NativeDevMenu';
13
+ export default NativeDevMenu;
@@ -8,26 +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
- +reload: () => void;
17
- +reloadWithReason?: (reason: string) => void;
18
- +onFastRefresh?: () => void;
19
- +setHotLoadingEnabled: (isHotLoadingEnabled: boolean) => void;
20
- +setIsDebuggingRemotely: (isDebuggingRemotelyEnabled: boolean) => void;
21
- +setProfilingEnabled: (isProfilingEnabled: boolean) => void;
22
- +toggleElementInspector: () => void;
23
- +addMenuItem: (title: string) => void;
24
-
25
- // Events
26
- +addListener: (eventName: string) => void;
27
- +removeListeners: (count: number) => void;
28
-
29
- // iOS only.
30
- +setIsShakeToShowDevMenuEnabled: (enabled: boolean) => void;
31
- }
32
-
33
- export default (TurboModuleRegistry.getEnforcing<Spec>('DevSettings'): Spec);
11
+ export * from '../../../src/private/specs/modules/NativeDevSettings';
12
+ import NativeDevSettings from '../../../src/private/specs/modules/NativeDevSettings';
13
+ export default NativeDevSettings;
@@ -8,12 +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
- +invokeDefaultBackPressHandler: () => void;
17
- }
18
-
19
- export default (TurboModuleRegistry.get<Spec>('DeviceEventManager'): ?Spec);
11
+ export * from '../../../src/private/specs/modules/NativeDeviceEventManager';
12
+ import NativeDeviceEventManager from '../../../src/private/specs/modules/NativeDeviceEventManager';
13
+ export default NativeDeviceEventManager;