@office-iss/react-native-win32 0.70.3 → 0.71.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +2 -0
  3. package/.flowconfig +3 -6
  4. package/CHANGELOG.json +268 -51
  5. package/CHANGELOG.md +101 -29
  6. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  7. package/IntegrationTests/AppEventsTest.js +0 -1
  8. package/IntegrationTests/BUCK +0 -1
  9. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  10. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  11. package/IntegrationTests/IntegrationTestsApp.js +2 -3
  12. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  13. package/IntegrationTests/SyncMethodTest.js +1 -1
  14. package/IntegrationTests/TimersTest.js +4 -4
  15. package/IntegrationTests/WebSocketTest.js +3 -3
  16. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.d.ts +90 -0
  20. package/Libraries/Alert/Alert.js +7 -1
  21. package/Libraries/Alert/Alert.win32.js +1 -0
  22. package/Libraries/Alert/NativeAlertManager.js +2 -0
  23. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  24. package/Libraries/Animated/Animated.d.ts +587 -0
  25. package/Libraries/Animated/Animated.js +13 -11
  26. package/Libraries/Animated/AnimatedEvent.js +12 -17
  27. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  28. package/Libraries/Animated/AnimatedMock.js +11 -13
  29. package/Libraries/Animated/AnimatedWeb.js +2 -2
  30. package/Libraries/Animated/Easing.d.ts +37 -0
  31. package/Libraries/Animated/Easing.js +2 -2
  32. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  33. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  34. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  35. package/Libraries/Animated/SpringConfig.js +2 -7
  36. package/Libraries/Animated/animations/Animation.js +3 -4
  37. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  38. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  39. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  40. package/Libraries/Animated/bezier.js +2 -2
  41. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  42. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  43. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  44. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  45. package/Libraries/Animated/components/AnimatedText.js +5 -6
  46. package/Libraries/Animated/components/AnimatedView.js +5 -6
  47. package/Libraries/Animated/createAnimatedComponent.js +13 -20
  48. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  49. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  50. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  51. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  52. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  53. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  54. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  55. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  56. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  57. package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
  58. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  59. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  60. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  61. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  62. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  63. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  64. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  65. package/Libraries/Animated/useAnimatedProps.js +8 -16
  66. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  67. package/Libraries/Animated/useAnimatedValue.js +25 -0
  68. package/Libraries/AppState/AppState.d.ts +58 -0
  69. package/Libraries/AppState/AppState.js +3 -7
  70. package/Libraries/AppState/NativeAppState.js +1 -0
  71. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  72. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  73. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  74. package/Libraries/Blob/BlobManager.js +5 -3
  75. package/Libraries/Blob/File.js +2 -3
  76. package/Libraries/Blob/FileReader.js +6 -5
  77. package/Libraries/Blob/NativeBlobModule.js +1 -0
  78. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  79. package/Libraries/Blob/URL.js +11 -9
  80. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  81. package/Libraries/BugReporting/getReactData.js +1 -1
  82. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  83. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  84. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
  85. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
  86. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  87. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  88. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  89. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  90. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  91. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  92. package/Libraries/Components/Button.d.ts +42 -0
  93. package/Libraries/Components/Button.flow.js +265 -0
  94. package/Libraries/Components/Button.js +62 -18
  95. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  96. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  97. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  98. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  99. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  100. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  101. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  102. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
  103. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  104. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  105. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  106. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  107. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  108. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  109. package/Libraries/Components/Keyboard/Keyboard.js +35 -8
  110. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  111. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  112. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  113. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  114. package/Libraries/Components/Pressable/Pressable.js +73 -15
  115. package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
  116. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  117. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  118. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  119. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  120. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  121. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  122. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  123. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
  124. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  125. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  126. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  127. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  128. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  129. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  130. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  131. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  132. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  133. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  134. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
  135. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  136. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  137. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  138. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  139. package/Libraries/Components/ScrollView/ScrollView.js +87 -52
  140. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  141. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  142. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  143. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  144. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  145. package/Libraries/Components/Slider/Slider.js +9 -9
  146. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  147. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  148. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  149. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  150. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  151. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  152. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  153. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  154. package/Libraries/Components/Switch/Switch.js +7 -7
  155. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  156. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  157. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  158. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  159. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  160. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  161. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  162. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  163. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  164. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  165. package/Libraries/Components/TextInput/TextInput.js +344 -38
  166. package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
  167. package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
  168. package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
  169. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  170. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  171. package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
  172. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  173. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  174. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  175. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  176. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  177. package/Libraries/Components/Touchable/Touchable.js +12 -12
  178. package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
  179. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  180. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  181. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  182. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  183. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  184. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  185. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  186. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
  187. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  188. package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
  189. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  190. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  191. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  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 +13 -2
  195. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
  196. package/Libraries/Components/View/View.d.ts +29 -0
  197. package/Libraries/Components/View/View.js +91 -8
  198. package/Libraries/Components/View/View.win32.js +176 -89
  199. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  200. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  201. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  202. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  203. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  204. package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
  205. package/Libraries/Components/View/ViewWin32.Props.d.ts +1 -0
  206. package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
  207. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  208. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  209. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  210. package/Libraries/Core/ExceptionsManager.js +8 -0
  211. package/Libraries/Core/ExtendedError.js +11 -8
  212. package/Libraries/Core/InitializeCore.js +2 -1
  213. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  214. package/Libraries/Core/RawEventEmitter.js +2 -1
  215. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  216. package/Libraries/Core/ReactNativeVersion.js +2 -2
  217. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  218. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
  219. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  220. package/Libraries/Core/Timers/JSTimers.js +13 -11
  221. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  222. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  223. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  224. package/Libraries/Core/setUpReactDevTools.js +4 -1
  225. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  226. package/Libraries/Core/setUpTimers.js +1 -1
  227. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  228. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  229. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  230. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  231. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  232. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  233. package/Libraries/Events/EventPolyfill.js +1 -1
  234. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  235. package/Libraries/Image/AssetSourceResolver.js +4 -6
  236. package/Libraries/Image/Image.android.js +63 -45
  237. package/Libraries/Image/Image.d.ts +322 -0
  238. package/Libraries/Image/Image.flow.js +64 -0
  239. package/Libraries/Image/Image.ios.js +55 -28
  240. package/Libraries/Image/Image.win32.js +54 -25
  241. package/Libraries/Image/ImageBackground.js +18 -7
  242. package/Libraries/Image/ImageInjection.js +2 -1
  243. package/Libraries/Image/ImageProps.js +88 -5
  244. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  245. package/Libraries/Image/ImageSource.d.ts +76 -0
  246. package/Libraries/Image/ImageSourceUtils.js +80 -0
  247. package/Libraries/Image/ImageUtils.js +21 -0
  248. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  249. package/Libraries/Image/NativeImageEditor.js +1 -0
  250. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  251. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  252. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  253. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  254. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  255. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  256. package/Libraries/Image/nativeImageSource.js +2 -2
  257. package/Libraries/Image/resolveAssetSource.js +5 -5
  258. package/Libraries/Inspector/BorderBox.js +1 -1
  259. package/Libraries/Inspector/BoxInspector.js +3 -4
  260. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  261. package/Libraries/Inspector/ElementBox.js +4 -5
  262. package/Libraries/Inspector/ElementProperties.js +10 -11
  263. package/Libraries/Inspector/Inspector.js +22 -108
  264. package/Libraries/Inspector/Inspector.win32.js +23 -109
  265. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  266. package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
  267. package/Libraries/Inspector/InspectorPanel.js +12 -10
  268. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  269. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  270. package/Libraries/Inspector/StyleInspector.js +2 -2
  271. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  272. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  273. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  274. package/Libraries/Interaction/InteractionManager.js +8 -8
  275. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  276. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  277. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  278. package/Libraries/Interaction/PanResponder.js +4 -3
  279. package/Libraries/JSInspector/JSInspector.js +0 -3
  280. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  281. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  282. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  283. package/Libraries/Linking/Linking.d.ts +61 -0
  284. package/Libraries/Linking/Linking.js +3 -2
  285. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  286. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  287. package/Libraries/Lists/CellRenderMask.js +13 -3
  288. package/Libraries/Lists/ChildListCollection.js +72 -0
  289. package/Libraries/Lists/FillRateHelper.js +28 -17
  290. package/Libraries/Lists/FlatList.d.ts +292 -0
  291. package/Libraries/Lists/FlatList.js +70 -70
  292. package/Libraries/Lists/SectionList.d.ts +300 -0
  293. package/Libraries/Lists/SectionList.js +5 -5
  294. package/Libraries/Lists/SectionListModern.js +6 -6
  295. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  296. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  297. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  298. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  299. package/Libraries/Lists/VirtualizedList.js +548 -890
  300. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  301. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  302. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  303. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  304. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  305. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  306. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  307. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  308. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  309. package/Libraries/LogBox/LogBox.d.ts +28 -0
  310. package/Libraries/LogBox/LogBox.js +11 -11
  311. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  312. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  313. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  314. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  315. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  316. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  317. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  318. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  319. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
  320. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  321. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  322. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  323. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  324. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  325. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
  326. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  327. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  328. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  329. package/Libraries/Modal/Modal.d.ts +104 -0
  330. package/Libraries/Modal/Modal.js +14 -14
  331. package/Libraries/Modal/NativeModalManager.js +1 -0
  332. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  333. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  334. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  335. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
  336. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  337. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  338. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  339. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  340. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  341. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  342. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  343. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  344. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  345. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  346. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  347. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  348. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  349. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  350. package/Libraries/Network/RCTNetworking.android.js +4 -3
  351. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  352. package/Libraries/Network/RCTNetworking.win32.js +1 -0
  353. package/Libraries/Network/convertRequestBody.js +1 -2
  354. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  355. package/Libraries/NewAppScreen/components/Header.js +6 -2
  356. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  357. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  358. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  359. package/Libraries/NewAppScreen/index.js +1 -1
  360. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  361. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  362. package/Libraries/Performance/Systrace.d.ts +66 -0
  363. package/Libraries/Performance/Systrace.js +110 -195
  364. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  365. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  366. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  367. package/Libraries/Pressability/Pressability.js +12 -10
  368. package/Libraries/Pressability/Pressability.win32.js +9 -7
  369. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  370. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  371. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  372. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  373. package/Libraries/ReactNative/AppContainer.js +17 -7
  374. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  375. package/Libraries/ReactNative/AppRegistry.js +11 -14
  376. package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
  377. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  378. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  379. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  380. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  381. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  382. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  383. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  384. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  385. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  386. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  387. package/Libraries/ReactNative/RendererProxy.js +26 -0
  388. package/Libraries/ReactNative/RootTag.js +0 -1
  389. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  390. package/Libraries/ReactNative/UIManager.js +1 -1
  391. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  392. package/Libraries/ReactNative/renderApplication.js +38 -20
  393. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  394. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  395. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  396. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  397. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  398. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  399. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  400. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  401. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  402. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  403. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  404. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  405. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  406. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  407. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  408. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  409. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  410. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  411. package/Libraries/Settings/Settings.d.ts +18 -0
  412. package/Libraries/Share/NativeShareModule.js +1 -0
  413. package/Libraries/Share/Share.d.ts +80 -0
  414. package/Libraries/Share/Share.js +7 -5
  415. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  416. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  417. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  418. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  419. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  420. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  421. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  422. package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
  423. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  424. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  425. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  426. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  427. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  428. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  429. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  430. package/Libraries/StyleSheet/processColor.js +3 -4
  431. package/Libraries/StyleSheet/processColorArray.js +1 -0
  432. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  433. package/Libraries/StyleSheet/processTransform.js +114 -105
  434. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  435. package/Libraries/Text/Text.d.ts +209 -0
  436. package/Libraries/Text/Text.js +94 -12
  437. package/Libraries/Text/TextNativeComponent.js +49 -41
  438. package/Libraries/Text/TextNativeComponent.win32.js +67 -49
  439. package/Libraries/Text/TextProps.js +64 -7
  440. package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
  441. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  442. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  443. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  444. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  445. package/Libraries/Types/CoreEventTypes.js +2 -1
  446. package/Libraries/Types/CoreEventTypes.win32.js +2 -1
  447. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  448. package/Libraries/Utilities/Appearance.d.ts +43 -0
  449. package/Libraries/Utilities/Appearance.js +3 -3
  450. package/Libraries/Utilities/BackHandler.android.js +3 -5
  451. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  452. package/Libraries/Utilities/BackHandler.win32.js +3 -5
  453. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  454. package/Libraries/Utilities/DevSettings.js +4 -2
  455. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  456. package/Libraries/Utilities/Dimensions.js +2 -2
  457. package/Libraries/Utilities/Dimensions.win32.js +2 -2
  458. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  459. package/Libraries/Utilities/HMRClient.js +23 -8
  460. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  461. package/Libraries/Utilities/NativeAppearance.js +1 -0
  462. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  463. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  464. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  465. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  466. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  467. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  468. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  469. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  470. package/Libraries/Utilities/Platform.android.js +11 -5
  471. package/Libraries/Utilities/Platform.d.ts +102 -0
  472. package/Libraries/Utilities/Platform.ios.js +12 -5
  473. package/Libraries/Utilities/Platform.win32.js +11 -5
  474. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  475. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  476. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  477. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  478. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  479. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  480. package/Libraries/Utilities/groupByEveryN.js +1 -1
  481. package/Libraries/Utilities/stringifySafe.js +3 -1
  482. package/Libraries/Utilities/useColorScheme.js +3 -2
  483. package/Libraries/Utilities/useRefEffect.js +1 -1
  484. package/Libraries/Vibration/NativeVibration.js +1 -0
  485. package/Libraries/Vibration/Vibration.d.ts +43 -0
  486. package/Libraries/Vibration/Vibration.js +1 -0
  487. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  488. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  489. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  490. package/Libraries/WebSocket/WebSocket.js +11 -3
  491. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  492. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  493. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  494. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  495. package/Libraries/__tests__/ButtonWin32-test.js +16 -0
  496. package/Libraries/platform-types.d.ts +25 -0
  497. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  498. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  499. package/babel.config.js +3 -0
  500. package/flow/jest.js +2 -2
  501. package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
  502. package/flow-typed/npm/yargs_v17.x.x.js +341 -0
  503. package/index.js +89 -55
  504. package/index.win32.js +89 -55
  505. package/interface.js +8 -0
  506. package/jest/react-native-env.js +18 -0
  507. package/jest/renderer.js +2 -2
  508. package/jest/setup.js +7 -9
  509. package/jest.config.js +9 -2
  510. package/overrides.json +40 -101
  511. package/package.json +34 -33
  512. package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
  513. package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
  514. package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
  515. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
  516. package/src/Libraries/Components/View/ViewWin32.Props.ts +4 -0
  517. package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  518. package/src/Libraries/platform-types.d.ts +25 -0
  519. package/types/index.d.ts +215 -0
  520. package/IntegrationTests/AsyncStorageTest.js +0 -261
  521. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  522. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  523. package/Libraries/Core/setUpSystrace.js +0 -21
  524. package/Libraries/Image/ImagePickerIOS.js +0 -103
  525. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  526. package/Libraries/Lists/VirtualizedList.win32.js +0 -9
  527. package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
  528. package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
  529. package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
  530. package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
  531. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
  532. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
  533. package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
  534. package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
  535. package/Libraries/Storage/AsyncStorage.js +0 -385
  536. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  537. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  538. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  539. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  540. package/rntypes/BatchedBridge.d.ts +0 -23
  541. package/rntypes/Devtools.d.ts +0 -20
  542. package/rntypes/LaunchScreen.d.ts +0 -9
  543. package/rntypes/globals.d.ts +0 -497
  544. package/rntypes/index.d.ts +0 -9754
  545. package/rntypes/legacy-properties.d.ts +0 -238
  546. package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
  547. package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
  548. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
  549. package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
  550. package/src/rntypes/BatchedBridge.d.ts +0 -23
  551. package/src/rntypes/Devtools.d.ts +0 -20
  552. package/src/rntypes/LaunchScreen.d.ts +0 -9
  553. package/src/rntypes/globals.d.ts +0 -497
  554. package/src/rntypes/index.d.ts +0 -9754
  555. package/src/rntypes/legacy-properties.d.ts +0 -238
  556. package/src/typings-index.ts +0 -37
  557. package/typings-index.d.ts +0 -23
  558. package/typings-index.js +0 -47
  559. package/typings-index.js.map +0 -1
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {TurboModule} from '../../TurboModule/RCTExport';
12
+
12
13
  import * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';
13
14
 
14
15
  export interface Spec extends TurboModule {
@@ -28,6 +29,10 @@ export interface Spec extends TurboModule {
28
29
  onSuccess: (isReduceMotionEnabled: boolean) => void,
29
30
  onError: (error: Object) => void,
30
31
  ) => void;
32
+ +getCurrentPrefersCrossFadeTransitionsState?: (
33
+ onSuccess: (prefersCrossFadeTransitions: boolean) => void,
34
+ onError: (error: Object) => void,
35
+ ) => void;
31
36
  +getCurrentReduceTransparencyState: (
32
37
  onSuccess: (isReduceTransparencyEnabled: boolean) => void,
33
38
  onError: (error: Object) => void,
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import type * as React from 'react';
11
+ import {Constructor} from '../../../types/private/Utilities';
12
+ import {NativeMethods} from '../../../types/public/ReactNativeTypes';
13
+ import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
14
+ import {ViewStyle} from '../../StyleSheet/StyleSheetTypes';
15
+ import {LayoutChangeEvent} from '../../Types/CoreEventTypes';
16
+ import {ViewProps} from '../View/ViewPropTypes';
17
+
18
+ /**
19
+ * @see https://reactnative.dev/docs/activityindicator#props
20
+ */
21
+ export interface ActivityIndicatorProps extends ViewProps {
22
+ /**
23
+ * Whether to show the indicator (true, the default) or hide it (false).
24
+ */
25
+ animating?: boolean | undefined;
26
+
27
+ /**
28
+ * The foreground color of the spinner (default is gray).
29
+ */
30
+ color?: ColorValue | undefined;
31
+
32
+ /**
33
+ * Whether the indicator should hide when not animating (true by default).
34
+ */
35
+ hidesWhenStopped?: boolean | undefined;
36
+
37
+ /**
38
+ * Size of the indicator.
39
+ * Small has a height of 20, large has a height of 36.
40
+ *
41
+ * enum('small', 'large')
42
+ */
43
+ size?: number | 'small' | 'large' | undefined;
44
+
45
+ style?: StyleProp<ViewStyle> | undefined;
46
+ }
47
+
48
+ declare class ActivityIndicatorComponent extends React.Component<ActivityIndicatorProps> {}
49
+ declare const ActivityIndicatorBase: Constructor<NativeMethods> &
50
+ typeof ActivityIndicatorComponent;
51
+ export class ActivityIndicator extends ActivityIndicatorBase {}
52
+
53
+ /**
54
+ * @see https://reactnative.dev/docs/activityindicatorios#props
55
+ */
56
+ export interface ActivityIndicatorIOSProps extends ViewProps {
57
+ /**
58
+ * Whether to show the indicator (true, the default) or hide it (false).
59
+ */
60
+ animating?: boolean | undefined;
61
+
62
+ /**
63
+ * The foreground color of the spinner (default is gray).
64
+ */
65
+ color?: ColorValue | undefined;
66
+
67
+ /**
68
+ * Whether the indicator should hide when not animating (true by default).
69
+ */
70
+ hidesWhenStopped?: boolean | undefined;
71
+
72
+ /**
73
+ * Invoked on mount and layout changes with
74
+ */
75
+ onLayout?: ((event: LayoutChangeEvent) => void) | undefined;
76
+
77
+ /**
78
+ * Size of the indicator.
79
+ * Small has a height of 20, large has a height of 36.
80
+ *
81
+ * enum('small', 'large')
82
+ */
83
+ size?: 'small' | 'large' | undefined;
84
+
85
+ style?: StyleProp<ViewStyle> | undefined;
86
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow
9
+ */
10
+
11
+ 'use strict';
12
+ import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
13
+ import type {ViewProps} from '../View/ViewPropTypes';
14
+
15
+ import {type ColorValue} from '../../StyleSheet/StyleSheet';
16
+ import * as React from 'react';
17
+
18
+ type IndicatorSize = number | 'small' | 'large';
19
+
20
+ type IOSProps = $ReadOnly<{|
21
+ /**
22
+ Whether the indicator should hide when not animating.
23
+
24
+ @platform ios
25
+ */
26
+ hidesWhenStopped?: ?boolean,
27
+ |}>;
28
+
29
+ type Props = $ReadOnly<{|
30
+ ...ViewProps,
31
+ ...IOSProps,
32
+
33
+ /**
34
+ Whether to show the indicator (`true`) or hide it (`false`).
35
+ */
36
+ animating?: ?boolean,
37
+
38
+ /**
39
+ The foreground color of the spinner.
40
+
41
+ @default {@platform android} `null` (system accent default color)
42
+ @default {@platform ios} '#999999'
43
+ */
44
+ color?: ?ColorValue,
45
+
46
+ /**
47
+ Size of the indicator.
48
+
49
+ @type enum(`'small'`, `'large'`)
50
+ @type {@platform android} number
51
+ */
52
+ size?: ?IndicatorSize,
53
+ |}>;
54
+
55
+ export type ActivityIndicator = React.AbstractComponent<
56
+ Props,
57
+ HostComponent<mixed>,
58
+ >;
@@ -10,12 +10,13 @@
10
10
  */
11
11
 
12
12
  'use strict';
13
- import * as React from 'react';
14
- import Platform from '../../Utilities/Platform';
13
+ import type {ViewProps} from '../View/ViewPropTypes';
14
+ import type {ActivityIndicator as ActivityIndicatorType} from './ActivityIndicator.flow';
15
+
15
16
  import StyleSheet, {type ColorValue} from '../../StyleSheet/StyleSheet';
17
+ import Platform from '../../Utilities/Platform';
16
18
  import View from '../View/View';
17
- import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
18
- import type {ViewProps} from '../View/ViewPropTypes';
19
+ import * as React from 'react';
19
20
 
20
21
  const PlatformActivityIndicator =
21
22
  Platform.OS === 'android'
@@ -183,10 +184,8 @@ const ActivityIndicator = (
183
184
  ```
184
185
  */
185
186
 
186
- const ActivityIndicatorWithRef: React.AbstractComponent<
187
- Props,
188
- HostComponent<mixed>,
189
- > = React.forwardRef(ActivityIndicator);
187
+ const ActivityIndicatorWithRef: ActivityIndicatorType =
188
+ React.forwardRef(ActivityIndicator);
190
189
  ActivityIndicatorWithRef.displayName = 'ActivityIndicator';
191
190
 
192
191
  const styles = StyleSheet.create({
@@ -8,13 +8,12 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
- import type {WithDefault} from '../../Types/CodegenTypes';
12
-
11
+ import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
13
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
+ import type {WithDefault} from '../../Types/CodegenTypes';
14
14
  import type {ViewProps} from '../View/ViewPropTypes';
15
15
 
16
16
  import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
17
- import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
18
17
 
19
18
  type NativeProps = $ReadOnly<{|
20
19
  ...ViewProps,
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ import type * as React from 'react';
11
+ import {ColorValue} from '../StyleSheet/StyleSheet';
12
+ import {TouchableNativeFeedbackProps} from './Touchable/TouchableNativeFeedback';
13
+ import {TouchableOpacityProps} from './Touchable/TouchableOpacity';
14
+
15
+ export interface ButtonProps
16
+ extends Pick<
17
+ TouchableNativeFeedbackProps & TouchableOpacityProps,
18
+ | 'accessibilityLabel'
19
+ | 'accessibilityState'
20
+ | 'hasTVPreferredFocus'
21
+ | 'nextFocusDown'
22
+ | 'nextFocusForward'
23
+ | 'nextFocusLeft'
24
+ | 'nextFocusRight'
25
+ | 'nextFocusUp'
26
+ | 'testID'
27
+ | 'disabled'
28
+ | 'onPress'
29
+ | 'touchSoundDisabled'
30
+ > {
31
+ /**
32
+ * Text to display inside the button. On Android the given title will be converted to the uppercased form.
33
+ */
34
+ title: string;
35
+
36
+ /**
37
+ * Color of the text (iOS), or background color of the button (Android).
38
+ */
39
+ color?: ColorValue | undefined;
40
+ }
41
+
42
+ export class Button extends React.Component<ButtonProps> {}
@@ -0,0 +1,265 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow
9
+ * @generate-docs
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ import type {PressEvent} from '../Types/CoreEventTypes';
15
+ import type {
16
+ AccessibilityActionEvent,
17
+ AccessibilityActionInfo,
18
+ AccessibilityState,
19
+ } from './View/ViewAccessibility';
20
+
21
+ import {type ColorValue} from '../StyleSheet/StyleSheet';
22
+ import * as React from 'react';
23
+
24
+ type ButtonProps = $ReadOnly<{|
25
+ /**
26
+ Text to display inside the button. On Android the given title will be
27
+ converted to the uppercased form.
28
+ */
29
+ title: string,
30
+
31
+ /**
32
+ Handler to be called when the user taps the button. The first function
33
+ argument is an event in form of [PressEvent](pressevent).
34
+ */
35
+ onPress: (event?: PressEvent) => mixed,
36
+
37
+ /**
38
+ If `true`, doesn't play system sound on touch.
39
+
40
+ @platform android
41
+
42
+ @default false
43
+ */
44
+ touchSoundDisabled?: ?boolean,
45
+
46
+ /**
47
+ Color of the text (iOS), or background color of the button (Android).
48
+
49
+ @default {@platform android} '#2196F3'
50
+ @default {@platform ios} '#007AFF'
51
+ */
52
+ color?: ?ColorValue,
53
+
54
+ /**
55
+ TV preferred focus.
56
+
57
+ @platform tv
58
+
59
+ @default false
60
+ */
61
+ hasTVPreferredFocus?: ?boolean,
62
+
63
+ /**
64
+ Designates the next view to receive focus when the user navigates down. See
65
+ the [Android documentation][android:nextFocusDown].
66
+
67
+ [android:nextFocusDown]:
68
+ https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusDown
69
+
70
+ @platform android, tv
71
+ */
72
+ nextFocusDown?: ?number,
73
+
74
+ /**
75
+ Designates the next view to receive focus when the user navigates forward.
76
+ See the [Android documentation][android:nextFocusForward].
77
+
78
+ [android:nextFocusForward]:
79
+ https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusForward
80
+
81
+ @platform android, tv
82
+ */
83
+ nextFocusForward?: ?number,
84
+
85
+ /**
86
+ Designates the next view to receive focus when the user navigates left. See
87
+ the [Android documentation][android:nextFocusLeft].
88
+
89
+ [android:nextFocusLeft]:
90
+ https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusLeft
91
+
92
+ @platform android, tv
93
+ */
94
+ nextFocusLeft?: ?number,
95
+
96
+ /**
97
+ Designates the next view to receive focus when the user navigates right. See
98
+ the [Android documentation][android:nextFocusRight].
99
+
100
+ [android:nextFocusRight]:
101
+ https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusRight
102
+
103
+ @platform android, tv
104
+ */
105
+ nextFocusRight?: ?number,
106
+
107
+ /**
108
+ Designates the next view to receive focus when the user navigates up. See
109
+ the [Android documentation][android:nextFocusUp].
110
+
111
+ [android:nextFocusUp]:
112
+ https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusUp
113
+
114
+ @platform android, tv
115
+ */
116
+ nextFocusUp?: ?number,
117
+
118
+ /**
119
+ Text to display for blindness accessibility features.
120
+ */
121
+ accessibilityLabel?: ?string,
122
+ /**
123
+ * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
124
+ * https://github.com/facebook/react-native/issues/34424
125
+ */
126
+ 'aria-label'?: ?string,
127
+ /**
128
+ If `true`, disable all interactions for this component.
129
+
130
+ @default false
131
+ */
132
+ disabled?: ?boolean,
133
+
134
+ /**
135
+ Used to locate this view in end-to-end tests.
136
+ */
137
+ testID?: ?string,
138
+
139
+ /**
140
+ * Accessibility props.
141
+ */
142
+ accessible?: ?boolean,
143
+ accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
144
+ onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
145
+ accessibilityState?: ?AccessibilityState,
146
+
147
+ /**
148
+ * [Android] Controlling if a view fires accessibility events and if it is reported to accessibility services.
149
+ */
150
+ importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
151
+ accessibilityHint?: ?string,
152
+ accessibilityLanguage?: ?Stringish,
153
+ |}>;
154
+
155
+ /**
156
+ A basic button component that should render nicely on any platform. Supports a
157
+ minimal level of customization.
158
+
159
+ If this button doesn't look right for your app, you can build your own button
160
+ using [TouchableOpacity](touchableopacity) or
161
+ [TouchableWithoutFeedback](touchablewithoutfeedback). For inspiration, look at
162
+ the [source code for this button component][button:source]. Or, take a look at
163
+ the [wide variety of button components built by the community]
164
+ [button:examples].
165
+
166
+ [button:source]:
167
+ https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js
168
+
169
+ [button:examples]:
170
+ https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button
171
+
172
+ ```jsx
173
+ <Button
174
+ onPress={onPressLearnMore}
175
+ title="Learn More"
176
+ color="#841584"
177
+ accessibilityLabel="Learn more about this purple button"
178
+ />
179
+ ```
180
+
181
+ ```SnackPlayer name=Button%20Example
182
+ import React from 'react';
183
+ import { StyleSheet, Button, View, SafeAreaView, Text, Alert } from 'react-native';
184
+
185
+ const Separator = () => (
186
+ <View style={styles.separator} />
187
+ );
188
+
189
+ const App = () => (
190
+ <SafeAreaView style={styles.container}>
191
+ <View>
192
+ <Text style={styles.title}>
193
+ The title and onPress handler are required. It is recommended to set accessibilityLabel to help make your app usable by everyone.
194
+ </Text>
195
+ <Button
196
+ title="Press me"
197
+ onPress={() => Alert.alert('Simple Button pressed')}
198
+ />
199
+ </View>
200
+ <Separator />
201
+ <View>
202
+ <Text style={styles.title}>
203
+ Adjust the color in a way that looks standard on each platform. On iOS, the color prop controls the color of the text. On Android, the color adjusts the background color of the button.
204
+ </Text>
205
+ <Button
206
+ title="Press me"
207
+ color="#f194ff"
208
+ onPress={() => Alert.alert('Button with adjusted color pressed')}
209
+ />
210
+ </View>
211
+ <Separator />
212
+ <View>
213
+ <Text style={styles.title}>
214
+ All interaction for the component are disabled.
215
+ </Text>
216
+ <Button
217
+ title="Press me"
218
+ disabled
219
+ onPress={() => Alert.alert('Cannot press this one')}
220
+ />
221
+ </View>
222
+ <Separator />
223
+ <View>
224
+ <Text style={styles.title}>
225
+ This layout strategy lets the title define the width of the button.
226
+ </Text>
227
+ <View style={styles.fixToText}>
228
+ <Button
229
+ title="Left button"
230
+ onPress={() => Alert.alert('Left button pressed')}
231
+ />
232
+ <Button
233
+ title="Right button"
234
+ onPress={() => Alert.alert('Right button pressed')}
235
+ />
236
+ </View>
237
+ </View>
238
+ </SafeAreaView>
239
+ );
240
+
241
+ const styles = StyleSheet.create({
242
+ container: {
243
+ flex: 1,
244
+ justifyContent: 'center',
245
+ marginHorizontal: 16,
246
+ },
247
+ title: {
248
+ textAlign: 'center',
249
+ marginVertical: 8,
250
+ },
251
+ fixToText: {
252
+ flexDirection: 'row',
253
+ justifyContent: 'space-between',
254
+ },
255
+ separator: {
256
+ marginVertical: 8,
257
+ borderBottomColor: '#737373',
258
+ borderBottomWidth: StyleSheet.hairlineWidth,
259
+ },
260
+ });
261
+
262
+ export default App;
263
+ ```
264
+ */
265
+ export type Button = React.ComponentType<ButtonProps>;
@@ -11,21 +11,22 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- import * as React from 'react';
15
- import Platform from '../Utilities/Platform';
14
+ import type {PressEvent} from '../Types/CoreEventTypes';
15
+ import type {Button as ButtonType} from './Button.flow';
16
+ import type {
17
+ AccessibilityActionEvent,
18
+ AccessibilityActionInfo,
19
+ AccessibilityState,
20
+ } from './View/ViewAccessibility';
21
+
16
22
  import StyleSheet, {type ColorValue} from '../StyleSheet/StyleSheet';
17
23
  import Text from '../Text/Text';
24
+ import Platform from '../Utilities/Platform';
18
25
  import TouchableNativeFeedback from './Touchable/TouchableNativeFeedback';
19
26
  import TouchableOpacity from './Touchable/TouchableOpacity';
20
27
  import View from './View/View';
21
28
  import invariant from 'invariant';
22
-
23
- import type {
24
- AccessibilityState,
25
- AccessibilityActionEvent,
26
- AccessibilityActionInfo,
27
- } from './View/ViewAccessibility';
28
- import type {PressEvent} from '../Types/CoreEventTypes';
29
+ import * as React from 'react';
29
30
 
30
31
  type ButtonProps = $ReadOnly<{|
31
32
  /**
@@ -125,7 +126,11 @@ type ButtonProps = $ReadOnly<{|
125
126
  Text to display for blindness accessibility features.
126
127
  */
127
128
  accessibilityLabel?: ?string,
128
-
129
+ /**
130
+ * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
131
+ * https://github.com/facebook/react-native/issues/34424
132
+ */
133
+ 'aria-label'?: ?string,
129
134
  /**
130
135
  If `true`, disable all interactions for this component.
131
136
 
@@ -145,6 +150,22 @@ type ButtonProps = $ReadOnly<{|
145
150
  accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
146
151
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
147
152
  accessibilityState?: ?AccessibilityState,
153
+
154
+ /**
155
+ * alias for accessibilityState
156
+ *
157
+ * see https://reactnative.dev/docs/accessibility#accessibilitystate
158
+ */
159
+ 'aria-busy'?: ?boolean,
160
+ 'aria-checked'?: ?boolean | 'mixed',
161
+ 'aria-disabled'?: ?boolean,
162
+ 'aria-expanded'?: ?boolean,
163
+ 'aria-selected'?: ?boolean,
164
+
165
+ /**
166
+ * [Android] Controlling if a view fires accessibility events and if it is reported to accessibility services.
167
+ */
168
+ importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
148
169
  accessibilityHint?: ?string,
149
170
  accessibilityLanguage?: ?Stringish,
150
171
  |}>;
@@ -264,6 +285,14 @@ class Button extends React.Component<ButtonProps> {
264
285
  render(): React.Node {
265
286
  const {
266
287
  accessibilityLabel,
288
+ accessibilityState,
289
+ 'aria-busy': ariaBusy,
290
+ 'aria-checked': ariaChecked,
291
+ 'aria-disabled': ariaDisabled,
292
+ 'aria-expanded': ariaExpanded,
293
+ 'aria-label': ariaLabel,
294
+ 'aria-selected': ariaSelected,
295
+ importantForAccessibility,
267
296
  color,
268
297
  onPress,
269
298
  touchSoundDisabled,
@@ -291,15 +320,23 @@ class Button extends React.Component<ButtonProps> {
291
320
  }
292
321
  }
293
322
 
323
+ let _accessibilityState = {
324
+ busy: ariaBusy ?? accessibilityState?.busy,
325
+ checked: ariaChecked ?? accessibilityState?.checked,
326
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
327
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
328
+ selected: ariaSelected ?? accessibilityState?.selected,
329
+ };
330
+
294
331
  const disabled =
295
332
  this.props.disabled != null
296
333
  ? this.props.disabled
297
- : this.props.accessibilityState?.disabled;
334
+ : _accessibilityState?.disabled;
298
335
 
299
- const accessibilityState =
300
- disabled !== this.props.accessibilityState?.disabled
301
- ? {...this.props.accessibilityState, disabled}
302
- : this.props.accessibilityState;
336
+ _accessibilityState =
337
+ disabled !== _accessibilityState?.disabled
338
+ ? {..._accessibilityState, disabled}
339
+ : _accessibilityState;
303
340
 
304
341
  if (disabled) {
305
342
  buttonStyles.push(styles.buttonDisabled);
@@ -315,16 +352,23 @@ class Button extends React.Component<ButtonProps> {
315
352
  const Touchable =
316
353
  Platform.OS === 'android' ? TouchableNativeFeedback : TouchableOpacity;
317
354
 
355
+ // If `no` is specified for `importantForAccessibility`, it will be changed to `no-hide-descendants` because the text inside should not be focused.
356
+ const _importantForAccessibility =
357
+ importantForAccessibility === 'no'
358
+ ? 'no-hide-descendants'
359
+ : importantForAccessibility;
360
+
318
361
  return (
319
362
  <Touchable
320
363
  accessible={accessible}
321
364
  accessibilityActions={accessibilityActions}
322
365
  onAccessibilityAction={onAccessibilityAction}
323
- accessibilityLabel={accessibilityLabel}
366
+ accessibilityLabel={ariaLabel || accessibilityLabel}
324
367
  accessibilityHint={accessibilityHint}
325
368
  accessibilityLanguage={accessibilityLanguage}
326
369
  accessibilityRole="button"
327
- accessibilityState={accessibilityState}
370
+ accessibilityState={_accessibilityState}
371
+ importantForAccessibility={_importantForAccessibility}
328
372
  hasTVPreferredFocus={hasTVPreferredFocus}
329
373
  nextFocusDown={nextFocusDown}
330
374
  nextFocusForward={nextFocusForward}
@@ -387,4 +431,4 @@ const styles = StyleSheet.create({
387
431
  }),
388
432
  });
389
433
 
390
- module.exports = Button;
434
+ module.exports = (Button: ButtonType);
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ export interface ClipboardStatic {
11
+ getString(): Promise<string>;
12
+ setString(content: string): void;
13
+ }
14
+
15
+ /**
16
+ * Clipboard has been extracted from react-native core and will be removed in a future release.
17
+ * It can now be installed and imported from `@react-native-community/clipboard` instead of 'react-native'.
18
+ * @see https://github.com/react-native-community/clipboard
19
+ * @deprecated
20
+ */
21
+ export const Clipboard: ClipboardStatic;
22
+ /**
23
+ * Clipboard has been extracted from react-native core and will be removed in a future release.
24
+ * It can now be installed and imported from `@react-native-community/clipboard` instead of 'react-native'.
25
+ * @see https://github.com/react-native-community/clipboard
26
+ * @deprecated
27
+ */
28
+ export type Clipboard = ClipboardStatic;