@office-iss/react-native-win32 0.73.2 → 0.74.0-preview.2

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 (475) hide show
  1. package/.eslintignore +1 -1
  2. package/.flowconfig +11 -3
  3. package/CHANGELOG.json +426 -54
  4. package/CHANGELOG.md +165 -30
  5. package/IntegrationTests/AccessibilityManagerTest.js +2 -2
  6. package/IntegrationTests/AppEventsTest.js +2 -2
  7. package/IntegrationTests/LayoutEventsTest.js +8 -10
  8. package/IntegrationTests/LoggingTestModule.js +1 -2
  9. package/IntegrationTests/websocket_integration_test_server.js +1 -1
  10. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  12. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  13. package/Libraries/Alert/NativeAlertManager.js +4 -26
  14. package/Libraries/Animated/Animated.js +2 -2
  15. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  16. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  17. package/Libraries/Animated/NativeAnimatedHelper.win32.js +14 -11
  18. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  19. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  20. package/Libraries/Animated/animations/Animation.js +6 -22
  21. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  22. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  23. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  24. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  25. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  26. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  27. package/Libraries/Animated/useAnimatedProps.js +21 -1
  28. package/Libraries/AppState/NativeAppState.js +4 -24
  29. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  30. package/Libraries/Blob/Blob.js +1 -4
  31. package/Libraries/Blob/BlobManager.js +6 -8
  32. package/Libraries/Blob/File.js +1 -1
  33. package/Libraries/Blob/NativeBlobModule.js +4 -50
  34. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  35. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  36. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  37. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +48 -7
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
  40. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  42. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +3 -2
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  45. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
  46. package/Libraries/Components/Button/ButtonWin32.Props.js +2 -2
  47. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -1
  48. package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
  49. package/Libraries/Components/Button/ButtonWin32.js +82 -82
  50. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  51. package/Libraries/Components/Button.js +103 -107
  52. package/Libraries/Components/Button.win32.js +297 -301
  53. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  54. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  56. package/Libraries/Components/EnterString.win32.d.ts +12 -12
  57. package/Libraries/Components/EnterString.win32.js +81 -81
  58. package/Libraries/Components/EnterString.win32.js.map +1 -1
  59. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  68. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  69. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  70. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  71. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  72. package/Libraries/Components/ScrollView/ScrollView.win32.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  80. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  81. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  82. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  83. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  84. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  85. package/Libraries/Components/TextInput/Tests/TextInputTest.js +127 -127
  86. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  87. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  88. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  89. package/Libraries/Components/TextInput/TextInput.js +65 -32
  90. package/Libraries/Components/TextInput/TextInput.win32.js +70 -37
  91. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  92. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  93. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  94. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +343 -344
  95. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  96. package/Libraries/Components/Touchable/Touchable.js +2 -3
  97. package/Libraries/Components/Touchable/Touchable.win32.js +2 -3
  98. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  99. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  100. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  101. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -37
  102. package/Libraries/Components/Touchable/TouchableWin32.Props.js +2 -2
  103. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  104. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  105. package/Libraries/Components/Touchable/TouchableWin32.Types.js +2 -2
  106. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -1
  107. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  108. package/Libraries/Components/Touchable/TouchableWin32.js +506 -506
  109. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  110. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  111. package/Libraries/Components/View/ReactNativeStyleAttributes.js +2 -1
  112. package/Libraries/Components/View/View.js +0 -11
  113. package/Libraries/Components/View/View.win32.js +18 -17
  114. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  115. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  116. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  117. package/Libraries/Components/View/ViewPropTypes.win32.js +36 -36
  118. package/Libraries/Core/InitializeCore.js +1 -1
  119. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  120. package/Libraries/Core/ReactNativeVersion.js +12 -6
  121. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  122. package/Libraries/Core/ReactNativeVersionCheck.win32.js +6 -6
  123. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  124. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  125. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  126. package/Libraries/Core/registerCallableModule.js +42 -0
  127. package/Libraries/Core/setUpPerformance.js +2 -2
  128. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  129. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  130. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  131. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  132. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  133. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  134. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  135. package/Libraries/Image/AssetSourceResolver.js +5 -5
  136. package/Libraries/Image/AssetUtils.js +4 -5
  137. package/Libraries/Image/Image.android.js +146 -174
  138. package/Libraries/Image/Image.d.ts +1 -1
  139. package/Libraries/Image/Image.ios.js +53 -79
  140. package/Libraries/Image/Image.win32.js +52 -74
  141. package/Libraries/Image/ImageBackground.js +2 -2
  142. package/Libraries/Image/ImageInjection.js +76 -18
  143. package/Libraries/Image/ImageTypes.d.ts +25 -25
  144. package/Libraries/Image/ImageTypes.flow.js +71 -0
  145. package/Libraries/Image/ImageTypes.js +7 -7
  146. package/Libraries/Image/ImageTypes.js.map +1 -1
  147. package/Libraries/Image/ImageUtils.js +1 -1
  148. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  149. package/Libraries/Image/NativeImageEditor.js +3 -42
  150. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  151. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  152. package/Libraries/Image/NativeImageLoaderWin32.js +4 -36
  153. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  154. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  155. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  156. package/Libraries/Image/Tests/ImageWin32Test.js +21 -21
  157. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  158. package/Libraries/Image/resolveAssetSource.js +59 -26
  159. package/Libraries/Inspector/ElementProperties.js +26 -52
  160. package/Libraries/Inspector/Inspector.js +122 -186
  161. package/Libraries/Inspector/Inspector.win32.js +118 -185
  162. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  163. package/Libraries/Inspector/InspectorOverlay.win32.js +22 -33
  164. package/Libraries/Inspector/InspectorPanel.js +3 -17
  165. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  166. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  167. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  168. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  169. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  170. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  171. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  172. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  173. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  174. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  175. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  176. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  177. package/Libraries/Lists/FillRateHelper.js +1 -1
  178. package/Libraries/Lists/FlatList.d.ts +2 -2
  179. package/Libraries/Lists/FlatList.js +6 -2
  180. package/Libraries/Lists/SectionList.d.ts +6 -1
  181. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  182. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  183. package/Libraries/Lists/VirtualizedList.js +1 -1
  184. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  185. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  186. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  187. package/Libraries/Modal/Modal.js +43 -11
  188. package/Libraries/Modal/NativeModalManager.js +3 -11
  189. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  190. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  191. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  192. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  193. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  194. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  196. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  197. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  198. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  199. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  200. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  201. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  202. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  203. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  204. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  205. package/Libraries/Network/FormData.js +3 -1
  206. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  207. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  208. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  209. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  210. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  211. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  212. package/Libraries/PersonaCoin/PersonaCoin.js +14 -14
  213. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  214. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  215. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +19 -19
  216. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -1
  217. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  218. package/Libraries/PersonaCoin/PersonaCoinTypes.js +23 -23
  219. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -1
  220. package/Libraries/Pressability/Pressability.js +12 -2
  221. package/Libraries/Pressability/Pressability.win32.js +12 -2
  222. package/Libraries/Pressability/usePressability.js +7 -0
  223. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  224. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  225. package/Libraries/ReactNative/AppContainer-dev.js +211 -0
  226. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  227. package/Libraries/ReactNative/AppContainer.js +6 -149
  228. package/Libraries/ReactNative/AppRegistry.js +3 -1
  229. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  230. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  231. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  232. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  233. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  234. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  235. package/Libraries/ReactNative/PaperUIManager.win32.js +26 -7
  236. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  237. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  238. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  239. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  240. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  241. package/Libraries/ReactNative/UIManager.js +2 -23
  242. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  243. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  244. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  245. package/Libraries/ReactNative/renderApplication.js +9 -6
  246. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  247. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  248. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  249. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  250. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  251. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  252. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  253. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  254. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  255. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  256. package/Libraries/Share/NativeShareModule.js +3 -13
  257. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +1 -1
  258. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  259. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  261. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  262. package/Libraries/StyleSheet/StyleSheet.win32.js +5 -28
  263. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +51 -7
  264. package/Libraries/StyleSheet/StyleSheetTypes.js +19 -11
  265. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  266. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  267. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  268. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  269. package/Libraries/Text/Text.d.ts +5 -6
  270. package/Libraries/Text/Text.js +0 -6
  271. package/Libraries/Text/Text.win32.js +0 -6
  272. package/Libraries/Text/TextAncestor.js +2 -3
  273. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  274. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  275. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  276. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  277. package/Libraries/Utilities/Dimensions.js +8 -16
  278. package/Libraries/Utilities/Dimensions.win32.js +8 -16
  279. package/Libraries/Utilities/FocusManager.win32.js +2 -0
  280. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  281. package/Libraries/Utilities/NativeAppearance.js +3 -26
  282. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  283. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  284. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  285. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  286. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  287. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  288. package/Libraries/Utilities/Platform.android.js +4 -0
  289. package/Libraries/Utilities/Platform.d.ts +3 -0
  290. package/Libraries/Utilities/Platform.flow.js +7 -0
  291. package/Libraries/Utilities/Platform.flow.win32.js +18 -5
  292. package/Libraries/Utilities/Platform.ios.js +11 -0
  293. package/Libraries/Utilities/Platform.win32.js +9 -1
  294. package/Libraries/Utilities/binaryToBase64.js +1 -1
  295. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  296. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  297. package/Libraries/Utilities/useMergeRefs.js +5 -9
  298. package/Libraries/Vibration/NativeVibration.js +3 -14
  299. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  300. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  301. package/Libraries/platform-types.d.ts +2 -3
  302. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  303. package/babel.config.js +1 -1
  304. package/flow/jest.js +1 -1
  305. package/flow/react.js +15 -0
  306. package/index.js +61 -99
  307. package/index.win32.js +60 -101
  308. package/jest/assetFileTransformer.js +1 -1
  309. package/jest/local-setup.js +0 -5
  310. package/jest/mockModal.js +2 -1
  311. package/jest/mockScrollView.js +1 -2
  312. package/jest/renderer.js +1 -1
  313. package/jest/setup.js +6 -3
  314. package/jest.config.js +2 -1
  315. package/overrides.json +152 -131
  316. package/package.json +27 -26
  317. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  318. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  319. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  320. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  321. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  322. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  323. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  324. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  325. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  326. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  327. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  328. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  329. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  330. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  331. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  332. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  333. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  334. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  335. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  336. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  337. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  338. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  339. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  340. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  341. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  342. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  343. package/src/private/specs/modules/NativeAppState.js +33 -0
  344. package/src/private/specs/modules/NativeAppearance.js +36 -0
  345. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  346. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  347. package/src/private/specs/modules/NativeClipboard.js +21 -0
  348. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  349. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  350. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  351. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  352. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  353. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  354. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  355. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  356. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  357. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  358. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  359. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  360. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  361. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  362. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  363. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  364. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  365. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  366. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  367. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  368. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  369. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  370. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  371. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  372. package/src/private/specs/modules/NativeLogBox.js +20 -0
  373. package/src/private/specs/modules/NativeModalManager.js +21 -0
  374. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  375. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  376. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  377. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  378. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  379. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  380. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  381. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  382. package/src/private/specs/modules/NativeRedBox.js +20 -0
  383. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  384. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  385. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  386. package/src/private/specs/modules/NativeShareModule.js +23 -0
  387. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  388. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  389. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  390. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  391. package/src/private/specs/modules/NativeTiming.js +26 -0
  392. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  393. package/src/private/specs/modules/NativeUIManager.js +118 -0
  394. package/src/private/specs/modules/NativeVibration.js +24 -0
  395. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  396. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  397. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  398. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  399. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  400. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  401. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  402. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  403. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  404. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  405. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  406. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  407. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  408. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  409. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  410. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  411. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  412. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  413. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  414. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  415. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  416. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  417. package/{src → src-win}/Libraries/Components/Button/ButtonWin32.tsx +3 -3
  418. package/{src → src-win}/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +9 -10
  419. package/{src → src-win}/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  420. package/{src → src-win}/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  421. package/{src → src-win}/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  422. package/{src → src-win}/Libraries/Text/Text.d.ts +5 -6
  423. package/{src → src-win}/Libraries/platform-types.d.ts +2 -3
  424. package/types/index.d.ts +1 -0
  425. package/types/modules/globals.d.ts +1 -0
  426. package/Libraries/Components/Button.flow.js +0 -265
  427. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  428. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -63
  429. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  430. package/Libraries/Components/Text/TextWin32.Props.js.map +0 -1
  431. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  432. package/Libraries/Components/Text/TextWin32.js +0 -18
  433. package/Libraries/Components/Text/TextWin32.js.map +0 -1
  434. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  435. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  436. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  437. package/Libraries/Image/Image.flow.js +0 -64
  438. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  439. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  440. package/src/Libraries/Components/Text/TextWin32.Props.ts +0 -82
  441. package/src/Libraries/Components/Text/TextWin32.tsx +0 -25
  442. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  443. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  444. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  445. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  446. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  447. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  448. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  449. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  450. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  451. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  452. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  453. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
  454. /package/{src → src-win}/Libraries/Components/Button/ButtonWin32.Props.ts +0 -0
  455. /package/{src → src-win}/Libraries/Components/EnterString.win32.tsx +0 -0
  456. /package/{src → src-win}/Libraries/Components/TextInput/Tests/TextInputTest.tsx +0 -0
  457. /package/{src → src-win}/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -0
  458. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Props.tsx +0 -0
  459. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Types.tsx +0 -0
  460. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.tsx +0 -0
  461. /package/{src → src-win}/Libraries/Components/View/ViewWin32.d.ts +0 -0
  462. /package/{src → src-win}/Libraries/Image/ImageTypes.ts +0 -0
  463. /package/{src → src-win}/Libraries/Image/Tests/ImageWin32Test.tsx +0 -0
  464. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest.png +0 -0
  465. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  466. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  467. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  468. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  469. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  470. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  471. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoin.tsx +0 -0
  472. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +0 -0
  473. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinTypes.ts +0 -0
  474. /package/{src → src-win}/Libraries/Utilities/FocusManager.win32.d.ts +0 -0
  475. /package/{src → src-win}/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +0 -0
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @flow strict
9
9
  * @nolint
10
- * @generated SignedSource<<652b117c94307244bcf5e4af18928903>>
10
+ * @generated SignedSource<<fbf33f04ca9428c149262f17c8a4b6ab>>
11
11
  */
12
12
 
13
13
  import type {ElementRef, ElementType, Element, AbstractComponent} from 'react';
@@ -144,11 +144,6 @@ type InspectorDataProps = $ReadOnly<{
144
144
  ...
145
145
  }>;
146
146
 
147
- type InspectorDataSource = $ReadOnly<{
148
- fileName?: string,
149
- lineNumber?: number,
150
- }>;
151
-
152
147
  type InspectorDataGetter = (
153
148
  <TElementType: ElementType>(
154
149
  componentOrHandle: ElementRef<TElementType> | number,
@@ -156,7 +151,6 @@ type InspectorDataGetter = (
156
151
  ) => $ReadOnly<{
157
152
  measure: (callback: MeasureOnSuccessCallback) => void,
158
153
  props: InspectorDataProps,
159
- source: InspectorDataSource,
160
154
  }>;
161
155
 
162
156
  export type InspectorData = $ReadOnly<{
@@ -167,7 +161,7 @@ export type InspectorData = $ReadOnly<{
167
161
  }>,
168
162
  selectedIndex: ?number,
169
163
  props: InspectorDataProps,
170
- source: ?InspectorDataSource,
164
+ componentStack: string,
171
165
  }>;
172
166
 
173
167
  export type TouchedViewDataAtPoint = $ReadOnly<{
@@ -193,6 +187,10 @@ export type ReactNativeType = {
193
187
  findNodeHandle<TElementType: ElementType>(
194
188
  componentOrHandle: ?(ElementRef<TElementType> | number),
195
189
  ): ?number,
190
+ isChildPublicInstance(
191
+ parent: PublicInstance | HostComponent<mixed>,
192
+ child: PublicInstance | HostComponent<mixed>,
193
+ ): boolean,
196
194
  dispatchCommand(
197
195
  handle: ElementRef<HostComponent<mixed>>,
198
196
  command: string,
@@ -231,6 +229,7 @@ export type ReactFabricType = {
231
229
  command: string,
232
230
  args: Array<mixed>,
233
231
  ): void,
232
+ isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
234
233
  sendAccessibilityEvent(
235
234
  handle: ElementRef<HostComponent<mixed>>,
236
235
  eventType: string,
@@ -247,7 +246,7 @@ export type ReactFabricType = {
247
246
  ): ?Node,
248
247
  getPublicInstanceFromInternalInstanceHandle(
249
248
  internalInstanceHandle: InternalInstanceHandle,
250
- ): PublicInstance | PublicTextInstance,
249
+ ): PublicInstance | PublicTextInstance | null,
251
250
  ...
252
251
  };
253
252
 
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @flow strict-local
9
9
  * @nolint
10
- * @generated SignedSource<<1b39316520f5af25f0a141d7d78b0809>>
10
+ * @generated SignedSource<<73af5b3fe29d226634ed64bc861634df>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -16,7 +16,7 @@ import {type ViewConfig} from './ReactNativeTypes';
16
16
  import invariant from 'invariant';
17
17
 
18
18
  // Event configs
19
- const customBubblingEventTypes: {
19
+ export const customBubblingEventTypes: {
20
20
  [eventName: string]: $ReadOnly<{
21
21
  phasedRegistrationNames: $ReadOnly<{
22
22
  captured: string,
@@ -24,18 +24,13 @@ const customBubblingEventTypes: {
24
24
  skipBubbling?: ?boolean,
25
25
  }>,
26
26
  }>,
27
- ...
28
27
  } = {};
29
- const customDirectEventTypes: {
28
+ export const customDirectEventTypes: {
30
29
  [eventName: string]: $ReadOnly<{
31
30
  registrationName: string,
32
31
  }>,
33
- ...
34
32
  } = {};
35
33
 
36
- exports.customBubblingEventTypes = customBubblingEventTypes;
37
- exports.customDirectEventTypes = customDirectEventTypes;
38
-
39
34
  const viewConfigCallbacks = new Map<string, ?() => ViewConfig>();
40
35
  const viewConfigs = new Map<string, ViewConfig>();
41
36
 
@@ -77,7 +72,7 @@ function processEventTypes(viewConfig: ViewConfig): void {
77
72
  * A callback is provided to load the view config from UIManager.
78
73
  * The callback is deferred until the view is actually rendered.
79
74
  */
80
- exports.register = function (name: string, callback: () => ViewConfig): string {
75
+ export function register(name: string, callback: () => ViewConfig): string {
81
76
  invariant(
82
77
  !viewConfigCallbacks.has(name),
83
78
  'Tried to register two views with the same name %s',
@@ -91,14 +86,14 @@ exports.register = function (name: string, callback: () => ViewConfig): string {
91
86
  );
92
87
  viewConfigCallbacks.set(name, callback);
93
88
  return name;
94
- };
89
+ }
95
90
 
96
91
  /**
97
92
  * Retrieves a config for the specified view.
98
93
  * If this is the first time the view has been used,
99
94
  * This configuration will be lazy-loaded from UIManager.
100
95
  */
101
- exports.get = function (name: string): ViewConfig {
96
+ export function get(name: string): ViewConfig {
102
97
  let viewConfig;
103
98
  if (!viewConfigs.has(name)) {
104
99
  const callback = viewConfigCallbacks.get(name);
@@ -126,4 +121,4 @@ exports.get = function (name: string): ViewConfig {
126
121
  }
127
122
  invariant(viewConfig, 'View config not found for name %s', name);
128
123
  return viewConfig;
129
- };
124
+ }
@@ -4,22 +4,10 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow
7
+ * @flow strict-local
8
8
  * @format
9
9
  */
10
10
 
11
- import type {TurboModule} from '../TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
-
15
- export interface Spec extends TurboModule {
16
- +getConstants: () => {|
17
- settings: Object,
18
- |};
19
- +setValues: (values: Object) => void;
20
- +deleteValues: (values: Array<string>) => void;
21
- }
22
-
23
- export default (TurboModuleRegistry.getEnforcing<Spec>(
24
- 'SettingsManager',
25
- ): Spec);
11
+ export * from '../../src/private/specs/modules/NativeSettingsManager';
12
+ import NativeSettingsManager from '../../src/private/specs/modules/NativeSettingsManager';
13
+ export default NativeSettingsManager;
@@ -8,16 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {TurboModule} from '../TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
-
15
- export interface Spec extends TurboModule {
16
- +getConstants: () => {||};
17
- +share: (
18
- content: {|title?: string, message?: string|},
19
- dialogTitle?: string,
20
- ) => Promise<{|action: string|}>;
21
- }
22
-
23
- export default (TurboModuleRegistry.get<Spec>('ShareModule'): ?Spec);
11
+ export * from '../../src/private/specs/modules/NativeShareModule';
12
+ import NativeShareModule from '../../src/private/specs/modules/NativeShareModule';
13
+ export default NativeShareModule;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -32,7 +32,7 @@ export namespace StyleSheet {
32
32
  type NamedStyles<T> = {[P in keyof T]: ViewStyle | TextStyle | ImageStyle};
33
33
 
34
34
  /**
35
- * Creates a StyleSheet style reference from the given object.
35
+ * An identity function for creating style sheets.
36
36
  */
37
37
  export function create<T extends NamedStyles<T> | NamedStyles<any>>(
38
38
  // The extra & NamedStyles<any> here helps Typescript catch typos: e.g.,
@@ -49,14 +49,6 @@ export namespace StyleSheet {
49
49
 
50
50
  /**
51
51
  * Flattens an array of style objects, into one aggregated style object.
52
- * Alternatively, this method can be used to lookup IDs, returned by
53
- * StyleSheet.register.
54
- *
55
- * > **NOTE**: Exercise caution as abusing this can tax you in terms of
56
- * > optimizations.
57
- * >
58
- * > IDs enable optimizations through the bridge and memory in general. Referring
59
- * > to style objects directly will deprive you of these optimizations.
60
52
  *
61
53
  * Example:
62
54
  * ```
@@ -74,17 +66,6 @@ export namespace StyleSheet {
74
66
  * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
75
67
  * // returns { flex: 1, fontSize: 16, color: 'green' }
76
68
  * ```
77
- * Alternative use:
78
- * ```
79
- * StyleSheet.flatten(styles.listItem);
80
- * // return { flex: 1, fontSize: 16, color: 'white' }
81
- * // Simply styles.listItem would return its ID (number)
82
- * ```
83
- * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
84
- * to resolve style objects represented by IDs. Thus, an array of style
85
- * objects (instances of StyleSheet.create), are individually resolved to,
86
- * their respective objects, merged as one and then returned. This also explains
87
- * the alternative use.
88
69
  */
89
70
  export function flatten<T>(
90
71
  style?: StyleProp<T>,
@@ -212,16 +212,12 @@ if (__DEV__) {
212
212
  * Code quality:
213
213
  *
214
214
  * - By moving styles away from the render function, you're making the code
215
- * easier to understand.
215
+ * easier to understand.
216
216
  * - Naming the styles is a good way to add meaning to the low level components
217
- * in the render function.
217
+ * in the render function, and encourage reuse.
218
+ * - In most IDEs, using `StyleSheet.create()` will offer static type checking
219
+ * and suggestions to help you write valid styles.
218
220
  *
219
- * Performance:
220
- *
221
- * - Making a stylesheet from a style object makes it possible to refer to it
222
- * by ID instead of creating a new style object every time.
223
- * - It also allows to send the style only once through the bridge. All
224
- * subsequent uses are going to refer an id (not implemented yet).
225
221
  */
226
222
  module.exports = {
227
223
  /**
@@ -285,14 +281,6 @@ module.exports = {
285
281
 
286
282
  /**
287
283
  * Flattens an array of style objects, into one aggregated style object.
288
- * Alternatively, this method can be used to lookup IDs, returned by
289
- * StyleSheet.register.
290
- *
291
- * > **NOTE**: Exercise caution as abusing this can tax you in terms of
292
- * > optimizations.
293
- * >
294
- * > IDs enable optimizations through the bridge and memory in general. Referring
295
- * > to style objects directly will deprive you of these optimizations.
296
284
  *
297
285
  * Example:
298
286
  * ```
@@ -310,17 +298,6 @@ module.exports = {
310
298
  * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
311
299
  * // returns { flex: 1, fontSize: 16, color: 'green' }
312
300
  * ```
313
- * Alternative use:
314
- * ```
315
- * StyleSheet.flatten(styles.listItem);
316
- * // return { flex: 1, fontSize: 16, color: 'white' }
317
- * // Simply styles.listItem would return its ID (number)
318
- * ```
319
- * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
320
- * to resolve style objects represented by IDs. Thus, an array of style
321
- * objects (instances of StyleSheet.create), are individually resolved to,
322
- * their respective objects, merged as one and then returned. This also explains
323
- * the alternative use.
324
301
  */
325
302
  flatten,
326
303
 
@@ -361,7 +338,7 @@ module.exports = {
361
338
  },
362
339
 
363
340
  /**
364
- * Creates a StyleSheet style reference from the given object.
341
+ * An identity function for creating style sheets.
365
342
  */
366
343
  // $FlowFixMe[unsupported-variance-annotation]
367
344
  create<+S: ____Styles_Internal>(obj: S): $ReadOnly<S> {
@@ -214,16 +214,12 @@ if (__DEV__) {
214
214
  * Code quality:
215
215
  *
216
216
  * - By moving styles away from the render function, you're making the code
217
- * easier to understand.
217
+ * easier to understand.
218
218
  * - Naming the styles is a good way to add meaning to the low level components
219
- * in the render function.
219
+ * in the render function, and encourage reuse.
220
+ * - In most IDEs, using `StyleSheet.create()` will offer static type checking
221
+ * and suggestions to help you write valid styles.
220
222
  *
221
- * Performance:
222
- *
223
- * - Making a stylesheet from a style object makes it possible to refer to it
224
- * by ID instead of creating a new style object every time.
225
- * - It also allows to send the style only once through the bridge. All
226
- * subsequent uses are going to refer an id (not implemented yet).
227
223
  */
228
224
  module.exports = {
229
225
  /**
@@ -287,14 +283,6 @@ module.exports = {
287
283
 
288
284
  /**
289
285
  * Flattens an array of style objects, into one aggregated style object.
290
- * Alternatively, this method can be used to lookup IDs, returned by
291
- * StyleSheet.register.
292
- *
293
- * > **NOTE**: Exercise caution as abusing this can tax you in terms of
294
- * > optimizations.
295
- * >
296
- * > IDs enable optimizations through the bridge and memory in general. Referring
297
- * > to style objects directly will deprive you of these optimizations.
298
286
  *
299
287
  * Example:
300
288
  * ```
@@ -312,17 +300,6 @@ module.exports = {
312
300
  * StyleSheet.flatten([styles.listItem, styles.selectedListItem])
313
301
  * // returns { flex: 1, fontSize: 16, color: 'green' }
314
302
  * ```
315
- * Alternative use:
316
- * ```
317
- * StyleSheet.flatten(styles.listItem);
318
- * // return { flex: 1, fontSize: 16, color: 'white' }
319
- * // Simply styles.listItem would return its ID (number)
320
- * ```
321
- * This method internally uses `StyleSheetRegistry.getStyleByID(style)`
322
- * to resolve style objects represented by IDs. Thus, an array of style
323
- * objects (instances of StyleSheet.create), are individually resolved to,
324
- * their respective objects, merged as one and then returned. This also explains
325
- * the alternative use.
326
303
  */
327
304
  flatten,
328
305
 
@@ -363,7 +340,7 @@ module.exports = {
363
340
  },
364
341
 
365
342
  /**
366
- * Creates a StyleSheet style reference from the given object.
343
+ * An identity function for creating style sheets.
367
344
  */
368
345
  // $FlowFixMe[unsupported-variance-annotation]
369
346
  create<+S: ____Styles_Internal>(obj: S): $ReadOnly<S> {
@@ -27,6 +27,8 @@ export type DimensionValue =
27
27
  type AnimatableNumericValue = number | Animated.AnimatedNode;
28
28
  type AnimatableStringValue = string | Animated.AnimatedNode;
29
29
 
30
+ export type CursorValue = 'auto' | 'pointer';
31
+
30
32
  /**
31
33
  * Flex Prop Types
32
34
  * @see https://reactnative.dev/docs/flexbox
@@ -40,6 +42,7 @@ export interface FlexStyle {
40
42
  | 'stretch'
41
43
  | 'space-between'
42
44
  | 'space-around'
45
+ | 'space-evenly'
43
46
  | undefined;
44
47
  alignItems?: FlexAlignType | undefined;
45
48
  alignSelf?: 'auto' | FlexAlignType | undefined;
@@ -101,7 +104,7 @@ export interface FlexStyle {
101
104
  paddingStart?: DimensionValue | undefined;
102
105
  paddingTop?: DimensionValue | undefined;
103
106
  paddingVertical?: DimensionValue | undefined;
104
- position?: 'absolute' | 'relative' | undefined;
107
+ position?: 'absolute' | 'relative' | 'static' | undefined;
105
108
  right?: DimensionValue | undefined;
106
109
  start?: DimensionValue | undefined;
107
110
  top?: DimensionValue | undefined;
@@ -121,7 +124,7 @@ export interface ShadowStyleIOS {
121
124
  shadowRadius?: number | undefined;
122
125
  }
123
126
 
124
- interface PerpectiveTransform {
127
+ interface PerspectiveTransform {
125
128
  perspective: AnimatableNumericValue;
126
129
  }
127
130
 
@@ -154,11 +157,11 @@ interface ScaleYTransform {
154
157
  }
155
158
 
156
159
  interface TranslateXTransform {
157
- translateX: AnimatableNumericValue;
160
+ translateX: AnimatableNumericValue | `${number}%`;
158
161
  }
159
162
 
160
163
  interface TranslateYTransform {
161
- translateY: AnimatableNumericValue;
164
+ translateY: AnimatableNumericValue | `${number}%`;
162
165
  }
163
166
 
164
167
  interface SkewXTransform {
@@ -180,7 +183,7 @@ type MaximumOneOf<T, K extends keyof T = keyof T> = K extends keyof T
180
183
  export interface TransformsStyle {
181
184
  transform?:
182
185
  | MaximumOneOf<
183
- PerpectiveTransform &
186
+ PerspectiveTransform &
184
187
  RotateTransform &
185
188
  RotateXTransform &
186
189
  RotateYTransform &
@@ -273,6 +276,7 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
273
276
  * Controls whether the View can be the target of touch events.
274
277
  */
275
278
  pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined;
279
+ cursor?: CursorValue | undefined;
276
280
  }
277
281
 
278
282
  export type FontVariant =
@@ -280,7 +284,6 @@ export type FontVariant =
280
284
  | 'oldstyle-nums'
281
285
  | 'lining-nums'
282
286
  | 'tabular-nums'
283
- | 'proportional-nums'
284
287
  | 'common-ligatures'
285
288
  | 'no-common-ligatures'
286
289
  | 'discretionary-ligatures'
@@ -288,7 +291,28 @@ export type FontVariant =
288
291
  | 'historical-ligatures'
289
292
  | 'no-historical-ligatures'
290
293
  | 'contextual'
291
- | 'no-contextual';
294
+ | 'no-contextual'
295
+ | 'proportional-nums'
296
+ | 'stylistic-one'
297
+ | 'stylistic-two'
298
+ | 'stylistic-three'
299
+ | 'stylistic-four'
300
+ | 'stylistic-five'
301
+ | 'stylistic-six'
302
+ | 'stylistic-seven'
303
+ | 'stylistic-eight'
304
+ | 'stylistic-nine'
305
+ | 'stylistic-ten'
306
+ | 'stylistic-eleven'
307
+ | 'stylistic-twelve'
308
+ | 'stylistic-thirteen'
309
+ | 'stylistic-fourteen'
310
+ | 'stylistic-fifteen'
311
+ | 'stylistic-sixteen'
312
+ | 'stylistic-seventeen'
313
+ | 'stylistic-eighteen'
314
+ | 'stylistic-nineteen'
315
+ | 'stylistic-twenty';
292
316
  export interface TextStyleIOS extends ViewStyle {
293
317
  fontVariant?: FontVariant[] | undefined;
294
318
  textDecorationColor?: ColorValue | undefined;
@@ -325,6 +349,25 @@ export interface TextStyle extends TextStyleIOS, TextStyleAndroid, ViewStyle {
325
349
  | '700'
326
350
  | '800'
327
351
  | '900'
352
+ | 100
353
+ | 200
354
+ | 300
355
+ | 400
356
+ | 500
357
+ | 600
358
+ | 700
359
+ | 800
360
+ | 900
361
+ | 'ultralight'
362
+ | 'thin'
363
+ | 'light'
364
+ | 'medium'
365
+ | 'regular'
366
+ | 'semibold'
367
+ | 'condensedBold'
368
+ | 'condensed'
369
+ | 'heavy'
370
+ | 'black'
328
371
  | undefined;
329
372
  letterSpacing?: number | undefined;
330
373
  lineHeight?: number | undefined;
@@ -363,4 +406,5 @@ export interface ImageStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle {
363
406
  tintColor?: ColorValue | undefined;
364
407
  opacity?: AnimatableNumericValue | undefined;
365
408
  objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | undefined;
409
+ cursor?: CursorValue | undefined;
366
410
  }
@@ -37,6 +37,8 @@ export type EdgeInsetsValue = {
37
37
  export type DimensionValue = number | string | 'auto' | AnimatedNode | null;
38
38
  export type AnimatableNumericValue = number | AnimatedNode;
39
39
 
40
+ export type CursorValue = 'auto' | 'pointer';
41
+
40
42
  /**
41
43
  * React Native's layout system is based on Flexbox and is powered both
42
44
  * on iOS and Android by an open source project called `Yoga`:
@@ -469,22 +471,23 @@ type ____LayoutStyle_Internal = $ReadOnly<{
469
471
  borderTopWidth?: number,
470
472
 
471
473
  /** `position` in React Native is similar to regular CSS, but
472
- * everything is set to `relative` by default, so `absolute`
473
- * positioning is always just relative to the parent.
474
+ * everything is set to `relative` by default.
474
475
  *
475
476
  * If you want to position a child using specific numbers of logical
476
477
  * pixels relative to its parent, set the child to have `absolute`
477
478
  * position.
478
479
  *
479
480
  * If you want to position a child relative to something
480
- * that is not its parent, just don't use styles for that. Use the
481
- * component tree.
481
+ * that is not its parent, set the child to have `absolute` position and the
482
+ * nodes between to have `static` position.
483
+ *
484
+ * Note that `static` is only available on the new renderer.
482
485
  *
483
486
  * See https://github.com/facebook/yoga
484
487
  * for more details on how `position` differs between React Native
485
488
  * and CSS.
486
489
  */
487
- position?: 'absolute' | 'relative',
490
+ position?: 'absolute' | 'relative' | 'static',
488
491
 
489
492
  /** `flexDirection` controls which directions children of a container go.
490
493
  * `row` goes left to right, `column` goes top to bottom, and you may
@@ -552,7 +555,8 @@ type ____LayoutStyle_Internal = $ReadOnly<{
552
555
  | 'center'
553
556
  | 'stretch'
554
557
  | 'space-between'
555
- | 'space-around',
558
+ | 'space-around'
559
+ | 'space-evenly',
556
560
 
557
561
  /** `overflow` controls how children are measured and displayed.
558
562
  * `overflow: hidden` causes views to be clipped while `overflow: scroll`
@@ -625,7 +629,7 @@ type ____LayoutStyle_Internal = $ReadOnly<{
625
629
  /** `direction` specifies the directional flow of the user interface.
626
630
  * The default is `inherit`, except for root node which will have
627
631
  * value based on the current locale.
628
- * See https://yogalayout.com/docs/layout-direction
632
+ * See https://yogalayout.dev/docs/layout-direction
629
633
  * for more details.
630
634
  * @platform ios
631
635
  */
@@ -727,6 +731,7 @@ export type ____ViewStyle_InternalCore = $ReadOnly<{
727
731
  opacity?: AnimatableNumericValue,
728
732
  elevation?: number,
729
733
  pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only',
734
+ cursor?: CursorValue,
730
735
  }>;
731
736
 
732
737
  export type ____ViewStyle_Internal = $ReadOnly<{
@@ -911,7 +916,10 @@ export type ____Styles_Internal = {
911
916
  ...
912
917
  };
913
918
 
914
- export type ____FlattenStyleProp_Internal<+TStyleProp> = $Call<
915
- <T>(GenericStyleProp<T>) => T,
916
- TStyleProp,
917
- >;
919
+ export type ____FlattenStyleProp_Internal<
920
+ +TStyleProp: GenericStyleProp<mixed>,
921
+ > = TStyleProp extends null | void | false | ''
922
+ ? empty
923
+ : TStyleProp extends $ReadOnlyArray<infer V>
924
+ ? ____FlattenStyleProp_Internal<V>
925
+ : TStyleProp;
@@ -13,8 +13,7 @@
13
13
  import type {DangerouslyImpreciseStyleProp} from './StyleSheet';
14
14
  import type {____FlattenStyleProp_Internal} from './StyleSheetTypes';
15
15
 
16
- // $FlowFixMe[unsupported-variance-annotation]
17
- function flattenStyle<+TStyleProp: DangerouslyImpreciseStyleProp>(
16
+ function flattenStyle<TStyleProp: DangerouslyImpreciseStyleProp>(
18
17
  style: ?TStyleProp,
19
18
  // $FlowFixMe[underconstrained-implicit-instantiation]
20
19
  ): ?____FlattenStyleProp_Internal<TStyleProp> {
@@ -23,6 +22,7 @@ function flattenStyle<+TStyleProp: DangerouslyImpreciseStyleProp>(
23
22
  }
24
23
 
25
24
  if (!Array.isArray(style)) {
25
+ // $FlowFixMe[incompatible-return]
26
26
  return style;
27
27
  }
28
28
 
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  /* eslint no-bitwise: 0 */
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  'use strict';
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @flow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  'use strict';
@@ -19,6 +19,10 @@ import {
19
19
  NativeSyntheticEvent,
20
20
  TextLayoutEventData,
21
21
  } from '../Types/CoreEventTypes';
22
+ import type {
23
+ IKeyboardEvent,
24
+ IHandledKeyboardEvent,
25
+ } from '../View/ViewPropTypes'; // Win32
22
26
 
23
27
  export interface TextPropsIOS {
24
28
  /**
@@ -101,11 +105,6 @@ export interface TextPropsAndroid {
101
105
  android_hyphenationFrequency?: 'normal' | 'none' | 'full' | undefined;
102
106
  }
103
107
 
104
- import type {
105
- IKeyboardEvent,
106
- IHandledKeyboardEvent,
107
- } from '../Components/View/ViewPropTypes';
108
-
109
108
  /**
110
109
  * Role-based text style names.
111
110
  */
@@ -190,7 +189,7 @@ export interface TextPropsWin32 {
190
189
  export interface TextProps
191
190
  extends TextPropsIOS,
192
191
  TextPropsAndroid,
193
- TextPropsWin32,
192
+ TextPropsWin32, // Win32
194
193
  AccessibilityProps {
195
194
  /**
196
195
  * Specifies whether fonts should scale to respect Text Size accessibility settings.
@@ -286,12 +286,6 @@ const Text: React.AbstractComponent<
286
286
 
287
287
  Text.displayName = 'Text';
288
288
 
289
- /**
290
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
291
- * releases. This is deprecated and will be removed in the future.
292
- */
293
- Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
294
-
295
289
  /**
296
290
  * Returns false until the first time `newValue` is true, after which this will
297
291
  * always return true. This is necessary to lazily initialize `Pressability` so