@office-iss/react-native-win32 0.0.0-canary.297 → 0.0.0-canary.299

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 (456) hide show
  1. package/.flowconfig +8 -4
  2. package/CHANGELOG.json +55 -1
  3. package/CHANGELOG.md +25 -5
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/AnimatedEvent.js +4 -3
  27. package/Libraries/Animated/AnimatedExports.js +2 -2
  28. package/Libraries/Animated/AnimatedExports.js.flow +5 -0
  29. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  30. package/Libraries/Animated/AnimatedMock.js +2 -2
  31. package/Libraries/Animated/Easing.js +1 -1
  32. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  33. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  34. package/Libraries/Animated/SpringConfig.js +1 -1
  35. package/Libraries/Animated/animations/Animation.js +6 -1
  36. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  37. package/Libraries/Animated/components/AnimatedScrollView.js +6 -5
  38. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +2 -4
  42. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  43. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  44. package/Libraries/AppState/NativeAppState.js +1 -0
  45. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  46. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  47. package/Libraries/Blob/BlobManager.js +4 -0
  48. package/Libraries/Blob/NativeBlobModule.js +1 -0
  49. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  50. package/Libraries/Blob/URL.js +1 -1
  51. package/Libraries/Blob/URLSearchParams.js +5 -1
  52. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  53. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  54. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  57. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  60. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  61. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  62. package/Libraries/Components/Button.js +8 -5
  63. package/Libraries/Components/Button.win32.js +8 -5
  64. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  65. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  66. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  67. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  68. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  72. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  73. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  74. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  75. package/Libraries/Components/Pressable/Pressable.js +8 -2
  76. package/Libraries/Components/Pressable/Pressable.win32.js +8 -8
  77. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  78. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  79. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  80. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  81. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  82. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  83. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  84. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  85. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  86. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  87. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  88. package/Libraries/Components/ScrollView/ScrollView.d.ts +24 -1
  89. package/Libraries/Components/ScrollView/ScrollView.js +7 -3
  90. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  91. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  92. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  93. package/Libraries/Components/Sound/SoundManager.js +1 -1
  94. package/Libraries/Components/StaticRenderer.js +1 -1
  95. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  96. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  97. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  98. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  99. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  100. package/Libraries/Components/Switch/Switch.js +2 -1
  101. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  102. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -19
  103. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  104. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  105. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  106. package/Libraries/Components/TextInput/TextInput.flow.js +12 -10
  107. package/Libraries/Components/TextInput/TextInput.flow.win32.js +11 -9
  108. package/Libraries/Components/TextInput/TextInput.js +16 -14
  109. package/Libraries/Components/TextInput/TextInput.win32.js +42 -13
  110. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  111. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  112. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  116. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  117. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  118. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  119. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  120. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  121. package/Libraries/Components/Touchable/Position.js +1 -1
  122. package/Libraries/Components/Touchable/Touchable.js +17 -3
  123. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  124. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -2
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +3 -2
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -2
  129. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  130. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  131. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  132. package/Libraries/Components/View/View.js +18 -19
  133. package/Libraries/Components/View/View.win32.js +17 -3
  134. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  135. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  136. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  137. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  138. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  139. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  140. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  141. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  142. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  143. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  144. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  145. package/Libraries/Core/ExceptionsManager.js +29 -16
  146. package/Libraries/Core/InitializeCore.js +1 -1
  147. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  148. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  149. package/Libraries/Core/ReactNativeVersion.js +1 -1
  150. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  151. package/Libraries/Core/Timers/JSTimers.js +1 -1
  152. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  153. package/Libraries/Core/Timers/immediateShim.js +1 -1
  154. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  155. package/Libraries/Core/checkNativeVersion.js +1 -0
  156. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  157. package/Libraries/Core/setUpReactDevTools.js +21 -4
  158. package/Libraries/Debugging/DebuggingOverlay.js +6 -6
  159. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  160. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  161. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  162. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  163. package/Libraries/Image/Image.android.js +3 -3
  164. package/Libraries/Image/ImageInjection.js +1 -1
  165. package/Libraries/Image/ImageSource.d.ts +5 -0
  166. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  167. package/Libraries/Image/NativeImageEditor.js +1 -0
  168. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  169. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  170. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  171. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  172. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  173. package/Libraries/Image/RelativeImageStub.js +2 -2
  174. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  175. package/Libraries/Image/resolveAssetSource.js +1 -1
  176. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  177. package/Libraries/Interaction/InteractionManager.js +68 -54
  178. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  179. package/Libraries/Interaction/TaskQueue.js +22 -9
  180. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  181. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  182. package/Libraries/Linking/Linking.js +1 -1
  183. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  184. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  185. package/Libraries/Lists/FlatList.js +5 -6
  186. package/Libraries/Lists/SectionList.js +4 -4
  187. package/Libraries/Lists/VirtualizedList.js +3 -2
  188. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  189. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  190. package/Libraries/LogBox/LogBox.js +72 -99
  191. package/Libraries/Modal/Modal.d.ts +8 -2
  192. package/Libraries/Modal/Modal.js +24 -3
  193. package/Libraries/Modal/NativeModalManager.js +1 -0
  194. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  196. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  197. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  198. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  199. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  200. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  208. package/Libraries/Network/FormData.js +1 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  210. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  211. package/Libraries/Network/RCTNetworking.android.js +2 -2
  212. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  213. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  214. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  215. package/Libraries/Network/XMLHttpRequest.js +5 -3
  216. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  217. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  218. package/Libraries/Pressability/Pressability.js +1 -1
  219. package/Libraries/Pressability/Pressability.win32.js +1 -1
  220. package/Libraries/Promise.js +1 -1
  221. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  222. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  223. package/Libraries/ReactNative/AppContainer.js +1 -1
  224. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  225. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  226. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  227. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  228. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  229. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  230. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  231. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  232. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  233. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  234. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  235. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  236. package/Libraries/ReactNative/RendererProxy.js +1 -1
  237. package/Libraries/ReactNative/renderApplication.js +1 -1
  238. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  239. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -2
  240. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  241. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  242. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  243. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  244. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -12
  245. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -12
  246. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  247. package/Libraries/Settings/Settings.ios.js +1 -1
  248. package/Libraries/Settings/Settings.js +1 -1
  249. package/Libraries/Settings/SettingsFallback.js +1 -1
  250. package/Libraries/Share/NativeShareModule.js +1 -0
  251. package/Libraries/Share/Share.js +1 -1
  252. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  253. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  254. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  255. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  256. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  257. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  258. package/Libraries/StyleSheet/PointPropType.js +1 -1
  259. package/Libraries/StyleSheet/Rect.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  261. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  262. package/Libraries/StyleSheet/processAspectRatio.js +3 -1
  263. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  264. package/Libraries/StyleSheet/processColor.js +1 -1
  265. package/Libraries/StyleSheet/processColorArray.js +1 -1
  266. package/Libraries/StyleSheet/processFilter.js +1 -1
  267. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  268. package/Libraries/StyleSheet/processTransform.js +1 -1
  269. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  270. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  271. package/Libraries/Text/Text.js +5 -7
  272. package/Libraries/Text/Text.win32.js +1 -1
  273. package/Libraries/Text/TextAncestor.js +3 -10
  274. package/Libraries/Text/TextAncestorContext.js +23 -0
  275. package/Libraries/Text/TextNativeComponent.js +4 -0
  276. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  277. package/Libraries/Text/TextProps.js +2 -2
  278. package/Libraries/Text/TextProps.win32.js +2 -2
  279. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  280. package/Libraries/Types/CodegenTypes.js +1 -1
  281. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  282. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  283. package/Libraries/Utilities/Appearance.js +1 -1
  284. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  285. package/Libraries/Utilities/DevLoadingView.js +1 -1
  286. package/Libraries/Utilities/DeviceInfo.js +1 -1
  287. package/Libraries/Utilities/Dimensions.js +1 -1
  288. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  289. package/Libraries/Utilities/HMRClient.js +13 -3
  290. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  291. package/Libraries/Utilities/NativeAppearance.js +1 -0
  292. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  293. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  294. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  295. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  296. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  297. package/Libraries/Utilities/PixelRatio.js +1 -1
  298. package/Libraries/Utilities/Platform.android.js +2 -5
  299. package/Libraries/Utilities/Platform.ios.js +2 -5
  300. package/Libraries/Utilities/Platform.js +1 -1
  301. package/Libraries/Utilities/Platform.js.flow +2 -2
  302. package/Libraries/Utilities/Platform.win32.js +2 -5
  303. package/Libraries/Utilities/PlatformTypes.js +1 -1
  304. package/Libraries/Utilities/RCTLog.js +1 -1
  305. package/Libraries/Utilities/SceneTracker.js +1 -1
  306. package/Libraries/Utilities/binaryToBase64.js +1 -1
  307. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  308. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  309. package/Libraries/Utilities/createPerformanceLogger.js +59 -20
  310. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  311. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  312. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  313. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  314. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  315. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  316. package/Libraries/Utilities/logError.js +1 -1
  317. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  318. package/Libraries/Utilities/stringifySafe.js +1 -1
  319. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  320. package/Libraries/Utilities/useColorScheme.js +1 -1
  321. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  322. package/Libraries/Utilities/warnOnce.js +1 -1
  323. package/Libraries/Vibration/NativeVibration.js +1 -0
  324. package/Libraries/Vibration/Vibration.js +1 -2
  325. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  326. package/Libraries/WebSocket/WebSocket.js +1 -1
  327. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  328. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  329. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  330. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  331. package/index.js +22 -1
  332. package/index.win32.js +15 -2
  333. package/interface.js +1 -1
  334. package/jest/MockNativeMethods.js +9 -3
  335. package/jest/RefreshControlMock.js +32 -0
  336. package/jest/assetFileTransformer.js +1 -0
  337. package/jest/local-setup.js +4 -3
  338. package/jest/mock.js +39 -0
  339. package/jest/mockComponent.js +47 -17
  340. package/jest/mockNativeComponent.js +24 -14
  341. package/jest/mocks/AccessibilityInfo.js +62 -0
  342. package/jest/mocks/ActivityIndicator.js +23 -0
  343. package/jest/mocks/AppState.js +19 -0
  344. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  345. package/jest/mocks/Image.js +23 -0
  346. package/jest/mocks/InitializeCore.js +9 -0
  347. package/jest/mocks/Linking.js +28 -0
  348. package/jest/mocks/Modal.js +33 -0
  349. package/jest/mocks/NativeComponentRegistry.js +30 -0
  350. package/jest/mocks/NativeModules.js +239 -0
  351. package/jest/mocks/RefreshControl.js +31 -0
  352. package/jest/mocks/RendererProxy.js +45 -0
  353. package/jest/mocks/ScrollView.js +58 -0
  354. package/jest/mocks/Text.js +27 -0
  355. package/jest/mocks/TextInput.js +32 -0
  356. package/jest/mocks/UIManager.js +60 -0
  357. package/jest/mocks/Vibration.js +16 -0
  358. package/jest/mocks/View.js +27 -0
  359. package/jest/mocks/ViewNativeComponent.js +23 -0
  360. package/jest/mocks/requireNativeComponent.js +22 -0
  361. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  362. package/jest/react-native-env.js +1 -0
  363. package/jest/renderer.js +1 -1
  364. package/jest/resolver.js +1 -0
  365. package/jest/setup.js +64 -445
  366. package/overrides.json +38 -38
  367. package/package.json +14 -14
  368. package/src/private/animated/NativeAnimatedHelper.js +2 -0
  369. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -0
  370. package/src/private/animated/createAnimatedPropsHook.js +4 -1
  371. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -2
  372. package/src/private/components/virtualview/VirtualView.js +145 -0
  373. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  374. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  375. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  376. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  377. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  378. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  379. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  380. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  381. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  382. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  383. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  384. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  385. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  386. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  387. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  388. package/src/private/featureflags/ReactNativeFeatureFlags.js +75 -30
  389. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  390. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -5
  391. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  392. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  393. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  394. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  395. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  396. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  397. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  398. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  399. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  400. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  401. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  402. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  403. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  404. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  405. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  406. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  407. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  408. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  409. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  410. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  411. package/src/private/styles/composeStyles.js +5 -12
  412. package/src/private/types/HostInstance.js +1 -1
  413. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  414. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  415. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  416. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  417. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +1 -1
  418. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  419. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  420. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  421. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  422. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  423. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  424. package/src/private/webapis/dom/oldstylecollections/NodeList.js +1 -1
  425. package/src/private/webapis/errors/DOMException.js +1 -1
  426. package/src/private/webapis/geometry/DOMRectList.js +1 -1
  427. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  428. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +4 -1
  429. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -1
  430. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -17
  431. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +19 -73
  432. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -7
  433. package/src/private/webapis/performance/EventTiming.js +1 -1
  434. package/src/private/webapis/performance/LongTasks.js +1 -1
  435. package/src/private/webapis/performance/Performance.js +165 -62
  436. package/src/private/webapis/performance/PerformanceEntry.js +21 -17
  437. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  438. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  439. package/src/private/webapis/performance/UserTiming.js +61 -9
  440. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +48 -33
  441. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  442. package/src/private/webapis/performance/specs/NativePerformance.js +13 -1
  443. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  444. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  445. package/types/modules/Devtools.d.ts +23 -9
  446. package/Libraries/BugReporting/BugReporting.js +0 -140
  447. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  448. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  449. package/Libraries/BugReporting/getReactData.js +0 -187
  450. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  451. package/flow/HermesInternalType.js +0 -114
  452. package/flow/console.js +0 -49
  453. package/flow/global.js +0 -88
  454. package/jest/mockModal.js +0 -32
  455. package/jest/mockScrollView.js +0 -35
  456. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -10,6 +10,8 @@
10
10
 
11
11
  import type {HostInstance} from '../../../src/private/types/HostInstance';
12
12
  import type {
13
+ BlurEvent,
14
+ FocusEvent,
13
15
  GestureResponderEvent,
14
16
  NativeSyntheticEvent,
15
17
  ScrollEvent,
@@ -58,22 +60,22 @@ type TextInputContentSizeChangeEventData = $ReadOnly<{
58
60
  export type TextInputContentSizeChangeEvent =
59
61
  NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
60
62
 
61
- type TargetEvent = $ReadOnly<{
62
- target: number,
63
- ...
64
- }>;
65
-
66
- type TextInputFocusEventData = TargetEvent;
67
-
68
63
  /**
69
64
  * @see TextInputProps.onBlur
65
+ * @deprecated Use `BlurEvent` instead.
70
66
  */
71
- export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
67
+ export type TextInputBlurEvent = BlurEvent;
72
68
 
73
69
  /**
74
70
  * @see TextInputProps.onFocus
71
+ * @deprecated Use `FocusEvent` instead.
75
72
  */
76
- export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
73
+ export type TextInputFocusEvent = FocusEvent;
74
+
75
+ type TargetEvent = $ReadOnly<{
76
+ target: number,
77
+ ...
78
+ }>;
77
79
 
78
80
  export type Selection = $ReadOnly<{
79
81
  start: number,
@@ -1029,7 +1031,7 @@ type TextInputBaseProps = $ReadOnly<{
1029
1031
  }>;
1030
1032
 
1031
1033
  export type TextInputProps = $ReadOnly<{
1032
- ...Omit<ViewProps, 'style'>,
1034
+ ...Omit<ViewProps, 'style' | 'experimental_accessibilityOrder'>,
1033
1035
  ...TextInputIOSProps,
1034
1036
  ...TextInputAndroidProps,
1035
1037
  ...TextInputBaseProps,
@@ -10,6 +10,8 @@
10
10
 
11
11
  import type {HostInstance} from '../../../src/private/types/HostInstance';
12
12
  import type {
13
+ BlurEvent,
14
+ FocusEvent,
13
15
  GestureResponderEvent,
14
16
  NativeSyntheticEvent,
15
17
  ScrollEvent,
@@ -58,22 +60,22 @@ type TextInputContentSizeChangeEventData = $ReadOnly<{
58
60
  export type TextInputContentSizeChangeEvent =
59
61
  NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
60
62
 
61
- type TargetEvent = $ReadOnly<{
62
- target: number,
63
- ...
64
- }>;
65
-
66
- type TextInputFocusEventData = TargetEvent;
67
-
68
63
  /**
69
64
  * @see TextInputProps.onBlur
65
+ * @deprecated Use `BlurEvent` instead.
70
66
  */
71
- export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
67
+ export type TextInputBlurEvent = BlurEvent;
72
68
 
73
69
  /**
74
70
  * @see TextInputProps.onFocus
71
+ * @deprecated Use `FocusEvent` instead.
75
72
  */
76
- export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
73
+ export type TextInputFocusEvent = FocusEvent;
74
+
75
+ type TargetEvent = $ReadOnly<{
76
+ target: number,
77
+ ...
78
+ }>;
77
79
 
78
80
  export type Selection = $ReadOnly<{
79
81
  start: number,
@@ -11,6 +11,8 @@
11
11
  import type {HostInstance} from '../../../src/private/types/HostInstance';
12
12
  import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
13
13
  import type {
14
+ BlurEvent,
15
+ FocusEvent,
14
16
  GestureResponderEvent,
15
17
  ScrollEvent,
16
18
  } from '../../Types/CoreEventTypes';
@@ -53,7 +55,7 @@ import usePressability from '../../Pressability/usePressability';
53
55
  import flattenStyle from '../../StyleSheet/flattenStyle';
54
56
  import StyleSheet, {type TextStyleProp} from '../../StyleSheet/StyleSheet';
55
57
  import Text from '../../Text/Text';
56
- import TextAncestor from '../../Text/TextAncestor';
58
+ import TextAncestorContext from '../../Text/TextAncestorContext';
57
59
  import Platform from '../../Utilities/Platform';
58
60
  import useMergeRefs from '../../Utilities/useMergeRefs';
59
61
  import TextInputState from './TextInputState';
@@ -86,10 +88,12 @@ if (Platform.OS === 'android') {
86
88
 
87
89
  export type {
88
90
  AutoCapitalize,
91
+ BlurEvent,
89
92
  EnterKeyHintType,
90
93
  EnterKeyHintTypeAndroid,
91
94
  EnterKeyHintTypeIOS,
92
95
  EnterKeyHintTypeOptions,
96
+ FocusEvent,
93
97
  InputModeOptions,
94
98
  KeyboardType,
95
99
  KeyboardTypeAndroid,
@@ -520,14 +524,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
520
524
  });
521
525
  };
522
526
 
523
- const _onFocus = (event: TextInputFocusEvent) => {
527
+ const _onFocus = (event: FocusEvent) => {
524
528
  TextInputState.focusInput(inputRef.current);
525
529
  if (props.onFocus) {
526
530
  props.onFocus(event);
527
531
  }
528
532
  };
529
533
 
530
- const _onBlur = (event: TextInputBlurEvent) => {
534
+ const _onBlur = (event: BlurEvent) => {
531
535
  TextInputState.blurInput(inputRef.current);
532
536
  if (props.onBlur) {
533
537
  props.onBlur(event);
@@ -771,9 +775,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
771
775
  />
772
776
  );
773
777
  }
774
- return (
775
- <TextAncestor.Provider value={true}>{textInput}</TextAncestor.Provider>
776
- );
778
+ return <TextAncestorContext value={true}>{textInput}</TextAncestorContext>;
777
779
  }
778
780
 
779
781
  const enterKeyHintToReturnTypeMap = {
@@ -784,7 +786,7 @@ const enterKeyHintToReturnTypeMap = {
784
786
  previous: 'previous',
785
787
  search: 'search',
786
788
  send: 'send',
787
- };
789
+ } as const;
788
790
 
789
791
  const inputModeToKeyboardTypeMap = {
790
792
  none: 'default',
@@ -792,10 +794,11 @@ const inputModeToKeyboardTypeMap = {
792
794
  decimal: 'decimal-pad',
793
795
  numeric: 'number-pad',
794
796
  tel: 'phone-pad',
795
- search: Platform.OS === 'ios' ? 'web-search' : 'default',
797
+ search:
798
+ Platform.OS === 'ios' ? ('web-search' as const) : ('default' as const),
796
799
  email: 'email-address',
797
800
  url: 'url',
798
- };
801
+ } as const;
799
802
 
800
803
  // Map HTML autocomplete values to Android autoComplete values
801
804
  const autoCompleteWebToAutoCompleteAndroidMap = {
@@ -829,7 +832,7 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
829
832
  'tel-country-code': 'tel-country-code',
830
833
  'tel-national': 'tel-national',
831
834
  username: 'username',
832
- };
835
+ } as const;
833
836
 
834
837
  // Map HTML autocomplete values to iOS textContentType values
835
838
  const autoCompleteWebToTextContentTypeMap = {
@@ -869,7 +872,7 @@ const autoCompleteWebToTextContentTypeMap = {
869
872
  tel: 'telephoneNumber',
870
873
  url: 'URL',
871
874
  username: 'username',
872
- };
875
+ } as const;
873
876
 
874
877
  const TextInput: component(
875
878
  ref?: React.RefSetter<TextInputInstance>,
@@ -922,8 +925,7 @@ const TextInput: component(
922
925
  : Platform.OS === 'ios' &&
923
926
  autoComplete &&
924
927
  autoComplete in autoCompleteWebToTextContentTypeMap
925
- ? // $FlowFixMe[invalid-computed-prop]
926
- // $FlowFixMe[prop-missing]
928
+ ? // $FlowFixMe[prop-missing]
927
929
  autoCompleteWebToTextContentTypeMap[autoComplete]
928
930
  : textContentType
929
931
  }
@@ -962,7 +964,7 @@ const verticalAlignToTextAlignVerticalMap = {
962
964
  top: 'top',
963
965
  bottom: 'bottom',
964
966
  middle: 'center',
965
- };
967
+ } as const;
966
968
 
967
969
  // $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
968
970
  export default TextInput as any as TextInputType;
@@ -11,6 +11,8 @@
11
11
  import type {HostInstance} from '../../../src/private/types/HostInstance';
12
12
  import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
13
13
  import type {
14
+ BlurEvent,
15
+ FocusEvent,
14
16
  GestureResponderEvent,
15
17
  ScrollEvent,
16
18
  } from '../../Types/CoreEventTypes';
@@ -98,10 +100,12 @@ else if (Platform.OS === 'win32') {
98
100
 
99
101
  export type {
100
102
  AutoCapitalize,
103
+ BlurEvent,
101
104
  EnterKeyHintType,
102
105
  EnterKeyHintTypeAndroid,
103
106
  EnterKeyHintTypeIOS,
104
107
  EnterKeyHintTypeOptions,
108
+ FocusEvent,
105
109
  InputModeOptions,
106
110
  KeyboardType,
107
111
  KeyboardTypeAndroid,
@@ -541,14 +545,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
541
545
  });
542
546
  };
543
547
 
544
- const _onFocus = (event: TextInputFocusEvent) => {
548
+ const _onFocus = (event: FocusEvent) => {
545
549
  TextInputState.focusInput(inputRef.current);
546
550
  if (props.onFocus) {
547
551
  props.onFocus(event);
548
552
  }
549
553
  };
550
554
 
551
- const _onBlur = (event: TextInputBlurEvent) => {
555
+ const _onBlur = (event: BlurEvent) => {
552
556
  TextInputState.blurInput(inputRef.current);
553
557
  if (props.onBlur) {
554
558
  props.onBlur(event);
@@ -647,6 +651,10 @@ function InternalTextInput(props: TextInputProps): React.Node {
647
651
  for (const el of props.keyDownEvents) {
648
652
  if (
649
653
  event.nativeEvent.code === el.code &&
654
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
655
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
656
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
657
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
650
658
  el.handledEventPhase === eventPhase.Bubbling
651
659
  ) {
652
660
  event.stopPropagation();
@@ -660,7 +668,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
660
668
  if (props.keyUpEvents && event.isPropagationStopped() !== true) {
661
669
  // $FlowFixMe - keyDownEvents was already checked to not be undefined
662
670
  for (const el of props.keyUpEvents) {
663
- if (event.nativeEvent.code === el.code && el.handledEventPhase === 3) {
671
+ if (
672
+ event.nativeEvent.code === el.code &&
673
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
674
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
675
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
676
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
677
+ el.handledEventPhase === 3
678
+ ) {
664
679
  event.stopPropagation();
665
680
  }
666
681
  }
@@ -672,7 +687,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
672
687
  if (props.keyDownEvents && event.isPropagationStopped() !== true) {
673
688
  // $FlowFixMe - keyDownEvents was already checked to not be undefined
674
689
  for (const el of props.keyDownEvents) {
675
- if (event.nativeEvent.code === el.code && el.handledEventPhase === 1) {
690
+ if (
691
+ event.nativeEvent.code === el.code &&
692
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
693
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
694
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
695
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
696
+ el.handledEventPhase === 1
697
+ ) {
676
698
  event.stopPropagation();
677
699
  }
678
700
  }
@@ -684,7 +706,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
684
706
  if (props.keyUpEvents && event.isPropagationStopped() !== true) {
685
707
  // $FlowFixMe - keyDownEvents was already checked to not be undefined
686
708
  for (const el of props.keyUpEvents) {
687
- if (event.nativeEvent.code === el.code && el.handledEventPhase === 1) {
709
+ if (
710
+ event.nativeEvent.code === el.code &&
711
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
712
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
713
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
714
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
715
+ el.handledEventPhase === 1
716
+ ) {
688
717
  event.stopPropagation();
689
718
  }
690
719
  }
@@ -895,7 +924,7 @@ const enterKeyHintToReturnTypeMap = {
895
924
  previous: 'previous',
896
925
  search: 'search',
897
926
  send: 'send',
898
- };
927
+ } as const;
899
928
 
900
929
  const inputModeToKeyboardTypeMap = {
901
930
  none: 'default',
@@ -903,10 +932,11 @@ const inputModeToKeyboardTypeMap = {
903
932
  decimal: 'decimal-pad',
904
933
  numeric: 'number-pad',
905
934
  tel: 'phone-pad',
906
- search: Platform.OS === 'ios' ? 'web-search' : 'default',
935
+ search:
936
+ Platform.OS === 'ios' ? ('web-search' as const) : ('default' as const),
907
937
  email: 'email-address',
908
938
  url: 'url',
909
- };
939
+ } as const;
910
940
 
911
941
  // Map HTML autocomplete values to Android autoComplete values
912
942
  const autoCompleteWebToAutoCompleteAndroidMap = {
@@ -940,7 +970,7 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
940
970
  'tel-country-code': 'tel-country-code',
941
971
  'tel-national': 'tel-national',
942
972
  username: 'username',
943
- };
973
+ } as const;
944
974
 
945
975
  // Map HTML autocomplete values to iOS textContentType values
946
976
  const autoCompleteWebToTextContentTypeMap = {
@@ -980,7 +1010,7 @@ const autoCompleteWebToTextContentTypeMap = {
980
1010
  tel: 'telephoneNumber',
981
1011
  url: 'URL',
982
1012
  username: 'username',
983
- };
1013
+ } as const;
984
1014
 
985
1015
  const TextInput: component(
986
1016
  ref?: React.RefSetter<TextInputInstance>,
@@ -1032,8 +1062,7 @@ const TextInput: component(
1032
1062
  : Platform.OS === 'ios' &&
1033
1063
  autoComplete &&
1034
1064
  autoComplete in autoCompleteWebToTextContentTypeMap
1035
- ? // $FlowFixMe[invalid-computed-prop]
1036
- // $FlowFixMe[prop-missing]
1065
+ ? // $FlowFixMe[prop-missing]
1037
1066
  autoCompleteWebToTextContentTypeMap[autoComplete]
1038
1067
  : textContentType
1039
1068
  }
@@ -1072,7 +1101,7 @@ const verticalAlignToTextAlignVerticalMap = {
1072
1101
  top: 'top',
1073
1102
  bottom: 'bottom',
1074
1103
  middle: 'center',
1075
- };
1104
+ } as const;
1076
1105
 
1077
1106
  // $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
1078
1107
  export default TextInput as any as TextInputType;
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // This class is responsible for coordinating the "focused" state for
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // This class is responsible for coordinating the "focused" state for
@@ -9,5 +9,4 @@
9
9
  */
10
10
 
11
11
  export * from '../../../src/private/specs_DEPRECATED/modules/NativeToastAndroid';
12
- import NativeToastAndroid from '../../../src/private/specs_DEPRECATED/modules/NativeToastAndroid';
13
- export default NativeToastAndroid;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeToastAndroid';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import NativeToastAndroid from './NativeToastAndroid';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import ToastAndroidFallback from './ToastAndroidFallback';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // NOTE: This file supports backwards compatibility of subpath (deep) imports
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  /**
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // NOTE: This file supports backwards compatibility of subpath (deep) imports
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -10,7 +10,11 @@
10
10
 
11
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
13
+ import type {
14
+ BlurEvent,
15
+ FocusEvent,
16
+ GestureResponderEvent,
17
+ } from '../../Types/CoreEventTypes';
14
18
 
15
19
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
20
  import UIManager from '../../ReactNative/UIManager';
@@ -589,7 +593,7 @@ const TouchableMixinImpl = {
589
593
  */
590
594
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
591
595
  * Flow's LTI update could not be added via codemod */
592
- touchableHandleFocus: function (e: Event) {
596
+ touchableHandleFocus: function (e: FocusEvent) {
593
597
  this.props.onFocus && this.props.onFocus(e);
594
598
  },
595
599
 
@@ -603,7 +607,7 @@ const TouchableMixinImpl = {
603
607
  */
604
608
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
605
609
  * Flow's LTI update could not be added via codemod */
606
- touchableHandleBlur: function (e: Event) {
610
+ touchableHandleBlur: function (e: BlurEvent) {
607
611
  this.props.onBlur && this.props.onBlur(e);
608
612
  },
609
613
 
@@ -869,11 +873,15 @@ const TouchableMixinImpl = {
869
873
  curState === States.NOT_RESPONDER &&
870
874
  nextState === States.RESPONDER_INACTIVE_PRESS_IN;
871
875
 
876
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
877
+ * https://fburl.com/workplace/6291gfvu */
872
878
  const isActiveTransition = !IsActive[curState] && IsActive[nextState];
873
879
  if (isInitialTransition || isActiveTransition) {
874
880
  this._remeasureMetricsOnActivation();
875
881
  }
876
882
 
883
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
884
+ * https://fburl.com/workplace/6291gfvu */
877
885
  if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
878
886
  this.touchableHandleLongPress && this.touchableHandleLongPress(e);
879
887
  }
@@ -884,13 +892,19 @@ const TouchableMixinImpl = {
884
892
  this._endHighlight(e);
885
893
  }
886
894
 
895
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
896
+ * https://fburl.com/workplace/6291gfvu */
887
897
  if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
888
898
  const hasLongPressHandler = !!this.props.onLongPress;
889
899
  const pressIsLongButStillCallOnPress =
900
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
901
+ * https://fburl.com/workplace/6291gfvu */
890
902
  IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
891
903
  (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
892
904
 
893
905
  const shouldInvokePress =
906
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
907
+ * https://fburl.com/workplace/6291gfvu */
894
908
  !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
895
909
  if (shouldInvokePress && this.touchableHandlePress) {
896
910
  if (!newIsHighlight && !curIsHighlight) {
@@ -10,7 +10,11 @@
10
10
 
11
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
13
+ import type {
14
+ BlurEvent,
15
+ FocusEvent,
16
+ GestureResponderEvent,
17
+ } from '../../Types/CoreEventTypes';
14
18
 
15
19
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
20
  import UIManager from '../../ReactNative/UIManager';
@@ -594,7 +598,7 @@ const TouchableMixinImpl = {
594
598
  */
595
599
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
596
600
  * Flow's LTI update could not be added via codemod */
597
- touchableHandleFocus: function (e: Event) {
601
+ touchableHandleFocus: function (e: FocusEvent) {
598
602
  this.props.onFocus && this.props.onFocus(e);
599
603
  },
600
604
 
@@ -608,7 +612,7 @@ const TouchableMixinImpl = {
608
612
  */
609
613
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
610
614
  * Flow's LTI update could not be added via codemod */
611
- touchableHandleBlur: function (e: Event) {
615
+ touchableHandleBlur: function (e: BlurEvent) {
612
616
  this.props.onBlur && this.props.onBlur(e);
613
617
  },
614
618
 
@@ -874,11 +878,15 @@ const TouchableMixinImpl = {
874
878
  curState === States.NOT_RESPONDER &&
875
879
  nextState === States.RESPONDER_INACTIVE_PRESS_IN;
876
880
 
881
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
882
+ * https://fburl.com/workplace/6291gfvu */
877
883
  const isActiveTransition = !IsActive[curState] && IsActive[nextState];
878
884
  if (isInitialTransition || isActiveTransition) {
879
885
  this._remeasureMetricsOnActivation();
880
886
  }
881
887
 
888
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
889
+ * https://fburl.com/workplace/6291gfvu */
882
890
  if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
883
891
  this.touchableHandleLongPress && this.touchableHandleLongPress(e);
884
892
  }
@@ -889,13 +897,19 @@ const TouchableMixinImpl = {
889
897
  this._endHighlight(e);
890
898
  }
891
899
 
900
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
901
+ * https://fburl.com/workplace/6291gfvu */
892
902
  if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
893
903
  const hasLongPressHandler = !!this.props.onLongPress;
894
904
  const pressIsLongButStillCallOnPress =
905
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
906
+ * https://fburl.com/workplace/6291gfvu */
895
907
  IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
896
908
  (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
897
909
 
898
910
  const shouldInvokePress =
911
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
912
+ * https://fburl.com/workplace/6291gfvu */
899
913
  !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
900
914
  if (shouldInvokePress && this.touchableHandlePress) {
901
915
  if (!newIsHighlight && !curIsHighlight) {
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
12
+ import type {AccessibilityState} from '../View/ViewAccessibility';
12
13
  import type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
13
14
 
14
15
  import View from '../../Components/View/View';
@@ -30,6 +31,9 @@ type AndroidProps = $ReadOnly<{
30
31
  }>;
31
32
 
32
33
  type IOSProps = $ReadOnly<{
34
+ /**
35
+ * @deprecated Use `focusable` instead
36
+ */
33
37
  hasTVPreferredFocus?: ?boolean,
34
38
  }>;
35
39
 
@@ -306,7 +310,7 @@ class TouchableHighlightImpl extends React.Component<
306
310
  const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} =
307
311
  this.state.pressability.getEventHandlers();
308
312
 
309
- const accessibilityState =
313
+ const accessibilityState: ?AccessibilityState =
310
314
  this.props.disabled != null
311
315
  ? {
312
316
  ...this.props.accessibilityState,
@@ -24,11 +24,12 @@ import invariant from 'invariant';
24
24
  import * as React from 'react';
25
25
  import {cloneElement} from 'react';
26
26
 
27
- type TVProps = {
27
+ type TouchableNativeFeedbackTVProps = {
28
28
  /**
29
29
  * *(Apple TV only)* TV preferred focus (see documentation for the View component).
30
30
  *
31
31
  * @platform ios
32
+ * @deprecated Use `focusable` instead
32
33
  */
33
34
  hasTVPreferredFocus?: ?boolean,
34
35
 
@@ -70,7 +71,7 @@ type TVProps = {
70
71
 
71
72
  export type TouchableNativeFeedbackProps = $ReadOnly<{
72
73
  ...TouchableWithoutFeedbackProps,
73
- ...TVProps,
74
+ ...TouchableNativeFeedbackTVProps,
74
75
  /**
75
76
  * Determines the type of background drawable that's going to be used to display feedback.
76
77
  * It takes an object with type property and extra data depending on the type.