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
@@ -10,7 +10,7 @@
10
10
 
11
11
  import typeof * as SystraceModule from './Systrace';
12
12
 
13
- const TRACE_TAG_REACT_APPS = 1 << 17; // eslint-disable-line no-bitwise
13
+ const TRACE_TAG_REACT = 1 << 13; // eslint-disable-line no-bitwise
14
14
 
15
15
  let _asyncCookie = 0;
16
16
 
@@ -32,7 +32,7 @@ type EventArgs = ?{[string]: string};
32
32
  */
33
33
  export function isEnabled(): boolean {
34
34
  return global.nativeTraceIsTracing
35
- ? global.nativeTraceIsTracing(TRACE_TAG_REACT_APPS)
35
+ ? global.nativeTraceIsTracing(TRACE_TAG_REACT)
36
36
  : Boolean(global.__RCTProfileIsProfiling);
37
37
  }
38
38
 
@@ -52,7 +52,7 @@ export function beginEvent(eventName: EventName, args?: EventArgs): void {
52
52
  if (isEnabled()) {
53
53
  const eventNameString =
54
54
  typeof eventName === 'function' ? eventName() : eventName;
55
- global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS, eventNameString, args);
55
+ global.nativeTraceBeginSection(TRACE_TAG_REACT, eventNameString, args);
56
56
  }
57
57
  }
58
58
 
@@ -61,7 +61,7 @@ export function beginEvent(eventName: EventName, args?: EventArgs): void {
61
61
  */
62
62
  export function endEvent(args?: EventArgs): void {
63
63
  if (isEnabled()) {
64
- global.nativeTraceEndSection(TRACE_TAG_REACT_APPS, args);
64
+ global.nativeTraceEndSection(TRACE_TAG_REACT, args);
65
65
  }
66
66
  }
67
67
 
@@ -80,7 +80,7 @@ export function beginAsyncEvent(
80
80
  const eventNameString =
81
81
  typeof eventName === 'function' ? eventName() : eventName;
82
82
  global.nativeTraceBeginAsyncSection(
83
- TRACE_TAG_REACT_APPS,
83
+ TRACE_TAG_REACT,
84
84
  eventNameString,
85
85
  cookie,
86
86
  args,
@@ -102,7 +102,7 @@ export function endAsyncEvent(
102
102
  const eventNameString =
103
103
  typeof eventName === 'function' ? eventName() : eventName;
104
104
  global.nativeTraceEndAsyncSection(
105
- TRACE_TAG_REACT_APPS,
105
+ TRACE_TAG_REACT,
106
106
  eventNameString,
107
107
  cookie,
108
108
  args,
@@ -118,7 +118,7 @@ export function counterEvent(eventName: EventName, value: number): void {
118
118
  const eventNameString =
119
119
  typeof eventName === 'function' ? eventName() : eventName;
120
120
  global.nativeTraceCounter &&
121
- global.nativeTraceCounter(TRACE_TAG_REACT_APPS, eventNameString, value);
121
+ global.nativeTraceCounter(TRACE_TAG_REACT, eventNameString, value);
122
122
  }
123
123
  }
124
124
 
@@ -829,7 +829,7 @@ export default class Pressability {
829
829
  };
830
830
 
831
831
  _isTouchWithinResponderRegion(
832
- touch: $PropertyType<GestureResponderEvent, 'nativeEvent'>,
832
+ touch: GestureResponderEvent['nativeEvent'],
833
833
  responderRegion: $ReadOnly<{
834
834
  bottom: number,
835
835
  left: number,
@@ -935,7 +935,7 @@ export default class Pressability {
935
935
  };
936
936
 
937
937
  _isTouchWithinResponderRegion(
938
- touch: $PropertyType<GestureResponderEvent, 'nativeEvent'>,
938
+ touch: GestureResponderEvent['nativeEvent'],
939
939
  responderRegion: $ReadOnly<{
940
940
  bottom: number,
941
941
  left: number,
@@ -27,8 +27,8 @@ import * as React from 'react';
27
27
 
28
28
  const {useEffect, useState, useCallback} = React;
29
29
 
30
- const reactDevToolsHook: ReactDevToolsGlobalHook =
31
- window.__REACT_DEVTOOLS_GLOBAL_HOOK__;
30
+ const reactDevToolsHook: ReactDevToolsGlobalHook = (window: $FlowFixMe)
31
+ .__REACT_DEVTOOLS_GLOBAL_HOOK__;
32
32
 
33
33
  // Required for React DevTools to view / edit React Native styles in Flipper.
34
34
  // Flipper doesn't inject these values when initializing DevTools.
@@ -53,7 +53,8 @@ const InspectorDeferred = ({
53
53
  }: InspectorDeferredProps) => {
54
54
  // D39382967 adds a require cycle: InitializeCore -> AppContainer -> Inspector -> InspectorPanel -> ScrollView -> InitializeCore
55
55
  // We can't remove it yet, fallback to dynamic require for now. This is the only reason why this logic is in a separate function.
56
- const Inspector = require('../../src/private/inspector/Inspector').default;
56
+ const Inspector =
57
+ require('../../src/private/devsupport/devmenu/elementinspector/Inspector').default;
57
58
 
58
59
  return (
59
60
  <Inspector
@@ -74,7 +75,7 @@ const ReactDevToolsOverlayDeferred = ({
74
75
  reactDevToolsAgent,
75
76
  }: ReactDevToolsOverlayDeferredProps) => {
76
77
  const ReactDevToolsOverlay =
77
- require('../../src/private/inspector/ReactDevToolsOverlay').default;
78
+ require('../../src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay').default;
78
79
 
79
80
  return (
80
81
  <ReactDevToolsOverlay
@@ -0,0 +1,49 @@
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 {ViewStyleProp} from '../StyleSheet/StyleSheet';
12
+ import type {RootTag} from '../Types/RootTagTypes';
13
+ import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
14
+ import type {DisplayModeType} from './DisplayMode';
15
+
16
+ type Task = (taskData: any) => Promise<void>;
17
+ export type TaskProvider = () => Task;
18
+
19
+ export type ComponentProvider = () => React.ComponentType<any>;
20
+ export type ComponentProviderInstrumentationHook = (
21
+ component_: ComponentProvider,
22
+ scopedPerformanceLogger: IPerformanceLogger,
23
+ ) => React.ComponentType<any>;
24
+ export type AppConfig = {
25
+ appKey: string,
26
+ component?: ComponentProvider,
27
+ run?: Runnable,
28
+ section?: boolean,
29
+ ...
30
+ };
31
+ export type AppParameters = {
32
+ initialProps: $ReadOnly<{[string]: mixed, ...}>,
33
+ rootTag: RootTag,
34
+ fabric?: boolean,
35
+ };
36
+ export type Runnable = (
37
+ appParameters: AppParameters,
38
+ displayMode: DisplayModeType,
39
+ ) => void;
40
+ export type Runnables = {[appKey: string]: Runnable};
41
+ export type Registry = {
42
+ sections: $ReadOnlyArray<string>,
43
+ runnables: Runnables,
44
+ ...
45
+ };
46
+ export type WrapperComponentProvider = (
47
+ appParameters: Object,
48
+ ) => React.ComponentType<any>;
49
+ export type RootViewStyleProvider = (appParameters: Object) => ViewStyleProp;
@@ -8,333 +8,13 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
12
- import type {RootTag} from '../Types/RootTagTypes';
13
- import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
14
- import type {DisplayModeType} from './DisplayMode';
15
-
16
- import BugReporting from '../BugReporting/BugReporting';
17
11
  import registerCallableModule from '../Core/registerCallableModule';
18
- import createPerformanceLogger from '../Utilities/createPerformanceLogger';
19
- import infoLog from '../Utilities/infoLog';
20
- import SceneTracker from '../Utilities/SceneTracker';
21
- import {coerceDisplayMode} from './DisplayMode';
22
- import HeadlessJsTaskError from './HeadlessJsTaskError';
23
- import NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';
24
- import renderApplication from './renderApplication';
25
- import {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';
26
- import invariant from 'invariant';
27
-
28
- type Task = (taskData: any) => Promise<void>;
29
- export type TaskProvider = () => Task;
30
- type TaskCanceller = () => void;
31
- type TaskCancelProvider = () => TaskCanceller;
32
-
33
- export type ComponentProvider = () => React.ComponentType<any>;
34
- export type ComponentProviderInstrumentationHook = (
35
- component_: ComponentProvider,
36
- scopedPerformanceLogger: IPerformanceLogger,
37
- ) => React.ComponentType<any>;
38
- export type AppConfig = {
39
- appKey: string,
40
- component?: ComponentProvider,
41
- run?: Runnable,
42
- section?: boolean,
43
- ...
44
- };
45
- type AppParameters = {
46
- initialProps: $ReadOnly<{[string]: mixed, ...}>,
47
- rootTag: RootTag,
48
- fabric?: boolean,
49
- };
50
- export type Runnable = (
51
- appParameters: AppParameters,
52
- displayMode: DisplayModeType,
53
- ) => void;
54
- export type Runnables = {[appKey: string]: Runnable};
55
- export type Registry = {
56
- sections: $ReadOnlyArray<string>,
57
- runnables: Runnables,
58
- ...
59
- };
60
- export type WrapperComponentProvider = (
61
- appParameters: Object,
62
- ) => React.ComponentType<any>;
63
- export type RootViewStyleProvider = (appParameters: Object) => ViewStyleProp;
64
-
65
- const runnables: Runnables = {};
66
- let runCount = 1;
67
- const sections: Runnables = {};
68
- const taskProviders: Map<string, TaskProvider> = new Map();
69
- const taskCancelProviders: Map<string, TaskCancelProvider> = new Map();
70
- let componentProviderInstrumentationHook: ComponentProviderInstrumentationHook =
71
- (component: ComponentProvider) => component();
72
-
73
- let wrapperComponentProvider: ?WrapperComponentProvider;
74
- let rootViewStyleProvider: ?RootViewStyleProvider;
75
-
76
12
  /**
77
13
  * `AppRegistry` is the JavaScript entry point to running all React Native apps.
78
14
  *
79
15
  * See https://reactnative.dev/docs/appregistry
80
16
  */
81
- const AppRegistry = {
82
- setWrapperComponentProvider(provider: WrapperComponentProvider) {
83
- wrapperComponentProvider = provider;
84
- },
85
-
86
- setRootViewStyleProvider(provider: RootViewStyleProvider) {
87
- rootViewStyleProvider = provider;
88
- },
89
-
90
- registerConfig(config: Array<AppConfig>): void {
91
- config.forEach(appConfig => {
92
- if (appConfig.run) {
93
- AppRegistry.registerRunnable(appConfig.appKey, appConfig.run);
94
- } else {
95
- invariant(
96
- appConfig.component != null,
97
- 'AppRegistry.registerConfig(...): Every config is expected to set ' +
98
- 'either `run` or `component`, but `%s` has neither.',
99
- appConfig.appKey,
100
- );
101
- AppRegistry.registerComponent(
102
- appConfig.appKey,
103
- appConfig.component,
104
- appConfig.section,
105
- );
106
- }
107
- });
108
- },
109
-
110
- /**
111
- * Registers an app's root component.
112
- *
113
- * See https://reactnative.dev/docs/appregistry#registercomponent
114
- */
115
- registerComponent(
116
- appKey: string,
117
- componentProvider: ComponentProvider,
118
- section?: boolean,
119
- ): string {
120
- const scopedPerformanceLogger = createPerformanceLogger();
121
- runnables[appKey] = (appParameters, displayMode) => {
122
- renderApplication(
123
- componentProviderInstrumentationHook(
124
- componentProvider,
125
- scopedPerformanceLogger,
126
- ),
127
- appParameters.initialProps,
128
- appParameters.rootTag,
129
- wrapperComponentProvider && wrapperComponentProvider(appParameters),
130
- rootViewStyleProvider && rootViewStyleProvider(appParameters),
131
- appParameters.fabric,
132
- scopedPerformanceLogger,
133
- appKey === 'LogBox', // is logbox
134
- appKey,
135
- displayMode,
136
- );
137
- };
138
- if (section) {
139
- sections[appKey] = runnables[appKey];
140
- }
141
- return appKey;
142
- },
143
-
144
- registerRunnable(appKey: string, run: Runnable): string {
145
- runnables[appKey] = run;
146
- return appKey;
147
- },
148
-
149
- registerSection(appKey: string, component: ComponentProvider): void {
150
- AppRegistry.registerComponent(appKey, component, true);
151
- },
152
-
153
- getAppKeys(): $ReadOnlyArray<string> {
154
- return Object.keys(runnables);
155
- },
156
-
157
- getSectionKeys(): $ReadOnlyArray<string> {
158
- return Object.keys(sections);
159
- },
160
-
161
- getSections(): Runnables {
162
- return {
163
- ...sections,
164
- };
165
- },
166
-
167
- getRunnable(appKey: string): ?Runnable {
168
- return runnables[appKey];
169
- },
170
-
171
- getRegistry(): Registry {
172
- return {
173
- sections: AppRegistry.getSectionKeys(),
174
- runnables: {...runnables},
175
- };
176
- },
177
-
178
- setComponentProviderInstrumentationHook(
179
- hook: ComponentProviderInstrumentationHook,
180
- ) {
181
- componentProviderInstrumentationHook = hook;
182
- },
183
-
184
- /**
185
- * Loads the JavaScript bundle and runs the app.
186
- *
187
- * See https://reactnative.dev/docs/appregistry#runapplication
188
- */
189
- runApplication(
190
- appKey: string,
191
- appParameters: AppParameters,
192
- displayMode?: number,
193
- ): void {
194
- if (appKey !== 'LogBox') {
195
- const logParams = __DEV__ ? ` with ${JSON.stringify(appParameters)}` : '';
196
- const msg = `Running "${appKey}"${logParams}`;
197
- infoLog(msg);
198
- BugReporting.addSource(
199
- 'AppRegistry.runApplication' + runCount++,
200
- () => msg,
201
- );
202
- }
203
- invariant(
204
- runnables[appKey],
205
- `"${appKey}" has not been registered. This can happen if:\n` +
206
- '* Metro (the local dev server) is run from the wrong folder. ' +
207
- 'Check if Metro is running, stop it and restart it in the current project.\n' +
208
- "* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.",
209
- );
210
-
211
- SceneTracker.setActiveScene({name: appKey});
212
- runnables[appKey](appParameters, coerceDisplayMode(displayMode));
213
- },
214
-
215
- /**
216
- * Update initial props for a surface that's already rendered
217
- */
218
- setSurfaceProps(
219
- appKey: string,
220
- appParameters: Object,
221
- displayMode?: number,
222
- ): void {
223
- if (appKey !== 'LogBox') {
224
- const msg =
225
- 'Updating props for Surface "' +
226
- appKey +
227
- '" with ' +
228
- JSON.stringify(appParameters);
229
- infoLog(msg);
230
- BugReporting.addSource(
231
- 'AppRegistry.setSurfaceProps' + runCount++,
232
- () => msg,
233
- );
234
- }
235
- invariant(
236
- runnables[appKey],
237
- `"${appKey}" has not been registered. This can happen if:\n` +
238
- '* Metro (the local dev server) is run from the wrong folder. ' +
239
- 'Check if Metro is running, stop it and restart it in the current project.\n' +
240
- "* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.",
241
- );
242
-
243
- runnables[appKey](appParameters, coerceDisplayMode(displayMode));
244
- },
245
-
246
- /**
247
- * Stops an application when a view should be destroyed.
248
- *
249
- * See https://reactnative.dev/docs/appregistry#unmountapplicationcomponentatroottag
250
- */
251
- unmountApplicationComponentAtRootTag(rootTag: RootTag): void {
252
- unmountComponentAtNodeAndRemoveContainer(rootTag);
253
- },
254
-
255
- /**
256
- * Register a headless task. A headless task is a bit of code that runs without a UI.
257
- *
258
- * See https://reactnative.dev/docs/appregistry#registerheadlesstask
259
- */
260
- registerHeadlessTask(taskKey: string, taskProvider: TaskProvider): void {
261
- // $FlowFixMe[object-this-reference]
262
- this.registerCancellableHeadlessTask(taskKey, taskProvider, () => () => {
263
- /* Cancel is no-op */
264
- });
265
- },
266
-
267
- /**
268
- * Register a cancellable headless task. A headless task is a bit of code that runs without a UI.
269
- *
270
- * See https://reactnative.dev/docs/appregistry#registercancellableheadlesstask
271
- */
272
- registerCancellableHeadlessTask(
273
- taskKey: string,
274
- taskProvider: TaskProvider,
275
- taskCancelProvider: TaskCancelProvider,
276
- ): void {
277
- if (taskProviders.has(taskKey)) {
278
- console.warn(
279
- `registerHeadlessTask or registerCancellableHeadlessTask called multiple times for same key '${taskKey}'`,
280
- );
281
- }
282
- taskProviders.set(taskKey, taskProvider);
283
- taskCancelProviders.set(taskKey, taskCancelProvider);
284
- },
285
-
286
- /**
287
- * Only called from native code. Starts a headless task.
288
- *
289
- * See https://reactnative.dev/docs/appregistry#startheadlesstask
290
- */
291
- startHeadlessTask(taskId: number, taskKey: string, data: any): void {
292
- const taskProvider = taskProviders.get(taskKey);
293
- if (!taskProvider) {
294
- console.warn(`No task registered for key ${taskKey}`);
295
- if (NativeHeadlessJsTaskSupport) {
296
- NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
297
- }
298
- return;
299
- }
300
- taskProvider()(data)
301
- .then(() => {
302
- if (NativeHeadlessJsTaskSupport) {
303
- NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
304
- }
305
- })
306
- .catch(reason => {
307
- console.error(reason);
308
-
309
- if (
310
- NativeHeadlessJsTaskSupport &&
311
- reason instanceof HeadlessJsTaskError
312
- ) {
313
- // $FlowFixMe[unused-promise]
314
- NativeHeadlessJsTaskSupport.notifyTaskRetry(taskId).then(
315
- retryPosted => {
316
- if (!retryPosted) {
317
- NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);
318
- }
319
- },
320
- );
321
- }
322
- });
323
- },
324
-
325
- /**
326
- * Only called from native code. Cancels a headless task.
327
- *
328
- * See https://reactnative.dev/docs/appregistry#cancelheadlesstask
329
- */
330
- cancelHeadlessTask(taskId: number, taskKey: string): void {
331
- const taskCancelProvider = taskCancelProviders.get(taskKey);
332
- if (!taskCancelProvider) {
333
- throw new Error(`No task canceller registered for key '${taskKey}'`);
334
- }
335
- taskCancelProvider()();
336
- },
337
- };
17
+ import * as AppRegistry from './AppRegistryImpl';
338
18
 
339
19
  // Register LogBox as a default surface
340
20
  AppRegistry.registerComponent('LogBox', () => {
@@ -357,4 +37,4 @@ global.RN$SurfaceRegistry = {
357
37
 
358
38
  registerCallableModule('AppRegistry', AppRegistry);
359
39
 
360
- export default AppRegistry;
40
+ export {AppRegistry};
@@ -0,0 +1,23 @@
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
+ export type {
12
+ TaskProvider,
13
+ ComponentProvider,
14
+ ComponentProviderInstrumentationHook,
15
+ AppConfig,
16
+ Runnable,
17
+ Runnables,
18
+ Registry,
19
+ WrapperComponentProvider,
20
+ RootViewStyleProvider,
21
+ } from './AppRegistry.flow';
22
+
23
+ export * as AppRegistry from './AppRegistryImpl';