@office-iss/react-native-win32 0.79.0 → 0.80.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 (294) hide show
  1. package/.flowconfig +10 -3
  2. package/CHANGELOG.json +112 -19
  3. package/CHANGELOG.md +46 -11
  4. package/IntegrationTests/ImageCachePolicyTest.js +1 -1
  5. package/IntegrationTests/LayoutEventsTest.js +1 -4
  6. package/Libraries/Alert/Alert.d.ts +4 -1
  7. package/Libraries/Alert/Alert.js +3 -0
  8. package/Libraries/Alert/RCTAlertManager.js +17 -0
  9. package/Libraries/Animated/Animated.js.flow +1 -3
  10. package/Libraries/Animated/AnimatedEvent.js +4 -3
  11. package/Libraries/Animated/AnimatedExports.js +2 -2
  12. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  13. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  14. package/Libraries/Animated/Easing.js +13 -15
  15. package/Libraries/Animated/animations/Animation.js +8 -4
  16. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  17. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  18. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  19. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  20. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  21. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  22. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  23. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  24. package/Libraries/AppState/AppState.js +7 -2
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/BlobManager.js +1 -0
  28. package/Libraries/Blob/FileReader.js +219 -8
  29. package/Libraries/Blob/URL.js +37 -12
  30. package/Libraries/Blob/URLSearchParams.js +106 -31
  31. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
  34. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  35. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  36. package/Libraries/Components/Button.js +1 -1
  37. package/Libraries/Components/Button.win32.js +1 -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/Keyboard/Keyboard.js +5 -3
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  45. package/Libraries/Components/Pressable/Pressable.js +20 -4
  46. package/Libraries/Components/Pressable/Pressable.win32.js +20 -4
  47. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  48. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  49. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  50. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  51. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  52. package/Libraries/Components/StaticRenderer.js +1 -1
  53. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  54. package/Libraries/Components/Switch/Switch.js +8 -4
  55. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  57. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +2 -1
  58. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  59. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  60. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  61. package/Libraries/Components/TextInput/TextInput.flow.win32.js +1208 -0
  62. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  63. package/Libraries/Components/TextInput/TextInput.win32.js +89 -1059
  64. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  65. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  66. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  67. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  68. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +4 -32
  70. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  71. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +2 -1
  72. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  73. package/Libraries/Components/Touchable/Touchable.js +5 -5
  74. package/Libraries/Components/Touchable/Touchable.win32.js +5 -5
  75. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  76. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  77. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +6 -6
  79. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  80. package/Libraries/Components/View/View.js +18 -21
  81. package/Libraries/Components/View/View.win32.js +21 -24
  82. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  83. package/Libraries/Components/View/ViewAccessibility.win32.js +9 -1
  84. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +49 -3
  86. package/Libraries/Core/ReactNativeVersion.js +1 -1
  87. package/Libraries/Core/setUpReactDevTools.js +5 -5
  88. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  89. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  90. package/Libraries/Image/AssetSourceResolver.js +17 -4
  91. package/Libraries/Image/Image.d.ts +26 -10
  92. package/Libraries/Image/Image.js +17 -0
  93. package/Libraries/Image/Image.js.flow +5 -5
  94. package/Libraries/Image/ImageBackground.js +2 -0
  95. package/Libraries/Image/ImageInjection.js +1 -1
  96. package/Libraries/Image/ImageProps.js +22 -17
  97. package/Libraries/Image/ImageSource.js +3 -1
  98. package/Libraries/Image/ImageSourceUtils.js +4 -2
  99. package/Libraries/Image/ImageTypes.flow.js +1 -1
  100. package/Libraries/Image/Tests/ImageWin32Test.d.ts +2 -1
  101. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  102. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  103. package/Libraries/Interaction/InteractionManager.js +1 -1
  104. package/Libraries/Interaction/PanResponder.js +3 -3
  105. package/Libraries/Interaction/TaskQueue.js +1 -0
  106. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  107. package/Libraries/Linking/Linking.js +1 -1
  108. package/Libraries/Lists/FlatList.d.ts +2 -2
  109. package/Libraries/Lists/FlatList.js +8 -11
  110. package/Libraries/Lists/SectionList.js +39 -42
  111. package/Libraries/Lists/SectionListModern.js +25 -34
  112. package/Libraries/Lists/VirtualizedList.js +1 -0
  113. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  114. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  115. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  116. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +140 -0
  117. package/Libraries/Modal/Modal.js +33 -7
  118. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  119. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  120. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  121. package/Libraries/NativeComponent/BaseViewConfig.win32.js +1 -0
  122. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  123. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  124. package/Libraries/Network/RCTNetworking.android.js +1 -1
  125. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  126. package/Libraries/Network/RCTNetworking.js +17 -0
  127. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  128. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  129. package/Libraries/Network/XMLHttpRequest.js +781 -10
  130. package/Libraries/Performance/Systrace.js +7 -7
  131. package/Libraries/Pressability/Pressability.js +1 -1
  132. package/Libraries/Pressability/Pressability.win32.js +1 -1
  133. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  134. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  135. package/Libraries/ReactNative/AppRegistry.js +2 -322
  136. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  137. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  138. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  139. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  140. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  141. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  142. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  143. package/Libraries/ReactNative/renderApplication.js +9 -0
  144. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  145. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  146. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  147. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  148. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  149. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  150. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  151. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  152. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  153. package/Libraries/Settings/Settings.ios.js +1 -0
  154. package/Libraries/Settings/Settings.js +13 -19
  155. package/Libraries/Settings/Settings.win32.js +19 -20
  156. package/Libraries/Settings/SettingsFallback.js +33 -0
  157. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  158. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  159. package/Libraries/StyleSheet/Rect.js +1 -0
  160. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  161. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  162. package/Libraries/StyleSheet/{StyleSheet.win32.js → StyleSheetExports.js} +2 -151
  163. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  164. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  166. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  167. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  168. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  169. package/Libraries/Text/Text.d.ts +2 -5
  170. package/Libraries/Text/Text.js +3 -3
  171. package/Libraries/Text/Text.win32.js +3 -3
  172. package/Libraries/Text/TextNativeComponent.js +0 -4
  173. package/Libraries/Text/TextNativeComponent.win32.js +0 -4
  174. package/Libraries/Text/TextProps.js +5 -33
  175. package/Libraries/Text/TextProps.win32.js +5 -30
  176. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  177. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  178. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  179. package/Libraries/Types/CoreEventTypes.js +1 -1
  180. package/Libraries/Types/CoreEventTypes.win32.js +1 -1
  181. package/Libraries/Utilities/Appearance.js +2 -0
  182. package/Libraries/Utilities/BackHandler.js +17 -0
  183. package/Libraries/Utilities/DeviceInfo.js +2 -0
  184. package/Libraries/Utilities/Dimensions.js +1 -1
  185. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  186. package/Libraries/Utilities/Platform.js +17 -0
  187. package/Libraries/Utilities/PlatformTypes.js +11 -3
  188. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  189. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  190. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  191. package/Libraries/WebSocket/WebSocket.js +313 -8
  192. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  193. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  194. package/flow/global.js +1 -0
  195. package/index.js +51 -331
  196. package/index.win32.js +71 -352
  197. package/interface.js +0 -4
  198. package/jest/resolver.js +31 -0
  199. package/overrides.json +45 -47
  200. package/package.json +26 -26
  201. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  202. package/src/private/animated/NativeAnimatedHelper.win32.js +21 -8
  203. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  204. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  205. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  206. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  207. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  208. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  209. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  210. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  211. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  212. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  213. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  214. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  215. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  216. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  217. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  218. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  219. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  220. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  221. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  222. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  223. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  224. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  225. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  226. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.win32.js +1 -1
  227. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  228. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  229. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  230. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  231. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  232. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  233. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  234. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  235. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  236. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  237. package/src/private/styles/composeStyles.js +12 -5
  238. package/src/private/types/HostComponent.js +1 -1
  239. package/src/private/types/HostInstance.js +67 -1
  240. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  241. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  242. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  243. package/src/private/webapis/performance/Performance.js +1 -3
  244. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  245. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  246. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  247. package/src/types/globals.d.ts +42 -0
  248. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +7 -7
  249. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +3 -3
  250. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +1 -1
  251. package/src-win/Libraries/Text/Text.d.ts +2 -5
  252. package/types/index.d.ts +6 -3
  253. package/types/public/ReactNativeTypes.d.ts +2 -2
  254. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  255. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  256. package/Libraries/Blob/FileReader_new.js +0 -231
  257. package/Libraries/Blob/FileReader_old.js +0 -186
  258. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  259. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  260. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  261. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  262. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  263. package/Libraries/Events/CustomEvent.js +0 -32
  264. package/Libraries/Events/EventPolyfill.js +0 -239
  265. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  266. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  267. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  268. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  269. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  270. package/Libraries/NewAppScreen/components/Header.js +0 -77
  271. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  272. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  273. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  274. package/Libraries/NewAppScreen/components/logo.png +0 -0
  275. package/Libraries/NewAppScreen/index.js +0 -25
  276. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  277. package/Libraries/Utilities/DeviceInfo.win32.js +0 -19
  278. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  279. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  280. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  281. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  282. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  283. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  284. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  285. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  286. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  287. package/flow/jest.js +0 -1287
  288. package/jest/__tests__/setup-test.js +0 -18
  289. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  290. package/src/private/utilities/ensureInstance.js +0 -21
  291. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  292. package/types/modules/LaunchScreen.d.ts +0 -18
  293. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  294. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
@@ -14,21 +14,27 @@ import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
14
14
  import type {
15
15
  ScrollToLocationParamsType,
16
16
  SectionBase as _SectionBase,
17
+ SectionData,
17
18
  VirtualizedSectionListProps,
18
19
  } from '@react-native/virtualized-lists';
19
- import type {ElementRef} from 'react';
20
20
 
21
21
  import Platform from '../Utilities/Platform';
22
22
  import VirtualizedLists from '@react-native/virtualized-lists';
23
- import React, {forwardRef, useImperativeHandle, useRef} from 'react';
23
+ import * as React from 'react';
24
+ import {forwardRef, useImperativeHandle, useRef} from 'react';
24
25
 
25
26
  const VirtualizedSectionList = VirtualizedLists.VirtualizedSectionList;
26
27
 
27
- type Item = any;
28
+ type DefaultSectionT = {
29
+ [key: string]: any,
30
+ };
28
31
 
29
- export type SectionBase<SectionItemT> = _SectionBase<SectionItemT>;
32
+ export type SectionBase<
33
+ SectionItemT,
34
+ SectionT = DefaultSectionT,
35
+ > = _SectionBase<SectionItemT, SectionT>;
30
36
 
31
- type RequiredProps<SectionT: SectionBase<any>> = {
37
+ type RequiredProps<ItemT, SectionT = DefaultSectionT> = {
32
38
  /**
33
39
  * The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
34
40
  *
@@ -40,17 +46,17 @@ type RequiredProps<SectionT: SectionBase<any>> = {
40
46
  * ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>,
41
47
  * }>
42
48
  */
43
- sections: $ReadOnlyArray<SectionT>,
49
+ sections: $ReadOnlyArray<SectionData<ItemT, SectionT>>,
44
50
  };
45
51
 
46
- type OptionalProps<SectionT: SectionBase<any>> = {
52
+ type OptionalProps<ItemT, SectionT = DefaultSectionT> = {
47
53
  /**
48
54
  * Default renderer for every item in every section. Can be over-ridden on a per-section basis.
49
55
  */
50
56
  renderItem?: (info: {
51
- item: Item,
57
+ item: ItemT,
52
58
  index: number,
53
- section: SectionT,
59
+ section: SectionData<ItemT, SectionT>,
54
60
  separators: {
55
61
  highlight: () => void,
56
62
  unhighlight: () => void,
@@ -81,7 +87,7 @@ type OptionalProps<SectionT: SectionBase<any>> = {
81
87
  * falls back to using the index, like react does. Note that this sets keys for each item, but
82
88
  * each overall section still needs its own key.
83
89
  */
84
- keyExtractor?: ?(item: Item, index: number) => string,
90
+ keyExtractor?: ?(item: ItemT, index: number) => string,
85
91
  /**
86
92
  * Called once when the scroll position gets within `onEndReachedThreshold` of the rendered
87
93
  * content.
@@ -95,28 +101,13 @@ type OptionalProps<SectionT: SectionBase<any>> = {
95
101
  removeClippedSubviews?: boolean,
96
102
  };
97
103
 
98
- export type Props<SectionT: SectionBase<any>> = $ReadOnly<{
99
- ...$Diff<
100
- VirtualizedSectionListProps<SectionT>,
101
- {
102
- getItem: $PropertyType<VirtualizedSectionListProps<SectionT>, 'getItem'>,
103
- getItemCount: $PropertyType<
104
- VirtualizedSectionListProps<SectionT>,
105
- 'getItemCount',
106
- >,
107
- renderItem: $PropertyType<
108
- VirtualizedSectionListProps<SectionT>,
109
- 'renderItem',
110
- >,
111
- keyExtractor: $PropertyType<
112
- VirtualizedSectionListProps<SectionT>,
113
- 'keyExtractor',
114
- >,
115
- ...
116
- },
104
+ export type Props<ItemT, SectionT = DefaultSectionT> = $ReadOnly<{
105
+ ...Omit<
106
+ VirtualizedSectionListProps<ItemT, SectionT>,
107
+ 'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor',
117
108
  >,
118
- ...RequiredProps<SectionT>,
119
- ...OptionalProps<SectionT>,
109
+ ...RequiredProps<ItemT, SectionT>,
110
+ ...OptionalProps<ItemT, SectionT>,
120
111
  }>;
121
112
 
122
113
  /**
@@ -176,14 +167,14 @@ export type Props<SectionT: SectionBase<any>> = $ReadOnly<{
176
167
  */
177
168
  const SectionList: component(
178
169
  ref?: React.RefSetter<any>,
179
- ...Props<SectionBase<any>>
180
- ) = forwardRef<Props<SectionBase<any>>, any>((props, ref) => {
170
+ ...Props<any, DefaultSectionT>
171
+ ) = forwardRef<Props<any, DefaultSectionT>, any>((props, ref) => {
181
172
  const propsWithDefaults = {
182
173
  stickySectionHeadersEnabled: Platform.OS === 'ios',
183
174
  ...props,
184
175
  };
185
176
 
186
- const wrapperRef = useRef<?ElementRef<typeof VirtualizedSectionList>>();
177
+ const wrapperRef = useRef<?React.ElementRef<typeof VirtualizedSectionList>>();
187
178
 
188
179
  useImperativeHandle(
189
180
  ref,
@@ -19,5 +19,6 @@ export type {
19
19
  ListRenderItemInfo,
20
20
  ListRenderItem,
21
21
  Separators,
22
+ VirtualizedListProps,
22
23
  } from '@react-native/virtualized-lists';
23
24
  export default VirtualizedList;
@@ -20,5 +20,6 @@ const VirtualizedSectionList: VirtualizedSectionListType =
20
20
  export type {
21
21
  SectionBase,
22
22
  ScrollToLocationParamsType,
23
+ VirtualizedSectionListProps,
23
24
  } from '@react-native/virtualized-lists';
24
25
  export default VirtualizedSectionList;
@@ -18,7 +18,7 @@ import type {
18
18
  Message,
19
19
  } from './parseLogBoxLog';
20
20
 
21
- import DebuggerSessionObserver from '../../../src/private/debugging/FuseboxSessionObserver';
21
+ import DebuggerSessionObserver from '../../../src/private/devsupport/rndevtools/FuseboxSessionObserver';
22
22
  import parseErrorStack from '../../Core/Devtools/parseErrorStack';
23
23
  import NativeDevSettings from '../../NativeModules/specs/NativeDevSettings';
24
24
  import NativeLogBox from '../../NativeModules/specs/NativeLogBox';
@@ -8,7 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import SafeAreaView from '../../src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE';
11
+ import SafeAreaView from '../../src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE';
12
12
  import View from '../Components/View/View';
13
13
  import StyleSheet from '../StyleSheet/StyleSheet';
14
14
  import * as LogBoxData from './Data/LogBoxData';
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
12
+
13
+ // import Animated from '../../Animated/Animated'; [Win32]
14
+ // import Easing from '../../Animated/Easing'; [Win32]
15
+ import StyleSheet from '../../StyleSheet/StyleSheet';
16
+ import Text from '../../Text/Text';
17
+ import LogBoxButton from './LogBoxButton';
18
+ import * as LogBoxStyle from './LogBoxStyle';
19
+ import * as React from 'react';
20
+
21
+ type Props = $ReadOnly<{
22
+ onPress?: ?(event: GestureResponderEvent) => void,
23
+ status: 'COMPLETE' | 'FAILED' | 'NONE' | 'PENDING',
24
+ }>;
25
+
26
+ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
27
+ // [Win32] Dont use Animated
28
+ /*
29
+ const [state, setState] = React.useState({
30
+ animation: null,
31
+ rotate: null,
32
+ });
33
+
34
+ React.useEffect(() => {
35
+ if (props.status === 'PENDING') {
36
+ if (state.animation == null) {
37
+ const animated = new Animated.Value(0);
38
+ const animation = Animated.loop(
39
+ Animated.timing(animated, {
40
+ duration: 2000,
41
+ easing: Easing.linear,
42
+ toValue: 1,
43
+ useNativeDriver: true,
44
+ }),
45
+ );
46
+ // $FlowFixMe[incompatible-call]
47
+ setState({
48
+ animation,
49
+ rotate: animated.interpolate({
50
+ inputRange: [0, 1],
51
+ outputRange: ['0deg', '360deg'],
52
+ }),
53
+ });
54
+ animation.start();
55
+ }
56
+ } else {
57
+ if (state.animation != null) {
58
+ state.animation.stop();
59
+ setState({
60
+ animation: null,
61
+ rotate: null,
62
+ });
63
+ }
64
+ }
65
+
66
+ return () => {
67
+ if (state.animation != null) {
68
+ state.animation.stop();
69
+ }
70
+ };
71
+ }, [props.status, state.animation]);
72
+
73
+ let image;
74
+ */
75
+ let color;
76
+ switch (props.status) {
77
+ case 'FAILED':
78
+ // image = require('./LogBoxImages/alert-triangle.png'); // [win32] Dont use LogBox images
79
+ color = LogBoxStyle.getErrorColor(1);
80
+ break;
81
+ case 'PENDING':
82
+ // image = require('./LogBoxImages/loader.png'); // [win32] Dont use LogBox images
83
+ color = LogBoxStyle.getWarningColor(1);
84
+ break;
85
+ default: // [Win32]
86
+ return null; // [Win32]
87
+ }
88
+
89
+ if (props.status === 'COMPLETE' /* [Win32] || image == null */) {
90
+ return null;
91
+ }
92
+
93
+ return (
94
+ <LogBoxButton
95
+ backgroundColor={{
96
+ default: 'transparent',
97
+ pressed: LogBoxStyle.getBackgroundColor(1),
98
+ }}
99
+ hitSlop={{bottom: 8, left: 8, right: 8, top: 8}}
100
+ onPress={props.onPress}
101
+ style={styles.root}>
102
+ {/* [Win32] Avoid Animated usage
103
+ <Animated.Image
104
+ source={image}
105
+ style={[
106
+ styles.image,
107
+ {tintColor: color},
108
+ state.rotate == null || props.status !== 'PENDING'
109
+ ? null
110
+ : {transform: [{rotate: state.rotate}]},
111
+ ]}
112
+ />
113
+ */}
114
+ <Text style={[styles.text, {color}]}>Source Map</Text>
115
+ </LogBoxButton>
116
+ );
117
+ }
118
+
119
+ const styles = StyleSheet.create({
120
+ root: {
121
+ alignItems: 'center',
122
+ borderRadius: 12,
123
+ flexDirection: 'row',
124
+ height: 24,
125
+ paddingHorizontal: 8,
126
+ },
127
+ image: {
128
+ height: 14,
129
+ width: 16,
130
+ marginEnd: 4,
131
+ tintColor: LogBoxStyle.getTextColor(0.4),
132
+ },
133
+ text: {
134
+ fontSize: 12,
135
+ includeFontPadding: false,
136
+ lineHeight: 16,
137
+ },
138
+ });
139
+
140
+ export default LogBoxInspectorSourceMapStatus;
@@ -8,6 +8,7 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
+ import type {HostInstance} from '../../src/private/types/HostInstance';
11
12
  import type {ViewProps} from '../Components/View/ViewPropTypes';
12
13
  import type {RootTag} from '../ReactNative/RootTag';
13
14
  import type {DirectEventHandler} from '../Types/CodegenTypes';
@@ -15,11 +16,10 @@ import type {DirectEventHandler} from '../Types/CodegenTypes';
15
16
  import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
16
17
  import {type ColorValue} from '../StyleSheet/StyleSheet';
17
18
  import {type EventSubscription} from '../vendor/emitter/EventEmitter';
18
- import ModalInjection from './ModalInjection';
19
19
  import NativeModalManager from './NativeModalManager';
20
20
  import RCTModalHostView from './RCTModalHostViewNativeComponent';
21
21
  import VirtualizedLists from '@react-native/virtualized-lists';
22
- import React from 'react';
22
+ import * as React from 'react';
23
23
 
24
24
  const ScrollView = require('../Components/ScrollView/ScrollView').default;
25
25
  const View = require('../Components/View/View').default;
@@ -36,6 +36,8 @@ type ModalEventDefinitions = {
36
36
  modalDismissed: [{modalID: number}],
37
37
  };
38
38
 
39
+ export type PublicModalInstance = HostInstance;
40
+
39
41
  const ModalEventEmitter =
40
42
  Platform.OS === 'ios' && NativeModalManager != null
41
43
  ? new NativeEventEmitter<ModalEventDefinitions>(
@@ -101,6 +103,11 @@ export type ModalBaseProps = {
101
103
  * Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`.
102
104
  */
103
105
  backdropColor?: ColorValue,
106
+
107
+ /**
108
+ * A ref to the native Modal component.
109
+ */
110
+ modalRef?: React.RefSetter<PublicModalInstance>,
104
111
  };
105
112
 
106
113
  export type ModalPropsIOS = {
@@ -190,11 +197,11 @@ function confirmProps(props: ModalProps) {
190
197
 
191
198
  // Create a state to track whether the Modal is rendering or not.
192
199
  // This is the only prop that controls whether the modal is rendered or not.
193
- type State = {
200
+ type ModalState = {
194
201
  isRendered: boolean,
195
202
  };
196
203
 
197
- class Modal extends React.Component<ModalProps, State> {
204
+ class Modal extends React.Component<ModalProps, ModalState> {
198
205
  static defaultProps: {hardwareAccelerated: boolean, visible: boolean} = {
199
206
  visible: true,
200
207
  hardwareAccelerated: false,
@@ -308,6 +315,7 @@ class Modal extends React.Component<ModalProps, State> {
308
315
  onRequestClose={this.props.onRequestClose}
309
316
  onShow={this.props.onShow}
310
317
  onDismiss={onDismiss}
318
+ ref={this.props.modalRef}
311
319
  visible={this.props.visible}
312
320
  statusBarTranslucent={this.props.statusBarTranslucent}
313
321
  navigationBarTranslucent={this.props.navigationBarTranslucent}
@@ -354,7 +362,25 @@ const styles = StyleSheet.create({
354
362
  },
355
363
  });
356
364
 
357
- const ExportedModal: React.ComponentType<React.ElementConfig<typeof Modal>> =
358
- ModalInjection.unstable_Modal ?? Modal;
365
+ type ModalRefProps = $ReadOnly<{
366
+ ref?: React.RefSetter<PublicModalInstance>,
367
+ }>;
368
+
369
+ // NOTE: This wrapper component is necessary because `Modal` is a class
370
+ // component and we need to map `ref` to a differently named prop. This can be
371
+ // removed when `Modal` is a functional component.
372
+ function Wrapper({
373
+ ref,
374
+ ...props
375
+ }: {
376
+ ...ModalRefProps,
377
+ ...ModalProps,
378
+ }): React.Node {
379
+ return <Modal {...props} modalRef={ref} />;
380
+ }
381
+
382
+ Wrapper.displayName = 'Modal';
383
+ // $FlowExpectedError[prop-missing]
384
+ Wrapper.Context = VirtualizedListContextResetter;
359
385
 
360
- export default ExportedModal;
386
+ export default Wrapper;
@@ -203,7 +203,9 @@ const validAttributesForNonEventProps = {
203
203
  accessibilityState: true,
204
204
  accessibilityActions: true,
205
205
  accessibilityValue: true,
206
+ experimental_accessibilityOrder: true,
206
207
  importantForAccessibility: true,
208
+ screenReaderFocusable: true,
207
209
  role: true,
208
210
  rotation: true,
209
211
  scaleX: true,
@@ -197,6 +197,8 @@ const validAttributesForNonEventProps = {
197
197
  accessibilityIgnoresInvertColors: true,
198
198
  accessibilityShowsLargeContentViewer: true,
199
199
  accessibilityLargeContentTitle: true,
200
+ experimental_accessibilityOrder: true,
201
+ accessibilityRespondsToUserInteraction: true,
200
202
  testID: true,
201
203
  backgroundColor: {process: require('../StyleSheet/processColor').default},
202
204
  backfaceVisibility: true,
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
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".
14
+
15
+ import BaseViewConfig from './BaseViewConfig';
16
+
17
+ export default BaseViewConfig;
@@ -197,6 +197,7 @@ const validAttributesForNonEventProps = {
197
197
  accessibilityIgnoresInvertColors: true,
198
198
  accessibilityShowsLargeContentViewer: true,
199
199
  accessibilityLargeContentTitle: true,
200
+ experimental_accessibilityOrder: true,
200
201
  testID: true,
201
202
  backgroundColor: {process: require('../StyleSheet/processColor').default},
202
203
  backfaceVisibility: true,
@@ -12,9 +12,9 @@ import type {PartialViewConfig} from '../Renderer/shims/ReactNativeTypes';
12
12
 
13
13
  import BaseViewConfig from './BaseViewConfig';
14
14
 
15
- export type PartialViewConfigWithoutName = $Rest<
15
+ export type PartialViewConfigWithoutName = Omit<
16
16
  PartialViewConfig,
17
- {uiViewClassName: string},
17
+ 'uiViewClassName',
18
18
  >;
19
19
 
20
20
  const PlatformBaseViewConfig: PartialViewConfigWithoutName = BaseViewConfig;
@@ -8,6 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- export * from '../../../src/private/specs_DEPRECATED/modules/NativeDevMenu';
12
- import NativeDevMenu from '../../../src/private/specs_DEPRECATED/modules/NativeDevMenu';
11
+ export * from '../../../src/private/devsupport/devmenu/specs/NativeDevMenu';
12
+ import NativeDevMenu from '../../../src/private/devsupport/devmenu/specs/NativeDevMenu';
13
13
  export default NativeDevMenu;
@@ -50,7 +50,7 @@ const emitter = new NativeEventEmitter<$FlowFixMe>(
50
50
  const RCTNetworking = {
51
51
  addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
52
52
  eventType: K,
53
- listener: (...$ElementType<RCTNetworkingEventDefinitions, K>) => mixed,
53
+ listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
54
54
  context?: mixed,
55
55
  ): EventSubscription {
56
56
  // $FlowFixMe[incompatible-call]
@@ -20,7 +20,7 @@ import {type NativeResponseType} from './XMLHttpRequest';
20
20
  const RCTNetworking = {
21
21
  addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
22
22
  eventType: K,
23
- listener: (...$ElementType<RCTNetworkingEventDefinitions, K>) => mixed,
23
+ listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
24
24
  context?: mixed,
25
25
  ): EventSubscription {
26
26
  // $FlowFixMe[incompatible-call]
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
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".
14
+
15
+ import RCTNetworking from './RCTNetworking';
16
+
17
+ export default RCTNetworking;
@@ -19,7 +19,7 @@ declare const RCTNetworking: interface {
19
19
  addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
20
20
  eventType: K,
21
21
  // $FlowFixMe[invalid-computed-prop]
22
- listener: (...$ElementType<RCTNetworkingEventDefinitions, K>) => mixed,
22
+ listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
23
23
  context?: mixed,
24
24
  ): EventSubscription,
25
25
 
@@ -20,7 +20,7 @@ import {type NativeResponseType} from './XMLHttpRequest';
20
20
  const RCTNetworking = {
21
21
  addListener<K: $Keys<RCTNetworkingEventDefinitions>>(
22
22
  eventType: K,
23
- listener: (...$ElementType<RCTNetworkingEventDefinitions, K>) => mixed,
23
+ listener: (...RCTNetworkingEventDefinitions[K]) => mixed,
24
24
  context?: mixed,
25
25
  ): EventSubscription {
26
26
  // $FlowFixMe[incompatible-call]