@office-iss/react-native-win32 0.80.0 → 0.81.0-preview.3

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 (513) hide show
  1. package/.flowconfig +10 -4
  2. package/CHANGELOG.json +142 -13
  3. package/CHANGELOG.md +57 -8
  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/Animated.js +0 -1
  27. package/Libraries/Animated/Animated.js.flow +0 -1
  28. package/Libraries/Animated/AnimatedEvent.js +4 -3
  29. package/Libraries/Animated/AnimatedExports.js +0 -1
  30. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  31. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  32. package/Libraries/Animated/AnimatedMock.js +2 -2
  33. package/Libraries/Animated/Easing.js +1 -1
  34. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  35. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  36. package/Libraries/Animated/SpringConfig.js +1 -1
  37. package/Libraries/Animated/animations/Animation.js +10 -2
  38. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  42. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  43. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  45. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  46. package/Libraries/AppState/NativeAppState.js +1 -0
  47. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  48. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  49. package/Libraries/Blob/BlobManager.js +4 -0
  50. package/Libraries/Blob/NativeBlobModule.js +1 -0
  51. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  52. package/Libraries/Blob/URL.js +1 -1
  53. package/Libraries/Blob/URLSearchParams.js +5 -1
  54. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  57. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  60. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  61. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  62. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  63. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  64. package/Libraries/Components/Button.js +10 -7
  65. package/Libraries/Components/Button.win32.js +10 -7
  66. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  67. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  68. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  72. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  73. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  74. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  75. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  76. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  77. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  78. package/Libraries/Components/Pressable/Pressable.js +17 -8
  79. package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
  80. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  81. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  82. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  83. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  84. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  85. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  86. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  87. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  88. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  89. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  90. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  91. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  92. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  93. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  94. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  95. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  96. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  97. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  98. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  99. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  100. package/Libraries/Components/Sound/SoundManager.js +1 -1
  101. package/Libraries/Components/StaticRenderer.js +1 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  104. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  105. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  106. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  107. package/Libraries/Components/Switch/Switch.js +10 -3
  108. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  109. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  110. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  111. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  112. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  113. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  114. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  115. package/Libraries/Components/TextInput/TextInput.js +42 -39
  116. package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  118. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  119. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  120. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  121. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  122. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  125. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  126. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  127. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  128. package/Libraries/Components/Touchable/Position.js +1 -1
  129. package/Libraries/Components/Touchable/Touchable.js +17 -3
  130. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  131. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  132. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  133. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  134. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
  135. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  136. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  137. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  138. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  139. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  140. package/Libraries/Components/View/View.js +114 -29
  141. package/Libraries/Components/View/View.win32.js +17 -3
  142. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  143. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  144. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  145. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  146. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  147. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  148. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  149. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  150. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  151. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  152. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  153. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  154. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  155. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  156. package/Libraries/Core/ExceptionsManager.js +27 -16
  157. package/Libraries/Core/InitializeCore.js +2 -23
  158. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  159. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  160. package/Libraries/Core/ReactNativeVersion.js +3 -2
  161. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  162. package/Libraries/Core/Timers/JSTimers.js +1 -1
  163. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  164. package/Libraries/Core/Timers/immediateShim.js +1 -1
  165. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  166. package/Libraries/Core/checkNativeVersion.js +1 -0
  167. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  168. package/Libraries/Core/setUpReactDevTools.js +21 -4
  169. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  170. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  171. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  172. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  173. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  174. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  175. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  176. package/Libraries/Image/AssetRegistry.js +4 -10
  177. package/Libraries/Image/Image.android.js +113 -107
  178. package/Libraries/Image/Image.ios.js +10 -2
  179. package/Libraries/Image/Image.win32.js +11 -3
  180. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  181. package/Libraries/Image/ImageInjection.js +1 -1
  182. package/Libraries/Image/ImageSource.d.ts +5 -0
  183. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  184. package/Libraries/Image/NativeImageEditor.js +1 -0
  185. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  186. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  187. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  188. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  189. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  190. package/Libraries/Image/RelativeImageStub.js +2 -1
  191. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  192. package/Libraries/Image/resolveAssetSource.js +1 -1
  193. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  194. package/Libraries/Interaction/InteractionManager.js +64 -54
  195. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  196. package/Libraries/Interaction/TaskQueue.js +8 -9
  197. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  198. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  199. package/Libraries/Linking/Linking.js +1 -1
  200. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  201. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  202. package/Libraries/Lists/FlatList.d.ts +9 -5
  203. package/Libraries/Lists/FlatList.js +6 -7
  204. package/Libraries/Lists/SectionList.js +4 -4
  205. package/Libraries/Lists/SectionListModern.js +9 -3
  206. package/Libraries/Lists/VirtualizedList.js +3 -2
  207. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  208. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  209. package/Libraries/LogBox/LogBox.js +72 -99
  210. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  211. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  212. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  213. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  216. package/Libraries/Modal/Modal.d.ts +8 -2
  217. package/Libraries/Modal/Modal.js +24 -3
  218. package/Libraries/Modal/NativeModalManager.js +1 -0
  219. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  220. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  221. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  222. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  223. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  224. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  225. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  226. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  227. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  228. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  229. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  230. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  231. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  232. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  233. package/Libraries/Network/FormData.js +1 -1
  234. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  235. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  236. package/Libraries/Network/RCTNetworking.android.js +2 -2
  237. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  238. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  239. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  240. package/Libraries/Network/XMLHttpRequest.js +3 -3
  241. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  242. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  243. package/Libraries/Pressability/Pressability.js +1 -1
  244. package/Libraries/Pressability/Pressability.win32.js +1 -1
  245. package/Libraries/Promise.js +1 -1
  246. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  247. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  248. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  249. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  250. package/Libraries/ReactNative/AppContainer.js +1 -1
  251. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  252. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  253. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  254. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  255. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  256. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  258. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  259. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  260. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  261. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  262. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  263. package/Libraries/ReactNative/RendererProxy.js +1 -1
  264. package/Libraries/ReactNative/RootTag.js +2 -2
  265. package/Libraries/ReactNative/renderApplication.js +1 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  267. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  268. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  269. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  270. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  271. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  272. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  273. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
  274. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  275. package/Libraries/Settings/Settings.ios.js +1 -1
  276. package/Libraries/Settings/Settings.js +1 -1
  277. package/Libraries/Settings/SettingsFallback.js +1 -1
  278. package/Libraries/Share/NativeShareModule.js +1 -0
  279. package/Libraries/Share/Share.js +1 -1
  280. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  281. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  282. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  283. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  284. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  285. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  286. package/Libraries/StyleSheet/PointPropType.js +1 -1
  287. package/Libraries/StyleSheet/Rect.js +1 -1
  288. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  289. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  290. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  291. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  292. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  293. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  294. package/Libraries/StyleSheet/processColor.js +1 -1
  295. package/Libraries/StyleSheet/processColorArray.js +1 -1
  296. package/Libraries/StyleSheet/processFilter.js +1 -2
  297. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  298. package/Libraries/StyleSheet/processTransform.js +1 -1
  299. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  300. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  301. package/Libraries/Text/Text.d.ts +7 -0
  302. package/Libraries/Text/Text.js +255 -246
  303. package/Libraries/Text/Text.win32.js +294 -285
  304. package/Libraries/Text/TextAncestor.js +3 -9
  305. package/Libraries/Text/TextAncestorContext.js +23 -0
  306. package/Libraries/Text/TextNativeComponent.js +4 -0
  307. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  308. package/Libraries/Text/TextProps.js +2 -5
  309. package/Libraries/Text/TextProps.win32.js +2 -7
  310. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  311. package/Libraries/Types/CodegenTypes.js +1 -1
  312. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  313. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  314. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  315. package/Libraries/Utilities/Appearance.js +1 -1
  316. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  317. package/Libraries/Utilities/DevLoadingView.js +1 -1
  318. package/Libraries/Utilities/DeviceInfo.js +1 -1
  319. package/Libraries/Utilities/Dimensions.js +1 -1
  320. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  321. package/Libraries/Utilities/HMRClient.js +13 -3
  322. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  323. package/Libraries/Utilities/NativeAppearance.js +1 -0
  324. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  325. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  326. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  327. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  328. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  329. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  330. package/Libraries/Utilities/PixelRatio.js +1 -1
  331. package/Libraries/Utilities/Platform.android.js +2 -5
  332. package/Libraries/Utilities/Platform.ios.js +2 -5
  333. package/Libraries/Utilities/Platform.js +1 -1
  334. package/Libraries/Utilities/Platform.js.flow +2 -2
  335. package/Libraries/Utilities/Platform.win32.js +2 -5
  336. package/Libraries/Utilities/PlatformTypes.js +2 -2
  337. package/Libraries/Utilities/RCTLog.js +1 -1
  338. package/Libraries/Utilities/SceneTracker.js +1 -1
  339. package/Libraries/Utilities/binaryToBase64.js +1 -1
  340. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  341. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  342. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  343. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  344. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  345. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  346. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  347. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  348. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  349. package/Libraries/Utilities/logError.js +1 -1
  350. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  351. package/Libraries/Utilities/stringifySafe.js +1 -1
  352. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  353. package/Libraries/Utilities/useColorScheme.js +1 -1
  354. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  355. package/Libraries/Utilities/warnOnce.js +1 -1
  356. package/Libraries/Vibration/NativeVibration.js +1 -0
  357. package/Libraries/Vibration/Vibration.js +1 -2
  358. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  359. package/Libraries/WebSocket/WebSocket.js +1 -1
  360. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  361. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  362. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  363. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  364. package/index.js +22 -2
  365. package/index.win32.js +15 -2
  366. package/interface.js +1 -1
  367. package/jest/MockNativeMethods.js +9 -3
  368. package/jest/RefreshControlMock.js +32 -0
  369. package/jest/assetFileTransformer.js +1 -0
  370. package/jest/local-setup.js +4 -3
  371. package/jest/mock.js +39 -0
  372. package/jest/mockComponent.js +47 -17
  373. package/jest/mockNativeComponent.js +26 -15
  374. package/jest/mocks/AccessibilityInfo.js +62 -0
  375. package/jest/mocks/ActivityIndicator.js +23 -0
  376. package/jest/mocks/AppState.js +19 -0
  377. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  378. package/jest/mocks/Image.js +23 -0
  379. package/jest/mocks/InitializeCore.js +9 -0
  380. package/jest/mocks/Linking.js +28 -0
  381. package/jest/mocks/Modal.js +33 -0
  382. package/jest/mocks/NativeComponentRegistry.js +30 -0
  383. package/jest/mocks/NativeModules.js +239 -0
  384. package/jest/mocks/RefreshControl.js +31 -0
  385. package/jest/mocks/RendererProxy.js +45 -0
  386. package/jest/mocks/ScrollView.js +58 -0
  387. package/jest/mocks/Text.js +27 -0
  388. package/jest/mocks/TextInput.js +32 -0
  389. package/jest/mocks/UIManager.js +60 -0
  390. package/jest/mocks/Vibration.js +16 -0
  391. package/jest/mocks/View.js +27 -0
  392. package/jest/mocks/ViewNativeComponent.js +23 -0
  393. package/jest/mocks/requireNativeComponent.js +22 -0
  394. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  395. package/jest/react-native-env.js +1 -0
  396. package/jest/renderer.js +1 -2
  397. package/jest/resolver.js +1 -0
  398. package/jest/setup.js +64 -445
  399. package/overrides.json +49 -42
  400. package/package.json +20 -20
  401. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  402. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  403. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  404. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  405. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  406. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  407. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  408. package/src/private/components/virtualview/VirtualView.js +145 -0
  409. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  410. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  411. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  412. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  413. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  414. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  415. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  416. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  417. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  418. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  419. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  420. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  421. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  422. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  423. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  424. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  425. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  426. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  427. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  428. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  429. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  430. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  431. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  432. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  433. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  434. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  435. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  436. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  437. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  438. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  439. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  440. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  441. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  442. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  443. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  444. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  445. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  446. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  447. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  448. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  449. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  450. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  451. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  452. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  453. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  454. package/src/private/styles/composeStyles.js +5 -12
  455. package/src/private/types/HostInstance.js +1 -1
  456. package/src/private/webapis/dom/events/Event.js +3 -0
  457. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  458. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  459. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  460. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  461. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  462. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  463. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  464. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  465. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  466. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  467. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  468. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  469. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  470. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  471. package/src/private/webapis/errors/DOMException.js +166 -0
  472. package/src/private/webapis/geometry/DOMRect.js +5 -0
  473. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  474. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  475. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  476. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  477. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  478. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  479. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  480. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  481. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  482. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  483. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  484. package/src/private/webapis/performance/EventTiming.js +1 -1
  485. package/src/private/webapis/performance/LongTasks.js +1 -1
  486. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  487. package/src/private/webapis/performance/Performance.js +20 -9
  488. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  489. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  490. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  491. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  492. package/src/private/webapis/performance/UserTiming.js +1 -1
  493. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  494. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  495. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  496. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  497. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  498. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  499. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  500. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  501. package/src-win/Libraries/Text/Text.d.ts +7 -0
  502. package/types/modules/Devtools.d.ts +23 -9
  503. package/Libraries/BugReporting/BugReporting.js +0 -140
  504. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  505. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  506. package/Libraries/BugReporting/getReactData.js +0 -187
  507. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  508. package/flow/HermesInternalType.js +0 -114
  509. package/flow/console.js +0 -49
  510. package/flow/global.js +0 -88
  511. package/jest/mockModal.js +0 -32
  512. package/jest/mockScrollView.js +0 -35
  513. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -10,17 +10,15 @@
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,
16
18
  } from '../../Types/CoreEventTypes';
17
19
  import type {ViewProps} from '../View/ViewPropTypes';
18
20
 
19
- import {
20
- type ColorValue,
21
- type TextStyleProp,
22
- type ViewStyleProp,
23
- } from '../../StyleSheet/StyleSheet';
21
+ import {type ColorValue, type TextStyleProp} from '../../StyleSheet/StyleSheet';
24
22
  import * as React from 'react';
25
23
 
26
24
  /**
@@ -62,22 +60,22 @@ type TextInputContentSizeChangeEventData = $ReadOnly<{
62
60
  export type TextInputContentSizeChangeEvent =
63
61
  NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
64
62
 
65
- type TargetEvent = $ReadOnly<{
66
- target: number,
67
- ...
68
- }>;
69
-
70
- type TextInputFocusEventData = TargetEvent;
71
-
72
63
  /**
73
64
  * @see TextInputProps.onBlur
65
+ * @deprecated Use `BlurEvent` instead.
74
66
  */
75
- export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
67
+ export type TextInputBlurEvent = BlurEvent;
76
68
 
77
69
  /**
78
70
  * @see TextInputProps.onFocus
71
+ * @deprecated Use `FocusEvent` instead.
79
72
  */
80
- export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
73
+ export type TextInputFocusEvent = FocusEvent;
74
+
75
+ type TargetEvent = $ReadOnly<{
76
+ target: number,
77
+ ...
78
+ }>;
81
79
 
82
80
  export type Selection = $ReadOnly<{
83
81
  start: number,
@@ -1033,7 +1031,7 @@ type TextInputBaseProps = $ReadOnly<{
1033
1031
  }>;
1034
1032
 
1035
1033
  export type TextInputProps = $ReadOnly<{
1036
- ...Omit<ViewProps, 'style'>,
1034
+ ...Omit<ViewProps, 'style' | 'experimental_accessibilityOrder'>,
1037
1035
  ...TextInputIOSProps,
1038
1036
  ...TextInputAndroidProps,
1039
1037
  ...TextInputBaseProps,
@@ -10,17 +10,15 @@
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,
16
18
  } from '../../Types/CoreEventTypes';
17
19
  import type {ViewProps} from '../View/ViewPropTypes';
18
20
 
19
- import {
20
- type ColorValue,
21
- type TextStyleProp,
22
- type ViewStyleProp,
23
- } from '../../StyleSheet/StyleSheet';
21
+ import {type ColorValue, type TextStyleProp} from '../../StyleSheet/StyleSheet';
24
22
  import * as React from 'react';
25
23
 
26
24
  /**
@@ -62,22 +60,22 @@ type TextInputContentSizeChangeEventData = $ReadOnly<{
62
60
  export type TextInputContentSizeChangeEvent =
63
61
  NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
64
62
 
65
- type TargetEvent = $ReadOnly<{
66
- target: number,
67
- ...
68
- }>;
69
-
70
- type TextInputFocusEventData = TargetEvent;
71
-
72
63
  /**
73
64
  * @see TextInputProps.onBlur
65
+ * @deprecated Use `BlurEvent` instead.
74
66
  */
75
- export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
67
+ export type TextInputBlurEvent = BlurEvent;
76
68
 
77
69
  /**
78
70
  * @see TextInputProps.onFocus
71
+ * @deprecated Use `FocusEvent` instead.
79
72
  */
80
- export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
73
+ export type TextInputFocusEvent = FocusEvent;
74
+
75
+ type TargetEvent = $ReadOnly<{
76
+ target: number,
77
+ ...
78
+ }>;
81
79
 
82
80
  export type Selection = $ReadOnly<{
83
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,14 +55,14 @@ 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';
60
62
  import invariant from 'invariant';
61
63
  import nullthrows from 'nullthrows';
62
64
  import * as React from 'react';
63
- import {useCallback, useLayoutEffect, useRef, useState} from 'react';
65
+ import {useCallback, useLayoutEffect, useMemo, useRef, useState} from 'react';
64
66
 
65
67
  let AndroidTextInput;
66
68
  let AndroidTextInputCommands;
@@ -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);
@@ -578,7 +582,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
578
582
  rejectResponderTermination,
579
583
  } = props;
580
584
 
581
- const config = React.useMemo(
585
+ const config = useMemo(
582
586
  () => ({
583
587
  hitSlop,
584
588
  onPress: (event: GestureResponderEvent) => {
@@ -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,29 +872,30 @@ const autoCompleteWebToTextContentTypeMap = {
869
872
  tel: 'telephoneNumber',
870
873
  url: 'URL',
871
874
  username: 'username',
872
- };
875
+ } as const;
873
876
 
874
- const ExportedForwardRef: component(
877
+ const TextInput: component(
875
878
  ref?: React.RefSetter<TextInputInstance>,
876
879
  ...props: React.ElementConfig<typeof InternalTextInput>
877
- ) = React.forwardRef(function TextInput(
878
- {
879
- allowFontScaling = true,
880
- rejectResponderTermination = true,
881
- underlineColorAndroid = 'transparent',
882
- autoComplete,
883
- textContentType,
884
- readOnly,
885
- editable,
886
- enterKeyHint,
887
- returnKeyType,
888
- inputMode,
889
- showSoftInputOnFocus,
890
- keyboardType,
891
- ...restProps
892
- },
893
- forwardedRef: React.RefSetter<TextInputInstance>,
894
- ) {
880
+ ) = function TextInput({
881
+ ref: forwardedRef,
882
+ allowFontScaling = true,
883
+ rejectResponderTermination = true,
884
+ underlineColorAndroid = 'transparent',
885
+ autoComplete,
886
+ textContentType,
887
+ readOnly,
888
+ editable,
889
+ enterKeyHint,
890
+ returnKeyType,
891
+ inputMode,
892
+ showSoftInputOnFocus,
893
+ keyboardType,
894
+ ...restProps
895
+ }: {
896
+ ref?: React.RefSetter<TextInputInstance>,
897
+ ...React.ElementConfig<typeof InternalTextInput>,
898
+ }) {
895
899
  return (
896
900
  <InternalTextInput
897
901
  allowFontScaling={allowFontScaling}
@@ -921,8 +925,7 @@ const ExportedForwardRef: component(
921
925
  : Platform.OS === 'ios' &&
922
926
  autoComplete &&
923
927
  autoComplete in autoCompleteWebToTextContentTypeMap
924
- ? // $FlowFixMe[invalid-computed-prop]
925
- // $FlowFixMe[prop-missing]
928
+ ? // $FlowFixMe[prop-missing]
926
929
  autoCompleteWebToTextContentTypeMap[autoComplete]
927
930
  : textContentType
928
931
  }
@@ -930,12 +933,12 @@ const ExportedForwardRef: component(
930
933
  forwardedRef={forwardedRef}
931
934
  />
932
935
  );
933
- });
936
+ };
934
937
 
935
- ExportedForwardRef.displayName = 'TextInput';
938
+ TextInput.displayName = 'TextInput';
936
939
 
937
940
  // $FlowFixMe[prop-missing]
938
- ExportedForwardRef.State = {
941
+ TextInput.State = {
939
942
  currentlyFocusedInput: TextInputState.currentlyFocusedInput,
940
943
 
941
944
  currentlyFocusedField: TextInputState.currentlyFocusedField,
@@ -961,7 +964,7 @@ const verticalAlignToTextAlignVerticalMap = {
961
964
  top: 'top',
962
965
  bottom: 'bottom',
963
966
  middle: 'center',
964
- };
967
+ } as const;
965
968
 
966
969
  // $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
967
- export default ExportedForwardRef as any as TextInputType;
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';
@@ -61,7 +63,7 @@ import TextInputState from './TextInputState';
61
63
  import invariant from 'invariant';
62
64
  import nullthrows from 'nullthrows';
63
65
  import * as React from 'react';
64
- import {useCallback, useLayoutEffect, useRef, useState} from 'react';
66
+ import {useCallback, useLayoutEffect, useMemo, useRef, useState} from 'react';
65
67
 
66
68
  let AndroidTextInput;
67
69
  let AndroidTextInputCommands;
@@ -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,
@@ -463,6 +467,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
463
467
  */
464
468
  if (instance != null) {
465
469
  // $FlowFixMe[prop-missing] - See the explanation above.
470
+ // $FlowFixMe[unsafe-object-assign]
466
471
  Object.assign(instance, {
467
472
  clear(): void {
468
473
  if (inputRef.current != null) {
@@ -540,14 +545,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
540
545
  });
541
546
  };
542
547
 
543
- const _onFocus = (event: TextInputFocusEvent) => {
548
+ const _onFocus = (event: FocusEvent) => {
544
549
  TextInputState.focusInput(inputRef.current);
545
550
  if (props.onFocus) {
546
551
  props.onFocus(event);
547
552
  }
548
553
  };
549
554
 
550
- const _onBlur = (event: TextInputBlurEvent) => {
555
+ const _onBlur = (event: BlurEvent) => {
551
556
  TextInputState.blurInput(inputRef.current);
552
557
  if (props.onBlur) {
553
558
  props.onBlur(event);
@@ -604,7 +609,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
604
609
  rejectResponderTermination,
605
610
  } = props;
606
611
 
607
- const config = React.useMemo(
612
+ const config = useMemo(
608
613
  () => ({
609
614
  hitSlop,
610
615
  onPress: (event: GestureResponderEvent) => {
@@ -646,6 +651,10 @@ function InternalTextInput(props: TextInputProps): React.Node {
646
651
  for (const el of props.keyDownEvents) {
647
652
  if (
648
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) &&
649
658
  el.handledEventPhase === eventPhase.Bubbling
650
659
  ) {
651
660
  event.stopPropagation();
@@ -659,7 +668,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
659
668
  if (props.keyUpEvents && event.isPropagationStopped() !== true) {
660
669
  // $FlowFixMe - keyDownEvents was already checked to not be undefined
661
670
  for (const el of props.keyUpEvents) {
662
- 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
+ ) {
663
679
  event.stopPropagation();
664
680
  }
665
681
  }
@@ -671,7 +687,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
671
687
  if (props.keyDownEvents && event.isPropagationStopped() !== true) {
672
688
  // $FlowFixMe - keyDownEvents was already checked to not be undefined
673
689
  for (const el of props.keyDownEvents) {
674
- 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
+ ) {
675
698
  event.stopPropagation();
676
699
  }
677
700
  }
@@ -683,7 +706,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
683
706
  if (props.keyUpEvents && event.isPropagationStopped() !== true) {
684
707
  // $FlowFixMe - keyDownEvents was already checked to not be undefined
685
708
  for (const el of props.keyUpEvents) {
686
- 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
+ ) {
687
717
  event.stopPropagation();
688
718
  }
689
719
  }
@@ -894,7 +924,7 @@ const enterKeyHintToReturnTypeMap = {
894
924
  previous: 'previous',
895
925
  search: 'search',
896
926
  send: 'send',
897
- };
927
+ } as const;
898
928
 
899
929
  const inputModeToKeyboardTypeMap = {
900
930
  none: 'default',
@@ -902,10 +932,11 @@ const inputModeToKeyboardTypeMap = {
902
932
  decimal: 'decimal-pad',
903
933
  numeric: 'number-pad',
904
934
  tel: 'phone-pad',
905
- search: Platform.OS === 'ios' ? 'web-search' : 'default',
935
+ search:
936
+ Platform.OS === 'ios' ? ('web-search' as const) : ('default' as const),
906
937
  email: 'email-address',
907
938
  url: 'url',
908
- };
939
+ } as const;
909
940
 
910
941
  // Map HTML autocomplete values to Android autoComplete values
911
942
  const autoCompleteWebToAutoCompleteAndroidMap = {
@@ -939,7 +970,7 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
939
970
  'tel-country-code': 'tel-country-code',
940
971
  'tel-national': 'tel-national',
941
972
  username: 'username',
942
- };
973
+ } as const;
943
974
 
944
975
  // Map HTML autocomplete values to iOS textContentType values
945
976
  const autoCompleteWebToTextContentTypeMap = {
@@ -979,29 +1010,30 @@ const autoCompleteWebToTextContentTypeMap = {
979
1010
  tel: 'telephoneNumber',
980
1011
  url: 'URL',
981
1012
  username: 'username',
982
- };
1013
+ } as const;
983
1014
 
984
- const ExportedForwardRef: component(
1015
+ const TextInput: component(
985
1016
  ref?: React.RefSetter<TextInputInstance>,
986
1017
  ...props: React.ElementConfig<typeof InternalTextInput>
987
- ) = React.forwardRef(function TextInput(
988
- {
989
- allowFontScaling = true,
990
- rejectResponderTermination = true,
991
- underlineColorAndroid = 'transparent',
992
- autoComplete,
993
- textContentType,
994
- readOnly,
995
- editable,
996
- enterKeyHint,
997
- returnKeyType,
998
- inputMode,
999
- showSoftInputOnFocus,
1000
- keyboardType,
1001
- ...restProps
1002
- },
1003
- forwardedRef: React.RefSetter<TextInputInstance>,
1004
- ) {
1018
+ ) = function TextInput({
1019
+ ref: forwardedRef,
1020
+ allowFontScaling = true,
1021
+ rejectResponderTermination = true,
1022
+ underlineColorAndroid = 'transparent',
1023
+ autoComplete,
1024
+ textContentType,
1025
+ readOnly,
1026
+ editable,
1027
+ enterKeyHint,
1028
+ returnKeyType,
1029
+ inputMode,
1030
+ showSoftInputOnFocus,
1031
+ keyboardType,
1032
+ ...restProps
1033
+ }: {
1034
+ ref?: React.RefSetter<TextInputInstance>,
1035
+ ...React.ElementConfig<typeof InternalTextInput>,
1036
+ }) {
1005
1037
  return (
1006
1038
  <InternalTextInput
1007
1039
  allowFontScaling={allowFontScaling}
@@ -1030,8 +1062,7 @@ const ExportedForwardRef: component(
1030
1062
  : Platform.OS === 'ios' &&
1031
1063
  autoComplete &&
1032
1064
  autoComplete in autoCompleteWebToTextContentTypeMap
1033
- ? // $FlowFixMe[invalid-computed-prop]
1034
- // $FlowFixMe[prop-missing]
1065
+ ? // $FlowFixMe[prop-missing]
1035
1066
  autoCompleteWebToTextContentTypeMap[autoComplete]
1036
1067
  : textContentType
1037
1068
  }
@@ -1039,12 +1070,12 @@ const ExportedForwardRef: component(
1039
1070
  forwardedRef={forwardedRef}
1040
1071
  />
1041
1072
  );
1042
- });
1073
+ };
1043
1074
 
1044
- ExportedForwardRef.displayName = 'TextInput';
1075
+ TextInput.displayName = 'TextInput';
1045
1076
 
1046
1077
  // $FlowFixMe[prop-missing]
1047
- ExportedForwardRef.State = {
1078
+ TextInput.State = {
1048
1079
  currentlyFocusedInput: TextInputState.currentlyFocusedInput,
1049
1080
 
1050
1081
  currentlyFocusedField: TextInputState.currentlyFocusedField,
@@ -1070,7 +1101,7 @@ const verticalAlignToTextAlignVerticalMap = {
1070
1101
  top: 'top',
1071
1102
  bottom: 'bottom',
1072
1103
  middle: 'center',
1073
- };
1104
+ } as const;
1074
1105
 
1075
1106
  // $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
1076
- export default ExportedForwardRef as any as TextInputType;
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';