react-native-windows 0.79.5 → 0.80.0-preview.10

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 (370) hide show
  1. package/.flowconfig +12 -3
  2. package/Directory.Build.props +11 -2
  3. package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -1
  5. package/Libraries/Alert/Alert.js +3 -0
  6. package/Libraries/Alert/Alert.windows.js +3 -0
  7. package/Libraries/Alert/RCTAlertManager.js +17 -0
  8. package/Libraries/Animated/Animated.js.flow +1 -3
  9. package/Libraries/Animated/AnimatedEvent.js +4 -3
  10. package/Libraries/Animated/AnimatedExports.js +2 -2
  11. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  12. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  13. package/Libraries/Animated/Easing.js +13 -15
  14. package/Libraries/Animated/animations/Animation.js +8 -4
  15. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  16. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  17. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  18. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  19. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  20. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  21. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  22. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  23. package/Libraries/AppState/AppState.js +7 -2
  24. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  25. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  26. package/Libraries/Blob/BlobManager.js +1 -0
  27. package/Libraries/Blob/FileReader.js +219 -8
  28. package/Libraries/Blob/URL.js +37 -12
  29. package/Libraries/Blob/URLSearchParams.js +106 -31
  30. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
  33. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  35. package/Libraries/Components/Button.d.ts +3 -0
  36. package/Libraries/Components/Button.js +1 -1
  37. package/Libraries/Components/Button.windows.js +27 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  39. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  40. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  43. package/Libraries/Components/Flyout/Flyout.js +11 -0
  44. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  46. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  47. package/Libraries/Components/Popup/Popup.js +11 -0
  48. package/Libraries/Components/Pressable/Pressable.js +20 -4
  49. package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  51. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  52. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  54. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  55. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  56. package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
  57. package/Libraries/Components/StaticRenderer.js +1 -1
  58. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  59. package/Libraries/Components/Switch/Switch.js +8 -4
  60. package/Libraries/Components/Switch/Switch.windows.js +17 -4
  61. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  62. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  63. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  64. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  65. package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
  66. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  67. package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
  68. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  69. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  70. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
  71. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  72. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  73. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  74. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  75. package/Libraries/Components/Touchable/Touchable.js +5 -5
  76. package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
  77. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  78. package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
  83. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  84. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
  85. package/Libraries/Components/View/View.js +18 -21
  86. package/Libraries/Components/View/View.windows.js +39 -41
  87. package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
  88. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  89. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
  90. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  91. package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
  92. package/Libraries/Core/ReactNativeVersion.js +1 -1
  93. package/Libraries/Core/setUpReactDevTools.js +5 -5
  94. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  95. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  96. package/Libraries/Image/AssetSourceResolver.js +17 -4
  97. package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
  98. package/Libraries/Image/Image.d.ts +26 -10
  99. package/Libraries/Image/Image.js +17 -0
  100. package/Libraries/Image/Image.js.flow +5 -5
  101. package/Libraries/Image/Image.windows.js +13 -1
  102. package/Libraries/Image/ImageBackground.js +2 -0
  103. package/Libraries/Image/ImageInjection.js +1 -1
  104. package/Libraries/Image/ImageProps.js +22 -17
  105. package/Libraries/Image/ImageSource.js +3 -1
  106. package/Libraries/Image/ImageSourceUtils.js +4 -2
  107. package/Libraries/Image/ImageTypes.flow.js +1 -1
  108. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  109. package/Libraries/Interaction/InteractionManager.js +1 -1
  110. package/Libraries/Interaction/PanResponder.js +3 -3
  111. package/Libraries/Interaction/TaskQueue.js +1 -0
  112. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  113. package/Libraries/Linking/Linking.js +1 -1
  114. package/Libraries/Lists/FlatList.d.ts +2 -2
  115. package/Libraries/Lists/FlatList.js +8 -11
  116. package/Libraries/Lists/SectionList.js +39 -42
  117. package/Libraries/Lists/SectionListModern.js +25 -34
  118. package/Libraries/Lists/VirtualizedList.js +1 -0
  119. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  120. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  121. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  122. package/Libraries/Modal/Modal.js +33 -7
  123. package/Libraries/Modal/Modal.windows.js +33 -10
  124. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  125. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  126. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  127. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  128. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  129. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  130. package/Libraries/Network/RCTNetworking.android.js +1 -1
  131. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  132. package/Libraries/Network/RCTNetworking.js +17 -0
  133. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  134. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  135. package/Libraries/Network/XMLHttpRequest.js +781 -10
  136. package/Libraries/Performance/Systrace.js +7 -7
  137. package/Libraries/Pressability/Pressability.js +1 -1
  138. package/Libraries/Pressability/Pressability.windows.js +1 -1
  139. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  140. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  141. package/Libraries/ReactNative/AppRegistry.js +2 -322
  142. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  143. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  144. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  145. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  146. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  147. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  148. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  149. package/Libraries/ReactNative/renderApplication.js +9 -0
  150. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  151. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  152. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  153. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  154. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  155. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  156. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  157. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  158. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  159. package/Libraries/Settings/Settings.ios.js +1 -0
  160. package/Libraries/Settings/Settings.js +13 -19
  161. package/Libraries/Settings/SettingsFallback.js +33 -0
  162. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  163. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  164. package/Libraries/StyleSheet/Rect.js +1 -0
  165. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  166. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  167. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  168. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  169. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  170. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  171. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  172. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  173. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  174. package/Libraries/Text/Text.d.ts +2 -5
  175. package/Libraries/Text/Text.js +3 -3
  176. package/Libraries/Text/Text.windows.js +3 -3
  177. package/Libraries/Text/TextNativeComponent.js +0 -4
  178. package/Libraries/Text/TextProps.js +5 -33
  179. package/Libraries/Text/TextProps.windows.js +5 -32
  180. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  181. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  182. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  183. package/Libraries/Types/CoreEventTypes.js +1 -1
  184. package/Libraries/Types/CoreEventTypes.windows.js +1 -1
  185. package/Libraries/Utilities/Appearance.js +2 -0
  186. package/Libraries/Utilities/BackHandler.js +17 -0
  187. package/Libraries/Utilities/DeviceInfo.js +2 -0
  188. package/Libraries/Utilities/Dimensions.js +1 -1
  189. package/Libraries/Utilities/Platform.js +17 -0
  190. package/Libraries/Utilities/PlatformTypes.js +11 -3
  191. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  192. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  193. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  194. package/Libraries/WebSocket/WebSocket.js +313 -8
  195. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  196. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  197. package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
  198. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
  199. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +248 -6
  200. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +55 -160
  201. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +30 -9
  202. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +36 -0
  203. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
  204. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +22 -0
  205. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +3 -0
  206. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +46 -0
  207. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +4 -1
  208. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +11 -0
  209. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +37 -5
  210. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +177 -25
  211. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
  212. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
  213. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
  214. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
  215. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +225 -0
  216. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +23 -0
  217. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +9 -3
  218. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  219. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +1 -1
  220. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
  221. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
  222. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
  223. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  224. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  225. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +64 -0
  226. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +11 -0
  227. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +36 -96
  228. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +1 -1
  229. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +29 -0
  230. package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
  231. package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
  232. package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
  233. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +49 -0
  234. package/Microsoft.ReactNative/Utils/ThemeUtils.h +31 -0
  235. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
  236. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  237. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  238. package/PropertySheets/JSEngine.props +1 -1
  239. package/PropertySheets/React.Cpp.props +4 -0
  240. package/PropertySheets/Warnings.props +45 -0
  241. package/README.md +6 -2
  242. package/ReactCommon/ReactCommon.vcxproj +9 -4
  243. package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
  244. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
  245. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
  246. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
  247. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
  248. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  249. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
  250. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
  251. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -2
  252. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  253. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
  254. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
  255. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
  256. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
  257. package/Scripts/creaternwapp.cmd +9 -3
  258. package/Scripts/rnw-dependencies.ps1 +16 -3
  259. package/Shared/Shared.vcxitems +3 -2
  260. package/Shared/Shared.vcxitems.filters +2 -1
  261. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  262. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  263. package/codegen/NativePerformanceSpec.g.h +14 -0
  264. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
  265. package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
  266. package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
  267. package/codegen/rnwcoreJSI-generated.cpp +159 -129
  268. package/codegen/rnwcoreJSI.h +534 -408
  269. package/index.js +51 -331
  270. package/index.windows.js +70 -352
  271. package/interface.js +0 -4
  272. package/jest/resolver.js +31 -0
  273. package/jest/setup.js +6 -2
  274. package/package.json +29 -28
  275. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  276. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  277. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  278. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  279. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  280. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  281. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  282. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  283. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  284. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  285. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  286. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  287. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  288. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  289. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  290. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  291. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  292. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  293. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  294. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  295. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  296. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  297. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  298. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  299. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
  300. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  301. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  302. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  303. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  304. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
  305. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  306. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  307. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  308. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  309. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  310. package/src/private/styles/composeStyles.js +12 -5
  311. package/src/private/types/HostComponent.js +1 -1
  312. package/src/private/types/HostInstance.js +67 -1
  313. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  314. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  315. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  316. package/src/private/webapis/performance/Performance.js +1 -3
  317. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  318. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  319. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  320. package/src/types/globals.d.ts +42 -0
  321. package/stubs/double-conversion/double-conversion.h +3 -1
  322. package/templates/cpp-app/template.config.js +2 -1
  323. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
  324. package/templates/cpp-lib/example/metro.config.js +1 -1
  325. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
  326. package/templates/old/generateWrapper.js +1 -1
  327. package/templates/old/uwp-cpp-app/template.config.js +1 -1
  328. package/types/index.d.ts +6 -3
  329. package/types/public/ReactNativeTypes.d.ts +2 -2
  330. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  331. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  332. package/Libraries/Blob/FileReader_new.js +0 -231
  333. package/Libraries/Blob/FileReader_old.js +0 -186
  334. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  335. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  336. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  337. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  338. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  339. package/Libraries/Events/CustomEvent.js +0 -32
  340. package/Libraries/Events/EventPolyfill.js +0 -239
  341. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  342. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  343. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  344. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  345. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  346. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
  347. package/Libraries/NewAppScreen/components/Header.js +0 -77
  348. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  349. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  350. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  351. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
  352. package/Libraries/NewAppScreen/components/logo.png +0 -0
  353. package/Libraries/NewAppScreen/index.js +0 -25
  354. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  355. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  356. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  357. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  358. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  359. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  360. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  361. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  362. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  363. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  364. package/jest/__tests__/setup-test.js +0 -18
  365. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  366. package/src/private/utilities/ensureInstance.js +0 -21
  367. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  368. package/types/modules/LaunchScreen.d.ts +0 -18
  369. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  370. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
@@ -0,0 +1,316 @@
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 {RootTag} from '../Types/RootTagTypes';
12
+ import type {
13
+ AppConfig,
14
+ AppParameters,
15
+ ComponentProvider,
16
+ ComponentProviderInstrumentationHook,
17
+ Registry,
18
+ RootViewStyleProvider,
19
+ Runnable,
20
+ Runnables,
21
+ TaskProvider,
22
+ WrapperComponentProvider,
23
+ } from './AppRegistry.flow';
24
+
25
+ import BugReporting from '../BugReporting/BugReporting';
26
+ import createPerformanceLogger from '../Utilities/createPerformanceLogger';
27
+ import infoLog from '../Utilities/infoLog';
28
+ import SceneTracker from '../Utilities/SceneTracker';
29
+ import {coerceDisplayMode} from './DisplayMode';
30
+ import HeadlessJsTaskError from './HeadlessJsTaskError';
31
+ import NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';
32
+ import renderApplication from './renderApplication';
33
+ import {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';
34
+ import invariant from 'invariant';
35
+
36
+ type TaskCanceller = () => void;
37
+ type TaskCancelProvider = () => TaskCanceller;
38
+
39
+ const runnables: Runnables = {};
40
+ let runCount = 1;
41
+ const sections: Runnables = {};
42
+ const taskProviders: Map<string, TaskProvider> = new Map();
43
+ const taskCancelProviders: Map<string, TaskCancelProvider> = new Map();
44
+ let componentProviderInstrumentationHook: ComponentProviderInstrumentationHook =
45
+ (component: ComponentProvider) => component();
46
+
47
+ let wrapperComponentProvider: ?WrapperComponentProvider;
48
+ let rootViewStyleProvider: ?RootViewStyleProvider;
49
+
50
+ export function setWrapperComponentProvider(
51
+ provider: WrapperComponentProvider,
52
+ ) {
53
+ wrapperComponentProvider = provider;
54
+ }
55
+
56
+ export function setRootViewStyleProvider(provider: RootViewStyleProvider) {
57
+ rootViewStyleProvider = provider;
58
+ }
59
+
60
+ export function registerConfig(config: Array<AppConfig>): void {
61
+ config.forEach(appConfig => {
62
+ if (appConfig.run) {
63
+ registerRunnable(appConfig.appKey, appConfig.run);
64
+ } else {
65
+ invariant(
66
+ appConfig.component != null,
67
+ 'AppRegistry.registerConfig(...): Every config is expected to set ' +
68
+ 'either `run` or `component`, but `%s` has neither.',
69
+ appConfig.appKey,
70
+ );
71
+ registerComponent(
72
+ appConfig.appKey,
73
+ appConfig.component,
74
+ appConfig.section,
75
+ );
76
+ }
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Registers an app's root component.
82
+ *
83
+ * See https://reactnative.dev/docs/appregistry#registercomponent
84
+ */
85
+ export function registerComponent(
86
+ appKey: string,
87
+ componentProvider: ComponentProvider,
88
+ section?: boolean,
89
+ ): string {
90
+ const scopedPerformanceLogger = createPerformanceLogger();
91
+ runnables[appKey] = (appParameters, displayMode) => {
92
+ renderApplication(
93
+ componentProviderInstrumentationHook(
94
+ componentProvider,
95
+ scopedPerformanceLogger,
96
+ ),
97
+ appParameters.initialProps,
98
+ appParameters.rootTag,
99
+ wrapperComponentProvider && wrapperComponentProvider(appParameters),
100
+ rootViewStyleProvider && rootViewStyleProvider(appParameters),
101
+ appParameters.fabric,
102
+ scopedPerformanceLogger,
103
+ appKey === 'LogBox', // is logbox
104
+ appKey,
105
+ displayMode,
106
+ );
107
+ };
108
+ if (section) {
109
+ sections[appKey] = runnables[appKey];
110
+ }
111
+ return appKey;
112
+ }
113
+
114
+ export function registerRunnable(appKey: string, run: Runnable): string {
115
+ runnables[appKey] = run;
116
+ return appKey;
117
+ }
118
+
119
+ export function registerSection(
120
+ appKey: string,
121
+ component: ComponentProvider,
122
+ ): void {
123
+ registerComponent(appKey, component, true);
124
+ }
125
+
126
+ export function getAppKeys(): $ReadOnlyArray<string> {
127
+ return Object.keys(runnables);
128
+ }
129
+
130
+ export function getSectionKeys(): $ReadOnlyArray<string> {
131
+ return Object.keys(sections);
132
+ }
133
+
134
+ export function getSections(): Runnables {
135
+ return {
136
+ ...sections,
137
+ };
138
+ }
139
+
140
+ export function getRunnable(appKey: string): ?Runnable {
141
+ return runnables[appKey];
142
+ }
143
+
144
+ export function getRegistry(): Registry {
145
+ return {
146
+ sections: getSectionKeys(),
147
+ runnables: {...runnables},
148
+ };
149
+ }
150
+
151
+ export function setComponentProviderInstrumentationHook(
152
+ hook: ComponentProviderInstrumentationHook,
153
+ ) {
154
+ componentProviderInstrumentationHook = hook;
155
+ }
156
+
157
+ /**
158
+ * Loads the JavaScript bundle and runs the app.
159
+ *
160
+ * See https://reactnative.dev/docs/appregistry#runapplication
161
+ */
162
+ export function runApplication(
163
+ appKey: string,
164
+ appParameters: AppParameters,
165
+ displayMode?: number,
166
+ ): void {
167
+ if (appKey !== 'LogBox') {
168
+ const logParams = __DEV__ ? ` with ${JSON.stringify(appParameters)}` : '';
169
+ const msg = `Running "${appKey}"${logParams}`;
170
+ infoLog(msg);
171
+ BugReporting.addSource(
172
+ 'AppRegistry.runApplication' + runCount++,
173
+ () => msg,
174
+ );
175
+ }
176
+ invariant(
177
+ runnables[appKey],
178
+ `"${appKey}" has not been registered. This can happen if:\n` +
179
+ '* Metro (the local dev server) is run from the wrong folder. ' +
180
+ 'Check if Metro is running, stop it and restart it in the current project.\n' +
181
+ "* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.",
182
+ );
183
+
184
+ SceneTracker.setActiveScene({name: appKey});
185
+ runnables[appKey](appParameters, coerceDisplayMode(displayMode));
186
+ }
187
+
188
+ /**
189
+ * Update initial props for a surface that's already rendered
190
+ */
191
+ export function setSurfaceProps(
192
+ appKey: string,
193
+ appParameters: Object,
194
+ displayMode?: number,
195
+ ): void {
196
+ if (appKey !== 'LogBox') {
197
+ const msg =
198
+ 'Updating props for Surface "' +
199
+ appKey +
200
+ '" with ' +
201
+ JSON.stringify(appParameters);
202
+ infoLog(msg);
203
+ BugReporting.addSource(
204
+ 'AppRegistry.setSurfaceProps' + runCount++,
205
+ () => msg,
206
+ );
207
+ }
208
+ invariant(
209
+ runnables[appKey],
210
+ `"${appKey}" has not been registered. This can happen if:\n` +
211
+ '* Metro (the local dev server) is run from the wrong folder. ' +
212
+ 'Check if Metro is running, stop it and restart it in the current project.\n' +
213
+ "* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.",
214
+ );
215
+
216
+ runnables[appKey](appParameters, coerceDisplayMode(displayMode));
217
+ }
218
+
219
+ /**
220
+ * Stops an application when a view should be destroyed.
221
+ *
222
+ * See https://reactnative.dev/docs/appregistry#unmountapplicationcomponentatroottag
223
+ */
224
+ export function unmountApplicationComponentAtRootTag(rootTag: RootTag): void {
225
+ unmountComponentAtNodeAndRemoveContainer(rootTag);
226
+ }
227
+
228
+ /**
229
+ * Register a headless task. A headless task is a bit of code that runs without a UI.
230
+ *
231
+ * See https://reactnative.dev/docs/appregistry#registerheadlesstask
232
+ */
233
+ export function registerHeadlessTask(
234
+ taskKey: string,
235
+ taskProvider: TaskProvider,
236
+ ): void {
237
+ // $FlowFixMe[object-this-reference]
238
+ registerCancellableHeadlessTask(taskKey, taskProvider, () => () => {
239
+ /* Cancel is no-op */
240
+ });
241
+ }
242
+
243
+ /**
244
+ * Register a cancellable headless task. A headless task is a bit of code that runs without a UI.
245
+ *
246
+ * See https://reactnative.dev/docs/appregistry#registercancellableheadlesstask
247
+ */
248
+ export function registerCancellableHeadlessTask(
249
+ taskKey: string,
250
+ taskProvider: TaskProvider,
251
+ taskCancelProvider: TaskCancelProvider,
252
+ ): void {
253
+ if (taskProviders.has(taskKey)) {
254
+ console.warn(
255
+ `registerHeadlessTask or registerCancellableHeadlessTask called multiple times for same key '${taskKey}'`,
256
+ );
257
+ }
258
+ taskProviders.set(taskKey, taskProvider);
259
+ taskCancelProviders.set(taskKey, taskCancelProvider);
260
+ }
261
+
262
+ /**
263
+ * Only called from native code. Starts a headless task.
264
+ *
265
+ * See https://reactnative.dev/docs/appregistry#startheadlesstask
266
+ */
267
+ export function startHeadlessTask(
268
+ taskId: number,
269
+ taskKey: string,
270
+ data: any,
271
+ ): void {
272
+ const taskProvider = taskProviders.get(taskKey);
273
+ if (!taskProvider) {
274
+ console.warn(`No task registered for key ${taskKey}`);
275
+ if (NativeHeadlessJsTaskSupport) {
276
+ NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
277
+ }
278
+ return;
279
+ }
280
+ taskProvider()(data)
281
+ .then(() => {
282
+ if (NativeHeadlessJsTaskSupport) {
283
+ NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
284
+ }
285
+ })
286
+ .catch(reason => {
287
+ console.error(reason);
288
+
289
+ if (
290
+ NativeHeadlessJsTaskSupport &&
291
+ reason instanceof HeadlessJsTaskError
292
+ ) {
293
+ // $FlowFixMe[unused-promise]
294
+ NativeHeadlessJsTaskSupport.notifyTaskRetry(taskId).then(
295
+ retryPosted => {
296
+ if (!retryPosted) {
297
+ NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
298
+ }
299
+ },
300
+ );
301
+ }
302
+ });
303
+ }
304
+
305
+ /**
306
+ * Only called from native code. Cancels a headless task.
307
+ *
308
+ * See https://reactnative.dev/docs/appregistry#cancelheadlesstask
309
+ */
310
+ export function cancelHeadlessTask(taskId: number, taskKey: string): void {
311
+ const taskCancelProvider = taskCancelProviders.get(taskKey);
312
+ if (!taskCancelProvider) {
313
+ throw new Error(`No task canceller registered for key '${taskKey}'`);
314
+ }
315
+ taskCancelProvider()();
316
+ }
@@ -92,6 +92,11 @@ export interface Spec {
92
92
  /* width: */ number,
93
93
  /* height: */ number,
94
94
  ];
95
+ +unstable_DefaultEventPriority: number;
96
+ +unstable_DiscreteEventPriority: number;
97
+ +unstable_ContinuousEventPriority: number;
98
+ +unstable_IdleEventPriority: number;
99
+ +unstable_getCurrentEventPriority: () => number;
95
100
  }
96
101
 
97
102
  let nativeFabricUIManagerProxy: ?Spec;
@@ -119,6 +124,11 @@ const CACHED_PROPERTIES = [
119
124
  'dispatchCommand',
120
125
  'compareDocumentPosition',
121
126
  'getBoundingClientRect',
127
+ 'unstable_DefaultEventPriority',
128
+ 'unstable_DiscreteEventPriority',
129
+ 'unstable_ContinuousEventPriority',
130
+ 'unstable_IdleEventPriority',
131
+ 'unstable_getCurrentEventPriority',
122
132
  ];
123
133
 
124
134
  // This is exposed as a getter because apps using the legacy renderer AND
@@ -10,10 +10,10 @@
10
10
 
11
11
  import type {
12
12
  HostInstance,
13
- LegacyHostInstanceMethods,
14
13
  MeasureInWindowOnSuccessCallback,
15
14
  MeasureLayoutOnSuccessCallback,
16
15
  MeasureOnSuccessCallback,
16
+ NativeMethods,
17
17
  } from '../../../src/private/types/HostInstance';
18
18
  import type {
19
19
  InternalInstanceHandle,
@@ -40,9 +40,7 @@ const noop = () => {};
40
40
  /**
41
41
  * This is used for refs on host components.
42
42
  */
43
- export default class ReactFabricHostComponent
44
- implements LegacyHostInstanceMethods
45
- {
43
+ export default class ReactFabricHostComponent implements NativeMethods {
46
44
  // These need to be accessible from `ReactFabricPublicInstanceUtils`.
47
45
  __nativeTag: number;
48
46
  __internalInstanceHandle: InternalInstanceHandle;
@@ -71,10 +71,7 @@ function getReadOnlyTextClass(): Class<ReadOnlyTextT> {
71
71
  }
72
72
 
73
73
  export function createPublicRootInstance(rootTag: RootTag): PublicRootInstance {
74
- if (
75
- ReactNativeFeatureFlags.enableAccessToHostTreeInFabric() &&
76
- ReactNativeFeatureFlags.enableDOMDocumentAPI()
77
- ) {
74
+ if (ReactNativeFeatureFlags.enableAccessToHostTreeInFabric()) {
78
75
  const ReactNativeDocumentModule = getReactNativeDocumentModule();
79
76
 
80
77
  // $FlowExpectedError[incompatible-return]
@@ -13,7 +13,6 @@ import type {
13
13
  InternalInstanceHandle,
14
14
  Node,
15
15
  } from '../Renderer/shims/ReactNativeTypes';
16
- import type {ElementRef, ElementType} from 'react';
17
16
 
18
17
  import {
19
18
  onCaughtError,
@@ -21,6 +20,8 @@ import {
21
20
  onUncaughtError,
22
21
  } from '../../src/private/renderer/errorhandling/ErrorHandlers';
23
22
  import {type RootTag} from './RootTag';
23
+ import * as React from 'react';
24
+
24
25
  export function renderElement({
25
26
  element,
26
27
  rootTag,
@@ -58,18 +59,22 @@ export function renderElement({
58
59
  }
59
60
  }
60
61
 
61
- export function findHostInstance_DEPRECATED<TElementType: ElementType>(
62
- componentOrHandle: ?(ElementRef<TElementType> | number),
62
+ export function findHostInstance_DEPRECATED<TElementType: React.ElementType>(
63
+ // $FlowFixMe[incompatible-call]
64
+ componentOrHandle: ?(React.ElementRef<TElementType> | number),
63
65
  ): ?HostInstance {
64
66
  return require('../Renderer/shims/ReactNative').default.findHostInstance_DEPRECATED(
67
+ // $FlowFixMe[incompatible-call]
65
68
  componentOrHandle,
66
69
  );
67
70
  }
68
71
 
69
- export function findNodeHandle<TElementType: ElementType>(
70
- componentOrHandle: ?(ElementRef<TElementType> | number),
72
+ export function findNodeHandle<TElementType: React.ElementType>(
73
+ // $FlowFixMe[incompatible-call]
74
+ componentOrHandle: ?(React.ElementRef<TElementType> | number),
71
75
  ): ?number {
72
76
  return require('../Renderer/shims/ReactNative').default.findNodeHandle(
77
+ // $FlowFixMe[incompatible-call]
73
78
  componentOrHandle,
74
79
  );
75
80
  }
@@ -90,6 +90,7 @@ function getNativeComponentAttributes(uiViewClassName: string): any {
90
90
  // top-level props on the native side.
91
91
  validAttributes.style = ReactNativeStyleAttributes;
92
92
 
93
+ // $FlowFixMe[unsafe-object-assign]
93
94
  Object.assign(viewConfig, {
94
95
  uiViewClassName,
95
96
  validAttributes,
@@ -13,6 +13,7 @@ import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
13
13
 
14
14
  import GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';
15
15
  import PerformanceLoggerContext from '../Utilities/PerformanceLoggerContext';
16
+ import warnOnce from '../Utilities/warnOnce';
16
17
  import AppContainer from './AppContainer';
17
18
  import DisplayMode, {type DisplayModeType} from './DisplayMode';
18
19
  import getCachedComponentWithDebugName from './getCachedComponentWithDebugName';
@@ -104,5 +105,13 @@ export default function renderApplication<Props: Object>(
104
105
  useFabric: Boolean(fabric),
105
106
  useConcurrentRoot,
106
107
  });
108
+
109
+ const newArchitecture = !!fabric;
110
+ if (!newArchitecture) {
111
+ warnOnce(
112
+ '[OSS][OldArchDeprecatedWarning]',
113
+ 'The app is running using the Legacy Architecture. The Legacy Architecture is deprecated and will be removed in a future version of React Native. Please consider migrating to the New Architecture. For more information, please see https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here',
114
+ );
115
+ }
107
116
  performanceLogger.stopTimespan('renderApplication_React_render');
108
117
  }
@@ -8,6 +8,7 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
+ import typeof CustomEvent from '../../src/private/webapis/dom/events/CustomEvent';
11
12
  import typeof BatchedBridge from '../BatchedBridge/BatchedBridge';
12
13
  import typeof legacySendAccessibilityEvent from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
13
14
  import typeof TextInputState from '../Components/TextInput/TextInputState';
@@ -15,7 +16,6 @@ import typeof ExceptionsManager from '../Core/ExceptionsManager';
15
16
  import typeof RawEventEmitter from '../Core/RawEventEmitter';
16
17
  import typeof ReactFiberErrorDialog from '../Core/ReactFiberErrorDialog';
17
18
  import typeof RCTEventEmitter from '../EventEmitter/RCTEventEmitter';
18
- import typeof CustomEvent from '../Events/CustomEvent';
19
19
  import typeof {
20
20
  createPublicInstance,
21
21
  createPublicRootInstance,
@@ -41,7 +41,7 @@ export type {
41
41
  HostInstance as PublicInstance,
42
42
 
43
43
  // These types are only necessary for Paper
44
- LegacyHostInstanceMethods as LegacyPublicInstance,
44
+ NativeMethods as LegacyPublicInstance,
45
45
  MeasureOnSuccessCallback,
46
46
  MeasureInWindowOnSuccessCallback,
47
47
  MeasureLayoutOnSuccessCallback,
@@ -99,7 +99,7 @@ module.exports = {
99
99
  return require('../Core/RawEventEmitter').default;
100
100
  },
101
101
  get CustomEvent(): CustomEvent {
102
- return require('../Events/CustomEvent').default;
102
+ return require('../../src/private/webapis/dom/events/CustomEvent').default;
103
103
  },
104
104
  get createAttributePayload(): createAttributePayload {
105
105
  return require('../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload')
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ import typeof {createPublicTextInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
12
+
13
+ export type {
14
+ HostInstance as PublicInstance,
15
+
16
+ // These types are only necessary for Paper
17
+ NativeMethods as LegacyPublicInstance,
18
+ MeasureOnSuccessCallback,
19
+ MeasureInWindowOnSuccessCallback,
20
+ MeasureLayoutOnSuccessCallback,
21
+ } from '../../src/private/types/HostInstance';
22
+
23
+ export type {PublicRootInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
24
+ export type PublicTextInstance = ReturnType<createPublicTextInstance>;
25
+
26
+ export {default as BatchedBridge} from '../BatchedBridge/BatchedBridge';
27
+ export {default as ExceptionsManager} from '../Core/ExceptionsManager';
28
+ export {default as Platform} from '../Utilities/Platform';
29
+ export {default as RCTEventEmitter} from '../EventEmitter/RCTEventEmitter';
30
+ export * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';
31
+ export {default as TextInputState} from '../Components/TextInput/TextInputState';
32
+ export {default as UIManager} from '../ReactNative/UIManager';
33
+ export {default as deepDiffer} from '../Utilities/differ/deepDiffer';
34
+ export {default as deepFreezeAndThrowOnMutationInDev} from '../Utilities/deepFreezeAndThrowOnMutationInDev';
35
+ export {default as flattenStyle} from '../StyleSheet/flattenStyle';
36
+ export {default as ReactFiberErrorDialog} from '../Core/ReactFiberErrorDialog';
37
+ export {default as legacySendAccessibilityEvent} from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
38
+ export {default as RawEventEmitter} from '../Core/RawEventEmitter';
39
+ export {default as CustomEvent} from '../../src/private/webapis/dom/events/CustomEvent';
40
+ export {
41
+ create as createAttributePayload,
42
+ diff as diffAttributePayloads,
43
+ } from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
44
+ export {
45
+ createPublicRootInstance,
46
+ createPublicInstance,
47
+ createPublicTextInstance,
48
+ getNativeTagFromPublicInstance,
49
+ getNodeFromPublicInstance,
50
+ getInternalInstanceHandleFromPublicInstance,
51
+ } from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';