@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,10 +8,10 @@
8
8
 
9
9
  import NativePlatformConstantsWin from './NativePlatformConstantsWin';
10
10
 
11
- export type PlatformSelectSpec<A, N, D> = {
12
- win32?: A,
13
- native?: N,
14
- default?: D,
11
+ export type PlatformSelectSpec<T> = {
12
+ win32?: T,
13
+ native?: T,
14
+ default?: T,
15
15
  ...
16
16
  };
17
17
 
@@ -20,6 +20,7 @@ const Platform = {
20
20
  OS: 'win32',
21
21
  // $FlowFixMe[unsafe-getters-setters]
22
22
  get Version(): number {
23
+ // $FlowFixMe[object-this-reference]
23
24
  return this.constants.osVersion;
24
25
  },
25
26
  // $FlowFixMe[unsafe-getters-setters]
@@ -33,23 +34,28 @@ const Platform = {
33
34
  |},
34
35
  osVersion: number,
35
36
  |} {
37
+ // $FlowFixMe[object-this-reference]
36
38
  if (this.__constants == null) {
39
+ // $FlowFixMe[object-this-reference]
37
40
  this.__constants = NativePlatformConstantsWin.getConstants();
38
41
  }
42
+ // $FlowFixMe[object-this-reference]
39
43
  return this.__constants;
40
44
  },
41
45
  // $FlowFixMe[unsafe-getters-setters]
42
46
  get isTesting(): boolean {
43
47
  if (__DEV__) {
48
+ // $FlowFixMe[object-this-reference]
44
49
  return this.constants.isTesting;
45
50
  }
46
51
  return false;
47
52
  },
48
53
  // $FlowFixMe[unsafe-getters-setters]
49
54
  get isTV(): boolean {
55
+ // $FlowFixMe[object-this-reference]
50
56
  return false;
51
57
  },
52
- select: <A, N, D>(spec: PlatformSelectSpec<A, N, D>): A | N | D =>
58
+ select: <T>(spec: PlatformSelectSpec<T>): T =>
53
59
  'win32' in spec
54
60
  ? // $FlowFixMe[incompatible-return]
55
61
  spec.win32
@@ -30,7 +30,7 @@ function polyfillObjectProperty<T>(
30
30
  name: string,
31
31
  getValue: () => T,
32
32
  ): void {
33
- const descriptor = Object.getOwnPropertyDescriptor(object, name);
33
+ const descriptor = Object.getOwnPropertyDescriptor<$FlowFixMe>(object, name);
34
34
  if (__DEV__ && descriptor) {
35
35
  const backupName = `original${name[0].toUpperCase()}${name.substr(1)}`;
36
36
  Object.defineProperty(object, backupName, descriptor);
@@ -10,22 +10,24 @@
10
10
 
11
11
  /* eslint-env jest */
12
12
 
13
- const React = require('react');
13
+ import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-renderer';
14
14
 
15
- const ReactTestRenderer = require('react-test-renderer');
15
+ const Switch = require('../Components/Switch/Switch').default;
16
+ const TextInput = require('../Components/TextInput/TextInput');
17
+ const View = require('../Components/View/View');
18
+ const VirtualizedList = require('../Lists/VirtualizedList').default;
19
+ const Text = require('../Text/Text');
20
+ const React = require('react');
16
21
  const ShallowRenderer = require('react-shallow-renderer');
22
+ const ReactTestRenderer = require('react-test-renderer');
23
+
17
24
  /* $FlowFixMe[not-a-function] (>=0.125.1 site=react_native_fb) This comment
18
25
  * suppresses an error found when Flow v0.125.1 was deployed. To see the error,
19
26
  * delete this comment and run Flow. */
20
27
  // $FlowFixMe[invalid-constructor]
21
28
  const shallowRenderer = new ShallowRenderer();
22
-
23
- import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-renderer';
24
-
25
29
  export type ReactTestInstance = $PropertyType<ReactTestRendererType, 'root'>;
26
-
27
30
  export type Predicate = (node: ReactTestInstance) => boolean;
28
-
29
31
  type $ReturnType<Fn> = $Call<<Ret, A>((...A) => Ret) => Ret, Fn>;
30
32
  /* $FlowFixMe[value-as-type] (>=0.125.1 site=react_native_fb) This comment
31
33
  * suppresses an error found when Flow v0.125.1 was deployed. To see the error,
@@ -36,14 +38,6 @@ export type ReactTestRendererJSON =
36
38
  * delete this comment and run Flow. */
37
39
  $ReturnType<ReactTestRenderer.create.toJSON>;
38
40
 
39
- const {
40
- Switch,
41
- Text,
42
- TextInput,
43
- View,
44
- VirtualizedList,
45
- } = require('react-native');
46
-
47
41
  function byClickable(): Predicate {
48
42
  return withMessage(
49
43
  node =>
@@ -8,16 +8,7 @@
8
8
  * @flow
9
9
  */
10
10
 
11
- let dispatchCommand;
12
- if (global.RN$Bridgeless) {
13
- // Note: this function has the same implementation in the legacy and new renderer.
14
- // However, evaluating the old renderer comes with some side effects.
15
- dispatchCommand =
16
- require('../../Libraries/Renderer/shims/ReactFabric').dispatchCommand;
17
- } else {
18
- dispatchCommand =
19
- require('../../Libraries/Renderer/shims/ReactNative').dispatchCommand;
20
- }
11
+ const {dispatchCommand} = require('../ReactNative/RendererProxy');
21
12
 
22
13
  type Options<T = string> = $ReadOnly<{|
23
14
  supportedCommands: $ReadOnlyArray<T>,
@@ -10,8 +10,9 @@
10
10
 
11
11
  // TODO: move this file to shims/ReactNative (requires React update and sync)
12
12
 
13
- import requireNativeComponent from '../../Libraries/ReactNative/requireNativeComponent';
14
13
  import type {HostComponent} from '../../Libraries/Renderer/shims/ReactNativeTypes';
14
+
15
+ import requireNativeComponent from '../../Libraries/ReactNative/requireNativeComponent';
15
16
  import UIManager from '../ReactNative/UIManager';
16
17
 
17
18
  // TODO: import from CodegenSchema once workspaces are enabled
@@ -54,6 +55,7 @@ function codegenNativeComponent<Props>(
54
55
  options.paperComponentNameDeprecated != null &&
55
56
  UIManager.hasViewManagerConfig(options.paperComponentNameDeprecated)
56
57
  ) {
58
+ // $FlowFixMe[incompatible-type]
57
59
  componentNameInUse = options.paperComponentNameDeprecated;
58
60
  } else {
59
61
  throw new Error(
@@ -65,6 +67,7 @@ function codegenNativeComponent<Props>(
65
67
  }
66
68
 
67
69
  return (requireNativeComponent<Props>(
70
+ // $FlowFixMe[incompatible-call]
68
71
  componentNameInUse,
69
72
  ): HostComponent<Props>);
70
73
  }
@@ -9,7 +9,6 @@
9
9
  */
10
10
 
11
11
  const Systrace = require('../Performance/Systrace');
12
-
13
12
  const infoLog = require('./infoLog');
14
13
 
15
14
  export type Timespan = {
@@ -137,31 +136,31 @@ class PerformanceLogger implements IPerformanceLogger {
137
136
  this._closed = true;
138
137
  }
139
138
 
140
- currentTimestamp() {
139
+ currentTimestamp(): number {
141
140
  return getCurrentTimestamp();
142
141
  }
143
142
 
144
- getExtras() {
143
+ getExtras(): {[key: string]: ?ExtraValue} {
145
144
  return this._extras;
146
145
  }
147
146
 
148
- getPoints() {
147
+ getPoints(): {[key: string]: ?number} {
149
148
  return this._points;
150
149
  }
151
150
 
152
- getPointExtras() {
151
+ getPointExtras(): {[key: string]: ?Extras} {
153
152
  return this._pointExtras;
154
153
  }
155
154
 
156
- getTimespans() {
155
+ getTimespans(): {[key: string]: ?Timespan} {
157
156
  return this._timespans;
158
157
  }
159
158
 
160
- hasTimespan(key: string) {
159
+ hasTimespan(key: string): boolean {
161
160
  return !!this._timespans[key];
162
161
  }
163
162
 
164
- isClosed() {
163
+ isClosed(): boolean {
165
164
  return this._closed;
166
165
  }
167
166
 
@@ -97,5 +97,5 @@ const deepDiffer = function (
97
97
  return false;
98
98
  };
99
99
 
100
+ deepDiffer.unstable_setLogListeners = unstable_setLogListeners;
100
101
  module.exports = deepDiffer;
101
- module.exports.unstable_setLogListeners = unstable_setLogListeners;
@@ -28,7 +28,7 @@
28
28
 
29
29
  function groupByEveryN<T>(array: Array<T>, n: number): Array<Array<?T>> {
30
30
  const result = [];
31
- let temp = [];
31
+ let temp: Array<?T> = [];
32
32
 
33
33
  for (let i = 0; i < array.length; ++i) {
34
34
  if (i > 0 && i % n === 0) {
@@ -26,7 +26,9 @@ export function createStringifySafeWithLimits(limits: {|
26
26
  maxArrayLimit = Number.POSITIVE_INFINITY,
27
27
  maxObjectKeysLimit = Number.POSITIVE_INFINITY,
28
28
  } = limits;
29
- const stack = [];
29
+ const stack: Array<
30
+ string | {+[string]: mixed} | {'...(truncated keys)...': number},
31
+ > = [];
30
32
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
31
33
  * Flow's LTI update could not be added via codemod */
32
34
  function replacer(key: string, value: mixed): mixed {
@@ -10,10 +10,11 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import {useSyncExternalStore} from 'use-sync-external-store/shim';
14
- import Appearance from './Appearance';
15
13
  import type {ColorSchemeName} from './NativeAppearance';
16
14
 
15
+ import Appearance from './Appearance';
16
+ import {useSyncExternalStore} from 'use-sync-external-store/shim';
17
+
17
18
  export default function useColorScheme(): ?ColorSchemeName {
18
19
  return useSyncExternalStore(
19
20
  callback => {
@@ -31,7 +31,7 @@ export default function useRefEffect<TInstance>(
31
31
  ): CallbackRef<TInstance | null> {
32
32
  const cleanupRef = useRef<(() => void) | void>(undefined);
33
33
  return useCallback(
34
- instance => {
34
+ (instance: null | TInstance) => {
35
35
  if (cleanupRef.current) {
36
36
  cleanupRef.current();
37
37
  cleanupRef.current = undefined;
@@ -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 {
@@ -0,0 +1,43 @@
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
+ /**
11
+ * The Vibration API is exposed at `Vibration.vibrate()`.
12
+ * The vibration is asynchronous so this method will return immediately.
13
+ *
14
+ * There will be no effect on devices that do not support Vibration, eg. the simulator.
15
+ *
16
+ * **Note for android**
17
+ * add `<uses-permission android:name="android.permission.VIBRATE"/>` to `AndroidManifest.xml`
18
+ *
19
+ * **Android Usage:**
20
+ *
21
+ * [0, 500, 200, 500]
22
+ * V(0.5s) --wait(0.2s)--> V(0.5s)
23
+ *
24
+ * [300, 500, 200, 500]
25
+ * --wait(0.3s)--> V(0.5s) --wait(0.2s)--> V(0.5s)
26
+ *
27
+ * **iOS Usage:**
28
+ * if first argument is 0, it will not be included in pattern array.
29
+ *
30
+ * [0, 1000, 2000, 3000]
31
+ * V(fixed) --wait(1s)--> V(fixed) --wait(2s)--> V(fixed) --wait(3s)--> V(fixed)
32
+ */
33
+ export interface VibrationStatic {
34
+ vibrate(pattern?: number | number[] | null, repeat?: boolean | null): void;
35
+
36
+ /**
37
+ * Stop vibration
38
+ */
39
+ cancel(): void;
40
+ }
41
+
42
+ export const Vibration: VibrationStatic;
43
+ export type Vibration = VibrationStatic;
@@ -10,6 +10,7 @@
10
10
  */
11
11
 
12
12
  import NativeVibration from './NativeVibration';
13
+
13
14
  const Platform = require('../Utilities/Platform');
14
15
 
15
16
  /**
@@ -0,0 +1,41 @@
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
8
+ * @format
9
+ */
10
+
11
+ import type {TurboModule} from '../TurboModule/RCTExport';
12
+
13
+ import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
+
15
+ export const RawPerformanceEntryTypeValues = {
16
+ UNDEFINED: 0,
17
+ };
18
+
19
+ export type RawPerformanceEntryType = number;
20
+
21
+ export type RawPerformanceEntry = {|
22
+ name: string,
23
+ entryType: RawPerformanceEntryType,
24
+ startTime: number,
25
+ duration: number,
26
+ // For "event" entries only:
27
+ processingStart?: number,
28
+ processingEnd?: number,
29
+ interactionId?: number,
30
+ |};
31
+
32
+ export interface Spec extends TurboModule {
33
+ +startReporting: (entryType: string) => void;
34
+ +stopReporting: (entryType: string) => void;
35
+ +getPendingEntries: () => $ReadOnlyArray<RawPerformanceEntry>;
36
+ +setOnPerformanceEntryCallback: (callback?: () => void) => void;
37
+ }
38
+
39
+ export default (TurboModuleRegistry.get<Spec>(
40
+ 'NativePerformanceObserverCxx',
41
+ ): ?Spec);
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict
9
+ */
10
+
11
+ import type {
12
+ RawPerformanceEntry,
13
+ RawPerformanceEntryType,
14
+ } from './NativePerformanceObserver';
15
+
16
+ import warnOnce from '../Utilities/warnOnce';
17
+ import NativePerformanceObserver from './NativePerformanceObserver';
18
+
19
+ export type HighResTimeStamp = number;
20
+ // TODO: Extend once new types (such as event) are supported.
21
+ // TODO: Get rid of the "undefined" once there is at least one type supported.
22
+ export type PerformanceEntryType = 'undefined';
23
+
24
+ export class PerformanceEntry {
25
+ name: string;
26
+ entryType: PerformanceEntryType;
27
+ startTime: HighResTimeStamp;
28
+ duration: number;
29
+
30
+ constructor(init: {
31
+ name: string,
32
+ entryType: PerformanceEntryType,
33
+ startTime: HighResTimeStamp,
34
+ duration: number,
35
+ }) {
36
+ this.name = init.name;
37
+ this.entryType = init.entryType;
38
+ this.startTime = init.startTime;
39
+ this.duration = init.duration;
40
+ }
41
+
42
+ // $FlowIgnore: Flow(unclear-type)
43
+ toJSON(): Object {
44
+ return {
45
+ name: this.name,
46
+ entryType: this.entryType,
47
+ startTime: this.startTime,
48
+ duration: this.duration,
49
+ };
50
+ }
51
+ }
52
+
53
+ function rawToPerformanceEntryType(
54
+ type: RawPerformanceEntryType,
55
+ ): PerformanceEntryType {
56
+ return 'undefined';
57
+ }
58
+
59
+ function rawToPerformanceEntry(entry: RawPerformanceEntry): PerformanceEntry {
60
+ return new PerformanceEntry({
61
+ name: entry.name,
62
+ entryType: rawToPerformanceEntryType(entry.entryType),
63
+ startTime: entry.startTime,
64
+ duration: entry.duration,
65
+ });
66
+ }
67
+
68
+ export type PerformanceEntryList = $ReadOnlyArray<PerformanceEntry>;
69
+
70
+ export class PerformanceObserverEntryList {
71
+ _entries: PerformanceEntryList;
72
+
73
+ constructor(entries: PerformanceEntryList) {
74
+ this._entries = entries;
75
+ }
76
+
77
+ getEntries(): PerformanceEntryList {
78
+ return this._entries;
79
+ }
80
+
81
+ getEntriesByType(type: PerformanceEntryType): PerformanceEntryList {
82
+ return this._entries.filter(entry => entry.entryType === type);
83
+ }
84
+
85
+ getEntriesByName(
86
+ name: string,
87
+ type?: PerformanceEntryType,
88
+ ): PerformanceEntryList {
89
+ if (type === undefined) {
90
+ return this._entries.filter(entry => entry.name === name);
91
+ } else {
92
+ return this._entries.filter(
93
+ entry => entry.name === name && entry.entryType === type,
94
+ );
95
+ }
96
+ }
97
+ }
98
+
99
+ export type PerformanceObserverCallback = (
100
+ list: PerformanceObserverEntryList,
101
+ observer: PerformanceObserver,
102
+ ) => void;
103
+
104
+ export type PerformanceObserverInit =
105
+ | {
106
+ entryTypes: Array<PerformanceEntryType>,
107
+ }
108
+ | {
109
+ type: PerformanceEntryType,
110
+ };
111
+
112
+ let _observedEntryTypeRefCount: Map<PerformanceEntryType, number> = new Map();
113
+
114
+ let _observers: Set<PerformanceObserver> = new Set();
115
+
116
+ let _onPerformanceEntryCallbackIsSet: boolean = false;
117
+
118
+ function warnNoNativePerformanceObserver() {
119
+ warnOnce(
120
+ 'missing-native-performance-observer',
121
+ 'Missing native implementation of PerformanceObserver',
122
+ );
123
+ }
124
+
125
+ /**
126
+ * Implementation of the PerformanceObserver interface for RN,
127
+ * corresponding to the standard in https://www.w3.org/TR/performance-timeline/
128
+ *
129
+ * @example
130
+ * const observer = new PerformanceObserver((list, _observer) => {
131
+ * const entries = list.getEntries();
132
+ * entries.forEach(entry => {
133
+ * reportEvent({
134
+ * eventName: entry.name,
135
+ * startTime: entry.startTime,
136
+ * endTime: entry.startTime + entry.duration,
137
+ * processingStart: entry.processingStart,
138
+ * processingEnd: entry.processingEnd,
139
+ * interactionId: entry.interactionId,
140
+ * });
141
+ * });
142
+ * });
143
+ * observer.observe({ type: "event" });
144
+ */
145
+ export default class PerformanceObserver {
146
+ _callback: PerformanceObserverCallback;
147
+ _entryTypes: $ReadOnlySet<PerformanceEntryType>;
148
+
149
+ constructor(callback: PerformanceObserverCallback) {
150
+ this._callback = callback;
151
+ }
152
+
153
+ observe(options: PerformanceObserverInit) {
154
+ if (!NativePerformanceObserver) {
155
+ warnNoNativePerformanceObserver();
156
+ return;
157
+ }
158
+ if (!_onPerformanceEntryCallbackIsSet) {
159
+ NativePerformanceObserver.setOnPerformanceEntryCallback(
160
+ onPerformanceEntry,
161
+ );
162
+ _onPerformanceEntryCallbackIsSet = true;
163
+ }
164
+ if (options.entryTypes) {
165
+ this._entryTypes = new Set(options.entryTypes);
166
+ } else {
167
+ this._entryTypes = new Set([options.type]);
168
+ }
169
+ this._entryTypes.forEach(type => {
170
+ if (!_observedEntryTypeRefCount.has(type)) {
171
+ NativePerformanceObserver.startReporting(type);
172
+ }
173
+ _observedEntryTypeRefCount.set(
174
+ type,
175
+ (_observedEntryTypeRefCount.get(type) ?? 0) + 1,
176
+ );
177
+ });
178
+ _observers.add(this);
179
+ }
180
+
181
+ disconnect(): void {
182
+ if (!NativePerformanceObserver) {
183
+ warnNoNativePerformanceObserver();
184
+ return;
185
+ }
186
+ this._entryTypes.forEach(type => {
187
+ const entryTypeRefCount = _observedEntryTypeRefCount.get(type) ?? 0;
188
+ if (entryTypeRefCount === 1) {
189
+ _observedEntryTypeRefCount.delete(type);
190
+ NativePerformanceObserver.stopReporting(type);
191
+ } else if (entryTypeRefCount !== 0) {
192
+ _observedEntryTypeRefCount.set(type, entryTypeRefCount - 1);
193
+ }
194
+ });
195
+ _observers.delete(this);
196
+ if (_observers.size === 0) {
197
+ NativePerformanceObserver.setOnPerformanceEntryCallback(undefined);
198
+ _onPerformanceEntryCallbackIsSet = false;
199
+ }
200
+ }
201
+
202
+ static supportedEntryTypes: $ReadOnlyArray<PerformanceEntryType> =
203
+ // TODO: add types once they are fully supported
204
+ Object.freeze([]);
205
+ }
206
+
207
+ // This is a callback that gets scheduled and periodically called from the native side
208
+ function onPerformanceEntry() {
209
+ if (!NativePerformanceObserver) {
210
+ return;
211
+ }
212
+ const rawEntries = NativePerformanceObserver.getPendingEntries();
213
+ const entries = rawEntries.map(rawToPerformanceEntry);
214
+ _observers.forEach(observer => {
215
+ const entriesForObserver: PerformanceEntryList = entries.filter(entry =>
216
+ observer._entryTypes.has(entry.entryType),
217
+ );
218
+ observer._callback(
219
+ new PerformanceObserverEntryList(entriesForObserver),
220
+ observer,
221
+ );
222
+ });
223
+ }
@@ -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,13 +8,14 @@
8
8
  * @flow
9
9
  */
10
10
 
11
- import Blob from '../Blob/Blob';
12
11
  import type {BlobData} from '../Blob/BlobTypes';
12
+ import type {EventSubscription} from '../vendor/emitter/EventEmitter';
13
+
14
+ import Blob from '../Blob/Blob';
13
15
  import BlobManager from '../Blob/BlobManager';
14
16
  import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
15
17
  import binaryToBase64 from '../Utilities/binaryToBase64';
16
18
  import Platform from '../Utilities/Platform';
17
- import type {EventSubscription} from '../vendor/emitter/EventEmitter';
18
19
  import NativeWebSocketModule from './NativeWebSocketModule';
19
20
  import WebSocketEvent from './WebSocketEvent';
20
21
  import base64 from 'base64-js';
@@ -42,6 +43,10 @@ const CLOSED = 3;
42
43
 
43
44
  const CLOSE_NORMAL = 1000;
44
45
 
46
+ // Abnormal closure where no code is provided in a control frame
47
+ // https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
48
+ const CLOSE_ABNORMAL = 1006;
49
+
45
50
  const WEBSOCKET_EVENTS = ['close', 'error', 'message', 'open'];
46
51
 
47
52
  let nextWebSocketId = 0;
@@ -259,6 +264,7 @@ class WebSocket extends (EventTarget(...WEBSOCKET_EVENTS): any) {
259
264
  new WebSocketEvent('close', {
260
265
  code: ev.code,
261
266
  reason: ev.reason,
267
+ // TODO: missing `wasClean` (exposed on iOS as `clean` but missing on Android)
262
268
  }),
263
269
  );
264
270
  this._unregisterEvents();
@@ -276,7 +282,9 @@ class WebSocket extends (EventTarget(...WEBSOCKET_EVENTS): any) {
276
282
  );
277
283
  this.dispatchEvent(
278
284
  new WebSocketEvent('close', {
279
- message: ev.message,
285
+ code: CLOSE_ABNORMAL,
286
+ reason: ev.message,
287
+ // TODO: Expose `wasClean`
280
288
  }),
281
289
  );
282
290
  this._unregisterEvents();
@@ -8,8 +8,8 @@
8
8
  */
9
9
 
10
10
  import NativeEventEmitter from '../EventEmitter/NativeEventEmitter';
11
- import NativeWebSocketModule from './NativeWebSocketModule';
12
11
  import Platform from '../Utilities/Platform';
12
+ import NativeWebSocketModule from './NativeWebSocketModule';
13
13
  import base64 from 'base64-js';
14
14
 
15
15
  const originalRCTWebSocketConnect = NativeWebSocketModule.connect;
@@ -0,0 +1,19 @@
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
+
12
+ /**
13
+ * YellowBox has been replaced with LogBox.
14
+ * @see LogBox
15
+ * @deprecated
16
+ */
17
+ export const YellowBox: React.ComponentClass<any, any> & {
18
+ ignoreWarnings: (warnings: string[]) => void;
19
+ };
@@ -10,11 +10,10 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
13
+ import type {IgnorePattern} from '../LogBox/Data/LogBoxData';
14
14
 
15
15
  const LogBox = require('../LogBox/LogBox');
16
-
17
- import type {IgnorePattern} from '../LogBox/Data/LogBoxData';
16
+ const React = require('react');
18
17
 
19
18
  type Props = $ReadOnly<{||}>;
20
19