@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
@@ -10,12 +10,11 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const Blob = require('./Blob');
13
+ import type {BlobOptions} from './BlobTypes';
14
14
 
15
+ const Blob = require('./Blob');
15
16
  const invariant = require('invariant');
16
17
 
17
- import type {BlobOptions} from './BlobTypes';
18
-
19
18
  /**
20
19
  * The File interface provides information about files.
21
20
  */
@@ -8,11 +8,12 @@
8
8
  * @format
9
9
  */
10
10
 
11
- const Blob = require('./Blob');
12
- const EventTarget = require('event-target-shim');
11
+ import type Blob from './Blob';
13
12
 
14
13
  import NativeFileReaderModule from './NativeFileReaderModule';
15
14
 
15
+ const EventTarget = require('event-target-shim');
16
+
16
17
  type ReadyState =
17
18
  | 0 // EMPTY
18
19
  | 1 // LOADING
@@ -73,11 +74,11 @@ class FileReader extends (EventTarget(...READER_EVENTS): any) {
73
74
  }
74
75
  }
75
76
 
76
- readAsArrayBuffer() {
77
+ readAsArrayBuffer(): any {
77
78
  throw new Error('FileReader.readAsArrayBuffer is not implemented');
78
79
  }
79
80
 
80
- readAsDataURL(blob: ?Blob) {
81
+ readAsDataURL(blob: ?Blob): void {
81
82
  this._aborted = false;
82
83
 
83
84
  if (blob == null) {
@@ -104,7 +105,7 @@ class FileReader extends (EventTarget(...READER_EVENTS): any) {
104
105
  );
105
106
  }
106
107
 
107
- readAsText(blob: ?Blob, encoding: string = 'UTF-8') {
108
+ readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {
108
109
  this._aborted = false;
109
110
 
110
111
  if (blob == null) {
@@ -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 {
@@ -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 {
@@ -8,7 +8,7 @@
8
8
  * @flow
9
9
  */
10
10
 
11
- const Blob = require('./Blob');
11
+ import type Blob from './Blob';
12
12
 
13
13
  import NativeBlobModule from './NativeBlobModule';
14
14
 
@@ -54,7 +54,7 @@ if (
54
54
  // Small subset from whatwg-url: https://github.com/jsdom/whatwg-url/tree/master/src
55
55
  // The reference code bloat comes from Unicode issues with URLs, so those won't work here.
56
56
  export class URLSearchParams {
57
- _searchParams = [];
57
+ _searchParams: Array<Array<string>> = [];
58
58
 
59
59
  constructor(params: any) {
60
60
  if (typeof params === 'object') {
@@ -62,35 +62,36 @@ export class URLSearchParams {
62
62
  }
63
63
  }
64
64
 
65
- append(key: string, value: string) {
65
+ append(key: string, value: string): void {
66
66
  this._searchParams.push([key, value]);
67
67
  }
68
68
 
69
- delete(name: string) {
69
+ delete(name: string): void {
70
70
  throw new Error('URLSearchParams.delete is not implemented');
71
71
  }
72
72
 
73
- get(name: string) {
73
+ get(name: string): void {
74
74
  throw new Error('URLSearchParams.get is not implemented');
75
75
  }
76
76
 
77
- getAll(name: string) {
77
+ getAll(name: string): void {
78
78
  throw new Error('URLSearchParams.getAll is not implemented');
79
79
  }
80
80
 
81
- has(name: string) {
81
+ has(name: string): void {
82
82
  throw new Error('URLSearchParams.has is not implemented');
83
83
  }
84
84
 
85
- set(name: string, value: string) {
85
+ set(name: string, value: string): void {
86
86
  throw new Error('URLSearchParams.set is not implemented');
87
87
  }
88
88
 
89
- sort() {
89
+ sort(): void {
90
90
  throw new Error('URLSearchParams.sort is not implemented');
91
91
  }
92
92
 
93
93
  // $FlowFixMe[unsupported-syntax]
94
+ // $FlowFixMe[missing-local-annot]
94
95
  [Symbol.iterator]() {
95
96
  return this._searchParams[Symbol.iterator]();
96
97
  }
@@ -134,6 +135,7 @@ export class URL {
134
135
  // Do nothing.
135
136
  }
136
137
 
138
+ // $FlowFixMe[missing-local-annot]
137
139
  constructor(url: string, base: string | URL) {
138
140
  let baseUrl = null;
139
141
  if (!base || validateBaseUrl(url)) {
@@ -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 {
@@ -165,7 +165,7 @@ function copyWithSetImpl(
165
165
  path: Array<string | number>,
166
166
  idx: number,
167
167
  value: any,
168
- ) {
168
+ ): any {
169
169
  if (idx >= path.length) {
170
170
  return value;
171
171
  }
@@ -0,0 +1,128 @@
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 {HostComponent} from '../../../types/public/ReactNativeTypes';
12
+ import {EmitterSubscription} from '../../vendor/emitter/EventEmitter';
13
+
14
+ type AccessibilityChangeEventName =
15
+ | 'change' // deprecated, maps to screenReaderChanged
16
+ | 'boldTextChanged' // iOS-only Event
17
+ | 'grayscaleChanged' // iOS-only Event
18
+ | 'invertColorsChanged' // iOS-only Event
19
+ | 'reduceMotionChanged'
20
+ | 'screenReaderChanged'
21
+ | 'reduceTransparencyChanged'; // iOS-only Event
22
+
23
+ type AccessibilityChangeEvent = boolean;
24
+
25
+ type AccessibilityChangeEventHandler = (
26
+ event: AccessibilityChangeEvent,
27
+ ) => void;
28
+
29
+ type AccessibilityAnnouncementEventName = 'announcementFinished'; // iOS-only Event
30
+
31
+ type AccessibilityAnnouncementFinishedEvent = {
32
+ announcement: string;
33
+ success: boolean;
34
+ };
35
+
36
+ type AccessibilityAnnouncementFinishedEventHandler = (
37
+ event: AccessibilityAnnouncementFinishedEvent,
38
+ ) => void;
39
+
40
+ type AccessibilityEventTypes = 'click' | 'focus';
41
+
42
+ /**
43
+ * @see https://reactnative.dev/docs/accessibilityinfo
44
+ */
45
+ export interface AccessibilityInfoStatic {
46
+ /**
47
+ * Query whether bold text is currently enabled.
48
+ *
49
+ * @platform ios
50
+ */
51
+ isBoldTextEnabled: () => Promise<boolean>;
52
+
53
+ /**
54
+ * Query whether grayscale is currently enabled.
55
+ *
56
+ * @platform ios
57
+ */
58
+ isGrayscaleEnabled: () => Promise<boolean>;
59
+
60
+ /**
61
+ * Query whether invert colors is currently enabled.
62
+ *
63
+ * @platform ios
64
+ */
65
+ isInvertColorsEnabled: () => Promise<boolean>;
66
+
67
+ /**
68
+ * Query whether reduce motion is currently enabled.
69
+ */
70
+ isReduceMotionEnabled: () => Promise<boolean>;
71
+
72
+ /**
73
+ * Query whether reduce transparency is currently enabled.
74
+ *
75
+ * @platform ios
76
+ */
77
+ isReduceTransparencyEnabled: () => Promise<boolean>;
78
+
79
+ /**
80
+ * Query whether a screen reader is currently enabled.
81
+ */
82
+ isScreenReaderEnabled: () => Promise<boolean>;
83
+
84
+ /**
85
+ * Add an event handler. Supported events:
86
+ * - announcementFinished: iOS-only event. Fires when the screen reader has finished making an announcement.
87
+ * The argument to the event handler is a dictionary with these keys:
88
+ * - announcement: The string announced by the screen reader.
89
+ * - success: A boolean indicating whether the announcement was successfully made.
90
+ * - AccessibilityEventName constants other than announcementFinished: Fires on accessibility feature change.
91
+ * The argument to the event handler is a boolean.
92
+ * The boolean is true when the related event's feature is enabled and false otherwise.
93
+ *
94
+ */
95
+ addEventListener(
96
+ eventName: AccessibilityChangeEventName,
97
+ handler: AccessibilityChangeEventHandler,
98
+ ): EmitterSubscription;
99
+ addEventListener(
100
+ eventName: AccessibilityAnnouncementEventName,
101
+ handler: AccessibilityAnnouncementFinishedEventHandler,
102
+ ): EmitterSubscription;
103
+
104
+ /**
105
+ * Set accessibility focus to a react component.
106
+ */
107
+ setAccessibilityFocus: (reactTag: number) => void;
108
+
109
+ /**
110
+ * Post a string to be announced by the screen reader.
111
+ */
112
+ announceForAccessibility: (announcement: string) => void;
113
+
114
+ /**
115
+ * Gets the timeout in millisecond that the user needs.
116
+ * This value is set in "Time to take action (Accessibility timeout)" of "Accessibility" settings.
117
+ *
118
+ * @platform android
119
+ */
120
+ getRecommendedTimeoutMillis: (originalTimeout: number) => Promise<number>;
121
+ sendAccessibilityEvent: (
122
+ handle: React.ElementRef<HostComponent<unknown>>,
123
+ eventType: AccessibilityEventTypes,
124
+ ) => void;
125
+ }
126
+
127
+ export const AccessibilityInfo: AccessibilityInfoStatic;
128
+ export type AccessibilityInfo = AccessibilityInfoStatic;
@@ -0,0 +1,208 @@
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
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
12
+ import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
13
+ import type {ElementRef} from 'react';
14
+
15
+ // Events that are only supported on Android.
16
+ type AccessibilityEventDefinitionsAndroid = {
17
+ accessibilityServiceChanged: [boolean],
18
+ };
19
+
20
+ // Events that are only supported on iOS.
21
+ type AccessibilityEventDefinitionsIOS = {
22
+ announcementFinished: [{announcement: string, success: boolean}],
23
+ boldTextChanged: [boolean],
24
+ grayscaleChanged: [boolean],
25
+ invertColorsChanged: [boolean],
26
+ reduceTransparencyChanged: [boolean],
27
+ };
28
+
29
+ type AccessibilityEventDefinitions = {
30
+ ...AccessibilityEventDefinitionsAndroid,
31
+ ...AccessibilityEventDefinitionsIOS,
32
+ change: [boolean], // screenReaderChanged
33
+ reduceMotionChanged: [boolean],
34
+ screenReaderChanged: [boolean],
35
+ };
36
+
37
+ type AccessibilityEventTypes = 'click' | 'focus';
38
+ /**
39
+ * Sometimes it's useful to know whether or not the device has a screen reader
40
+ * that is currently active. The `AccessibilityInfo` API is designed for this
41
+ * purpose. You can use it to query the current state of the screen reader as
42
+ * well as to register to be notified when the state of the screen reader
43
+ * changes.
44
+ *
45
+ * See https://reactnative.dev/docs/accessibilityinfo
46
+ */
47
+ export type AccessibilityInfoType = {
48
+ /**
49
+ * Query whether bold text is currently enabled.
50
+ *
51
+ * Returns a promise which resolves to a boolean.
52
+ * The result is `true` when bold text is enabled and `false` otherwise.
53
+ *
54
+ * See https://reactnative.dev/docs/accessibilityinfo#isBoldTextEnabled
55
+ */
56
+ isBoldTextEnabled: () => Promise<boolean>,
57
+
58
+ /**
59
+ * Query whether grayscale is currently enabled.
60
+ *
61
+ * Returns a promise which resolves to a boolean.
62
+ * The result is `true` when grayscale is enabled and `false` otherwise.
63
+ *
64
+ * See https://reactnative.dev/docs/accessibilityinfo#isGrayscaleEnabled
65
+ */
66
+ isGrayscaleEnabled: () => Promise<boolean>,
67
+
68
+ /**
69
+ * Query whether inverted colors are currently enabled.
70
+ *
71
+ * Returns a promise which resolves to a boolean.
72
+ * The result is `true` when invert color is enabled and `false` otherwise.
73
+ *
74
+ * See https://reactnative.dev/docs/accessibilityinfo#isInvertColorsEnabled
75
+ */
76
+ isInvertColorsEnabled: () => Promise<boolean>,
77
+
78
+ /**
79
+ * Query whether reduced motion is currently enabled.
80
+ *
81
+ * Returns a promise which resolves to a boolean.
82
+ * The result is `true` when a reduce motion is enabled and `false` otherwise.
83
+ *
84
+ * See https://reactnative.dev/docs/accessibilityinfo#isReduceMotionEnabled
85
+ */
86
+ isReduceMotionEnabled: () => Promise<boolean>,
87
+
88
+ /**
89
+ * Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.
90
+ *
91
+ * Returns a promise which resolves to a boolean.
92
+ * The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.
93
+ *
94
+ * See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions
95
+ */
96
+ prefersCrossFadeTransitions: () => Promise<boolean>,
97
+
98
+ /**
99
+ * Query whether reduced transparency is currently enabled.
100
+ *
101
+ * Returns a promise which resolves to a boolean.
102
+ * The result is `true` when a reduce transparency is enabled and `false` otherwise.
103
+ *
104
+ * See https://reactnative.dev/docs/accessibilityinfo#isReduceTransparencyEnabled
105
+ */
106
+ isReduceTransparencyEnabled: () => Promise<boolean>,
107
+
108
+ /**
109
+ * Query whether a screen reader is currently enabled.
110
+ *
111
+ * Returns a promise which resolves to a boolean.
112
+ * The result is `true` when a screen reader is enabled and `false` otherwise.
113
+ *
114
+ * See https://reactnative.dev/docs/accessibilityinfo#isScreenReaderEnabled
115
+ */
116
+ isScreenReaderEnabled: () => Promise<boolean>,
117
+
118
+ /**
119
+ * Query whether Accessibility Service is currently enabled.
120
+ *
121
+ * Returns a promise which resolves to a boolean.
122
+ * The result is `true` when any service is enabled and `false` otherwise.
123
+ *
124
+ * @platform android
125
+ *
126
+ * See https://reactnative.dev/docs/accessibilityinfo/#isaccessibilityserviceenabled-android
127
+ */
128
+ isAccessibilityServiceEnabled: () => Promise<boolean>,
129
+
130
+ /**
131
+ * Add an event handler. Supported events:
132
+ *
133
+ * - `reduceMotionChanged`: Fires when the state of the reduce motion toggle changes.
134
+ * The argument to the event handler is a boolean. The boolean is `true` when a reduce
135
+ * motion is enabled (or when "Transition Animation Scale" in "Developer options" is
136
+ * "Animation off") and `false` otherwise.
137
+ * - `screenReaderChanged`: Fires when the state of the screen reader changes. The argument
138
+ * to the event handler is a boolean. The boolean is `true` when a screen
139
+ * reader is enabled and `false` otherwise.
140
+ *
141
+ * These events are only supported on iOS:
142
+ *
143
+ * - `boldTextChanged`: iOS-only event. Fires when the state of the bold text toggle changes.
144
+ * The argument to the event handler is a boolean. The boolean is `true` when a bold text
145
+ * is enabled and `false` otherwise.
146
+ * - `grayscaleChanged`: iOS-only event. Fires when the state of the gray scale toggle changes.
147
+ * The argument to the event handler is a boolean. The boolean is `true` when a gray scale
148
+ * is enabled and `false` otherwise.
149
+ * - `invertColorsChanged`: iOS-only event. Fires when the state of the invert colors toggle
150
+ * changes. The argument to the event handler is a boolean. The boolean is `true` when a invert
151
+ * colors is enabled and `false` otherwise.
152
+ * - `reduceTransparencyChanged`: iOS-only event. Fires when the state of the reduce transparency
153
+ * toggle changes. The argument to the event handler is a boolean. The boolean is `true`
154
+ * when a reduce transparency is enabled and `false` otherwise.
155
+ * - `announcementFinished`: iOS-only event. Fires when the screen reader has
156
+ * finished making an announcement. The argument to the event handler is a
157
+ * dictionary with these keys:
158
+ * - `announcement`: The string announced by the screen reader.
159
+ * - `success`: A boolean indicating whether the announcement was
160
+ * successfully made.
161
+ *
162
+ * See https://reactnative.dev/docs/accessibilityinfo#addeventlistener
163
+ */
164
+ addEventListener<K: $Keys<AccessibilityEventDefinitions>>(
165
+ eventName: K,
166
+ handler: (...$ElementType<AccessibilityEventDefinitions, K>) => void,
167
+ ): EventSubscription,
168
+
169
+ /**
170
+ * Set accessibility focus to a React component.
171
+ *
172
+ * See https://reactnative.dev/docs/accessibilityinfo#setaccessibilityfocus
173
+ */
174
+ setAccessibilityFocus: (reactTag: number) => void,
175
+
176
+ /**
177
+ * Send a named accessibility event to a HostComponent.
178
+ */
179
+ sendAccessibilityEvent: (
180
+ handle: ElementRef<HostComponent<mixed>>,
181
+ eventType: AccessibilityEventTypes,
182
+ ) => void,
183
+
184
+ /**
185
+ * Post a string to be announced by the screen reader.
186
+ *
187
+ * See https://reactnative.dev/docs/accessibilityinfo#announceforaccessibility
188
+ */
189
+ announceForAccessibility: (announcement: string) => void,
190
+
191
+ /**
192
+ * Post a string to be announced by the screen reader.
193
+ * - `announcement`: The string announced by the screen reader.
194
+ * - `options`: An object that configures the reading options.
195
+ * - `queue`: The announcement will be queued behind existing announcements. iOS only.
196
+ */
197
+ announceForAccessibilityWithOptions: (
198
+ announcement: string,
199
+ options: {queue?: boolean},
200
+ ) => void,
201
+
202
+ /**
203
+ * Get the recommended timeout for changes to the UI needed by this user.
204
+ *
205
+ * See https://reactnative.dev/docs/accessibilityinfo#getrecommendedtimeoutmillis
206
+ */
207
+ getRecommendedTimeoutMillis: (originalTimeout: number) => Promise<number>,
208
+ };
@@ -8,15 +8,17 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
12
- import {sendAccessibilityEvent} from '../../Renderer/shims/ReactNative';
13
11
  import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
14
- import Platform from '../../Utilities/Platform';
15
12
  import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
13
+ import type {AccessibilityInfoType} from './AccessibilityInfo.flow';
14
+ import type {ElementRef} from 'react';
15
+
16
+ import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
17
+ import {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';
18
+ import Platform from '../../Utilities/Platform';
19
+ import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
16
20
  import NativeAccessibilityInfoAndroid from './NativeAccessibilityInfo';
17
21
  import NativeAccessibilityManagerIOS from './NativeAccessibilityManager';
18
- import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
19
- import type {ElementRef} from 'react';
20
22
 
21
23
  // Events that are only supported on Android.
22
24
  type AccessibilityEventDefinitionsAndroid = {
@@ -73,7 +75,7 @@ const EventNames: Map<
73
75
  *
74
76
  * See https://reactnative.dev/docs/accessibilityinfo
75
77
  */
76
- const AccessibilityInfo = {
78
+ const AccessibilityInfo: AccessibilityInfoType = {
77
79
  /**
78
80
  * Query whether bold text is currently enabled.
79
81
  *
@@ -178,6 +180,34 @@ const AccessibilityInfo = {
178
180
  });
179
181
  },
180
182
 
183
+ /**
184
+ * Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.
185
+ *
186
+ * Returns a promise which resolves to a boolean.
187
+ * The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.
188
+ *
189
+ * See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions
190
+ */
191
+ prefersCrossFadeTransitions(): Promise<boolean> {
192
+ return new Promise((resolve, reject) => {
193
+ if (Platform.OS === 'android') {
194
+ return Promise.resolve(false);
195
+ } else {
196
+ if (
197
+ NativeAccessibilityManagerIOS?.getCurrentPrefersCrossFadeTransitionsState !=
198
+ null
199
+ ) {
200
+ NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState(
201
+ resolve,
202
+ reject,
203
+ );
204
+ } else {
205
+ reject(null);
206
+ }
207
+ }
208
+ });
209
+ },
210
+
181
211
  /**
182
212
  * Query whether reduced transparency is currently enabled.
183
213
  *
@@ -295,12 +325,14 @@ const AccessibilityInfo = {
295
325
  */
296
326
  addEventListener<K: $Keys<AccessibilityEventDefinitions>>(
297
327
  eventName: K,
328
+ // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423)
298
329
  handler: (...$ElementType<AccessibilityEventDefinitions, K>) => void,
299
330
  ): EventSubscription {
300
331
  const deviceEventName = EventNames.get(eventName);
301
332
  return deviceEventName == null
302
333
  ? {remove(): void {}}
303
- : RCTDeviceEventEmitter.addListener(deviceEventName, handler);
334
+ : // $FlowFixMe[incompatible-call]
335
+ RCTDeviceEventEmitter.addListener(deviceEventName, handler);
304
336
  },
305
337
 
306
338
  /**
@@ -315,7 +347,7 @@ const AccessibilityInfo = {
315
347
  /**
316
348
  * Send a named accessibility event to a HostComponent.
317
349
  */
318
- sendAccessibilityEvent_unstable(
350
+ sendAccessibilityEvent(
319
351
  handle: ElementRef<HostComponent<mixed>>,
320
352
  eventType: AccessibilityEventTypes,
321
353
  ) {
@@ -8,15 +8,17 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
12
- import {sendAccessibilityEvent} from '../../Renderer/shims/ReactNative';
13
11
  import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
14
- import Platform from '../../Utilities/Platform';
15
12
  import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
13
+ import type {AccessibilityInfoType} from './AccessibilityInfo.flow';
14
+ import type {ElementRef} from 'react';
15
+
16
+ import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';
17
+ import {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';
18
+ import Platform from '../../Utilities/Platform';
19
+ import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
16
20
  import NativeAccessibilityInfo from './NativeAccessibilityInfo';
17
21
  import NativeAccessibilityManagerIOS from './NativeAccessibilityManager';
18
- import legacySendAccessibilityEvent from './legacySendAccessibilityEvent';
19
- import type {ElementRef} from 'react';
20
22
 
21
23
  // Events that are only supported on Android.
22
24
  type AccessibilityEventDefinitionsAndroid = {
@@ -79,7 +81,7 @@ const EventNames: Map<
79
81
  *
80
82
  * See https://reactnative.dev/docs/accessibilityinfo
81
83
  */
82
- const AccessibilityInfo = {
84
+ const AccessibilityInfo: AccessibilityInfoType = {
83
85
  /**
84
86
  * Query whether bold text is currently enabled.
85
87
  *
@@ -184,6 +186,34 @@ const AccessibilityInfo = {
184
186
  });
185
187
  },
186
188
 
189
+ /**
190
+ * Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.
191
+ *
192
+ * Returns a promise which resolves to a boolean.
193
+ * The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.
194
+ *
195
+ * See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions
196
+ */
197
+ prefersCrossFadeTransitions(): Promise<boolean> {
198
+ return new Promise((resolve, reject) => {
199
+ if (Platform.OS === 'android') {
200
+ return Promise.resolve(false);
201
+ } else {
202
+ if (
203
+ NativeAccessibilityManagerIOS?.getCurrentPrefersCrossFadeTransitionsState !=
204
+ null
205
+ ) {
206
+ NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState(
207
+ resolve,
208
+ reject,
209
+ );
210
+ } else {
211
+ reject(null);
212
+ }
213
+ }
214
+ });
215
+ },
216
+
187
217
  /**
188
218
  * Query whether reduced transparency is currently enabled.
189
219
  *
@@ -301,12 +331,14 @@ const AccessibilityInfo = {
301
331
  */
302
332
  addEventListener<K: $Keys<AccessibilityEventDefinitions>>(
303
333
  eventName: K,
334
+ // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423)
304
335
  handler: (...$ElementType<AccessibilityEventDefinitions, K>) => void,
305
336
  ): EventSubscription {
306
337
  const deviceEventName = EventNames.get(eventName);
307
338
  return deviceEventName == null
308
339
  ? {remove(): void {}}
309
- : RCTDeviceEventEmitter.addListener(deviceEventName, handler);
340
+ : // $FlowFixMe[incompatible-call]
341
+ RCTDeviceEventEmitter.addListener(deviceEventName, handler);
310
342
  },
311
343
 
312
344
  /**
@@ -321,7 +353,7 @@ const AccessibilityInfo = {
321
353
  /**
322
354
  * Send a named accessibility event to a HostComponent.
323
355
  */
324
- sendAccessibilityEvent_unstable(
356
+ sendAccessibilityEvent(
325
357
  handle: ElementRef<HostComponent<mixed>>,
326
358
  eventType: AccessibilityEventTypes,
327
359
  ) {
@@ -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 {