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
@@ -13,8 +13,6 @@ import type {
13
13
  MeasureLayoutOnSuccessCallback,
14
14
  MeasureOnSuccessCallback,
15
15
  } from '../../../src/private/types/HostInstance';
16
- import type {AccessibilityRole} from '../../Components/View/ViewAccessibility';
17
- import typeof DrawerLayoutAndroidCommon from './DrawerLayoutAndroid.js';
18
16
  import type {
19
17
  DrawerLayoutAndroidMethods,
20
18
  DrawerLayoutAndroidProps,
@@ -305,4 +303,4 @@ const styles = StyleSheet.create({
305
303
  },
306
304
  });
307
305
 
308
- export default DrawerLayoutAndroid as $FlowFixMe as DrawerLayoutAndroidCommon;
306
+ export default DrawerLayoutAndroid as $FlowFixMe;
@@ -4,16 +4,12 @@
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 strict-local
8
7
  * @format
8
+ * @flow strict-local
9
9
  */
10
10
 
11
- export default {
12
- primary: '#1292B4',
13
- white: '#FFF',
14
- lighter: '#F3F3F3',
15
- light: '#DAE1E7',
16
- dark: '#444',
17
- darker: '#222',
18
- black: '#000',
19
- };
11
+ 'use strict';
12
+
13
+ import DrawerLayoutAndroidFallback from './DrawerLayoutAndroidFallback';
14
+
15
+ export default DrawerLayoutAndroidFallback;
@@ -5,73 +5,13 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow strict-local
8
+ * @flow
9
9
  */
10
10
 
11
- 'use strict';
11
+ // NOTE: This file supports backwards compatibility of subpath (deep) imports
12
+ // from 'react-native' with platform-specific extensions. It can be deleted
13
+ // once we remove the "./*" mapping from package.json "exports".
12
14
 
13
- // import typeof DrawerLayoutAndroid from './DrawerLayoutAndroid.android';
14
- import type {
15
- MeasureInWindowOnSuccessCallback,
16
- MeasureLayoutOnSuccessCallback,
17
- MeasureOnSuccessCallback,
18
- } from '../../../src/private/types/HostInstance';
19
- import type {
20
- DrawerLayoutAndroidMethods,
21
- DrawerLayoutAndroidProps,
22
- DrawerLayoutAndroidState,
23
- } from './DrawerLayoutAndroidTypes';
15
+ import DrawerLayoutAndroid from './DrawerLayoutAndroid';
24
16
 
25
- import UnimplementedView from '../UnimplementedViews/UnimplementedView';
26
- import * as React from 'react';
27
-
28
- export type {
29
- DrawerLayoutAndroidProps,
30
- DrawerSlideEvent,
31
- } from './DrawerLayoutAndroidTypes';
32
-
33
- export default class DrawerLayoutAndroid
34
- extends React.Component<DrawerLayoutAndroidProps, DrawerLayoutAndroidState>
35
- implements DrawerLayoutAndroidMethods
36
- {
37
- render(): React.Node {
38
- return <UnimplementedView {...this.props} />;
39
- }
40
-
41
- openDrawer(): void {
42
- throw new Error('DrawerLayoutAndroid is only available on Android');
43
- }
44
-
45
- closeDrawer(): void {
46
- throw new Error('DrawerLayoutAndroid is only available on Android');
47
- }
48
-
49
- blur(): void {
50
- throw new Error('DrawerLayoutAndroid is only available on Android');
51
- }
52
-
53
- focus(): void {
54
- throw new Error('DrawerLayoutAndroid is only available on Android');
55
- }
56
-
57
- measure(callback: MeasureOnSuccessCallback): void {
58
- throw new Error('DrawerLayoutAndroid is only available on Android');
59
- }
60
-
61
- measureInWindow(callback: MeasureInWindowOnSuccessCallback): void {
62
- throw new Error('DrawerLayoutAndroid is only available on Android');
63
- }
64
-
65
- measureLayout(
66
- relativeToNativeNode: number,
67
- onSuccess: MeasureLayoutOnSuccessCallback,
68
- onFail?: () => void,
69
- ): void {
70
- throw new Error('DrawerLayoutAndroid is only available on Android');
71
- }
72
-
73
- // $FlowFixMe[unclear-type]
74
- setNativeProps(nativeProps: Object): void {
75
- throw new Error('DrawerLayoutAndroid is only available on Android');
76
- }
77
- }
17
+ export default DrawerLayoutAndroid;
@@ -0,0 +1,18 @@
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 DrawerLayoutAndroid from './DrawerLayoutAndroidFallback';
12
+
13
+ export type {
14
+ DrawerLayoutAndroidProps,
15
+ DrawerSlideEvent,
16
+ } from './DrawerLayoutAndroidTypes';
17
+
18
+ export default DrawerLayoutAndroid;
@@ -0,0 +1,71 @@
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
+ 'use strict';
12
+
13
+ import type {
14
+ MeasureInWindowOnSuccessCallback,
15
+ MeasureLayoutOnSuccessCallback,
16
+ MeasureOnSuccessCallback,
17
+ } from '../../../src/private/types/HostInstance';
18
+ import type {
19
+ DrawerLayoutAndroidMethods,
20
+ DrawerLayoutAndroidProps,
21
+ DrawerLayoutAndroidState,
22
+ } from './DrawerLayoutAndroidTypes';
23
+
24
+ import UnimplementedView from '../UnimplementedViews/UnimplementedView';
25
+ import * as React from 'react';
26
+
27
+ export default class DrawerLayoutAndroid
28
+ extends React.Component<DrawerLayoutAndroidProps, DrawerLayoutAndroidState>
29
+ implements DrawerLayoutAndroidMethods
30
+ {
31
+ render(): React.Node {
32
+ return <UnimplementedView {...this.props} />;
33
+ }
34
+
35
+ openDrawer(): void {
36
+ throw new Error('DrawerLayoutAndroid is only available on Android');
37
+ }
38
+
39
+ closeDrawer(): void {
40
+ throw new Error('DrawerLayoutAndroid is only available on Android');
41
+ }
42
+
43
+ blur(): void {
44
+ throw new Error('DrawerLayoutAndroid is only available on Android');
45
+ }
46
+
47
+ focus(): void {
48
+ throw new Error('DrawerLayoutAndroid is only available on Android');
49
+ }
50
+
51
+ measure(callback: MeasureOnSuccessCallback): void {
52
+ throw new Error('DrawerLayoutAndroid is only available on Android');
53
+ }
54
+
55
+ measureInWindow(callback: MeasureInWindowOnSuccessCallback): void {
56
+ throw new Error('DrawerLayoutAndroid is only available on Android');
57
+ }
58
+
59
+ measureLayout(
60
+ relativeToNativeNode: number,
61
+ onSuccess: MeasureLayoutOnSuccessCallback,
62
+ onFail?: () => void,
63
+ ): void {
64
+ throw new Error('DrawerLayoutAndroid is only available on Android');
65
+ }
66
+
67
+ // $FlowFixMe[unclear-type]
68
+ setNativeProps(nativeProps: Object): void {
69
+ throw new Error('DrawerLayoutAndroid is only available on Android');
70
+ }
71
+ }
@@ -10,6 +10,8 @@ import FlyoutNativeComponent from './FlyoutNativeComponent';
10
10
  import * as React from 'react';
11
11
  import {findNodeHandle, StyleSheet} from 'react-native';
12
12
 
13
+ const warnOnce = require('../../Utilities/warnOnce').default;
14
+
13
15
  type Placement =
14
16
  | 'top'
15
17
  | 'bottom'
@@ -66,6 +68,8 @@ type State = $ReadOnly<{
66
68
  targetRef?: React.ReactNode,
67
69
  }>;
68
70
 
71
+ const isFabric = global.nativeFabricUIManager;
72
+
69
73
  /**
70
74
  * Renders a flyout component.
71
75
  *
@@ -93,6 +97,13 @@ export class Flyout extends React.Component<Props, State> {
93
97
 
94
98
  constructor(props: Props) {
95
99
  super(props);
100
+
101
+ if (__DEV__ && isFabric) {
102
+ warnOnce(
103
+ 'flyout-new-arch-deprecated',
104
+ '`Flyout` is deprecated and not supported in the New Architecture. Use the new `Modal` component instead.',
105
+ );
106
+ }
96
107
  }
97
108
 
98
109
  render(): React.Node {
@@ -103,7 +103,7 @@ type KeyboardEventDefinitions = {
103
103
  *```
104
104
  */
105
105
 
106
- class Keyboard {
106
+ class KeyboardImpl {
107
107
  _currentlyShowing: ?KeyboardEvent;
108
108
 
109
109
  _emitter: NativeEventEmitter<KeyboardEventDefinitions> =
@@ -148,7 +148,7 @@ class Keyboard {
148
148
  */
149
149
  addListener<K: $Keys<KeyboardEventDefinitions>>(
150
150
  eventType: K,
151
- listener: (...$ElementType<KeyboardEventDefinitions, K>) => mixed,
151
+ listener: (...KeyboardEventDefinitions[K]) => mixed,
152
152
  context?: mixed,
153
153
  ): EventSubscription {
154
154
  return this._emitter.addListener(eventType, listener);
@@ -202,4 +202,6 @@ class Keyboard {
202
202
  }
203
203
  }
204
204
 
205
- export default (new Keyboard(): Keyboard);
205
+ const Keyboard: KeyboardImpl = new KeyboardImpl();
206
+
207
+ export default Keyboard;
@@ -51,7 +51,7 @@ export type KeyboardAvoidingViewProps = $ReadOnly<{
51
51
  keyboardVerticalOffset?: number,
52
52
  }>;
53
53
 
54
- type State = {
54
+ type KeyboardAvoidingViewState = {
55
55
  bottom: number,
56
56
  };
57
57
 
@@ -61,7 +61,7 @@ type State = {
61
61
  */
62
62
  class KeyboardAvoidingView extends React.Component<
63
63
  KeyboardAvoidingViewProps,
64
- State,
64
+ KeyboardAvoidingViewState,
65
65
  > {
66
66
  _frame: ?ViewLayout = null;
67
67
  _keyboardEvent: ?KeyboardEvent = null;
@@ -178,7 +178,10 @@ class KeyboardAvoidingView extends React.Component<
178
178
  }
179
179
  };
180
180
 
181
- componentDidUpdate(_: KeyboardAvoidingViewProps, prevState: State): void {
181
+ componentDidUpdate(
182
+ _: KeyboardAvoidingViewProps,
183
+ prevState: KeyboardAvoidingViewState,
184
+ ): void {
182
185
  const enabled = this.props.enabled ?? true;
183
186
  if (enabled && this._bottom !== prevState.bottom) {
184
187
  this.setState({bottom: this._bottom});
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardExt.js","sourceRoot":"","sources":["../../../src-win/Libraries/Components/Keyboard/KeyboardExt.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,CAAC;;;;;;AAEb,kDAA0B;AAG1B;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,gBAAwC,EACxC,EAAE;IAWF,MAAM,eAAgB,SAAQ,eAAK,CAAC,SAAgC;QAC3D,MAAM;YACX,MAAM,EAAC,YAAY,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,OAAO,CACL,8BAAC,gBAAgB,IAAC,GAAG,EAAE,YAAY,KAAO,IAAqB,GAAI,CACpE,CAAC;QACJ,CAAC;KACF;IAED,OAAO,eAAK,CAAC,UAAU,CACrB,CACE,KAAsD,EACtD,GAAmB,EACnB,EAAE;QACF,OAAO,8BAAC,eAAe,OAAK,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,eAAe,mBA8B1B","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n'use strict';\n\nimport React from 'react';\nimport {IKeyboardProps} from './KeyboardExtProps';\n\n/**\n * @deprecated - Exported types should already have the keyboarding properties on them\n */\nexport const supportKeyboard = <P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n interface IForwardRefProps {\n forwardedRef: React.Ref<any>;\n }\n\n // children is used to avoid error: Property 'children' does not exist on type 'IntrinsicAttributes & ViewProps &\n // IKeyboardProps & RefAttributes<any>\n type PropsWithoutForwardedRef = P & React.PropsWithChildren<IKeyboardProps>;\n type PropsWithForwardedRef = React.PropsWithoutRef<PropsWithoutForwardedRef> &\n IForwardRefProps;\n\n class SupportKeyboard extends React.Component<PropsWithForwardedRef> {\n public render(): JSX.Element {\n const {forwardedRef, ...rest} = this.props;\n return (\n <WrappedComponent ref={forwardedRef} {...(rest as unknown as P)} />\n );\n }\n }\n\n return React.forwardRef(\n (\n props: React.PropsWithoutRef<PropsWithoutForwardedRef>,\n ref: React.Ref<any>,\n ) => {\n return <SupportKeyboard {...props} forwardedRef={ref} />;\n },\n );\n};\n"]}
1
+ {"version":3,"file":"KeyboardExt.js","sourceRoot":"","sources":["../../../src-win/Libraries/Components/Keyboard/KeyboardExt.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,CAAC;;;;;;AAEb,kDAA0B;AAG1B;;GAEG;AACI,MAAM,eAAe,GAAG,CAC7B,gBAAwC,EACxC,EAAE;IAWF,MAAM,eAAgB,SAAQ,eAAK,CAAC,SAAgC;QAC3D,MAAM;YACX,MAAM,EAAC,YAAY,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,OAAO,CACL,8BAAC,gBAAgB,IAAC,GAAG,EAAE,YAAY,KAAO,IAAqB,GAAI,CACpE,CAAC;QACJ,CAAC;KACF;IAED,OAAO,eAAK,CAAC,UAAU,CACrB,CACE,KAAsD,EACtD,GAAmB,EACnB,EAAE;QACF,OAAO,8BAAC,eAAe,OAAK,KAAK,EAAE,YAAY,EAAE,GAAG,GAAI,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,eAAe,mBA8B1B","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n'use strict';\n\nimport React from 'react';\nimport {IKeyboardProps} from './KeyboardExtProps';\n\n/**\n * @deprecated - Exported types should already have the keyboarding properties on them\n */\nexport const supportKeyboard = <P extends Record<string, any>>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n interface IForwardRefProps {\n forwardedRef: React.Ref<any>;\n }\n\n // children is used to avoid error: Property 'children' does not exist on type 'IntrinsicAttributes & ViewProps &\n // IKeyboardProps & RefAttributes<any>\n type PropsWithoutForwardedRef = P & React.PropsWithChildren<IKeyboardProps>;\n type PropsWithForwardedRef = React.PropsWithoutRef<PropsWithoutForwardedRef> &\n IForwardRefProps;\n\n class SupportKeyboard extends React.Component<PropsWithForwardedRef> {\n public render() {\n const {forwardedRef, ...rest} = this.props;\n return (\n <WrappedComponent ref={forwardedRef} {...(rest as unknown as P)} />\n );\n }\n }\n\n return React.forwardRef(\n (\n props: React.PropsWithoutRef<PropsWithoutForwardedRef>,\n ref: React.Ref<any>,\n ) => {\n return <SupportKeyboard {...props} forwardedRef={ref} />;\n },\n );\n};\n"]}
@@ -11,6 +11,8 @@ import type {ViewProps} from '../View/ViewPropTypes';
11
11
  import {findNodeHandle} from '../../ReactNative/RendererProxy';
12
12
  import StyleSheet from '../../StyleSheet/StyleSheet';
13
13
 
14
+ const warnOnce = require('../../Utilities/warnOnce').default;
15
+
14
16
  const styles = StyleSheet.create({
15
17
  rctPopup: {
16
18
  position: 'absolute',
@@ -49,6 +51,8 @@ type State = $ReadOnly<{|
49
51
  targetRef?: React.ReactNode,
50
52
  |}>;
51
53
 
54
+ const isFabric = global.nativeFabricUIManager;
55
+
52
56
  /**
53
57
  * Renders a popup component.
54
58
  *
@@ -75,6 +79,13 @@ export class Popup extends React.Component<Props, State> {
75
79
  constructor(props: Props) {
76
80
  super(props);
77
81
  this.state = {target: undefined, targetRef: null};
82
+
83
+ if (__DEV__ && isFabric) {
84
+ warnOnce(
85
+ 'popup-new-arch-deprecated',
86
+ '`Popup` is deprecated and not supported in the New Architecture. Use the new `Modal` component instead.',
87
+ );
88
+ }
78
89
  }
79
90
 
80
91
  render(): React.Node {
@@ -26,7 +26,9 @@ import useAndroidRippleForView, {
26
26
  import * as React from 'react';
27
27
  import {useMemo, useRef, useState} from 'react';
28
28
 
29
- type ViewStyleProp = $ElementType<React.ElementConfig<typeof View>, 'style'>;
29
+ type ViewStyleProp = React.ElementConfig<typeof View>['style'];
30
+
31
+ export type {PressableAndroidRippleConfig};
30
32
 
31
33
  export type PressableStateCallbackType = $ReadOnly<{
32
34
  pressed: boolean,
@@ -43,7 +45,7 @@ type PressableBaseProps = $ReadOnly<{
43
45
  * Either children or a render prop that receives a boolean reflecting whether
44
46
  * the component is currently pressed.
45
47
  */
46
- children: React.Node | ((state: PressableStateCallbackType) => React.Node),
48
+ children?: React.Node | ((state: PressableStateCallbackType) => React.Node),
47
49
 
48
50
  /**
49
51
  * Duration to wait after hover in before calling `onHoverIn`.
@@ -105,6 +107,10 @@ type PressableBaseProps = $ReadOnly<{
105
107
  * Called when a touch is engaged before `onPress`.
106
108
  */
107
109
  onPressIn?: ?(event: GestureResponderEvent) => mixed,
110
+ /**
111
+ * Called when the press location moves.
112
+ */
113
+ onPressMove?: ?(event: GestureResponderEvent) => mixed,
108
114
 
109
115
  /**
110
116
  * Called when a touch is released before `onPress`.
@@ -146,7 +152,10 @@ type PressableBaseProps = $ReadOnly<{
146
152
  }>;
147
153
 
148
154
  export type PressableProps = $ReadOnly<{
149
- ...ViewProps,
155
+ // Pressability may override `onMouseEnter` and `onMouseLeave` to
156
+ // implement `onHoverIn` and `onHoverOut` in a platform-agnostic way.
157
+ // Hover events should be used instead of mouse events.
158
+ ...Omit<ViewProps, 'onMouseEnter' | 'onMouseLeave'>,
150
159
  ...PressableBaseProps,
151
160
  }>;
152
161
 
@@ -185,6 +194,7 @@ function Pressable(
185
194
  onLongPress,
186
195
  onPress,
187
196
  onPressIn,
197
+ onPressMove,
188
198
  onPressOut,
189
199
  pressRetentionOffset,
190
200
  style,
@@ -263,7 +273,12 @@ function Pressable(
263
273
  onPressIn(event);
264
274
  }
265
275
  },
266
- onPressMove: android_rippleConfig?.onPressMove,
276
+ onPressMove(event: GestureResponderEvent): void {
277
+ android_rippleConfig?.onPressMove(event);
278
+ if (onPressMove != null) {
279
+ onPressMove(event);
280
+ }
281
+ },
267
282
  onPressOut(event: GestureResponderEvent): void {
268
283
  if (android_rippleConfig != null) {
269
284
  android_rippleConfig.onPressOut(event);
@@ -288,6 +303,7 @@ function Pressable(
288
303
  onLongPress,
289
304
  onPress,
290
305
  onPressIn,
306
+ onPressMove,
291
307
  onPressOut,
292
308
  pressRetentionOffset,
293
309
  setPressed,
@@ -31,7 +31,9 @@ import * as React from 'react';
31
31
  import {useMemo, useRef, useState} from 'react';
32
32
  import type {HandledKeyboardEvent} from '../../Components/View/ViewPropTypes';
33
33
 
34
- type ViewStyleProp = $ElementType<React.ElementConfig<typeof View>, 'style'>;
34
+ type ViewStyleProp = React.ElementConfig<typeof View>['style'];
35
+
36
+ export type {PressableAndroidRippleConfig};
35
37
 
36
38
  export type PressableStateCallbackType = $ReadOnly<{
37
39
  pressed: boolean,
@@ -48,7 +50,7 @@ type PressableBaseProps = $ReadOnly<{
48
50
  * Either children or a render prop that receives a boolean reflecting whether
49
51
  * the component is currently pressed.
50
52
  */
51
- children: React.Node | ((state: PressableStateCallbackType) => React.Node),
53
+ children?: React.Node | ((state: PressableStateCallbackType) => React.Node),
52
54
 
53
55
  /**
54
56
  * Duration to wait after hover in before calling `onHoverIn`.
@@ -110,6 +112,10 @@ type PressableBaseProps = $ReadOnly<{
110
112
  * Called when a touch is engaged before `onPress`.
111
113
  */
112
114
  onPressIn?: ?(event: GestureResponderEvent) => mixed,
115
+ /**
116
+ * Called when the press location moves.
117
+ */
118
+ onPressMove?: ?(event: GestureResponderEvent) => mixed,
113
119
 
114
120
  /**
115
121
  * Called when a touch is released before `onPress`.
@@ -191,7 +197,10 @@ type PressableBaseProps = $ReadOnly<{
191
197
  }>;
192
198
 
193
199
  export type PressableProps = $ReadOnly<{
194
- ...ViewProps,
200
+ // Pressability may override `onMouseEnter` and `onMouseLeave` to
201
+ // implement `onHoverIn` and `onHoverOut` in a platform-agnostic way.
202
+ // Hover events should be used instead of mouse events.
203
+ ...Omit<ViewProps, 'onMouseEnter' | 'onMouseLeave'>,
195
204
  ...PressableBaseProps,
196
205
  }>;
197
206
 
@@ -233,6 +242,7 @@ function Pressable(
233
242
  onLongPress,
234
243
  onPress,
235
244
  onPressIn,
245
+ onPressMove,
236
246
  onPressOut,
237
247
  // [Windows
238
248
  onBlur,
@@ -321,7 +331,12 @@ function Pressable(
321
331
  onPressIn(event);
322
332
  }
323
333
  },
324
- onPressMove: android_rippleConfig?.onPressMove,
334
+ onPressMove(event: GestureResponderEvent): void {
335
+ android_rippleConfig?.onPressMove(event);
336
+ if (onPressMove != null) {
337
+ onPressMove(event);
338
+ }
339
+ },
325
340
  onPressOut(event: GestureResponderEvent): void {
326
341
  if (android_rippleConfig != null) {
327
342
  android_rippleConfig.onPressOut(event);
@@ -352,6 +367,7 @@ function Pressable(
352
367
  onLongPress,
353
368
  onPress,
354
369
  onPressIn,
370
+ onPressMove,
355
371
  onPressOut,
356
372
  // [Windows
357
373
  onBlur,
@@ -13,12 +13,34 @@
13
13
  import typeof ProgressBarAndroidNativeComponentType from './ProgressBarAndroidNativeComponent';
14
14
  import type {ProgressBarAndroidProps} from './ProgressBarAndroidTypes';
15
15
 
16
+ import Platform from '../../Utilities/Platform';
17
+
16
18
  export type {ProgressBarAndroidProps};
17
19
 
18
- export default require('../UnimplementedViews/UnimplementedView')
19
- .default as $FlowFixMe as component(
20
+ // A utility type to preserve the semantics of the union uses in the definition
21
+ // of ProgressBarAndroidProps. TS's Omit does not distribute over unions, so
22
+ // we define our own version which does. This does not affect Flow.
23
+ // $FlowExpectedError[unclear-type]
24
+ type Omit<T, K> = T extends any ? Pick<T, Exclude<$Keys<T>, K>> : T;
25
+
26
+ /**
27
+ * ProgressBarAndroid has been extracted from react-native core and will be removed in a future release.
28
+ * It can now be installed and imported from `@react-native-community/progress-bar-android` instead of 'react-native'.
29
+ * @see https://github.com/react-native-community/progress-bar-android
30
+ * @deprecated
31
+ */
32
+ let ProgressBarAndroid: component(
20
33
  ref?: React.RefSetter<
21
34
  React.ElementRef<ProgressBarAndroidNativeComponentType>,
22
35
  >,
23
- ...props: ProgressBarAndroidProps
36
+ ...props: Omit<ProgressBarAndroidProps, empty>
24
37
  );
38
+
39
+ if (Platform.OS === 'android') {
40
+ ProgressBarAndroid = require('./ProgressBarAndroid').default;
41
+ } else {
42
+ ProgressBarAndroid = require('../UnimplementedViews/UnimplementedView')
43
+ .default as $FlowFixMe;
44
+ }
45
+
46
+ export default ProgressBarAndroid;
@@ -17,28 +17,25 @@ import type {ViewProps} from '../View/ViewPropTypes';
17
17
  * `indeterminate` can only be false if `styleAttr` is Horizontal, and requires a
18
18
  * `progress` value.
19
19
  */
20
- type ProgressBarAndroidStyleAttrProp =
21
- | {
22
- styleAttr: 'Horizontal',
23
- indeterminate: false,
24
- progress: number,
25
- }
26
- | {
27
- styleAttr:
28
- | 'Horizontal'
29
- | 'Normal'
30
- | 'Small'
31
- | 'Large'
32
- | 'Inverse'
33
- | 'SmallInverse'
34
- | 'LargeInverse',
35
- indeterminate: true,
36
- };
20
+ type DeterminateProgressBarAndroidStyleAttrProp = {
21
+ styleAttr: 'Horizontal',
22
+ indeterminate: false,
23
+ progress: number,
24
+ };
37
25
 
38
- export type ProgressBarAndroidProps = $ReadOnly<{
39
- ...ViewProps,
40
- ...ProgressBarAndroidStyleAttrProp,
26
+ type IndeterminateProgressBarAndroidStyleAttrProp = {
27
+ styleAttr:
28
+ | 'Horizontal'
29
+ | 'Normal'
30
+ | 'Small'
31
+ | 'Large'
32
+ | 'Inverse'
33
+ | 'SmallInverse'
34
+ | 'LargeInverse',
35
+ indeterminate: true,
36
+ };
41
37
 
38
+ type ProgressBarAndroidBaseProps = $ReadOnly<{
42
39
  /**
43
40
  * Whether to show the ProgressBar (true, the default) or hide it (false).
44
41
  */
@@ -52,3 +49,15 @@ export type ProgressBarAndroidProps = $ReadOnly<{
52
49
  */
53
50
  testID?: ?string,
54
51
  }>;
52
+
53
+ export type ProgressBarAndroidProps =
54
+ | $ReadOnly<{
55
+ ...ViewProps,
56
+ ...ProgressBarAndroidBaseProps,
57
+ ...DeterminateProgressBarAndroidStyleAttrProp,
58
+ }>
59
+ | $ReadOnly<{
60
+ ...ViewProps,
61
+ ...ProgressBarAndroidBaseProps,
62
+ ...IndeterminateProgressBarAndroidStyleAttrProp,
63
+ }>;
@@ -17,7 +17,7 @@ import AndroidSwipeRefreshLayoutNativeComponent, {
17
17
  import PullToRefreshViewNativeComponent, {
18
18
  Commands as PullToRefreshCommands,
19
19
  } from './PullToRefreshViewNativeComponent';
20
- import React from 'react';
20
+ import * as React from 'react';
21
21
 
22
22
  const Platform = require('../../Utilities/Platform').default;
23
23
 
@@ -17,7 +17,7 @@ import AndroidSwipeRefreshLayoutNativeComponent, {
17
17
  import PullToRefreshViewNativeComponent, {
18
18
  Commands as PullToRefreshCommands,
19
19
  } from './PullToRefreshViewNativeComponent';
20
- import React from 'react';
20
+ import * as React from 'react';
21
21
 
22
22
  const Platform = require('../../Utilities/Platform').default;
23
23
 
@@ -365,7 +365,7 @@ export interface ScrollViewPropsIOS {
365
365
 
366
366
  /**
367
367
  * When true the scroll view bounces when it reaches the end of the
368
- * content if the content is larger then the scroll view along the axis of
368
+ * content if the content is larger than the scroll view along the axis of
369
369
  * the scroll direction. When false it disables all bouncing even if
370
370
  * the `alwaysBounce*` props are true. The default value is true.
371
371
  */
@@ -405,7 +405,7 @@ export interface ScrollViewPropsIOS {
405
405
 
406
406
  /**
407
407
  * This property specifies how the safe area insets are used to modify the content area of the scroll view.
408
- * The default value of this property must be 'automatic'. But the default value is 'never' until RN@0.51.
408
+ * The default value of this property is "never".
409
409
  */
410
410
  contentInsetAdjustmentBehavior?:
411
411
  | 'automatic'
@@ -869,7 +869,7 @@ export class ScrollView extends ScrollViewBase {
869
869
  * This function sends props straight to native. They will not participate in
870
870
  * future diff process - this means that if you do not include them in the
871
871
  * next render, they will remain active (see [Direct
872
- * Manipulation](https://reactnative.dev/docs/direct-manipulation)).
872
+ * Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture)).
873
873
  */
874
874
  setNativeProps(nativeProps: object): void;
875
875
  }