@office-iss/react-native-win32 0.70.2 → 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 +281 -43
  5. package/CHANGELOG.md +105 -24
  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 +6 -1
  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 -48
  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 +10 -1
  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
@@ -8,18 +8,18 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import * as React from 'react';
12
- import BoundingDimensions from './BoundingDimensions';
13
- import Platform from '../../Utilities/Platform';
14
- import Position from './Position';
15
- import UIManager from '../../ReactNative/UIManager';
16
- import SoundManager from '../Sound/SoundManager';
17
-
18
- import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
19
-
20
- import type {ColorValue} from '../../StyleSheet/StyleSheet';
21
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
+ import type {ColorValue} from '../../StyleSheet/StyleSheet';
22
13
  import type {PressEvent} from '../../Types/CoreEventTypes';
14
+ import type {TouchableType} from './Touchable.flow';
15
+
16
+ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
17
+ import UIManager from '../../ReactNative/UIManager';
18
+ import Platform from '../../Utilities/Platform';
19
+ import SoundManager from '../Sound/SoundManager';
20
+ import BoundingDimensions from './BoundingDimensions';
21
+ import Position from './Position';
22
+ import * as React from 'react';
23
23
 
24
24
  const extractSingleTouch = (nativeEvent: {
25
25
  +altKey: ?boolean,
@@ -932,7 +932,7 @@ const TouchableMixin = {
932
932
  }
933
933
  },
934
934
 
935
- withoutDefaultFocusAndBlur: ({}: $TEMPORARY$object<{||}>),
935
+ withoutDefaultFocusAndBlur: ({}: {...}),
936
936
  };
937
937
 
938
938
  /**
@@ -949,7 +949,7 @@ const {
949
949
  TouchableMixin.withoutDefaultFocusAndBlur =
950
950
  TouchableMixinWithoutDefaultFocusAndBlur;
951
951
 
952
- const Touchable = {
952
+ const Touchable: TouchableType = {
953
953
  Mixin: TouchableMixin,
954
954
  /**
955
955
  * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).
@@ -8,13 +8,15 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
12
+ import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
13
+
14
+ import Animated from '../../Animated/Animated';
11
15
  import Pressability, {
12
16
  type PressabilityConfig,
13
17
  } from '../../Pressability/Pressability';
14
18
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
15
- import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
16
- import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
17
- import {Animated, Platform} from 'react-native';
19
+ import Platform from '../../Utilities/Platform';
18
20
  import * as React from 'react';
19
21
 
20
22
  type Props = $ReadOnly<{|
@@ -130,23 +132,55 @@ class TouchableBounce extends React.Component<Props, State> {
130
132
  // adopting `Pressability`, so preserve that behavior.
131
133
  const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} =
132
134
  this.state.pressability.getEventHandlers();
135
+ const accessibilityLiveRegion =
136
+ this.props['aria-live'] === 'off'
137
+ ? 'none'
138
+ : this.props['aria-live'] ?? this.props.accessibilityLiveRegion;
139
+ const _accessibilityState = {
140
+ busy: this.props['aria-busy'] ?? this.props.accessibilityState?.busy,
141
+ checked:
142
+ this.props['aria-checked'] ?? this.props.accessibilityState?.checked,
143
+ disabled:
144
+ this.props['aria-disabled'] ?? this.props.accessibilityState?.disabled,
145
+ expanded:
146
+ this.props['aria-expanded'] ?? this.props.accessibilityState?.expanded,
147
+ selected:
148
+ this.props['aria-selected'] ?? this.props.accessibilityState?.selected,
149
+ };
133
150
 
151
+ const accessibilityValue = {
152
+ max: this.props['aria-valuemax'] ?? this.props.accessibilityValue?.max,
153
+ min: this.props['aria-valuemin'] ?? this.props.accessibilityValue?.min,
154
+ now: this.props['aria-valuenow'] ?? this.props.accessibilityValue?.now,
155
+ text: this.props['aria-valuetext'] ?? this.props.accessibilityValue?.text,
156
+ };
157
+
158
+ const accessibilityLabel =
159
+ this.props['aria-label'] ?? this.props.accessibilityLabel;
134
160
  return (
135
161
  <Animated.View
136
162
  style={[{transform: [{scale: this.state.scale}]}, this.props.style]}
137
163
  accessible={this.props.accessible !== false}
138
- accessibilityLabel={this.props.accessibilityLabel}
164
+ accessibilityLabel={accessibilityLabel}
139
165
  accessibilityHint={this.props.accessibilityHint}
140
166
  accessibilityLanguage={this.props.accessibilityLanguage}
141
167
  accessibilityRole={this.props.accessibilityRole}
142
- accessibilityState={this.props.accessibilityState}
168
+ accessibilityState={_accessibilityState}
143
169
  accessibilityActions={this.props.accessibilityActions}
144
170
  onAccessibilityAction={this.props.onAccessibilityAction}
145
- accessibilityValue={this.props.accessibilityValue}
146
- importantForAccessibility={this.props.importantForAccessibility}
147
- accessibilityLiveRegion={this.props.accessibilityLiveRegion}
148
- accessibilityViewIsModal={this.props.accessibilityViewIsModal}
149
- accessibilityElementsHidden={this.props.accessibilityElementsHidden}
171
+ accessibilityValue={accessibilityValue}
172
+ accessibilityLiveRegion={accessibilityLiveRegion}
173
+ importantForAccessibility={
174
+ this.props['aria-hidden'] === true
175
+ ? 'no-hide-descendants'
176
+ : this.props.importantForAccessibility
177
+ }
178
+ accessibilityViewIsModal={
179
+ this.props['aria-modal'] ?? this.props.accessibilityViewIsModal
180
+ }
181
+ accessibilityElementsHidden={
182
+ this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden
183
+ }
150
184
  nativeID={this.props.nativeID}
151
185
  testID={this.props.testID}
152
186
  hitSlop={this.props.hitSlop}
@@ -0,0 +1,68 @@
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 {TimerMixin} from '../../../types/private/TimerMixin';
13
+ import {NativeMethods} from '../../../types/public/ReactNativeTypes';
14
+ import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
15
+ import {ViewStyle} from '../../StyleSheet/StyleSheetTypes';
16
+ import {TouchableMixin} from './Touchable';
17
+ import {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
18
+
19
+ /**
20
+ * @see https://reactnative.dev/docs/touchablehighlight#props
21
+ */
22
+ export interface TouchableHighlightProps extends TouchableWithoutFeedbackProps {
23
+ /**
24
+ * Determines what the opacity of the wrapped view should be when touch is active.
25
+ */
26
+ activeOpacity?: number | undefined;
27
+
28
+ /**
29
+ *
30
+ * Called immediately after the underlay is hidden
31
+ */
32
+ onHideUnderlay?: (() => void) | undefined;
33
+
34
+ /**
35
+ * Called immediately after the underlay is shown
36
+ */
37
+ onShowUnderlay?: (() => void) | undefined;
38
+
39
+ /**
40
+ * @see https://reactnative.dev/docs/view#style
41
+ */
42
+ style?: StyleProp<ViewStyle> | undefined;
43
+
44
+ /**
45
+ * The color of the underlay that will show through when the touch is active.
46
+ */
47
+ underlayColor?: ColorValue | undefined;
48
+ }
49
+
50
+ /**
51
+ * A wrapper for making views respond properly to touches.
52
+ * On press down, the opacity of the wrapped view is decreased,
53
+ * which allows the underlay color to show through, darkening or tinting the view.
54
+ * The underlay comes from adding a view to the view hierarchy,
55
+ * which can sometimes cause unwanted visual artifacts if not used correctly,
56
+ * for example if the backgroundColor of the wrapped view isn't explicitly set to an opaque color.
57
+ *
58
+ * NOTE: TouchableHighlight supports only one child
59
+ * If you wish to have several child components, wrap them in a View.
60
+ *
61
+ * @see https://reactnative.dev/docs/touchablehighlight
62
+ */
63
+ declare class TouchableHighlightComponent extends React.Component<TouchableHighlightProps> {}
64
+ declare const TouchableHighlightBase: Constructor<NativeMethods> &
65
+ Constructor<TimerMixin> &
66
+ Constructor<TouchableMixin> &
67
+ typeof TouchableHighlightComponent;
68
+ export class TouchableHighlight extends TouchableHighlightBase {}
@@ -8,15 +8,16 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {ColorValue} from '../../StyleSheet/StyleSheet';
12
+ import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
13
+
14
+ import View from '../../Components/View/View';
11
15
  import Pressability, {
12
16
  type PressabilityConfig,
13
17
  } from '../../Pressability/Pressability';
14
18
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
15
19
  import StyleSheet, {type ViewStyleProp} from '../../StyleSheet/StyleSheet';
16
- import type {ColorValue} from '../../StyleSheet/StyleSheet';
17
- import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
18
20
  import Platform from '../../Utilities/Platform';
19
- import View from '../../Components/View/View';
20
21
  import * as React from 'react';
21
22
 
22
23
  type AndroidProps = $ReadOnly<{|
@@ -291,21 +292,43 @@ class TouchableHighlight extends React.Component<Props, State> {
291
292
  }
292
293
  : this.props.accessibilityState;
293
294
 
295
+ const accessibilityValue = {
296
+ max: this.props['aria-valuemax'] ?? this.props.accessibilityValue?.max,
297
+ min: this.props['aria-valuemin'] ?? this.props.accessibilityValue?.min,
298
+ now: this.props['aria-valuenow'] ?? this.props.accessibilityValue?.now,
299
+ text: this.props['aria-valuetext'] ?? this.props.accessibilityValue?.text,
300
+ };
301
+
302
+ const accessibilityLiveRegion =
303
+ this.props['aria-live'] === 'off'
304
+ ? 'none'
305
+ : this.props['aria-live'] ?? this.props.accessibilityLiveRegion;
306
+
307
+ const accessibilityLabel =
308
+ this.props['aria-label'] ?? this.props.accessibilityLabel;
294
309
  return (
295
310
  <View
296
311
  accessible={this.props.accessible !== false}
297
- accessibilityLabel={this.props.accessibilityLabel}
312
+ accessibilityLabel={accessibilityLabel}
298
313
  accessibilityHint={this.props.accessibilityHint}
299
314
  accessibilityLanguage={this.props.accessibilityLanguage}
300
315
  accessibilityRole={this.props.accessibilityRole}
301
316
  accessibilityState={accessibilityState}
302
- accessibilityValue={this.props.accessibilityValue}
317
+ accessibilityValue={accessibilityValue}
303
318
  accessibilityActions={this.props.accessibilityActions}
304
319
  onAccessibilityAction={this.props.onAccessibilityAction}
305
- importantForAccessibility={this.props.importantForAccessibility}
306
- accessibilityLiveRegion={this.props.accessibilityLiveRegion}
307
- accessibilityViewIsModal={this.props.accessibilityViewIsModal}
308
- accessibilityElementsHidden={this.props.accessibilityElementsHidden}
320
+ importantForAccessibility={
321
+ this.props['aria-hidden'] === true
322
+ ? 'no-hide-descendants'
323
+ : this.props.importantForAccessibility
324
+ }
325
+ accessibilityViewIsModal={
326
+ this.props['aria-modal'] ?? this.props.accessibilityViewIsModal
327
+ }
328
+ accessibilityLiveRegion={accessibilityLiveRegion}
329
+ accessibilityElementsHidden={
330
+ this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden
331
+ }
309
332
  style={StyleSheet.compose(
310
333
  this.props.style,
311
334
  this.state.extraStyles?.underlay,
@@ -0,0 +1,114 @@
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 {ColorValue} from '../../StyleSheet/StyleSheet';
13
+ import {TouchableMixin} from './Touchable';
14
+
15
+ import type {TVProps} from './TouchableOpacity';
16
+ import {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
17
+
18
+ interface BaseBackgroundPropType {
19
+ type: string;
20
+ rippleRadius?: number | null | undefined;
21
+ }
22
+
23
+ interface RippleBackgroundPropType extends BaseBackgroundPropType {
24
+ type: 'RippleAndroid';
25
+ borderless: boolean;
26
+ color?: number | null | undefined;
27
+ }
28
+
29
+ interface ThemeAttributeBackgroundPropType extends BaseBackgroundPropType {
30
+ type: 'ThemeAttrAndroid';
31
+ attribute: string;
32
+ }
33
+
34
+ type BackgroundPropType =
35
+ | RippleBackgroundPropType
36
+ | ThemeAttributeBackgroundPropType;
37
+
38
+ /**
39
+ * @see https://reactnative.dev/docs/touchablenativefeedback#props
40
+ */
41
+ export interface TouchableNativeFeedbackProps
42
+ extends TouchableWithoutFeedbackProps,
43
+ TVProps {
44
+ /**
45
+ * Determines the type of background drawable that's going to be used to display feedback.
46
+ * It takes an object with type property and extra data depending on the type.
47
+ * It's recommended to use one of the following static methods to generate that dictionary:
48
+ * 1) TouchableNativeFeedback.SelectableBackground() - will create object that represents android theme's
49
+ * default background for selectable elements (?android:attr/selectableItemBackground)
50
+ * 2) TouchableNativeFeedback.SelectableBackgroundBorderless() - will create object that represent android
51
+ * theme's default background for borderless selectable elements
52
+ * (?android:attr/selectableItemBackgroundBorderless). Available on android API level 21+
53
+ * 3) TouchableNativeFeedback.Ripple(color, borderless) - will create object that represents ripple drawable
54
+ * with specified color (as a string). If property borderless evaluates to true the ripple will render
55
+ * outside of the view bounds (see native actionbar buttons as an example of that behavior). This background
56
+ * type is available on Android API level 21+
57
+ */
58
+ background?: BackgroundPropType | undefined;
59
+ useForeground?: boolean | undefined;
60
+ }
61
+
62
+ /**
63
+ * A wrapper for making views respond properly to touches (Android only).
64
+ * On Android this component uses native state drawable to display touch feedback.
65
+ * At the moment it only supports having a single View instance as a child node,
66
+ * as it's implemented by replacing that View with another instance of RCTView node with some additional properties set.
67
+ *
68
+ * Background drawable of native feedback touchable can be customized with background property.
69
+ *
70
+ * @see https://reactnative.dev/docs/touchablenativefeedback#content
71
+ */
72
+ declare class TouchableNativeFeedbackComponent extends React.Component<TouchableNativeFeedbackProps> {}
73
+ declare const TouchableNativeFeedbackBase: Constructor<TouchableMixin> &
74
+ typeof TouchableNativeFeedbackComponent;
75
+ export class TouchableNativeFeedback extends TouchableNativeFeedbackBase {
76
+ /**
77
+ * Creates an object that represents android theme's default background for
78
+ * selectable elements (?android:attr/selectableItemBackground).
79
+ *
80
+ * @param rippleRadius The radius of ripple effect
81
+ */
82
+ static SelectableBackground(
83
+ rippleRadius?: number | null,
84
+ ): ThemeAttributeBackgroundPropType;
85
+
86
+ /**
87
+ * Creates an object that represent android theme's default background for borderless
88
+ * selectable elements (?android:attr/selectableItemBackgroundBorderless).
89
+ * Available on android API level 21+.
90
+ *
91
+ * @param rippleRadius The radius of ripple effect
92
+ */
93
+ static SelectableBackgroundBorderless(
94
+ rippleRadius?: number | null,
95
+ ): ThemeAttributeBackgroundPropType;
96
+
97
+ /**
98
+ * Creates an object that represents ripple drawable with specified color (as a
99
+ * string). If property `borderless` evaluates to true the ripple will
100
+ * render outside of the view bounds (see native actionbar buttons as an
101
+ * example of that behavior). This background type is available on Android
102
+ * API level 21+.
103
+ *
104
+ * @param color The ripple color
105
+ * @param borderless If the ripple can render outside it's bounds
106
+ * @param rippleRadius The radius of ripple effect
107
+ */
108
+ static Ripple(
109
+ color: ColorValue,
110
+ borderless: boolean,
111
+ rippleRadius?: number | null,
112
+ ): RippleBackgroundPropType;
113
+ static canUseNativeForeground(): boolean;
114
+ }
@@ -8,19 +8,20 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {PressEvent} from '../../Types/CoreEventTypes';
12
+ import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
13
+
14
+ import View from '../../Components/View/View';
11
15
  import Pressability, {
12
16
  type PressabilityConfig,
13
17
  } from '../../Pressability/Pressability';
14
18
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
15
- import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
16
- import {Commands} from 'react-native/Libraries/Components/View/ViewNativeComponent';
17
- import ReactNative from 'react-native/Libraries/Renderer/shims/ReactNative';
18
- import type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';
19
- import Platform from '../../Utilities/Platform';
20
- import View from '../../Components/View/View';
19
+ import {findHostInstance_DEPRECATED} from '../../ReactNative/RendererProxy';
21
20
  import processColor from '../../StyleSheet/processColor';
22
- import * as React from 'react';
21
+ import Platform from '../../Utilities/Platform';
22
+ import {Commands} from '../View/ViewNativeComponent';
23
23
  import invariant from 'invariant';
24
+ import * as React from 'react';
24
25
 
25
26
  type Props = $ReadOnly<{|
26
27
  ...React.ElementConfig<TouchableWithoutFeedback>,
@@ -162,12 +163,14 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
162
163
  };
163
164
 
164
165
  _createPressabilityConfig(): PressabilityConfig {
166
+ const accessibilityStateDisabled =
167
+ this.props['aria-disabled'] ?? this.props.accessibilityState?.disabled;
165
168
  return {
166
169
  cancelable: !this.props.rejectResponderTermination,
167
170
  disabled:
168
171
  this.props.disabled != null
169
172
  ? this.props.disabled
170
- : this.props.accessibilityState?.disabled,
173
+ : accessibilityStateDisabled,
171
174
  hitSlop: this.props.hitSlop,
172
175
  delayLongPress: this.props.delayLongPress,
173
176
  delayPressIn: this.props.delayPressIn,
@@ -204,7 +207,7 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
204
207
 
205
208
  _dispatchPressedStateChange(pressed: boolean): void {
206
209
  if (Platform.OS === 'android') {
207
- const hostComponentRef = ReactNative.findHostInstance_DEPRECATED(this);
210
+ const hostComponentRef = findHostInstance_DEPRECATED(this);
208
211
  if (hostComponentRef == null) {
209
212
  console.warn(
210
213
  'Touchable: Unable to find HostComponent instance. ' +
@@ -219,7 +222,7 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
219
222
  _dispatchHotspotUpdate(event: PressEvent): void {
220
223
  if (Platform.OS === 'android') {
221
224
  const {locationX, locationY} = event.nativeEvent;
222
- const hostComponentRef = ReactNative.findHostInstance_DEPRECATED(this);
225
+ const hostComponentRef = findHostInstance_DEPRECATED(this);
223
226
  if (hostComponentRef == null) {
224
227
  console.warn(
225
228
  'Touchable: Unable to find HostComponent instance. ' +
@@ -251,14 +254,40 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
251
254
  const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} =
252
255
  this.state.pressability.getEventHandlers();
253
256
 
254
- const accessibilityState =
257
+ let _accessibilityState = {
258
+ busy: this.props['aria-busy'] ?? this.props.accessibilityState?.busy,
259
+ checked:
260
+ this.props['aria-checked'] ?? this.props.accessibilityState?.checked,
261
+ disabled:
262
+ this.props['aria-disabled'] ?? this.props.accessibilityState?.disabled,
263
+ expanded:
264
+ this.props['aria-expanded'] ?? this.props.accessibilityState?.expanded,
265
+ selected:
266
+ this.props['aria-selected'] ?? this.props.accessibilityState?.selected,
267
+ };
268
+
269
+ _accessibilityState =
255
270
  this.props.disabled != null
256
271
  ? {
257
- ...this.props.accessibilityState,
272
+ ..._accessibilityState,
258
273
  disabled: this.props.disabled,
259
274
  }
260
- : this.props.accessibilityState;
275
+ : _accessibilityState;
276
+
277
+ const accessibilityValue = {
278
+ max: this.props['aria-valuemax'] ?? this.props.accessibilityValue?.max,
279
+ min: this.props['aria-valuemin'] ?? this.props.accessibilityValue?.min,
280
+ now: this.props['aria-valuenow'] ?? this.props.accessibilityValue?.now,
281
+ text: this.props['aria-valuetext'] ?? this.props.accessibilityValue?.text,
282
+ };
283
+
284
+ const accessibilityLiveRegion =
285
+ this.props['aria-live'] === 'off'
286
+ ? 'none'
287
+ : this.props['aria-live'] ?? this.props.accessibilityLiveRegion;
261
288
 
289
+ const accessibilityLabel =
290
+ this.props['aria-label'] ?? this.props.accessibilityLabel;
262
291
  return React.cloneElement(
263
292
  element,
264
293
  {
@@ -272,16 +301,21 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
272
301
  accessible: this.props.accessible !== false,
273
302
  accessibilityHint: this.props.accessibilityHint,
274
303
  accessibilityLanguage: this.props.accessibilityLanguage,
275
- accessibilityLabel: this.props.accessibilityLabel,
304
+ accessibilityLabel: accessibilityLabel,
276
305
  accessibilityRole: this.props.accessibilityRole,
277
- accessibilityState: accessibilityState,
306
+ accessibilityState: _accessibilityState,
278
307
  accessibilityActions: this.props.accessibilityActions,
279
308
  onAccessibilityAction: this.props.onAccessibilityAction,
280
- accessibilityValue: this.props.accessibilityValue,
281
- importantForAccessibility: this.props.importantForAccessibility,
282
- accessibilityLiveRegion: this.props.accessibilityLiveRegion,
283
- accessibilityViewIsModal: this.props.accessibilityViewIsModal,
284
- accessibilityElementsHidden: this.props.accessibilityElementsHidden,
309
+ accessibilityValue: accessibilityValue,
310
+ importantForAccessibility:
311
+ this.props['aria-hidden'] === true
312
+ ? 'no-hide-descendants'
313
+ : this.props.importantForAccessibility,
314
+ accessibilityViewIsModal:
315
+ this.props['aria-modal'] ?? this.props.accessibilityViewIsModal,
316
+ accessibilityLiveRegion: accessibilityLiveRegion,
317
+ accessibilityElementsHidden:
318
+ this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden,
285
319
  hasTVPreferredFocus: this.props.hasTVPreferredFocus,
286
320
  hitSlop: this.props.hitSlop,
287
321
  focusable:
@@ -0,0 +1,109 @@
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 {TimerMixin} from '../../../types/private/TimerMixin';
13
+ import {NativeMethods} from '../../../types/public/ReactNativeTypes';
14
+ import {TVParallaxProperties} from '../View/ViewPropTypes';
15
+ import {TouchableMixin} from './Touchable';
16
+ import {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
17
+
18
+ export interface TVProps {
19
+ /**
20
+ * *(Apple TV only)* TV preferred focus (see documentation for the View component).
21
+ *
22
+ * @platform ios
23
+ */
24
+ hasTVPreferredFocus?: boolean | undefined;
25
+
26
+ /**
27
+ * Designates the next view to receive focus when the user navigates down. See the Android documentation.
28
+ *
29
+ * @platform android
30
+ */
31
+ nextFocusDown?: number | undefined;
32
+
33
+ /**
34
+ * Designates the next view to receive focus when the user navigates forward. See the Android documentation.
35
+ *
36
+ * @platform android
37
+ */
38
+ nextFocusForward?: number | undefined;
39
+
40
+ /**
41
+ * Designates the next view to receive focus when the user navigates left. See the Android documentation.
42
+ *
43
+ * @platform android
44
+ */
45
+ nextFocusLeft?: number | undefined;
46
+
47
+ /**
48
+ * Designates the next view to receive focus when the user navigates right. See the Android documentation.
49
+ *
50
+ * @platform android
51
+ */
52
+ nextFocusRight?: number | undefined;
53
+
54
+ /**
55
+ * Designates the next view to receive focus when the user navigates up. See the Android documentation.
56
+ *
57
+ * @platform android
58
+ */
59
+ nextFocusUp?: number | undefined;
60
+ }
61
+
62
+ /**
63
+ * @see https://reactnative.dev/docs/touchableopacity#props
64
+ */
65
+ export interface TouchableOpacityProps
66
+ extends TouchableWithoutFeedbackProps,
67
+ TVProps {
68
+ /**
69
+ * Determines what the opacity of the wrapped view should be when touch is active.
70
+ * Defaults to 0.2
71
+ */
72
+ activeOpacity?: number | undefined;
73
+
74
+ /**
75
+ * *(Apple TV only)* Object with properties to control Apple TV parallax effects.
76
+ *
77
+ * enabled: If true, parallax effects are enabled. Defaults to true.
78
+ * shiftDistanceX: Defaults to 2.0.
79
+ * shiftDistanceY: Defaults to 2.0.
80
+ * tiltAngle: Defaults to 0.05.
81
+ * magnification: Defaults to 1.0.
82
+ * pressMagnification: Defaults to 1.0.
83
+ * pressDuration: Defaults to 0.3.
84
+ * pressDelay: Defaults to 0.0.
85
+ *
86
+ * @platform android
87
+ */
88
+ tvParallaxProperties?: TVParallaxProperties | undefined;
89
+ }
90
+
91
+ /**
92
+ * A wrapper for making views respond properly to touches.
93
+ * On press down, the opacity of the wrapped view is decreased, dimming it.
94
+ * This is done without actually changing the view hierarchy,
95
+ * and in general is easy to add to an app without weird side-effects.
96
+ *
97
+ * @see https://reactnative.dev/docs/touchableopacity
98
+ */
99
+ declare class TouchableOpacityComponent extends React.Component<TouchableOpacityProps> {}
100
+ declare const TouchableOpacityBase: Constructor<TimerMixin> &
101
+ Constructor<TouchableMixin> &
102
+ Constructor<NativeMethods> &
103
+ typeof TouchableOpacityComponent;
104
+ export class TouchableOpacity extends TouchableOpacityBase {
105
+ /**
106
+ * Animate the touchable to a new opacity.
107
+ */
108
+ setOpacityTo: (value: number) => void;
109
+ }