react-native-windows 0.84.0-preview.9 → 0.85.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/.flowconfig +1 -5
  2. package/Common/unicode.cpp +36 -0
  3. package/Common/unicode.h +8 -0
  4. package/Directory.Build.props +1 -16
  5. package/Directory.Build.targets +12 -4
  6. package/Folly/ThreadNameStub.cpp +4 -6
  7. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  8. package/Libraries/Animated/Animated.d.ts +8 -1
  9. package/Libraries/Animated/AnimatedEvent.js +4 -4
  10. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  11. package/Libraries/Animated/animations/Animation.js +3 -3
  12. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  13. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  14. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  15. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  16. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  19. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  20. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  21. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  22. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  23. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  24. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  26. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  27. package/Libraries/Animated/useAnimatedColor.js +25 -0
  28. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  29. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  30. package/Libraries/AppState/AppState.js +1 -1
  31. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  32. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
  35. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  36. package/Libraries/Components/Button.js +2 -2
  37. package/Libraries/Components/Button.windows.js +2 -2
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  39. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  40. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  41. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  42. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  43. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  44. package/Libraries/Components/Pressable/Pressable.js +3 -3
  45. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  46. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  47. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  48. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  49. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  50. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
  51. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  52. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  53. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  54. package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
  55. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  56. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
  57. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  58. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  61. package/Libraries/Components/Switch/Switch.js +3 -3
  62. package/Libraries/Components/Switch/Switch.windows.js +3 -3
  63. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  64. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  65. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  66. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  67. package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
  68. package/Libraries/Components/TextInput/TextInput.js +8 -4
  69. package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
  70. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
  71. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  72. package/Libraries/Components/Touchable/Touchable.js +2 -2
  73. package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
  74. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  75. package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
  76. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  77. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  79. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
  80. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  81. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
  82. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  84. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  85. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  86. package/Libraries/Components/View/View.windows.js +1 -1
  87. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  88. package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
  89. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  90. package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
  91. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  92. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  93. package/Libraries/Core/ExceptionsManager.js +2 -2
  94. package/Libraries/Core/ExtendedError.js +3 -3
  95. package/Libraries/Core/RawEventEmitter.js +1 -1
  96. package/Libraries/Core/ReactNativeVersion.js +2 -2
  97. package/Libraries/Core/Timers/JSTimers.js +3 -2
  98. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  99. package/Libraries/Core/setUpErrorHandling.js +4 -2
  100. package/Libraries/Core/setUpReactDevTools.js +23 -6
  101. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  102. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  103. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  104. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  105. package/Libraries/Image/AssetSourceResolver.js +1 -1
  106. package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
  107. package/Libraries/Image/Image.android.js +172 -306
  108. package/Libraries/Image/ImageProps.js +9 -11
  109. package/Libraries/Image/ImageSource.js +2 -2
  110. package/Libraries/Image/ImageSourceUtils.js +8 -4
  111. package/Libraries/Image/ImageTypes.flow.js +2 -2
  112. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  113. package/Libraries/Image/nativeImageSource.js +1 -1
  114. package/Libraries/Interaction/InteractionManager.js +5 -4
  115. package/Libraries/Interaction/PanResponder.js +1 -1
  116. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  117. package/Libraries/Linking/Linking.js +1 -1
  118. package/Libraries/Lists/FlatList.js +3 -3
  119. package/Libraries/Lists/SectionList.js +1 -1
  120. package/Libraries/Lists/SectionListModern.js +2 -2
  121. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  122. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  123. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  124. package/Libraries/LogBox/LogBox.js +42 -19
  125. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  126. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  127. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  128. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  129. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  130. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
  131. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  132. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  136. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  137. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  138. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
  139. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  140. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  142. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
  143. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  144. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  145. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  146. package/Libraries/Modal/Modal.d.ts +4 -0
  147. package/Libraries/Modal/Modal.js +3 -3
  148. package/Libraries/Modal/Modal.windows.js +7 -3
  149. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  150. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  151. package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
  152. package/Libraries/Network/RCTNetworking.android.js +1 -1
  153. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  154. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  155. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  156. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  157. package/Libraries/Network/XMLHttpRequest.js +1 -1
  158. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  159. package/Libraries/Pressability/Pressability.js +5 -5
  160. package/Libraries/Pressability/Pressability.windows.js +5 -5
  161. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  162. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  163. package/Libraries/Pressability/usePressability.js +3 -14
  164. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  165. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  166. package/Libraries/ReactNative/AppContainer.js +1 -1
  167. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  168. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  169. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  170. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  171. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  172. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  173. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  174. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  175. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  176. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  177. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  178. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  179. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
  180. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  181. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  182. package/Libraries/StyleSheet/PointPropType.js +1 -1
  183. package/Libraries/StyleSheet/Rect.js +1 -1
  184. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  185. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  186. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  187. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  188. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  189. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  190. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  191. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  192. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  193. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  194. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  195. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  196. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  197. package/Libraries/StyleSheet/processColorArray.js +2 -2
  198. package/Libraries/StyleSheet/processFilter.js +2 -2
  199. package/Libraries/Text/Text.js +295 -627
  200. package/Libraries/Text/Text.windows.js +342 -717
  201. package/Libraries/Text/TextNativeComponent.js +14 -7
  202. package/Libraries/Text/TextProps.js +4 -4
  203. package/Libraries/Text/TextProps.windows.js +4 -4
  204. package/Libraries/Types/CodegenTypes.js +1 -1
  205. package/Libraries/Types/CoreEventTypes.js +21 -21
  206. package/Libraries/Types/CoreEventTypes.windows.js +21 -21
  207. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  208. package/Libraries/Utilities/Appearance.js +6 -1
  209. package/Libraries/Utilities/Dimensions.js +1 -1
  210. package/Libraries/Utilities/HMRClient.js +32 -5
  211. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  212. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  213. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  214. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  215. package/Libraries/Utilities/logError.js +1 -1
  216. package/Libraries/Utilities/stringifySafe.js +3 -3
  217. package/Libraries/Utilities/useMergeRefs.js +2 -2
  218. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  219. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  220. package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
  221. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
  222. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
  223. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
  224. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
  225. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
  226. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
  227. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +5 -0
  228. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +94 -26
  229. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +11 -0
  230. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
  231. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
  232. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
  233. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
  234. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
  235. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +9 -5
  236. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +28 -6
  237. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +1 -1
  238. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
  239. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
  240. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +80 -0
  241. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.h +17 -0
  242. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
  243. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
  244. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
  245. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
  246. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +3 -8
  247. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
  248. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -63
  249. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
  250. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
  251. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
  252. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
  253. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
  254. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
  255. package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
  256. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
  257. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
  258. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
  259. package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
  260. package/Microsoft.ReactNative/QuirkSettings.h +0 -43
  261. package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
  262. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
  263. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
  264. package/Microsoft.ReactNative/ReactHost/React.h +0 -5
  265. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
  266. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
  267. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
  268. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
  269. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
  270. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
  271. package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
  272. package/Microsoft.ReactNative/RedBox.cpp +0 -9
  273. package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
  274. package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
  275. package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
  276. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +33 -25
  277. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +5 -3
  278. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  279. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
  280. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
  281. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
  282. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
  283. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
  284. package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
  285. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
  286. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +3 -3
  287. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
  288. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +10 -10
  289. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
  290. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
  291. package/PropertySheets/Autolink.props +1 -1
  292. package/PropertySheets/Bundle.props +1 -1
  293. package/PropertySheets/Codegen.props +1 -1
  294. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  295. package/PropertySheets/JSEngine.props +1 -1
  296. package/PropertySheets/NuGet.LockFile.props +8 -0
  297. package/PropertySheets/React.Cpp.props +8 -7
  298. package/PropertySheets/ReactNativeArchitecture.props +6 -24
  299. package/PropertySheets/WinUI.props +2 -2
  300. package/ReactCommon/ReactCommon.vcxproj +5 -6
  301. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
  302. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
  303. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
  304. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
  305. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
  306. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  307. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  308. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
  309. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
  310. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
  311. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
  312. package/Scripts/JustMyXaml.ps1 +8 -8
  313. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  314. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
  315. package/Scripts/UnitTest.ps1 +3 -1
  316. package/Scripts/creaternwapp.cmd +1 -9
  317. package/Scripts/creaternwlib.cmd +4 -24
  318. package/Scripts/rnw-dependencies.ps1 +15 -16
  319. package/Shared/DevSettings.h +0 -3
  320. package/Shared/DevSupportManager.cpp +55 -48
  321. package/Shared/DevSupportManager.h +0 -1
  322. package/Shared/Modules/IWebSocketModuleContentHandler.h +15 -0
  323. package/Shared/Modules/WebSocketModule.cpp +8 -3
  324. package/Shared/Networking/DefaultBlobResource.cpp +37 -0
  325. package/Shared/Networking/DefaultBlobResource.h +12 -0
  326. package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
  327. package/Shared/Networking/WinRTWebSocketResource.h +8 -120
  328. package/Shared/Shared.vcxitems +63 -38
  329. package/Shared/Shared.vcxitems.filters +54 -0
  330. package/Shared/Utils.cpp +0 -88
  331. package/Shared/Utils.h +0 -14
  332. package/Shared/WebSocketResourceFactory.cpp +28 -0
  333. package/Shared/tracing/fbsystrace.h +1 -0
  334. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
  335. package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
  336. package/codegen/react/components/rnwcore/Props.cpp +17 -7
  337. package/codegen/react/components/rnwcore/Props.h +3 -1
  338. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
  339. package/codegen/rnwcoreJSI.h +93 -77
  340. package/index.js +9 -0
  341. package/index.windows.js +9 -0
  342. package/jest/RefreshControlMock.js +2 -2
  343. package/jest/assetFileTransformer.js +8 -3
  344. package/jest/mockComponent.js +3 -4
  345. package/jest/mockNativeComponent.js +1 -1
  346. package/jest/mocks/ActivityIndicator.js +2 -2
  347. package/jest/mocks/Image.js +2 -2
  348. package/jest/mocks/Modal.js +2 -2
  349. package/jest/mocks/RefreshControl.js +3 -3
  350. package/jest/mocks/RendererProxy.js +2 -2
  351. package/jest/mocks/ScrollView.js +5 -5
  352. package/jest/mocks/Text.js +2 -2
  353. package/jest/mocks/TextInput.js +2 -2
  354. package/jest/mocks/View.js +2 -2
  355. package/jest/mocks/ViewNativeComponent.js +1 -1
  356. package/jest/mocks/requireNativeComponent.js +1 -1
  357. package/jest/mocks/useColorScheme.js +1 -1
  358. package/jest/setup.js +68 -31
  359. package/just-task.js +13 -2
  360. package/package.json +25 -20
  361. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  362. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  363. package/src/private/components/virtualview/VirtualView.js +14 -21
  364. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  365. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  366. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  367. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  368. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  369. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  370. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  371. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  372. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  373. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  374. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  375. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  376. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  377. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  378. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  379. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  380. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  381. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  382. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  383. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  384. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  385. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  386. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  387. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  388. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  389. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  390. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  391. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  392. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  393. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
  394. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  395. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  396. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  397. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  398. package/src/private/styles/composeStyles.js +1 -1
  399. package/src/private/utilities/toError.js +27 -0
  400. package/src/private/utilities/toExtendedError.js +30 -0
  401. package/src/private/webapis/dom/events/Event.js +1 -1
  402. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  403. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  404. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  405. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  406. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  407. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  408. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  409. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  410. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  411. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  412. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  413. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  414. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  415. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  416. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  417. package/src/private/webapis/performance/LongTasks.js +3 -3
  418. package/src/private/webapis/performance/Performance.js +4 -4
  419. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  420. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  421. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  422. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  423. package/src/types/globals.d.ts +4 -4
  424. package/template/cpp-lib/proj/MyLib.sln +0 -33
  425. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  426. package/template/cs-lib/proj/MyLib.sln +0 -33
  427. package/template/metro.config.js +12 -2
  428. package/templates/cpp-app/metro.config.js +12 -2
  429. package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
  430. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +2 -2
  431. package/templates/cpp-app/windows/MyApp.sln +0 -33
  432. package/templates/cpp-lib/example/metro.config.js +12 -2
  433. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +2 -2
  434. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  435. package/types/index.d.ts +2 -0
  436. package/Folly/.clang-format +0 -2
  437. package/Folly/Folly.natvis +0 -25
  438. package/Folly/Folly.vcxproj +0 -378
  439. package/Folly/Folly.vcxproj.filters +0 -558
  440. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
  441. package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
  442. package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
  443. package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
  444. package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
  445. package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
  446. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
  447. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
  448. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
  449. package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
  450. package/Folly/cgmanifest.json +0 -25
  451. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  452. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
  453. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  454. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
  455. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
  456. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
  457. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
  458. package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
  459. package/Microsoft.ReactNative/ReactSupport.h +0 -13
  460. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
  461. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
  462. package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
  463. package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -22
  464. package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
  465. package/Microsoft.ReactNative/XamlUIService.h +0 -37
  466. package/Microsoft.ReactNative/XamlUIService.idl +0 -53
  467. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
  468. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
  469. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
  470. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
  471. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
  472. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
  473. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
  474. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
  475. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
  476. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
  477. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
  478. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
  479. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
  480. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
  481. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
  482. package/fmt/.clang-format +0 -2
  483. package/fmt/cgmanifest.json +0 -15
  484. package/fmt/fmt.vcxproj +0 -153
  485. package/fmt/fmt.vcxproj.filters +0 -59
  486. package/fmt/pch.cpp +0 -4
  487. package/fmt/pch.h +0 -2
@@ -12,7 +12,7 @@ import StyleSheet from '../../StyleSheet/StyleSheet';
12
12
  import LayoutConformanceNativeComponent from './LayoutConformanceNativeComponent';
13
13
  import * as React from 'react';
14
14
 
15
- export type LayoutConformanceProps = $ReadOnly<{
15
+ export type LayoutConformanceProps = Readonly<{
16
16
  /**
17
17
  * strict: Layout in accordance with W3C spec, even when breaking
18
18
  * compatibility: Layout with the same behavior as previous versions of React Native
@@ -13,7 +13,7 @@ import type {ViewProps} from '../View/ViewPropTypes';
13
13
 
14
14
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
15
15
 
16
- type Props = $ReadOnly<{
16
+ type Props = Readonly<{
17
17
  mode: 'strict' | 'compatibility',
18
18
  ...ViewProps,
19
19
  }>;
@@ -55,6 +55,11 @@ export interface PressableProps
55
55
  */
56
56
  onPressIn?: null | ((event: GestureResponderEvent) => void) | undefined;
57
57
 
58
+ /**
59
+ * Called when the press location moves.
60
+ */
61
+ onPressMove?: null | ((event: GestureResponderEvent) => void) | undefined;
62
+
58
63
  /**
59
64
  * Called when a touch is released before `onPress`.
60
65
  */
@@ -29,11 +29,11 @@ import {memo, useMemo, useRef, useState} from 'react';
29
29
 
30
30
  export type {PressableAndroidRippleConfig};
31
31
 
32
- export type PressableStateCallbackType = $ReadOnly<{
32
+ export type PressableStateCallbackType = Readonly<{
33
33
  pressed: boolean,
34
34
  }>;
35
35
 
36
- type PressableBaseProps = $ReadOnly<{
36
+ type PressableBaseProps = Readonly<{
37
37
  /**
38
38
  * Whether a press gesture can be interrupted by a parent gesture such as a
39
39
  * scroll event. Defaults to true.
@@ -156,7 +156,7 @@ type PressableBaseProps = $ReadOnly<{
156
156
  unstable_pressDelay?: ?number,
157
157
  }>;
158
158
 
159
- export type PressableProps = $ReadOnly<{
159
+ export type PressableProps = Readonly<{
160
160
  // Pressability may override `onMouseEnter` and `onMouseLeave` to
161
161
  // implement `onHoverIn` and `onHoverOut` in a platform-agnostic way.
162
162
  // Hover events should be used instead of mouse events.
@@ -35,11 +35,11 @@ import type {HandledKeyboardEvent} from '../../Components/View/ViewPropTypes';
35
35
 
36
36
  export type {PressableAndroidRippleConfig};
37
37
 
38
- export type PressableStateCallbackType = $ReadOnly<{
38
+ export type PressableStateCallbackType = Readonly<{
39
39
  pressed: boolean,
40
40
  }>;
41
41
 
42
- type PressableBaseProps = $ReadOnly<{
42
+ type PressableBaseProps = Readonly<{
43
43
  /**
44
44
  * Whether a press gesture can be interrupted by a parent gesture such as a
45
45
  * scroll event. Defaults to true.
@@ -210,7 +210,7 @@ type PressableBaseProps = $ReadOnly<{
210
210
  unstable_pressDelay?: ?number,
211
211
  }>;
212
212
 
213
- export type PressableProps = $ReadOnly<{
213
+ export type PressableProps = Readonly<{
214
214
  // Pressability may override `onMouseEnter` and `onMouseLeave` to
215
215
  // implement `onHoverIn` and `onHoverOut` in a platform-agnostic way.
216
216
  // Hover events should be used instead of mouse events.
@@ -19,7 +19,7 @@ import invariant from 'invariant';
19
19
  import * as React from 'react';
20
20
  import {useMemo} from 'react';
21
21
 
22
- type NativeBackgroundProp = $ReadOnly<{
22
+ type NativeBackgroundProp = Readonly<{
23
23
  type: 'RippleAndroid',
24
24
  color: ?number,
25
25
  borderless: boolean,
@@ -40,13 +40,13 @@ export type PressableAndroidRippleConfig = {
40
40
  export default function useAndroidRippleForView(
41
41
  rippleConfig: ?PressableAndroidRippleConfig,
42
42
  viewRef: {current: null | React.ElementRef<typeof View>},
43
- ): ?$ReadOnly<{
43
+ ): ?Readonly<{
44
44
  onPressIn: (event: GestureResponderEvent) => void,
45
45
  onPressMove: (event: GestureResponderEvent) => void,
46
46
  onPressOut: (event: GestureResponderEvent) => void,
47
47
  viewProps:
48
- | $ReadOnly<{nativeBackgroundAndroid: NativeBackgroundProp}>
49
- | $ReadOnly<{nativeForegroundAndroid: NativeBackgroundProp}>,
48
+ | Readonly<{nativeBackgroundAndroid: NativeBackgroundProp}>
49
+ | Readonly<{nativeForegroundAndroid: NativeBackgroundProp}>,
50
50
  }> {
51
51
  const {color, borderless, radius, foreground} = rippleConfig ?? {};
52
52
 
@@ -21,7 +21,7 @@ export type {ProgressBarAndroidProps};
21
21
  // of ProgressBarAndroidProps. TS's Omit does not distribute over unions, so
22
22
  // we define our own version which does. This does not affect Flow.
23
23
  // $FlowExpectedError[unclear-type]
24
- type Omit<T, K> = T extends any ? Pick<T, Exclude<$Keys<T>, K>> : T;
24
+ type Omit<T, K> = T extends any ? Pick<T, Exclude<keyof T, K>> : T;
25
25
 
26
26
  /**
27
27
  * ProgressBarAndroid has been extracted from react-native core and will be removed in a future release.
@@ -35,7 +35,7 @@ type IndeterminateProgressBarAndroidStyleAttrProp = {
35
35
  indeterminate: true,
36
36
  };
37
37
 
38
- type ProgressBarAndroidBaseProps = $ReadOnly<{
38
+ type ProgressBarAndroidBaseProps = Readonly<{
39
39
  /**
40
40
  * Whether to show the ProgressBar (true, the default) or hide it (false).
41
41
  */
@@ -51,12 +51,12 @@ type ProgressBarAndroidBaseProps = $ReadOnly<{
51
51
  }>;
52
52
 
53
53
  export type ProgressBarAndroidProps =
54
- | $ReadOnly<{
54
+ | Readonly<{
55
55
  ...ViewProps,
56
56
  ...ProgressBarAndroidBaseProps,
57
57
  ...DeterminateProgressBarAndroidStyleAttrProp,
58
58
  }>
59
- | $ReadOnly<{
59
+ | Readonly<{
60
60
  ...ViewProps,
61
61
  ...ProgressBarAndroidBaseProps,
62
62
  ...IndeterminateProgressBarAndroidStyleAttrProp,
@@ -21,7 +21,7 @@ import * as React from 'react';
21
21
 
22
22
  const Platform = require('../../Utilities/Platform').default;
23
23
 
24
- export type RefreshControlPropsIOS = $ReadOnly<{
24
+ export type RefreshControlPropsIOS = Readonly<{
25
25
  /**
26
26
  * The color of the refresh indicator.
27
27
  */
@@ -36,7 +36,7 @@ export type RefreshControlPropsIOS = $ReadOnly<{
36
36
  title?: ?string,
37
37
  }>;
38
38
 
39
- export type RefreshControlPropsAndroid = $ReadOnly<{
39
+ export type RefreshControlPropsAndroid = Readonly<{
40
40
  /**
41
41
  * Whether the pull to refresh functionality is enabled.
42
42
  */
@@ -44,7 +44,7 @@ export type RefreshControlPropsAndroid = $ReadOnly<{
44
44
  /**
45
45
  * The colors (at least one) that will be used to draw the refresh indicator.
46
46
  */
47
- colors?: ?$ReadOnlyArray<ColorValue>,
47
+ colors?: ?ReadonlyArray<ColorValue>,
48
48
  /**
49
49
  * The background color of the refresh indicator.
50
50
  */
@@ -55,7 +55,7 @@ export type RefreshControlPropsAndroid = $ReadOnly<{
55
55
  size?: ?('default' | 'large'),
56
56
  }>;
57
57
 
58
- type RefreshControlBaseProps = $ReadOnly<{
58
+ type RefreshControlBaseProps = Readonly<{
59
59
  /**
60
60
  * Called when the view starts refreshing.
61
61
  */
@@ -72,7 +72,7 @@ type RefreshControlBaseProps = $ReadOnly<{
72
72
  progressViewOffset?: ?number,
73
73
  }>;
74
74
 
75
- export type RefreshControlProps = $ReadOnly<{
75
+ export type RefreshControlProps = Readonly<{
76
76
  ...ViewProps,
77
77
  ...RefreshControlPropsIOS,
78
78
  ...RefreshControlPropsAndroid,
@@ -21,7 +21,7 @@ import * as React from 'react';
21
21
 
22
22
  const Platform = require('../../Utilities/Platform').default;
23
23
 
24
- export type RefreshControlPropsIOS = $ReadOnly<{
24
+ export type RefreshControlPropsIOS = Readonly<{
25
25
  /**
26
26
  * The color of the refresh indicator.
27
27
  */
@@ -36,7 +36,7 @@ export type RefreshControlPropsIOS = $ReadOnly<{
36
36
  title?: ?string,
37
37
  }>;
38
38
 
39
- export type RefreshControlPropsAndroid = $ReadOnly<{
39
+ export type RefreshControlPropsAndroid = Readonly<{
40
40
  /**
41
41
  * Whether the pull to refresh functionality is enabled.
42
42
  */
@@ -44,7 +44,7 @@ export type RefreshControlPropsAndroid = $ReadOnly<{
44
44
  /**
45
45
  * The colors (at least one) that will be used to draw the refresh indicator.
46
46
  */
47
- colors?: ?$ReadOnlyArray<ColorValue>,
47
+ colors?: ?ReadonlyArray<ColorValue>,
48
48
  /**
49
49
  * The background color of the refresh indicator.
50
50
  */
@@ -55,7 +55,7 @@ export type RefreshControlPropsAndroid = $ReadOnly<{
55
55
  size?: ?('default' | 'large'),
56
56
  }>;
57
57
 
58
- type RefreshControlBaseProps = $ReadOnly<{
58
+ type RefreshControlBaseProps = Readonly<{
59
59
  /**
60
60
  * Called when the view starts refreshing.
61
61
  */
@@ -72,7 +72,7 @@ type RefreshControlBaseProps = $ReadOnly<{
72
72
  progressViewOffset?: ?number,
73
73
  }>;
74
74
 
75
- export type RefreshControlProps = $ReadOnly<{
75
+ export type RefreshControlProps = Readonly<{
76
76
  ...ViewProps,
77
77
  ...RefreshControlPropsIOS,
78
78
  ...RefreshControlPropsAndroid,
@@ -13,6 +13,7 @@ import type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';
13
13
  import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';
14
14
 
15
15
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
16
+ import {colorAttribute} from '../View/ReactNativeStyleAttributes';
16
17
 
17
18
  export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
18
19
  uiViewClassName: 'AndroidHorizontalScrollView',
@@ -22,7 +23,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
22
23
  decelerationRate: true,
23
24
  disableIntervalMomentum: true,
24
25
  maintainVisibleContentPosition: true,
25
- endFillColor: {process: require('../../StyleSheet/processColor').default},
26
+ endFillColor: colorAttribute,
26
27
  fadingEdgeLength: true,
27
28
  nestedScrollEnabled: true,
28
29
  overScrollMode: true,
@@ -44,21 +45,16 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
44
45
  borderBottomRightRadius: true,
45
46
  borderRadius: true,
46
47
  borderStyle: true,
47
- borderRightColor: {
48
- process: require('../../StyleSheet/processColor').default,
49
- },
50
- borderColor: {process: require('../../StyleSheet/processColor').default},
51
- borderBottomColor: {
52
- process: require('../../StyleSheet/processColor').default,
53
- },
48
+ borderRightColor: colorAttribute,
49
+ borderColor: colorAttribute,
50
+ borderBottomColor: colorAttribute,
54
51
  borderTopLeftRadius: true,
55
- borderTopColor: {process: require('../../StyleSheet/processColor').default},
52
+ borderTopColor: colorAttribute,
56
53
  removeClippedSubviews: true,
57
54
  borderTopRightRadius: true,
58
- borderLeftColor: {
59
- process: require('../../StyleSheet/processColor').default,
60
- },
55
+ borderLeftColor: colorAttribute,
61
56
  pointerEvents: true,
57
+ scrollsChildToFocus: true,
62
58
  },
63
59
  };
64
60
 
@@ -586,6 +586,15 @@ export interface ScrollViewPropsAndroid {
586
586
  * Causes the scrollbars not to turn transparent when they are not in use. The default value is false.
587
587
  */
588
588
  persistentScrollbar?: boolean | undefined;
589
+
590
+ /**
591
+ * When false, the ScrollView will not automatically scroll to a focused child when
592
+ * the child requests focus. This can be useful when you want to control the scroll
593
+ * position programmatically. The default value is true.
594
+ *
595
+ * @platform android
596
+ */
597
+ scrollsChildToFocus?: boolean | undefined;
589
598
  }
590
599
 
591
600
  export interface ScrollViewProps
@@ -174,7 +174,7 @@ export interface PublicScrollViewInstance
174
174
 
175
175
  type InnerViewInstance = React.ElementRef<typeof View>;
176
176
 
177
- export type ScrollViewPropsIOS = $ReadOnly<{
177
+ export type ScrollViewPropsIOS = Readonly<{
178
178
  /**
179
179
  * Controls whether iOS should automatically adjust the content inset
180
180
  * for scroll views that are placed behind a navigation bar or
@@ -330,7 +330,7 @@ export type ScrollViewPropsIOS = $ReadOnly<{
330
330
  ),
331
331
  }>;
332
332
 
333
- export type ScrollViewPropsAndroid = $ReadOnly<{
333
+ export type ScrollViewPropsAndroid = Readonly<{
334
334
  /**
335
335
  * Enables nested scrolling for Android API level 21+.
336
336
  * Nested scrolling is supported by default on iOS
@@ -388,14 +388,22 @@ export type ScrollViewPropsAndroid = $ReadOnly<{
388
388
  * @platform android
389
389
  */
390
390
  fadingEdgeLength?: ?number | {start: number, end: number},
391
+ /**
392
+ * When false, the ScrollView will not automatically scroll to a focused child when
393
+ * the child requests focus. This can be useful when you want to control the scroll
394
+ * position programmatically. The default value is true.
395
+ *
396
+ * @platform android
397
+ */
398
+ scrollsChildToFocus?: ?boolean,
391
399
  }>;
392
400
 
393
401
  type StickyHeaderComponentType = component(
394
- ref?: React.RefSetter<$ReadOnly<interface {setNextHeaderY: number => void}>>,
402
+ ref?: React.RefSetter<Readonly<interface {setNextHeaderY: number => void}>>,
395
403
  ...ScrollViewStickyHeaderProps
396
404
  );
397
405
 
398
- type ScrollViewBaseProps = $ReadOnly<{
406
+ type ScrollViewBaseProps = Readonly<{
399
407
  /**
400
408
  * These styles will be applied to the scroll view content container which
401
409
  * wraps all of the child views. Example:
@@ -514,7 +522,7 @@ type ScrollViewBaseProps = $ReadOnly<{
514
522
  * whether content is "visible" or not.
515
523
  *
516
524
  */
517
- maintainVisibleContentPosition?: ?$ReadOnly<{
525
+ maintainVisibleContentPosition?: ?Readonly<{
518
526
  minIndexForVisible: number,
519
527
  autoscrollToTopThreshold?: ?number,
520
528
  }>,
@@ -591,7 +599,7 @@ type ScrollViewBaseProps = $ReadOnly<{
591
599
  * top of the scroll view. This property is not supported in conjunction
592
600
  * with `horizontal={true}`.
593
601
  */
594
- stickyHeaderIndices?: ?$ReadOnlyArray<number>,
602
+ stickyHeaderIndices?: ?ReadonlyArray<number>,
595
603
  /**
596
604
  * A React Component that will be used to render sticky headers.
597
605
  * To be used together with `stickyHeaderIndices` or with `SectionList`, defaults to `ScrollViewStickyHeader`.
@@ -625,7 +633,7 @@ type ScrollViewBaseProps = $ReadOnly<{
625
633
  *
626
634
  * Overrides less configurable `pagingEnabled` and `snapToInterval` props.
627
635
  */
628
- snapToOffsets?: ?$ReadOnlyArray<number>,
636
+ snapToOffsets?: ?ReadonlyArray<number>,
629
637
  /**
630
638
  * Use in conjunction with `snapToOffsets`. By default, the beginning
631
639
  * of the list counts as a snap offset. Set `snapToStart` to false to disable
@@ -673,7 +681,7 @@ type ScrollViewBaseProps = $ReadOnly<{
673
681
  scrollViewRef?: React.RefSetter<PublicScrollViewInstance>,
674
682
  }>;
675
683
 
676
- export type ScrollViewProps = $ReadOnly<{
684
+ export type ScrollViewProps = Readonly<{
677
685
  ...Omit<ViewProps, 'experimental_accessibilityOrder'>,
678
686
  ...ScrollViewPropsIOS,
679
687
  ...ScrollViewPropsAndroid,
@@ -686,7 +694,7 @@ type ScrollViewState = {
686
694
 
687
695
  const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
688
696
 
689
- export type ScrollViewComponentStatics = $ReadOnly<{
697
+ export type ScrollViewComponentStatics = Readonly<{
690
698
  Context: typeof ScrollViewContext,
691
699
  }>;
692
700
 
@@ -1850,6 +1858,8 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1850
1858
  {style: StyleSheet.compose(baseStyle, outer)},
1851
1859
  <NativeScrollView
1852
1860
  {...props}
1861
+ // Nested scroll should always be enabled to allow the child scroll view to handle events before passing them to the refresh control parent
1862
+ nestedScrollEnabled={props.nestedScrollEnabled ?? true}
1853
1863
  style={StyleSheet.compose(baseStyle, inner)}
1854
1864
  // $FlowFixMe[incompatible-type] - Flow only knows element refs.
1855
1865
  ref={scrollViewRef}>
@@ -174,7 +174,7 @@ export interface PublicScrollViewInstance
174
174
 
175
175
  type InnerViewInstance = React.ElementRef<typeof View>;
176
176
 
177
- export type ScrollViewPropsIOS = $ReadOnly<{
177
+ export type ScrollViewPropsIOS = Readonly<{
178
178
  /**
179
179
  * Controls whether iOS should automatically adjust the content inset
180
180
  * for scroll views that are placed behind a navigation bar or
@@ -330,7 +330,7 @@ export type ScrollViewPropsIOS = $ReadOnly<{
330
330
  ),
331
331
  }>;
332
332
 
333
- export type ScrollViewPropsAndroid = $ReadOnly<{
333
+ export type ScrollViewPropsAndroid = Readonly<{
334
334
  /**
335
335
  * Enables nested scrolling for Android API level 21+.
336
336
  * Nested scrolling is supported by default on iOS
@@ -388,14 +388,22 @@ export type ScrollViewPropsAndroid = $ReadOnly<{
388
388
  * @platform android
389
389
  */
390
390
  fadingEdgeLength?: ?number | {start: number, end: number},
391
+ /**
392
+ * When false, the ScrollView will not automatically scroll to a focused child when
393
+ * the child requests focus. This can be useful when you want to control the scroll
394
+ * position programmatically. The default value is true.
395
+ *
396
+ * @platform android
397
+ */
398
+ scrollsChildToFocus?: ?boolean,
391
399
  }>;
392
400
 
393
401
  type StickyHeaderComponentType = component(
394
- ref?: React.RefSetter<$ReadOnly<interface {setNextHeaderY: number => void}>>,
402
+ ref?: React.RefSetter<Readonly<interface {setNextHeaderY: number => void}>>,
395
403
  ...ScrollViewStickyHeaderProps
396
404
  );
397
405
 
398
- type ScrollViewBaseProps = $ReadOnly<{
406
+ type ScrollViewBaseProps = Readonly<{
399
407
  /**
400
408
  * These styles will be applied to the scroll view content container which
401
409
  * wraps all of the child views. Example:
@@ -514,7 +522,7 @@ type ScrollViewBaseProps = $ReadOnly<{
514
522
  * whether content is "visible" or not.
515
523
  *
516
524
  */
517
- maintainVisibleContentPosition?: ?$ReadOnly<{
525
+ maintainVisibleContentPosition?: ?Readonly<{
518
526
  minIndexForVisible: number,
519
527
  autoscrollToTopThreshold?: ?number,
520
528
  }>,
@@ -591,7 +599,7 @@ type ScrollViewBaseProps = $ReadOnly<{
591
599
  * top of the scroll view. This property is not supported in conjunction
592
600
  * with `horizontal={true}`.
593
601
  */
594
- stickyHeaderIndices?: ?$ReadOnlyArray<number>,
602
+ stickyHeaderIndices?: ?ReadonlyArray<number>,
595
603
  /**
596
604
  * A React Component that will be used to render sticky headers.
597
605
  * To be used together with `stickyHeaderIndices` or with `SectionList`, defaults to `ScrollViewStickyHeader`.
@@ -625,7 +633,7 @@ type ScrollViewBaseProps = $ReadOnly<{
625
633
  *
626
634
  * Overrides less configurable `pagingEnabled` and `snapToInterval` props.
627
635
  */
628
- snapToOffsets?: ?$ReadOnlyArray<number>,
636
+ snapToOffsets?: ?ReadonlyArray<number>,
629
637
  /**
630
638
  * Use in conjunction with `snapToOffsets`. By default, the beginning
631
639
  * of the list counts as a snap offset. Set `snapToStart` to false to disable
@@ -673,7 +681,7 @@ type ScrollViewBaseProps = $ReadOnly<{
673
681
  scrollViewRef?: React.RefSetter<PublicScrollViewInstance>,
674
682
  }>;
675
683
 
676
- export type ScrollViewProps = $ReadOnly<{
684
+ export type ScrollViewProps = Readonly<{
677
685
  ...ViewProps,
678
686
  ...ScrollViewPropsIOS,
679
687
  ...ScrollViewPropsAndroid,
@@ -686,7 +694,7 @@ type ScrollViewState = {
686
694
 
687
695
  const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
688
696
 
689
- export type ScrollViewComponentStatics = $ReadOnly<{
697
+ export type ScrollViewComponentStatics = Readonly<{
690
698
  Context: typeof ScrollViewContext,
691
699
  }>;
692
700
 
@@ -1853,6 +1861,8 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1853
1861
  {style: StyleSheet.compose(baseStyle, outer)},
1854
1862
  <NativeScrollView
1855
1863
  {...props}
1864
+ // Nested scroll should always be enabled to allow the child scroll view to handle events before passing them to the refresh control parent
1865
+ nestedScrollEnabled={props.nestedScrollEnabled ?? true}
1856
1866
  style={StyleSheet.compose(baseStyle, inner)}
1857
1867
  // $FlowFixMe[incompatible-type] - Flow only knows element refs.
1858
1868
  ref={scrollViewRef}>
@@ -15,6 +15,7 @@ import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentTy
15
15
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
16
16
  import {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';
17
17
  import Platform from '../../Utilities/Platform';
18
+ import {colorAttribute} from '../View/ReactNativeStyleAttributes';
18
19
 
19
20
  export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
20
21
  Platform.OS === 'android'
@@ -60,34 +61,23 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
60
61
  nestedScrollEnabled: true,
61
62
  scrollEventThrottle: true,
62
63
  borderStyle: true,
63
- borderRightColor: {
64
- process: require('../../StyleSheet/processColor').default,
65
- },
66
- borderColor: {
67
- process: require('../../StyleSheet/processColor').default,
68
- },
69
- borderBottomColor: {
70
- process: require('../../StyleSheet/processColor').default,
71
- },
64
+ borderRightColor: colorAttribute,
65
+ borderColor: colorAttribute,
66
+ borderBottomColor: colorAttribute,
72
67
  persistentScrollbar: true,
73
68
  horizontal: true,
74
- endFillColor: {
75
- process: require('../../StyleSheet/processColor').default,
76
- },
69
+ endFillColor: colorAttribute,
77
70
  fadingEdgeLength: true,
78
71
  overScrollMode: true,
79
72
  borderTopLeftRadius: true,
80
73
  scrollPerfTag: true,
81
- borderTopColor: {
82
- process: require('../../StyleSheet/processColor').default,
83
- },
74
+ borderTopColor: colorAttribute,
84
75
  removeClippedSubviews: true,
85
76
  borderTopRightRadius: true,
86
- borderLeftColor: {
87
- process: require('../../StyleSheet/processColor').default,
88
- },
77
+ borderLeftColor: colorAttribute,
89
78
  pointerEvents: true,
90
79
  isInvertedVirtualizedList: true,
80
+ scrollsChildToFocus: true,
91
81
  },
92
82
  }
93
83
  : {
@@ -15,6 +15,7 @@ import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentTy
15
15
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
16
16
  import {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';
17
17
  import Platform from '../../Utilities/Platform';
18
+ import {colorAttribute} from '../View/ReactNativeStyleAttributes';
18
19
 
19
20
  export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
20
21
  Platform.OS === 'android'
@@ -60,34 +61,23 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
60
61
  nestedScrollEnabled: true,
61
62
  scrollEventThrottle: true,
62
63
  borderStyle: true,
63
- borderRightColor: {
64
- process: require('../../StyleSheet/processColor').default,
65
- },
66
- borderColor: {
67
- process: require('../../StyleSheet/processColor').default,
68
- },
69
- borderBottomColor: {
70
- process: require('../../StyleSheet/processColor').default,
71
- },
64
+ borderRightColor: colorAttribute,
65
+ borderColor: colorAttribute,
66
+ borderBottomColor: colorAttribute,
72
67
  persistentScrollbar: true,
73
68
  horizontal: true,
74
- endFillColor: {
75
- process: require('../../StyleSheet/processColor').default,
76
- },
69
+ endFillColor: colorAttribute,
77
70
  fadingEdgeLength: true,
78
71
  overScrollMode: true,
79
72
  borderTopLeftRadius: true,
80
73
  scrollPerfTag: true,
81
- borderTopColor: {
82
- process: require('../../StyleSheet/processColor').default,
83
- },
74
+ borderTopColor: colorAttribute,
84
75
  removeClippedSubviews: true,
85
76
  borderTopRightRadius: true,
86
- borderLeftColor: {
87
- process: require('../../StyleSheet/processColor').default,
88
- },
77
+ borderLeftColor: colorAttribute,
89
78
  pointerEvents: true,
90
79
  isInvertedVirtualizedList: true,
80
+ scrollsChildToFocus: true,
91
81
  },
92
82
  }
93
83
  : {
@@ -19,7 +19,7 @@ import type {
19
19
  } from '../../Types/CoreEventTypes';
20
20
  import type {ViewProps} from '../View/ViewPropTypes';
21
21
 
22
- export type ScrollViewNativeProps = $ReadOnly<{
22
+ export type ScrollViewNativeProps = Readonly<{
23
23
  ...ViewProps,
24
24
  alwaysBounceHorizontal?: ?boolean,
25
25
  alwaysBounceVertical?: ?boolean,
@@ -46,7 +46,7 @@ export type ScrollViewNativeProps = $ReadOnly<{
46
46
  indicatorStyle?: ?('default' | 'black' | 'white'),
47
47
  isInvertedVirtualizedList?: ?boolean,
48
48
  keyboardDismissMode?: ?('none' | 'on-drag' | 'interactive'),
49
- maintainVisibleContentPosition?: ?$ReadOnly<{
49
+ maintainVisibleContentPosition?: ?Readonly<{
50
50
  minIndexForVisible: number,
51
51
  autoscrollToTopThreshold?: ?number,
52
52
  }>,
@@ -69,13 +69,14 @@ export type ScrollViewNativeProps = $ReadOnly<{
69
69
  scrollPerfTag?: ?string,
70
70
  scrollToOverflowEnabled?: ?boolean,
71
71
  scrollsToTop?: ?boolean,
72
+ scrollsChildToFocus?: ?boolean,
72
73
  sendMomentumEvents?: ?boolean,
73
74
  showsHorizontalScrollIndicator?: ?boolean,
74
75
  showsVerticalScrollIndicator?: ?boolean,
75
76
  snapToAlignment?: ?('start' | 'center' | 'end'),
76
77
  snapToEnd?: ?boolean,
77
78
  snapToInterval?: ?number,
78
- snapToOffsets?: ?$ReadOnlyArray<number>,
79
+ snapToOffsets?: ?ReadonlyArray<number>,
79
80
  snapToStart?: ?boolean,
80
81
  zoomScale?: ?number,
81
82
  // Overrides
@@ -25,7 +25,7 @@ import {
25
25
  useState,
26
26
  } from 'react';
27
27
 
28
- export type ScrollViewStickyHeaderProps = $ReadOnly<{
28
+ export type ScrollViewStickyHeaderProps = Readonly<{
29
29
  children?: React.Node,
30
30
  nextHeaderLayoutY: ?number,
31
31
  onLayout: (event: LayoutChangeEvent) => void,
@@ -12,7 +12,7 @@
12
12
 
13
13
  import * as React from 'react';
14
14
 
15
- type Props = $ReadOnly<{
15
+ type Props = Readonly<{
16
16
  /**
17
17
  * Indicates whether the render function needs to be called again
18
18
  */