@office-iss/react-native-win32 0.67.0 → 0.68.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 (619) hide show
  1. package/.eslintignore +2 -1
  2. package/.flowconfig +6 -2
  3. package/CHANGELOG.json +366 -41
  4. package/CHANGELOG.md +136 -24
  5. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  6. package/IntegrationTests/AppEventsTest.js +2 -1
  7. package/IntegrationTests/AsyncStorageTest.js +8 -6
  8. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  9. package/IntegrationTests/ImageCachePolicyTest.js +1 -1
  10. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  11. package/IntegrationTests/IntegrationTestHarnessTest.js +8 -6
  12. package/IntegrationTests/IntegrationTestsApp.js +3 -9
  13. package/IntegrationTests/LayoutEventsTest.js +1 -1
  14. package/IntegrationTests/LoggingTestModule.js +8 -8
  15. package/IntegrationTests/PromiseTest.js +1 -1
  16. package/IntegrationTests/PropertiesUpdateTest.js +1 -1
  17. package/IntegrationTests/RCTRootViewIntegrationTestApp.js +3 -9
  18. package/IntegrationTests/ReactContentSizeUpdateTest.js +1 -1
  19. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  20. package/IntegrationTests/SizeFlexibilityUpdateTest.js +1 -1
  21. package/IntegrationTests/SyncMethodTest.js +1 -1
  22. package/IntegrationTests/TimersTest.js +1 -1
  23. package/IntegrationTests/WebSocketTest.js +2 -2
  24. package/IntegrationTests/launchWebSocketServer.command +1 -1
  25. package/IntegrationTests/websocket_integration_test_server.js +1 -1
  26. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -4
  27. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -1
  28. package/Libraries/Alert/Alert.js +4 -4
  29. package/Libraries/Alert/Alert.win32.js +3 -3
  30. package/Libraries/Alert/NativeAlertManager.js +1 -1
  31. package/Libraries/Alert/RCTAlertManager.android.js +2 -2
  32. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  33. package/Libraries/Animated/Animated.js +1 -1
  34. package/Libraries/Animated/AnimatedEvent.js +11 -6
  35. package/Libraries/Animated/AnimatedImplementation.js +116 -85
  36. package/Libraries/Animated/AnimatedMock.js +65 -22
  37. package/Libraries/{Components/Touchable/__mocks__/ensureComponentIsNative.js → Animated/AnimatedPlatformConfig.js} +3 -2
  38. package/Libraries/Animated/AnimatedWeb.js +1 -1
  39. package/Libraries/Animated/Easing.js +38 -40
  40. package/Libraries/Animated/NativeAnimatedHelper.js +24 -21
  41. package/Libraries/Animated/NativeAnimatedModule.js +1 -1
  42. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -1
  43. package/Libraries/Animated/SpringConfig.js +11 -11
  44. package/Libraries/Animated/animations/Animation.js +6 -4
  45. package/Libraries/Animated/animations/DecayAnimation.js +6 -1
  46. package/Libraries/Animated/animations/SpringAnimation.js +16 -1
  47. package/Libraries/Animated/animations/TimingAnimation.js +15 -2
  48. package/Libraries/Animated/bezier.js +20 -9
  49. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  50. package/Libraries/Animated/components/AnimatedImage.js +1 -1
  51. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  52. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  53. package/Libraries/Animated/components/AnimatedText.js +1 -1
  54. package/Libraries/Animated/components/AnimatedView.js +1 -1
  55. package/Libraries/Animated/createAnimatedComponent.js +4 -4
  56. package/Libraries/Animated/createAnimatedComponentInjection.js +1 -1
  57. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +1 -1
  58. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -5
  59. package/Libraries/Animated/nodes/AnimatedColor.js +266 -0
  60. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +5 -4
  61. package/Libraries/Animated/nodes/AnimatedDivision.js +6 -5
  62. package/Libraries/Animated/nodes/AnimatedInterpolation.js +8 -6
  63. package/Libraries/Animated/nodes/AnimatedModulo.js +5 -4
  64. package/Libraries/Animated/nodes/AnimatedMultiplication.js +6 -5
  65. package/Libraries/Animated/nodes/AnimatedNode.js +31 -18
  66. package/Libraries/Animated/nodes/AnimatedProps.js +12 -4
  67. package/Libraries/Animated/nodes/AnimatedStyle.js +9 -7
  68. package/Libraries/Animated/nodes/AnimatedSubtraction.js +6 -5
  69. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -6
  70. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -4
  71. package/Libraries/Animated/nodes/AnimatedValue.js +21 -12
  72. package/Libraries/Animated/nodes/AnimatedValueXY.js +14 -14
  73. package/Libraries/Animated/nodes/AnimatedWithChildren.js +6 -5
  74. package/Libraries/Animated/useAnimatedProps.js +1 -1
  75. package/Libraries/AppState/AppState.js +9 -8
  76. package/Libraries/AppState/NativeAppState.js +1 -1
  77. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  78. package/Libraries/BatchedBridge/MessageQueue.js +7 -9
  79. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  80. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
  81. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
  82. package/Libraries/Blob/Blob.js +1 -1
  83. package/Libraries/Blob/BlobManager.js +1 -1
  84. package/Libraries/Blob/BlobRegistry.js +1 -1
  85. package/Libraries/Blob/BlobTypes.js +1 -1
  86. package/Libraries/Blob/File.js +1 -1
  87. package/Libraries/Blob/FileReader.js +1 -1
  88. package/Libraries/Blob/NativeBlobModule.js +1 -1
  89. package/Libraries/Blob/NativeFileReaderModule.js +1 -1
  90. package/Libraries/Blob/URL.js +26 -21
  91. package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
  92. package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
  93. package/Libraries/BugReporting/BugReporting.js +1 -1
  94. package/Libraries/BugReporting/NativeBugReporting.js +1 -1
  95. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  96. package/Libraries/BugReporting/getReactData.js +15 -6
  97. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +89 -29
  98. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +95 -35
  99. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -1
  100. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -1
  101. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  102. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  103. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  104. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  105. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +5 -5
  106. package/Libraries/Components/Button.js +1 -1
  107. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  108. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -1
  109. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +1 -1
  110. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +18 -2
  111. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +1 -1
  112. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -1
  113. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -1
  114. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -3
  115. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +5 -4
  116. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  117. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  118. package/Libraries/Components/Keyboard/Keyboard.js +7 -6
  119. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +11 -6
  120. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -1
  121. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +1 -1
  122. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +1 -1
  123. package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +1 -1
  124. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +1 -1
  125. package/Libraries/Components/Pressable/Pressable.js +38 -2
  126. package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
  127. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  128. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +6 -5
  129. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +1 -1
  130. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  131. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
  132. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  133. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +3 -2
  134. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
  135. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +1 -1
  136. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -2
  137. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
  138. package/Libraries/Components/RefreshControl/RefreshControl.js +3 -8
  139. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -4
  140. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  141. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -3
  142. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -3
  143. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -1
  144. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +16 -6
  145. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +4 -6
  146. package/Libraries/Components/ScrollView/ScrollView.js +22 -15
  147. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  148. package/Libraries/Components/ScrollView/ScrollViewContext.js +1 -1
  149. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +135 -71
  150. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -1
  151. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  152. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -1
  153. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  154. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +1 -1
  155. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +1 -1
  156. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +3 -9
  157. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +1 -1
  158. package/Libraries/Components/Slider/Slider.js +1 -1
  159. package/Libraries/Components/Slider/SliderNativeComponent.js +3 -3
  160. package/Libraries/Components/Sound/NativeSoundManager.js +1 -1
  161. package/Libraries/Components/Sound/SoundManager.js +2 -2
  162. package/Libraries/Components/StaticRenderer.js +1 -1
  163. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -1
  164. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -1
  165. package/Libraries/Components/StatusBar/StatusBar.js +1 -1
  166. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
  167. package/Libraries/Components/Switch/Switch.js +1 -1
  168. package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
  169. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +175 -14
  170. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  171. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  172. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +10 -5
  173. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -5
  174. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +32 -11
  175. package/Libraries/Components/TextInput/TextInput.js +131 -31
  176. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  177. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  178. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  179. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -1
  180. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +4 -4
  181. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +4 -4
  182. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +4 -4
  183. package/Libraries/Components/Touchable/BoundingDimensions.js +3 -3
  184. package/Libraries/Components/Touchable/PooledClass.js +12 -12
  185. package/Libraries/Components/Touchable/Position.js +2 -2
  186. package/Libraries/Components/Touchable/Touchable.js +27 -40
  187. package/Libraries/Components/Touchable/TouchableBounce.js +3 -6
  188. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -6
  189. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -12
  190. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -7
  191. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -6
  192. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  193. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  194. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  195. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  196. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
  197. package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -2
  198. package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +13 -2
  199. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +1 -1
  200. package/Libraries/Components/View/View.js +1 -1
  201. package/Libraries/Components/View/View.win32.js +2 -2
  202. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  203. package/Libraries/Components/View/ViewNativeComponent.js +4 -5
  204. package/Libraries/Components/View/ViewPropTypes.js +38 -31
  205. package/Libraries/Components/View/ViewPropTypes.win32.js +38 -31
  206. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  207. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  208. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  209. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  210. package/Libraries/Core/Devtools/parseHermesStack.js +3 -2
  211. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  212. package/Libraries/Core/ExceptionsManager.js +3 -3
  213. package/Libraries/Core/ExtendedError.js +1 -1
  214. package/Libraries/Core/InitializeCore.js +1 -3
  215. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  216. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  217. package/Libraries/Core/ReactNativeVersion.js +4 -4
  218. package/Libraries/Core/ReactNativeVersionCheck.js +12 -2
  219. package/Libraries/Core/ReactNativeVersionCheck.win32.js +12 -2
  220. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -1
  221. package/Libraries/Core/Timers/JSTimers.js +35 -42
  222. package/Libraries/Core/Timers/NativeTiming.js +1 -1
  223. package/Libraries/Core/Timers/immediateShim.js +1 -1
  224. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  225. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  226. package/Libraries/Core/checkNativeVersion.js +1 -1
  227. package/Libraries/Core/polyfillPromise.js +1 -1
  228. package/Libraries/Core/setUpAlert.js +2 -2
  229. package/Libraries/Core/setUpBatchedBridge.js +15 -3
  230. package/Libraries/Core/setUpDeveloperTools.js +2 -2
  231. package/Libraries/Core/setUpErrorHandling.js +2 -2
  232. package/Libraries/Core/setUpGlobals.js +1 -1
  233. package/Libraries/Core/setUpNavigator.js +1 -1
  234. package/Libraries/Core/setUpPerformance.js +2 -2
  235. package/Libraries/Core/setUpReactDevTools.js +1 -1
  236. package/Libraries/Core/setUpReactRefresh.js +1 -1
  237. package/Libraries/Core/setUpRegeneratorRuntime.js +2 -2
  238. package/Libraries/Core/setUpSegmentFetcher.js +5 -5
  239. package/Libraries/Core/setUpSystrace.js +1 -1
  240. package/Libraries/Core/setUpTimers.js +12 -2
  241. package/Libraries/Core/setUpXHR.js +1 -1
  242. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -2
  243. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  244. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  245. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  246. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  247. package/Libraries/HeapCapture/HeapCapture.js +2 -2
  248. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -1
  249. package/Libraries/Image/AssetRegistry.js +1 -1
  250. package/Libraries/Image/AssetSourceResolver.js +3 -5
  251. package/Libraries/Image/AssetUtils.js +1 -1
  252. package/Libraries/Image/Image.android.js +38 -30
  253. package/Libraries/Image/Image.ios.js +17 -20
  254. package/Libraries/Image/Image.win32.js +19 -22
  255. package/Libraries/Image/ImageAnalyticsTagContext.js +3 -4
  256. package/Libraries/Image/ImageBackground.js +11 -2
  257. package/Libraries/Image/ImageInjection.js +1 -1
  258. package/Libraries/Image/ImagePickerIOS.js +7 -7
  259. package/Libraries/Image/ImageProps.js +18 -18
  260. package/Libraries/Image/ImageResizeMode.js +1 -1
  261. package/Libraries/Image/ImageSource.js +1 -1
  262. package/Libraries/Image/ImageViewNativeComponent.js +96 -61
  263. package/Libraries/Image/NativeImageEditor.js +1 -1
  264. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -4
  265. package/Libraries/Image/NativeImageLoaderIOS.js +1 -1
  266. package/Libraries/Image/NativeImageLoaderWin32.js +1 -1
  267. package/Libraries/Image/NativeImagePickerIOS.js +1 -1
  268. package/Libraries/Image/NativeImageStoreAndroid.js +1 -1
  269. package/Libraries/Image/NativeImageStoreIOS.js +1 -1
  270. package/Libraries/Image/RelativeImageStub.js +1 -1
  271. package/Libraries/Image/TextInlineImageNativeComponent.js +14 -74
  272. package/Libraries/Image/nativeImageSource.js +3 -3
  273. package/Libraries/Image/resolveAssetSource.js +1 -1
  274. package/Libraries/Image/resolveAssetSource.win32.js +1 -1
  275. package/Libraries/Inspector/BorderBox.js +1 -1
  276. package/Libraries/Inspector/BoxInspector.js +1 -1
  277. package/Libraries/Inspector/ElementBox.js +1 -1
  278. package/Libraries/Inspector/ElementProperties.js +1 -1
  279. package/Libraries/Inspector/Inspector.js +2 -2
  280. package/Libraries/Inspector/Inspector.win32.js +7 -7
  281. package/Libraries/Inspector/InspectorOverlay.js +1 -1
  282. package/Libraries/Inspector/InspectorOverlay.win32.js +1 -1
  283. package/Libraries/Inspector/InspectorPanel.js +1 -1
  284. package/Libraries/Inspector/NetworkOverlay.js +3 -6
  285. package/Libraries/Inspector/PerformanceOverlay.js +1 -1
  286. package/Libraries/Inspector/StyleInspector.js +1 -1
  287. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  288. package/Libraries/Interaction/Batchinator.js +1 -1
  289. package/Libraries/Interaction/BridgeSpyStallHandler.js +2 -2
  290. package/Libraries/Interaction/FrameRateLogger.js +3 -3
  291. package/Libraries/Interaction/InteractionManager.js +3 -5
  292. package/Libraries/Interaction/InteractionStallDebugger.js +1 -1
  293. package/Libraries/Interaction/JSEventLoopWatchdog.js +5 -5
  294. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -1
  295. package/Libraries/Interaction/PanResponder.js +4 -5
  296. package/Libraries/Interaction/TaskQueue.js +1 -1
  297. package/Libraries/Interaction/TouchHistoryMath.js +8 -8
  298. package/Libraries/JSInspector/InspectorAgent.js +1 -1
  299. package/Libraries/JSInspector/JSInspector.js +1 -1
  300. package/Libraries/JSInspector/NetworkAgent.js +2 -7
  301. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
  302. package/Libraries/Linking/Linking.js +8 -8
  303. package/Libraries/Linking/NativeIntentAndroid.js +1 -1
  304. package/Libraries/Linking/NativeLinkingManager.js +1 -1
  305. package/Libraries/Lists/CellRenderMask.js +1 -1
  306. package/Libraries/Lists/FillRateHelper.js +5 -4
  307. package/Libraries/Lists/FlatList.js +4 -5
  308. package/Libraries/Lists/SectionList.js +4 -4
  309. package/Libraries/Lists/SectionListModern.js +4 -4
  310. package/Libraries/Lists/ViewabilityHelper.js +5 -11
  311. package/Libraries/Lists/VirtualizeUtils.js +3 -7
  312. package/Libraries/Lists/VirtualizedList.js +23 -33
  313. package/Libraries/Lists/VirtualizedListContext.js +3 -4
  314. package/Libraries/Lists/VirtualizedSectionList.js +54 -63
  315. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  316. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  317. package/Libraries/Lists/__tests__/CellRenderMask-test.js +1 -1
  318. package/Libraries/Lists/__tests__/{FillRateHelper-test.js → FillRateHelper-test.windows.js} +8 -8
  319. package/Libraries/Lists/__tests__/{FlatList-test.js → FlatList-test.windows.js} +3 -3
  320. package/Libraries/Lists/__tests__/{SectionList-test.js → SectionList-test.windows.js} +15 -15
  321. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +15 -15
  322. package/Libraries/Lists/__tests__/{VirtualizeUtils-test.js → VirtualizeUtils-test.windows.js} +19 -22
  323. package/Libraries/Lists/__tests__/{VirtualizedList-test.js → VirtualizedList-test.windows.js} +32 -32
  324. package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.js → VirtualizedSectionList-test.windows.js} +15 -15
  325. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  326. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  327. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  328. package/Libraries/LogBox/Data/parseLogBoxLog.js +13 -24
  329. package/Libraries/LogBox/LogBox.js +4 -4
  330. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  331. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  332. package/Libraries/LogBox/UI/AnsiHighlight.js +10 -5
  333. package/Libraries/LogBox/UI/LogBoxButton.js +1 -1
  334. package/Libraries/LogBox/UI/LogBoxInspector.js +4 -2
  335. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +1 -1
  336. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  337. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  338. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +1 -1
  339. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +1 -1
  340. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  341. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +1 -1
  342. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -2
  343. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  344. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +2 -2
  345. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  346. package/Libraries/LogBox/UI/LogBoxMessage.js +7 -3
  347. package/Libraries/LogBox/UI/LogBoxNotification.js +7 -4
  348. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -1
  349. package/Libraries/LogBox/UI/LogBoxStyle.win32.js +1 -1
  350. package/Libraries/Modal/Modal.js +15 -14
  351. package/Libraries/Modal/ModalInjection.js +1 -1
  352. package/Libraries/Modal/NativeModalManager.js +1 -1
  353. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +12 -12
  354. package/Libraries/NativeComponent/NativeComponentRegistry.js +30 -33
  355. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +27 -0
  356. package/Libraries/NativeComponent/StaticViewConfigValidator.js +198 -0
  357. package/Libraries/NativeComponent/ViewConfig.js +1 -1
  358. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -1
  359. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -1
  360. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -1
  361. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -1
  362. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -1
  363. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -1
  364. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -1
  365. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -1
  366. package/Libraries/Network/FormData.js +1 -1
  367. package/Libraries/Network/NativeNetworkingAndroid.js +1 -1
  368. package/Libraries/Network/NativeNetworkingIOS.js +1 -1
  369. package/Libraries/Network/RCTNetworking.android.js +1 -1
  370. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  371. package/Libraries/Network/RCTNetworking.win32.js +2 -2
  372. package/Libraries/Network/XHRInterceptor.js +6 -7
  373. package/Libraries/Network/XMLHttpRequest.js +44 -8
  374. package/Libraries/Network/convertRequestBody.js +1 -1
  375. package/Libraries/Network/fetch.js +1 -1
  376. package/Libraries/NewAppScreen/components/Colors.js +1 -1
  377. package/Libraries/NewAppScreen/components/DebugInstructions.js +1 -1
  378. package/Libraries/NewAppScreen/components/Header.js +1 -1
  379. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  380. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +1 -1
  381. package/Libraries/NewAppScreen/components/ReloadInstructions.js +1 -1
  382. package/Libraries/NewAppScreen/index.js +1 -1
  383. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -1
  384. package/Libraries/Performance/PureComponentDebug.js +1 -1
  385. package/Libraries/Performance/QuickPerformanceLogger.js +18 -1
  386. package/Libraries/Performance/SamplingProfiler.js +4 -4
  387. package/Libraries/Performance/Systrace.js +9 -2
  388. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +7 -2
  389. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +20 -9
  390. package/Libraries/Pressability/HoverState.js +1 -1
  391. package/Libraries/Pressability/HoverState.win32.js +1 -1
  392. package/Libraries/Pressability/Pressability.js +3 -3
  393. package/Libraries/Pressability/Pressability.win32.js +14 -14
  394. package/Libraries/Pressability/PressabilityDebug.js +15 -12
  395. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +5 -3
  396. package/Libraries/Pressability/PressabilityTypes.js +1 -1
  397. package/Libraries/Pressability/usePressability.js +1 -1
  398. package/Libraries/Promise.js +1 -1
  399. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -1
  400. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +33 -32
  401. package/Libraries/ReactNative/AppContainer.js +3 -3
  402. package/Libraries/ReactNative/AppRegistry.js +15 -13
  403. package/Libraries/ReactNative/DisplayMode.js +1 -1
  404. package/Libraries/ReactNative/DummyUIManager.js +13 -6
  405. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  406. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -1
  407. package/Libraries/ReactNative/I18nManager.js +3 -6
  408. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -1
  409. package/Libraries/ReactNative/NativeI18nManager.js +1 -1
  410. package/Libraries/ReactNative/NativeUIManager.js +1 -1
  411. package/Libraries/ReactNative/PaperUIManager.js +3 -4
  412. package/Libraries/ReactNative/PaperUIManager.win32.js +8 -9
  413. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  414. package/Libraries/ReactNative/RootTag.js +3 -4
  415. package/Libraries/ReactNative/UIManager.js +5 -7
  416. package/Libraries/ReactNative/UIManagerInjection.js +4 -2
  417. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  418. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +4 -2
  419. package/Libraries/ReactNative/getNativeComponentAttributes.js +21 -9
  420. package/Libraries/ReactNative/renderApplication.js +1 -1
  421. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  422. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  423. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  424. package/Libraries/Reliability/UserFlow.js +1 -1
  425. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1134 -426
  426. package/Libraries/Renderer/implementations/ReactFabric-dev.js +1 -1
  427. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +265 -236
  428. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1 -1
  429. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +538 -302
  430. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1 -1
  431. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1084 -463
  432. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +1 -1
  433. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +251 -224
  434. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1 -1
  435. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +519 -281
  436. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1 -1
  437. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  438. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  439. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  440. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -2
  441. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -4
  442. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  443. package/Libraries/Settings/NativeSettingsManager.js +1 -1
  444. package/Libraries/Settings/Settings.android.js +1 -1
  445. package/Libraries/Settings/Settings.ios.js +1 -1
  446. package/Libraries/Share/NativeShareModule.js +1 -1
  447. package/Libraries/Share/Share.js +1 -1
  448. package/Libraries/Storage/AsyncStorage.js +34 -35
  449. package/Libraries/Storage/NativeAsyncLocalStorage.js +1 -1
  450. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +1 -1
  451. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  452. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  453. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  454. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  455. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  456. package/Libraries/StyleSheet/PointPropType.js +1 -1
  457. package/Libraries/StyleSheet/Rect.js +1 -1
  458. package/Libraries/StyleSheet/StyleSheet.js +3 -2
  459. package/Libraries/StyleSheet/StyleSheet.win32.js +3 -2
  460. package/Libraries/StyleSheet/StyleSheetTypes.js +2 -2
  461. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  462. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  463. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  464. package/Libraries/StyleSheet/processColor.js +3 -3
  465. package/Libraries/StyleSheet/processColorArray.js +1 -1
  466. package/Libraries/StyleSheet/processTransform.js +21 -2
  467. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  468. package/Libraries/StyleSheet/splitLayoutProps.js +2 -4
  469. package/Libraries/Text/Text.js +11 -12
  470. package/Libraries/Text/TextAncestor.js +1 -1
  471. package/Libraries/Text/TextNativeComponent.js +10 -8
  472. package/Libraries/Text/TextNativeComponent.win32.js +9 -7
  473. package/Libraries/Text/TextProps.js +19 -19
  474. package/Libraries/TurboModule/RCTExport.js +1 -1
  475. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  476. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -1
  477. package/Libraries/Types/CodegenTypes.js +1 -1
  478. package/Libraries/Types/CoreEventTypes.js +1 -1
  479. package/Libraries/Types/CoreEventTypes.win32.js +1 -1
  480. package/Libraries/Types/RootTagTypes.js +1 -1
  481. package/Libraries/UTFSequence.js +1 -1
  482. package/Libraries/Utilities/Appearance.js +7 -6
  483. package/Libraries/Utilities/BackHandler.android.js +5 -5
  484. package/Libraries/Utilities/BackHandler.ios.js +1 -1
  485. package/Libraries/Utilities/BackHandler.win32.js +5 -5
  486. package/Libraries/Utilities/DebugEnvironment.js +1 -1
  487. package/Libraries/Utilities/DevSettings.js +1 -1
  488. package/Libraries/Utilities/DeviceInfo.js +1 -1
  489. package/Libraries/Utilities/Dimensions.js +1 -1
  490. package/Libraries/Utilities/FeatureDetection.js +1 -1
  491. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  492. package/Libraries/Utilities/HMRClient.js +3 -3
  493. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  494. package/Libraries/Utilities/JSDevSupportModule.js +4 -5
  495. package/Libraries/Utilities/LoadingView.android.js +1 -1
  496. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  497. package/Libraries/Utilities/LoadingView.js +1 -1
  498. package/Libraries/Utilities/MatrixMath.js +20 -20
  499. package/Libraries/Utilities/NativeAppearance.js +1 -1
  500. package/Libraries/Utilities/NativeDevLoadingView.js +1 -1
  501. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -1
  502. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  503. package/Libraries/Utilities/NativeJSDevSupport.js +1 -1
  504. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -1
  505. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -1
  506. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -4
  507. package/Libraries/Utilities/PixelRatio.js +1 -1
  508. package/Libraries/Utilities/Platform.android.js +1 -1
  509. package/Libraries/Utilities/Platform.ios.js +1 -1
  510. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  511. package/Libraries/Utilities/RCTLog.js +1 -1
  512. package/Libraries/Utilities/ReactNativeTestTools.js +8 -12
  513. package/Libraries/Utilities/SceneTracker.js +5 -4
  514. package/Libraries/Utilities/__mocks__/BackHandler.js +4 -4
  515. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  516. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  517. package/Libraries/Utilities/binaryToBase64.js +1 -1
  518. package/Libraries/Utilities/buildStyleInterpolator.js +10 -10
  519. package/Libraries/Utilities/clamp.js +1 -1
  520. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  521. package/Libraries/Utilities/codegenNativeComponent.js +4 -3
  522. package/Libraries/Utilities/createPerformanceLogger.js +1 -1
  523. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  524. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  525. package/Libraries/Utilities/deprecatedPropType.js +1 -1
  526. package/Libraries/Utilities/differ/deepDiffer.js +2 -2
  527. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  528. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  529. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  530. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  531. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  532. package/Libraries/Utilities/groupByEveryN.js +1 -1
  533. package/Libraries/Utilities/infoLog.js +1 -1
  534. package/Libraries/Utilities/logError.js +2 -2
  535. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  536. package/Libraries/Utilities/mergeIntoFast.js +2 -2
  537. package/Libraries/Utilities/setAndForwardRef.js +1 -1
  538. package/Libraries/Utilities/stringifySafe.js +1 -1
  539. package/Libraries/Utilities/truncate.js +2 -2
  540. package/Libraries/Utilities/useColorScheme.js +1 -1
  541. package/Libraries/Utilities/useMergeRefs.js +1 -1
  542. package/Libraries/Utilities/useRefEffect.js +1 -1
  543. package/Libraries/Utilities/useWindowDimensions.js +6 -2
  544. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +4 -2
  545. package/Libraries/Utilities/warnOnce.js +1 -1
  546. package/Libraries/Vibration/NativeVibration.js +1 -1
  547. package/Libraries/Vibration/Vibration.js +6 -6
  548. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -1
  549. package/Libraries/WebSocket/WebSocket.js +1 -1
  550. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  551. package/Libraries/WebSocket/WebSocketInterceptor.js +7 -7
  552. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  553. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  554. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +1 -1
  555. package/Libraries/promiseRejectionTrackingOptions.js +2 -2
  556. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  557. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  558. package/Libraries/vendor/emitter/EventSubscription.js +1 -1
  559. package/Libraries/vendor/emitter/_EmitterSubscription.js +3 -2
  560. package/Libraries/vendor/emitter/_EventEmitter.js +3 -2
  561. package/Libraries/vendor/emitter/_EventSubscription.js +3 -2
  562. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +2 -2
  563. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +1 -1
  564. package/flow/HermesInternalType.js +1 -1
  565. package/flow/Position.js +1 -1
  566. package/flow/Promise.js +1 -1
  567. package/flow/Stringish.js +1 -1
  568. package/flow/console.js +1 -1
  569. package/flow/global.js +2 -6
  570. package/flow/jest.js +1 -1
  571. package/flow/use-subscription.js +1 -1
  572. package/flow-typed/npm/glob_v7.x.x.js +79 -0
  573. package/index.js +26 -17
  574. package/index.win32.js +26 -20
  575. package/interface.js +1 -1
  576. package/jest/MockNativeMethods.js +1 -1
  577. package/jest/assetFileTransformer.js +3 -3
  578. package/jest/mockComponent.js +1 -1
  579. package/jest/mockModal.js +3 -3
  580. package/jest/mockNativeComponent.js +5 -1
  581. package/jest/mockScrollView.js +1 -1
  582. package/jest/preprocessor.js +3 -3
  583. package/jest/renderer.js +1 -1
  584. package/jest/setup.js +5 -4
  585. package/overrides.json +68 -68
  586. package/package.json +27 -25
  587. package/rn-get-polyfills.js +1 -1
  588. package/rntypes/globals.d.ts +6 -5
  589. package/rntypes/index.d.ts +89 -312
  590. package/rntypes/legacy-properties.d.ts +0 -28
  591. package/src/rntypes/globals.d.ts +6 -5
  592. package/src/rntypes/index.d.ts +89 -312
  593. package/src/rntypes/legacy-properties.d.ts +0 -28
  594. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -116
  595. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  596. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  597. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +0 -131
  598. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.ios.js +0 -82
  599. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.win32.js +0 -82
  600. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  601. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  602. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  603. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  604. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  605. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  606. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  607. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  608. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  609. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  610. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -46
  611. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  612. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  613. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  614. package/flow-typed/npm/prop-types_v15.x.x.js +0 -42
  615. package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
  616. package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
  617. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizeUtils-test.js.snap +0 -3
  618. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4634
  619. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -25,7 +25,6 @@ import type {
25
25
  } from '../../StyleSheet/StyleSheet';
26
26
  import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
27
27
  import type {TextInputNativeCommands} from './TextInputNativeCommands';
28
- import AndroidTextInputViewConfig from './AndroidTextInputViewConfig';
29
28
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
30
29
 
31
30
  export type KeyboardType =
@@ -73,42 +72,90 @@ export type NativeProps = $ReadOnly<{|
73
72
  * Android props after this
74
73
  */
75
74
  /**
76
- * Determines which content to suggest on auto complete, e.g.`username`.
77
- * To disable auto complete, use `off`.
75
+ * Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
76
+ * To disable autocomplete, set `autoComplete` to `off`.
78
77
  *
79
78
  * *Android Only*
80
79
  *
81
- * The following values work on Android only:
80
+ * Possible values for `autoComplete` are:
82
81
  *
83
- * - `username`
84
- * - `password`
85
- * - `email`
86
- * - `name`
87
- * - `tel`
88
- * - `street-address`
89
- * - `postal-code`
90
- * - `cc-number`
82
+ * - `birthdate-day`
83
+ * - `birthdate-full`
84
+ * - `birthdate-month`
85
+ * - `birthdate-year`
91
86
  * - `cc-csc`
92
87
  * - `cc-exp`
88
+ * - `cc-exp-day`
93
89
  * - `cc-exp-month`
94
90
  * - `cc-exp-year`
91
+ * - `cc-number`
92
+ * - `email`
93
+ * - `gender`
94
+ * - `name`
95
+ * - `name-family`
96
+ * - `name-given`
97
+ * - `name-middle`
98
+ * - `name-middle-initial`
99
+ * - `name-prefix`
100
+ * - `name-suffix`
101
+ * - `password`
102
+ * - `password-new`
103
+ * - `postal-address`
104
+ * - `postal-address-country`
105
+ * - `postal-address-extended`
106
+ * - `postal-address-extended-postal-code`
107
+ * - `postal-address-locality`
108
+ * - `postal-address-region`
109
+ * - `postal-code`
110
+ * - `street-address`
111
+ * - `sms-otp`
112
+ * - `tel`
113
+ * - `tel-country-code`
114
+ * - `tel-national`
115
+ * - `tel-device`
116
+ * - `username`
117
+ * - `username-new`
95
118
  * - `off`
96
119
  *
97
120
  * @platform android
98
121
  */
99
122
  autoComplete?: WithDefault<
123
+ | 'birthdate-day'
124
+ | 'birthdate-full'
125
+ | 'birthdate-month'
126
+ | 'birthdate-year'
100
127
  | 'cc-csc'
101
128
  | 'cc-exp'
129
+ | 'cc-exp-day'
102
130
  | 'cc-exp-month'
103
131
  | 'cc-exp-year'
104
132
  | 'cc-number'
105
133
  | 'email'
134
+ | 'gender'
106
135
  | 'name'
136
+ | 'name-family'
137
+ | 'name-given'
138
+ | 'name-middle'
139
+ | 'name-middle-initial'
140
+ | 'name-prefix'
141
+ | 'name-suffix'
107
142
  | 'password'
143
+ | 'password-new'
144
+ | 'postal-address'
145
+ | 'postal-address-country'
146
+ | 'postal-address-extended'
147
+ | 'postal-address-extended-postal-code'
148
+ | 'postal-address-locality'
149
+ | 'postal-address-region'
108
150
  | 'postal-code'
109
151
  | 'street-address'
152
+ | 'sms-otp'
110
153
  | 'tel'
154
+ | 'tel-country-code'
155
+ | 'tel-national'
156
+ | 'tel-device'
111
157
  | 'username'
158
+ | 'username-new'
112
159
  | 'off',
113
160
  'off',
114
161
  >,
@@ -548,7 +595,121 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
548
595
 
549
596
  let AndroidTextInputNativeComponent = NativeComponentRegistry.get<NativeProps>(
550
597
  'AndroidTextInput',
551
- () => AndroidTextInputViewConfig,
598
+ () => ({
599
+ uiViewClassName: 'AndroidTextInput',
600
+ bubblingEventTypes: {
601
+ topBlur: {
602
+ phasedRegistrationNames: {
603
+ bubbled: 'onBlur',
604
+ captured: 'onBlurCapture',
605
+ },
606
+ },
607
+ topEndEditing: {
608
+ phasedRegistrationNames: {
609
+ bubbled: 'onEndEditing',
610
+ captured: 'onEndEditingCapture',
611
+ },
612
+ },
613
+ topFocus: {
614
+ phasedRegistrationNames: {
615
+ bubbled: 'onFocus',
616
+ captured: 'onFocusCapture',
617
+ },
618
+ },
619
+ topKeyPress: {
620
+ phasedRegistrationNames: {
621
+ bubbled: 'onKeyPress',
622
+ captured: 'onKeyPressCapture',
623
+ },
624
+ },
625
+ topSubmitEditing: {
626
+ phasedRegistrationNames: {
627
+ bubbled: 'onSubmitEditing',
628
+ captured: 'onSubmitEditingCapture',
629
+ },
630
+ },
631
+ topTextInput: {
632
+ phasedRegistrationNames: {
633
+ bubbled: 'onTextInput',
634
+ captured: 'onTextInputCapture',
635
+ },
636
+ },
637
+ },
638
+ directEventTypes: {
639
+ topScroll: {
640
+ registrationName: 'onScroll',
641
+ },
642
+ },
643
+ validAttributes: {
644
+ maxFontSizeMultiplier: true,
645
+ adjustsFontSizeToFit: true,
646
+ minimumFontScale: true,
647
+ autoFocus: true,
648
+ placeholder: true,
649
+ inlineImagePadding: true,
650
+ contextMenuHidden: true,
651
+ textShadowColor: {process: require('../../StyleSheet/processColor')},
652
+ maxLength: true,
653
+ selectTextOnFocus: true,
654
+ textShadowRadius: true,
655
+ underlineColorAndroid: {
656
+ process: require('../../StyleSheet/processColor'),
657
+ },
658
+ textDecorationLine: true,
659
+ blurOnSubmit: true,
660
+ textAlignVertical: true,
661
+ fontStyle: true,
662
+ textShadowOffset: true,
663
+ selectionColor: {process: require('../../StyleSheet/processColor')},
664
+ selection: true,
665
+ placeholderTextColor: {process: require('../../StyleSheet/processColor')},
666
+ importantForAutofill: true,
667
+ lineHeight: true,
668
+ textTransform: true,
669
+ returnKeyType: true,
670
+ keyboardType: true,
671
+ multiline: true,
672
+ color: {process: require('../../StyleSheet/processColor')},
673
+ autoComplete: true,
674
+ numberOfLines: true,
675
+ letterSpacing: true,
676
+ returnKeyLabel: true,
677
+ fontSize: true,
678
+ onKeyPress: true,
679
+ cursorColor: {process: require('../../StyleSheet/processColor')},
680
+ text: true,
681
+ showSoftInputOnFocus: true,
682
+ textAlign: true,
683
+ autoCapitalize: true,
684
+ autoCorrect: true,
685
+ caretHidden: true,
686
+ secureTextEntry: true,
687
+ textBreakStrategy: true,
688
+ onScroll: true,
689
+ onContentSizeChange: true,
690
+ disableFullscreenUI: true,
691
+ includeFontPadding: true,
692
+ fontWeight: true,
693
+ fontFamily: true,
694
+ allowFontScaling: true,
695
+ onSelectionChange: true,
696
+ mostRecentEventCount: true,
697
+ inlineImageLeft: true,
698
+ editable: true,
699
+ fontVariant: true,
700
+ borderBottomRightRadius: true,
701
+ borderBottomColor: {process: require('../../StyleSheet/processColor')},
702
+ borderRadius: true,
703
+ borderRightColor: {process: require('../../StyleSheet/processColor')},
704
+ borderColor: {process: require('../../StyleSheet/processColor')},
705
+ borderTopRightRadius: true,
706
+ borderStyle: true,
707
+ borderBottomLeftRadius: true,
708
+ borderLeftColor: {process: require('../../StyleSheet/processColor')},
709
+ borderTopLeftRadius: true,
710
+ borderTopColor: {process: require('../../StyleSheet/processColor')},
711
+ },
712
+ }),
552
713
  );
553
714
 
554
715
  // flowlint-next-line unclear-type:off
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -22,10 +22,15 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
22
22
  supportedCommands: ['focus', 'blur', 'setTextAndSelection'],
23
23
  });
24
24
 
25
- const MultilineTextInputNativeComponent: HostComponent<mixed> = NativeComponentRegistry.get<mixed>(
26
- 'RCTMultilineTextInputView',
27
- () => RCTTextInputViewConfig,
28
- );
25
+ const MultilineTextInputNativeComponent: HostComponent<mixed> =
26
+ NativeComponentRegistry.get<mixed>('RCTMultilineTextInputView', () => ({
27
+ uiViewClassName: 'RCTMultilineTextInputView',
28
+ ...RCTTextInputViewConfig,
29
+ validAttributes: {
30
+ ...RCTTextInputViewConfig.validAttributes,
31
+ dataDetectorTypes: true,
32
+ },
33
+ }));
29
34
 
30
35
  // flowlint-next-line unclear-type:off
31
36
  export default ((MultilineTextInputNativeComponent: any): HostComponent<mixed>);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -22,10 +22,11 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
22
22
  supportedCommands: ['focus', 'blur', 'setTextAndSelection'],
23
23
  });
24
24
 
25
- const SinglelineTextInputNativeComponent: HostComponent<mixed> = NativeComponentRegistry.get<mixed>(
26
- 'RCTSinglelineTextInputView',
27
- () => RCTTextInputViewConfig,
28
- );
25
+ const SinglelineTextInputNativeComponent: HostComponent<mixed> =
26
+ NativeComponentRegistry.get<mixed>('RCTSinglelineTextInputView', () => ({
27
+ uiViewClassName: 'RCTSinglelineTextInputView',
28
+ ...RCTTextInputViewConfig,
29
+ }));
29
30
 
30
31
  // flowlint-next-line unclear-type:off
31
32
  export default ((SinglelineTextInputNativeComponent: any): HostComponent<mixed>);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -9,10 +9,13 @@
9
9
  */
10
10
 
11
11
  import type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';
12
- import ReactNativeViewViewConfig from '../../Components/View/ReactNativeViewViewConfig';
12
+
13
+ type PartialViewConfigWithoutName = $Rest<
14
+ PartialViewConfig,
15
+ {uiViewClassName: string},
16
+ >;
13
17
 
14
18
  const RCTTextInputViewConfig = {
15
- uiViewClassName: 'RCTSinglelineTextInputView',
16
19
  bubblingEventTypes: {
17
20
  topBlur: {
18
21
  phasedRegistrationNames: {
@@ -26,6 +29,12 @@ const RCTTextInputViewConfig = {
26
29
  captured: 'onChangeCapture',
27
30
  },
28
31
  },
32
+ topContentSizeChange: {
33
+ phasedRegistrationNames: {
34
+ captured: 'onContentSizeChangeCapture',
35
+ bubbled: 'onContentSizeChange',
36
+ },
37
+ },
29
38
  topEndEditing: {
30
39
  phasedRegistrationNames: {
31
40
  bubbled: 'onEndEditing',
@@ -70,9 +79,24 @@ const RCTTextInputViewConfig = {
70
79
  },
71
80
  },
72
81
  },
73
- directEventTypes: {},
82
+ directEventTypes: {
83
+ topTextInput: {
84
+ registrationName: 'onTextInput',
85
+ },
86
+ topKeyPressSync: {
87
+ registrationName: 'onKeyPressSync',
88
+ },
89
+ topScroll: {
90
+ registrationName: 'onScroll',
91
+ },
92
+ topSelectionChange: {
93
+ registrationName: 'onSelectionChange',
94
+ },
95
+ topChangeSync: {
96
+ registrationName: 'onChangeSync',
97
+ },
98
+ },
74
99
  validAttributes: {
75
- ...ReactNativeViewViewConfig.validAttributes,
76
100
  fontSize: true,
77
101
  fontWeight: true,
78
102
  fontVariant: true,
@@ -99,23 +123,18 @@ const RCTTextInputViewConfig = {
99
123
  caretHidden: true,
100
124
  enablesReturnKeyAutomatically: true,
101
125
  placeholderTextColor: {process: require('../../StyleSheet/processColor')},
102
- onSelectionChange: true,
103
126
  clearButtonMode: true,
104
- onContentSizeChange: true,
105
127
  keyboardType: true,
106
128
  selection: true,
107
129
  returnKeyType: true,
108
130
  blurOnSubmit: true,
109
131
  mostRecentEventCount: true,
110
- onChange: true,
111
132
  scrollEnabled: true,
112
133
  selectionColor: {process: require('../../StyleSheet/processColor')},
113
134
  contextMenuHidden: true,
114
135
  secureTextEntry: true,
115
- onTextInput: true,
116
136
  placeholder: true,
117
137
  autoCorrect: true,
118
- onScroll: true,
119
138
  multiline: true,
120
139
  textContentType: true,
121
140
  maxLength: true,
@@ -126,7 +145,9 @@ const RCTTextInputViewConfig = {
126
145
  selectTextOnFocus: true,
127
146
  text: true,
128
147
  clearTextOnFocus: true,
148
+ showSoftInputOnFocus: true,
149
+ autoFocus: true,
129
150
  },
130
151
  };
131
152
 
132
- module.exports = (RCTTextInputViewConfig: PartialViewConfig);
153
+ module.exports = (RCTTextInputViewConfig: PartialViewConfigWithoutName);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -10,8 +10,6 @@
10
10
 
11
11
  import * as React from 'react';
12
12
 
13
- import DeprecatedTextInputPropTypes from '../../DeprecatedPropTypes/DeprecatedTextInputPropTypes';
14
-
15
13
  import Platform from '../../Utilities/Platform';
16
14
  import StyleSheet, {
17
15
  type TextStyleProp,
@@ -34,7 +32,6 @@ import type {
34
32
  PressEvent,
35
33
  } from '../../Types/CoreEventTypes';
36
34
  import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
37
- import type {TextInputNativeCommands} from './TextInputNativeCommands';
38
35
 
39
36
  const {useLayoutEffect, useRef, useState} = React;
40
37
 
@@ -49,17 +46,17 @@ let RCTMultilineTextInputNativeCommands;
49
46
 
50
47
  if (Platform.OS === 'android') {
51
48
  AndroidTextInput = require('./AndroidTextInputNativeComponent').default;
52
- AndroidTextInputCommands = require('./AndroidTextInputNativeComponent')
53
- .Commands;
49
+ AndroidTextInputCommands =
50
+ require('./AndroidTextInputNativeComponent').Commands;
54
51
  } else if (Platform.OS === 'ios') {
55
- RCTSinglelineTextInputView = require('./RCTSingelineTextInputNativeComponent')
56
- .default;
57
- RCTSinglelineTextInputNativeCommands = require('./RCTSingelineTextInputNativeComponent')
58
- .Commands;
59
- RCTMultilineTextInputView = require('./RCTMultilineTextInputNativeComponent')
60
- .default;
61
- RCTMultilineTextInputNativeCommands = require('./RCTMultilineTextInputNativeComponent')
62
- .Commands;
52
+ RCTSinglelineTextInputView =
53
+ require('./RCTSingelineTextInputNativeComponent').default;
54
+ RCTSinglelineTextInputNativeCommands =
55
+ require('./RCTSingelineTextInputNativeComponent').Commands;
56
+ RCTMultilineTextInputView =
57
+ require('./RCTMultilineTextInputNativeComponent').default;
58
+ RCTMultilineTextInputNativeCommands =
59
+ require('./RCTMultilineTextInputNativeComponent').Commands;
63
60
  }
64
61
 
65
62
  export type ChangeEvent = SyntheticEvent<
@@ -308,25 +305,49 @@ type IOSProps = $ReadOnly<{|
308
305
 
309
306
  type AndroidProps = $ReadOnly<{|
310
307
  /**
311
- * Determines which content to suggest on auto complete, e.g.`username`.
312
- * To disable auto complete, use `off`.
308
+ * Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
309
+ * To disable autocomplete, set `autoComplete` to `off`.
313
310
  *
314
311
  * *Android Only*
315
312
  *
316
- * The following values work on Android only:
313
+ * Possible values for `autoComplete` are:
317
314
  *
318
- * - `username`
319
- * - `password`
320
- * - `email`
321
- * - `name`
322
- * - `tel`
323
- * - `street-address`
324
- * - `postal-code`
325
- * - `cc-number`
315
+ * - `birthdate-day`
316
+ * - `birthdate-full`
317
+ * - `birthdate-month`
318
+ * - `birthdate-year`
326
319
  * - `cc-csc`
327
320
  * - `cc-exp`
321
+ * - `cc-exp-day`
328
322
  * - `cc-exp-month`
329
323
  * - `cc-exp-year`
324
+ * - `cc-number`
325
+ * - `email`
326
+ * - `gender`
327
+ * - `name`
328
+ * - `name-family`
329
+ * - `name-given`
330
+ * - `name-middle`
331
+ * - `name-middle-initial`
332
+ * - `name-prefix`
333
+ * - `name-suffix`
334
+ * - `password`
335
+ * - `password-new`
336
+ * - `postal-address`
337
+ * - `postal-address-country`
338
+ * - `postal-address-extended`
339
+ * - `postal-address-extended-postal-code`
340
+ * - `postal-address-locality`
341
+ * - `postal-address-region`
342
+ * - `postal-code`
343
+ * - `street-address`
344
+ * - `sms-otp`
345
+ * - `tel`
346
+ * - `tel-country-code`
347
+ * - `tel-national`
348
+ * - `tel-device`
349
+ * - `username`
350
+ * - `username-new`
330
351
  * - `off`
331
352
  *
332
353
  * @platform android
@@ -577,12 +598,33 @@ export type Props = $ReadOnly<{|
577
598
  */
578
599
  onChange?: ?(e: ChangeEvent) => mixed,
579
600
 
601
+ /**
602
+ * DANGER: this API is not stable and will change in the future.
603
+ *
604
+ * Callback will be called on the main thread and may result in dropped frames.
605
+ * Callback that is called when the text input's text changes.
606
+ *
607
+ * @platform ios
608
+ */
609
+ unstable_onChangeSync?: ?(e: ChangeEvent) => mixed,
610
+
580
611
  /**
581
612
  * Callback that is called when the text input's text changes.
582
613
  * Changed text is passed as an argument to the callback handler.
583
614
  */
584
615
  onChangeText?: ?(text: string) => mixed,
585
616
 
617
+ /**
618
+ * DANGER: this API is not stable and will change in the future.
619
+ *
620
+ * Callback will be called on the main thread and may result in dropped frames.
621
+ * Callback that is called when the text input's text changes.
622
+ * Changed text is passed as an argument to the callback handler.
623
+ *
624
+ * @platform ios
625
+ */
626
+ unstable_onChangeTextSync?: ?(text: string) => mixed,
627
+
586
628
  /**
587
629
  * Callback that is called when the text input's content size changes.
588
630
  * This will be called with
@@ -611,6 +653,21 @@ export type Props = $ReadOnly<{|
611
653
  */
612
654
  onKeyPress?: ?(e: KeyPressEvent) => mixed,
613
655
 
656
+ /**
657
+ * DANGER: this API is not stable and will change in the future.
658
+ *
659
+ * Callback will be called on the main thread and may result in dropped frames.
660
+ *
661
+ * Callback that is called when a key is pressed.
662
+ * This will be called with `{ nativeEvent: { key: keyValue } }`
663
+ * where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and
664
+ * the typed-in character otherwise including `' '` for space.
665
+ * Fires before `onChange` callbacks.
666
+ *
667
+ * @platform ios
668
+ */
669
+ unstable_onKeyPressSync?: ?(e: KeyPressEvent) => mixed,
670
+
614
671
  /**
615
672
  * Called when a touch is engaged.
616
673
  */
@@ -745,6 +802,7 @@ type ImperativeMethods = $ReadOnly<{|
745
802
  clear: () => void,
746
803
  isFocused: () => boolean,
747
804
  getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
805
+ setSelection: (start: number, end: number) => void,
748
806
  |}>;
749
807
 
750
808
  const emptyFunctionThatReturnsTrue = () => true;
@@ -988,6 +1046,18 @@ function InternalTextInput(props: Props): React.Node {
988
1046
  }
989
1047
  }
990
1048
 
1049
+ function setSelection(start: number, end: number): void {
1050
+ if (inputRef.current != null) {
1051
+ viewCommands.setTextAndSelection(
1052
+ inputRef.current,
1053
+ mostRecentEventCount,
1054
+ null,
1055
+ start,
1056
+ end,
1057
+ );
1058
+ }
1059
+ }
1060
+
991
1061
  // TODO: Fix this returning true on null === null, when no input is focused
992
1062
  function isFocused(): boolean {
993
1063
  return TextInputState.currentlyFocusedInput() === inputRef.current;
@@ -1028,14 +1098,15 @@ function InternalTextInput(props: Props): React.Node {
1028
1098
  ref.clear = clear;
1029
1099
  ref.isFocused = isFocused;
1030
1100
  ref.getNativeRef = getNativeRef;
1101
+ ref.setSelection = setSelection;
1031
1102
  }
1032
1103
  },
1033
1104
  });
1034
1105
 
1035
1106
  const _onChange = (event: ChangeEvent) => {
1036
- const text = event.nativeEvent.text;
1107
+ const currentText = event.nativeEvent.text;
1037
1108
  props.onChange && props.onChange(event);
1038
- props.onChangeText && props.onChangeText(text);
1109
+ props.onChangeText && props.onChangeText(currentText);
1039
1110
 
1040
1111
  if (inputRef.current == null) {
1041
1112
  // calling `props.onChange` or `props.onChangeText`
@@ -1043,7 +1114,27 @@ function InternalTextInput(props: Props): React.Node {
1043
1114
  return;
1044
1115
  }
1045
1116
 
1046
- setLastNativeText(text);
1117
+ setLastNativeText(currentText);
1118
+ // This must happen last, after we call setLastNativeText.
1119
+ // Different ordering can cause bugs when editing AndroidTextInputs
1120
+ // with multiple Fragments.
1121
+ // We must update this so that controlled input updates work.
1122
+ setMostRecentEventCount(event.nativeEvent.eventCount);
1123
+ };
1124
+
1125
+ const _onChangeSync = (event: ChangeEvent) => {
1126
+ const currentText = event.nativeEvent.text;
1127
+ props.unstable_onChangeSync && props.unstable_onChangeSync(event);
1128
+ props.unstable_onChangeTextSync &&
1129
+ props.unstable_onChangeTextSync(currentText);
1130
+
1131
+ if (inputRef.current == null) {
1132
+ // calling `props.onChange` or `props.onChangeText`
1133
+ // may clean up the input itself. Exits here.
1134
+ return;
1135
+ }
1136
+
1137
+ setLastNativeText(currentText);
1047
1138
  // This must happen last, after we call setLastNativeText.
1048
1139
  // Different ordering can cause bugs when editing AndroidTextInputs
1049
1140
  // with multiple Fragments.
@@ -1137,6 +1228,10 @@ function InternalTextInput(props: Props): React.Node {
1137
1228
  ? [styles.multilineInput, props.style]
1138
1229
  : props.style;
1139
1230
 
1231
+ const useOnChangeSync =
1232
+ (props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
1233
+ !(props.onChange || props.onChangeText);
1234
+
1140
1235
  textInput = (
1141
1236
  <RCTTextInputView
1142
1237
  ref={_setNativeRef}
@@ -1149,7 +1244,9 @@ function InternalTextInput(props: Props): React.Node {
1149
1244
  focusable={focusable}
1150
1245
  mostRecentEventCount={mostRecentEventCount}
1151
1246
  onBlur={_onBlur}
1247
+ onKeyPressSync={props.unstable_onKeyPressSync}
1152
1248
  onChange={_onChange}
1249
+ onChangeSync={useOnChangeSync === true ? _onChangeSync : null}
1153
1250
  onContentSizeChange={props.onContentSizeChange}
1154
1251
  onFocus={_onFocus}
1155
1252
  onScroll={_onScroll}
@@ -1244,8 +1341,12 @@ const ExportedForwardRef: React.AbstractComponent<
1244
1341
  );
1245
1342
  });
1246
1343
 
1247
- // TODO: Deprecate this
1248
- ExportedForwardRef.propTypes = DeprecatedTextInputPropTypes;
1344
+ /**
1345
+ * Switch to `deprecated-react-native-prop-types` for compatibility with future
1346
+ * releases. This is deprecated and will be removed in the future.
1347
+ */
1348
+ ExportedForwardRef.propTypes =
1349
+ require('deprecated-react-native-prop-types').TextInputPropTypes;
1249
1350
 
1250
1351
  // $FlowFixMe[prop-missing]
1251
1352
  ExportedForwardRef.State = {
@@ -1263,7 +1364,6 @@ type TextInputComponentStatics = $ReadOnly<{|
1263
1364
  focusTextInput: typeof TextInputState.focusTextInput,
1264
1365
  blurTextInput: typeof TextInputState.blurTextInput,
1265
1366
  |}>,
1266
- propTypes: typeof DeprecatedTextInputPropTypes,
1267
1367
  |}>;
1268
1368
 
1269
1369
  const styles = StyleSheet.create({
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.