@office-iss/react-native-win32 0.71.4 → 0.72.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 (323) hide show
  1. package/.flowconfig +15 -3
  2. package/CHANGELOG.json +310 -40
  3. package/CHANGELOG.md +145 -23
  4. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  6. package/Libraries/Alert/Alert.d.ts +4 -4
  7. package/Libraries/Alert/Alert.win32.js +1 -0
  8. package/Libraries/Animated/Animated.d.ts +17 -6
  9. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  10. package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
  11. package/Libraries/Animated/bezier.js +1 -1
  12. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  13. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  14. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  15. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  16. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  19. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  21. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  23. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  24. package/Libraries/Animated/useAnimatedProps.js +7 -10
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.win32.js +451 -0
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +1 -1
  42. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  47. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  48. package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  51. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  53. package/Libraries/Components/Switch/Switch.js +3 -1
  54. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  55. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  57. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
  58. package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
  59. package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
  60. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  61. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  62. package/Libraries/Components/TextInput/TextInput.js +130 -103
  63. package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
  64. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  65. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  66. package/Libraries/Components/Touchable/Touchable.js +6 -3
  67. package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
  68. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  71. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  73. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  74. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  75. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  76. package/Libraries/Components/View/View.js +71 -45
  77. package/Libraries/Components/View/View.win32.js +38 -16
  78. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  79. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  80. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  81. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  82. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  83. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  84. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  86. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  87. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  88. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  89. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  90. package/Libraries/Core/ExceptionsManager.js +2 -2
  91. package/Libraries/Core/InitializeCore.js +2 -1
  92. package/Libraries/Core/ReactNativeVersion.js +3 -3
  93. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  94. package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -9
  95. package/Libraries/Core/Timers/JSTimers.js +1 -1
  96. package/Libraries/Core/Timers/immediateShim.js +1 -0
  97. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  98. package/Libraries/Core/setUpAlert.js +1 -1
  99. package/Libraries/Core/setUpDOM.js +18 -0
  100. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  101. package/Libraries/Core/setUpGlobals.js +5 -2
  102. package/Libraries/Core/setUpNavigator.js +6 -5
  103. package/Libraries/Core/setUpPerformance.js +23 -13
  104. package/Libraries/Core/setUpReactDevTools.js +2 -0
  105. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  106. package/Libraries/Core/setUpTimers.js +2 -2
  107. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  108. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  109. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  110. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  111. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  112. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  113. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  114. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  115. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  116. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  117. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  118. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  119. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  120. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  121. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  122. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  123. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  124. package/Libraries/Events/EventPolyfill.js +1 -1
  125. package/Libraries/Image/AssetRegistry.js +1 -1
  126. package/Libraries/Image/AssetSourceResolver.js +3 -3
  127. package/Libraries/Image/Image.android.js +4 -1
  128. package/Libraries/Image/Image.d.ts +63 -2
  129. package/Libraries/Image/Image.ios.js +3 -0
  130. package/Libraries/Image/Image.win32.js +3 -0
  131. package/Libraries/Image/ImageBackground.js +1 -0
  132. package/Libraries/Image/ImageProps.js +1 -1
  133. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  134. package/Libraries/Image/RelativeImageStub.js +1 -1
  135. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  136. package/Libraries/Image/resolveAssetSource.js +1 -1
  137. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  138. package/Libraries/Inspector/ElementBox.js +4 -1
  139. package/Libraries/Inspector/Inspector.js +5 -6
  140. package/Libraries/Inspector/Inspector.win32.js +7 -6
  141. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  142. package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
  143. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  144. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  145. package/Libraries/Interaction/PanResponder.js +5 -6
  146. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  147. package/Libraries/Linking/Linking.js +1 -4
  148. package/Libraries/Lists/FillRateHelper.js +4 -238
  149. package/Libraries/Lists/FlatList.d.ts +15 -22
  150. package/Libraries/Lists/FlatList.js +9 -6
  151. package/Libraries/Lists/SectionList.d.ts +10 -6
  152. package/Libraries/Lists/SectionList.js +5 -3
  153. package/Libraries/Lists/SectionListModern.js +3 -3
  154. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  155. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  156. package/Libraries/Lists/VirtualizedList.js +10 -1867
  157. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  158. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  159. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  160. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  161. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  162. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  163. package/Libraries/LogBox/LogBox.js +1 -1
  164. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  165. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  166. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
  167. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
  168. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  169. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  170. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
  171. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  172. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  173. package/Libraries/Modal/Modal.js +2 -2
  174. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  175. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  176. package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
  177. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  178. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  179. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  180. package/Libraries/Network/RCTNetworking.android.js +2 -2
  181. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  182. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  183. package/Libraries/Network/XMLHttpRequest.js +1 -1
  184. package/Libraries/Pressability/Pressability.js +11 -5
  185. package/Libraries/Pressability/Pressability.win32.js +9 -3
  186. package/Libraries/ReactNative/AppContainer.js +7 -1
  187. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  188. package/Libraries/ReactNative/AppRegistry.js +10 -13
  189. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  190. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  191. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  192. package/Libraries/ReactNative/UIManager.js +142 -1
  193. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  194. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  195. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  196. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  197. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  198. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  199. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  200. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  201. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  202. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  203. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  204. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  205. package/Libraries/Share/Share.js +1 -1
  206. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  207. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  208. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  209. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  210. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  211. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  212. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  213. package/Libraries/StyleSheet/processColor.js +1 -1
  214. package/Libraries/Text/Text.d.ts +12 -2
  215. package/Libraries/Text/Text.js +50 -41
  216. package/Libraries/Text/TextProps.js +3 -4
  217. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  218. package/Libraries/Types/CodegenTypes.js +1 -0
  219. package/Libraries/UTFSequence.js +3 -1
  220. package/Libraries/Utilities/Appearance.d.ts +10 -0
  221. package/Libraries/Utilities/Appearance.js +13 -0
  222. package/Libraries/Utilities/Dimensions.js +1 -1
  223. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  224. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  225. package/Libraries/Utilities/HMRClient.js +16 -10
  226. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  227. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  228. package/Libraries/Utilities/LoadingView.android.js +28 -11
  229. package/Libraries/Utilities/NativeAppearance.js +1 -0
  230. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  231. package/Libraries/Utilities/PixelRatio.js +2 -2
  232. package/Libraries/Utilities/Platform.win32.js +1 -1
  233. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  234. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  235. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  236. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  237. package/Libraries/Utilities/stringifySafe.js +2 -7
  238. package/Libraries/Utilities/useColorScheme.js +1 -1
  239. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  240. package/Libraries/WebPerformance/EventCounts.js +78 -0
  241. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  242. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  243. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  244. package/Libraries/WebPerformance/Performance.js +312 -0
  245. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  246. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  247. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  248. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  249. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  250. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  251. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  252. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  253. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  254. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  255. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  256. package/flow/global.js +29 -4
  257. package/flow/jest.js +258 -164
  258. package/index.js +56 -42
  259. package/index.win32.js +56 -42
  260. package/interface.js +1 -1
  261. package/jest/local-setup.js +33 -0
  262. package/jest/mockComponent.js +4 -2
  263. package/jest/mockNativeComponent.js +1 -1
  264. package/jest/mockScrollView.js +2 -1
  265. package/jest/react-native-env.js +1 -3
  266. package/jest/setup.js +11 -8
  267. package/overrides.json +115 -85
  268. package/package.json +38 -28
  269. package/rn-get-polyfills.js +1 -1
  270. package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
  271. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
  272. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
  273. package/types/index.d.ts +2 -6
  274. package/types/modules/Codegen.d.ts +4 -4
  275. package/types/modules/globals.d.ts +27 -25
  276. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
  277. package/types/public/ReactNativeRenderer.d.ts +2 -7
  278. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  279. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  280. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  281. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  282. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  283. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  284. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  285. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  286. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  287. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
  288. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  289. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  290. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  291. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  292. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  293. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
  294. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  295. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  296. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  297. package/Libraries/Components/Slider/Slider.js +0 -282
  298. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  299. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
  300. package/Libraries/Interaction/Batchinator.js +0 -76
  301. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  302. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  303. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  304. package/Libraries/Lists/CellRenderMask.js +0 -155
  305. package/Libraries/Lists/ChildListCollection.js +0 -72
  306. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  307. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  308. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  309. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  310. package/Libraries/Performance/PureComponentDebug.js +0 -74
  311. package/Libraries/Reliability/UserFlow.js +0 -158
  312. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  313. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  314. package/Libraries/Utilities/MatrixMath.js +0 -748
  315. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  316. package/Libraries/Utilities/clamp.js +0 -23
  317. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  318. package/Libraries/Utilities/groupByEveryN.js +0 -51
  319. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  320. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  321. package/Libraries/Utilities/truncate.js +0 -51
  322. package/flow/JSITimerInternalType.js +0 -30
  323. package/flow/use-sync-external-store.js +0 -19
@@ -75,10 +75,10 @@ export interface AccessibilityProps
75
75
  */
76
76
  accessibilityValue?: AccessibilityValue | undefined;
77
77
 
78
- 'aria-valuemax'?: AccessibilityValue['max'];
79
- 'aria-valuemin'?: AccessibilityValue['min'];
80
- 'aria-valuenow'?: AccessibilityValue['now'];
81
- 'aria-valuetext'?: AccessibilityValue['text'];
78
+ 'aria-valuemax'?: AccessibilityValue['max'] | undefined;
79
+ 'aria-valuemin'?: AccessibilityValue['min'] | undefined;
80
+ 'aria-valuenow'?: AccessibilityValue['now'] | undefined;
81
+ 'aria-valuetext'?: AccessibilityValue['text'] | undefined;
82
82
  /**
83
83
  * When `accessible` is true, the system will try to invoke this function when the user performs an accessibility custom action.
84
84
  */
@@ -105,7 +105,7 @@ export interface AccessibilityProps
105
105
  /**
106
106
  * Indicates to accessibility services to treat UI component like a specific role.
107
107
  */
108
- role?: Role;
108
+ role?: Role | undefined;
109
109
  }
110
110
 
111
111
  export type AccessibilityActionInfo = Readonly<{
@@ -274,7 +274,7 @@ export interface AccessibilityPropsIOS {
274
274
  accessibilityViewIsModal?: boolean | undefined;
275
275
 
276
276
  /**
277
- * When accessibile is true, the system will invoke this function when the user performs the escape gesture (scrub with two fingers).
277
+ * When accessible is true, the system will invoke this function when the user performs the escape gesture (scrub with two fingers).
278
278
  * @platform ios
279
279
  */
280
280
  onAccessibilityEscape?: (() => void) | undefined;
@@ -16,6 +16,7 @@ import type {SyntheticEvent} from '../../Types/CoreEventTypes';
16
16
  export type AccessibilityRole =
17
17
  | 'none'
18
18
  | 'button'
19
+ | 'dropdownlist'
19
20
  | 'togglebutton'
20
21
  | 'link'
21
22
  | 'search'
@@ -44,7 +45,15 @@ export type AccessibilityRole =
44
45
  | 'timer'
45
46
  | 'list'
46
47
  | 'toolbar'
47
- | 'grid';
48
+ | 'grid'
49
+ | 'pager'
50
+ | 'scrollview'
51
+ | 'horizontalscrollview'
52
+ | 'viewgroup'
53
+ | 'webview'
54
+ | 'drawerlayout'
55
+ | 'slidingdrawer'
56
+ | 'iconmenu';
48
57
 
49
58
  // Role types for web
50
59
  export type Role =
@@ -76,10 +76,10 @@ export interface AccessibilityProps
76
76
  */
77
77
  accessibilityValue?: AccessibilityValue | undefined;
78
78
 
79
- 'aria-valuemax'?: AccessibilityValue['max'];
80
- 'aria-valuemin'?: AccessibilityValue['min'];
81
- 'aria-valuenow'?: AccessibilityValue['now'];
82
- 'aria-valuetext'?: AccessibilityValue['text'];
79
+ 'aria-valuemax'?: AccessibilityValue['max'] | undefined;
80
+ 'aria-valuemin'?: AccessibilityValue['min'] | undefined;
81
+ 'aria-valuenow'?: AccessibilityValue['now'] | undefined;
82
+ 'aria-valuetext'?: AccessibilityValue['text'] | undefined;
83
83
  /**
84
84
  * When `accessible` is true, the system will try to invoke this function when the user performs an accessibility custom action.
85
85
  */
@@ -106,7 +106,7 @@ export interface AccessibilityProps
106
106
  /**
107
107
  * Indicates to accessibility services to treat UI component like a specific role.
108
108
  */
109
- role?: Role;
109
+ role?: Role | undefined;
110
110
  }
111
111
 
112
112
  export type AccessibilityActionInfo = Readonly<{
@@ -45,7 +45,10 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
45
45
  borderTopEndRadius: true,
46
46
  borderBottomStartRadius: true,
47
47
  borderBottomEndRadius: true,
48
-
48
+ borderEndEndRadius: true,
49
+ borderEndStartRadius: true,
50
+ borderStartEndRadius: true,
51
+ borderStartStartRadius: true,
49
52
  borderStyle: true,
50
53
  hitSlop: true,
51
54
  pointerEvents: true,
@@ -61,15 +64,36 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
61
64
  borderStartWidth: true,
62
65
  borderEndWidth: true,
63
66
 
64
- borderColor: {process: require('../../StyleSheet/processColor')},
65
- borderLeftColor: {process: require('../../StyleSheet/processColor')},
66
- borderRightColor: {process: require('../../StyleSheet/processColor')},
67
- borderTopColor: {process: require('../../StyleSheet/processColor')},
67
+ borderColor: {
68
+ process: require('../../StyleSheet/processColor').default,
69
+ },
70
+ borderLeftColor: {
71
+ process: require('../../StyleSheet/processColor').default,
72
+ },
73
+ borderRightColor: {
74
+ process: require('../../StyleSheet/processColor').default,
75
+ },
76
+ borderTopColor: {
77
+ process: require('../../StyleSheet/processColor').default,
78
+ },
68
79
  borderBottomColor: {
69
- process: require('../../StyleSheet/processColor'),
80
+ process: require('../../StyleSheet/processColor').default,
81
+ },
82
+ borderStartColor: {
83
+ process: require('../../StyleSheet/processColor').default,
84
+ },
85
+ borderEndColor: {
86
+ process: require('../../StyleSheet/processColor').default,
87
+ },
88
+ borderBlockColor: {
89
+ process: require('../../StyleSheet/processColor').default,
90
+ },
91
+ borderBlockEndColor: {
92
+ process: require('../../StyleSheet/processColor').default,
93
+ },
94
+ borderBlockStartColor: {
95
+ process: require('../../StyleSheet/processColor').default,
70
96
  },
71
- borderStartColor: {process: require('../../StyleSheet/processColor')},
72
- borderEndColor: {process: require('../../StyleSheet/processColor')},
73
97
 
74
98
  focusable: true,
75
99
  overflow: true,
@@ -173,7 +173,7 @@ export interface ViewProps
173
173
  Touchable,
174
174
  PointerEvents,
175
175
  AccessibilityProps {
176
- children?: React.ReactNode;
176
+ children?: React.ReactNode | undefined;
177
177
  /**
178
178
  * This defines how far a touch event can start away from the view.
179
179
  * Typical interface guidelines recommend touch targets that are at least
@@ -543,7 +543,7 @@ export type ViewProps = $ReadOnly<{|
543
543
  'aria-hidden'?: ?boolean,
544
544
 
545
545
  /**
546
- * It reperesents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
546
+ * It represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
547
547
  *
548
548
  * @platform android
549
549
  */
@@ -292,7 +292,7 @@ export interface ViewProps
292
292
  Touchable,
293
293
  PointerEvents,
294
294
  AccessibilityProps {
295
- children?: React.ReactNode;
295
+ children?: React.ReactNode | undefined;
296
296
  /**
297
297
  * This defines how far a touch event can start away from the view.
298
298
  * Typical interface guidelines recommend touch targets that are at least
@@ -592,7 +592,7 @@ export type ViewProps = $ReadOnly<{|
592
592
  'aria-hidden'?: ?boolean,
593
593
 
594
594
  /**
595
- * It reperesents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
595
+ * It represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
596
596
  *
597
597
  * @platform android
598
598
  */
@@ -13,6 +13,7 @@
13
13
  const getDevServer = require('./getDevServer');
14
14
 
15
15
  function openFileInEditor(file: string, lineNumber: number) {
16
+ // $FlowFixMe[unused-promise]
16
17
  fetch(getDevServer().url + 'open-stack-frame', {
17
18
  method: 'POST',
18
19
  headers: {
@@ -13,6 +13,7 @@
13
13
  const getDevServer = require('./getDevServer');
14
14
 
15
15
  function openURLInBrowser(url: string) {
16
+ // $FlowFixMe[unused-promise]
16
17
  fetch(getDevServer().url + 'open-url', {
17
18
  method: 'POST',
18
19
  body: JSON.stringify({url}),
@@ -22,7 +22,7 @@ function convertHermesStack(stack: HermesParsedStack): Array<StackFrame> {
22
22
  continue;
23
23
  }
24
24
  const {location, functionName} = entry;
25
- if (location.type === 'NATIVE') {
25
+ if (location.type === 'NATIVE' || location.type === 'INTERNAL_BYTECODE') {
26
26
  continue;
27
27
  }
28
28
  frames.push({
@@ -48,7 +48,7 @@ function parseErrorStack(errorStack?: string): Array<StackFrame> {
48
48
  ? errorStack
49
49
  : global.HermesInternal
50
50
  ? convertHermesStack(parseHermesStack(errorStack))
51
- : stacktraceParser.parse(errorStack).map(frame => ({
51
+ : stacktraceParser.parse(errorStack).map((frame): StackFrame => ({
52
52
  ...frame,
53
53
  column: frame.column != null ? frame.column - 1 : null,
54
54
  }));
@@ -10,46 +10,54 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- type HermesStackLocationNative = {|
14
- +type: 'NATIVE',
15
- |};
13
+ type HermesStackLocationNative = $ReadOnly<{
14
+ type: 'NATIVE',
15
+ }>;
16
16
 
17
- type HermesStackLocationSource = {|
18
- +type: 'SOURCE',
19
- +sourceUrl: string,
20
- +line1Based: number,
21
- +column1Based: number,
22
- |};
17
+ type HermesStackLocationSource = $ReadOnly<{
18
+ type: 'SOURCE',
19
+ sourceUrl: string,
20
+ line1Based: number,
21
+ column1Based: number,
22
+ }>;
23
23
 
24
- type HermesStackLocationBytecode = {|
25
- +type: 'BYTECODE',
26
- +sourceUrl: string,
27
- +line1Based: number,
28
- +virtualOffset0Based: number,
29
- |};
24
+ type HermesStackLocationInternalBytecode = $ReadOnly<{
25
+ type: 'INTERNAL_BYTECODE',
26
+ sourceUrl: string,
27
+ line1Based: number,
28
+ virtualOffset0Based: number,
29
+ }>;
30
+
31
+ type HermesStackLocationBytecode = $ReadOnly<{
32
+ type: 'BYTECODE',
33
+ sourceUrl: string,
34
+ line1Based: number,
35
+ virtualOffset0Based: number,
36
+ }>;
30
37
 
31
38
  type HermesStackLocation =
32
39
  | HermesStackLocationNative
33
40
  | HermesStackLocationSource
41
+ | HermesStackLocationInternalBytecode
34
42
  | HermesStackLocationBytecode;
35
43
 
36
- type HermesStackEntryFrame = {|
37
- +type: 'FRAME',
38
- +location: HermesStackLocation,
39
- +functionName: string,
40
- |};
44
+ type HermesStackEntryFrame = $ReadOnly<{
45
+ type: 'FRAME',
46
+ location: HermesStackLocation,
47
+ functionName: string,
48
+ }>;
41
49
 
42
- type HermesStackEntrySkipped = {|
43
- +type: 'SKIPPED',
44
- +count: number,
45
- |};
50
+ type HermesStackEntrySkipped = $ReadOnly<{
51
+ type: 'SKIPPED',
52
+ count: number,
53
+ }>;
46
54
 
47
55
  type HermesStackEntry = HermesStackEntryFrame | HermesStackEntrySkipped;
48
56
 
49
- export type HermesParsedStack = {|
50
- +message: string,
51
- +entries: $ReadOnlyArray<HermesStackEntry>,
52
- |};
57
+ export type HermesParsedStack = $ReadOnly<{
58
+ message: string,
59
+ entries: $ReadOnlyArray<HermesStackEntry>,
60
+ }>;
53
61
 
54
62
  // Capturing groups:
55
63
  // 1. function name
@@ -65,6 +73,11 @@ const RE_FRAME =
65
73
  // 1. count of skipped frames
66
74
  const RE_SKIPPED = /^ {4}... skipping (\d+) frames$/;
67
75
 
76
+ function isInternalBytecodeSourceUrl(sourceUrl: string): boolean {
77
+ // See https://github.com/facebook/hermes/blob/3332fa020cae0bab751f648db7c94e1d687eeec7/lib/VM/Runtime.cpp#L1100
78
+ return sourceUrl === 'InternalBytecode.js';
79
+ }
80
+
68
81
  function parseLine(line: string): ?HermesStackEntry {
69
82
  const asFrame = line.match(RE_FRAME);
70
83
  if (asFrame) {
@@ -75,12 +88,19 @@ function parseLine(line: string): ?HermesStackEntry {
75
88
  asFrame[2] === 'native'
76
89
  ? {type: 'NATIVE'}
77
90
  : asFrame[3] === 'address at '
78
- ? {
79
- type: 'BYTECODE',
80
- sourceUrl: asFrame[4],
81
- line1Based: Number.parseInt(asFrame[5], 10),
82
- virtualOffset0Based: Number.parseInt(asFrame[6], 10),
83
- }
91
+ ? isInternalBytecodeSourceUrl(asFrame[4])
92
+ ? {
93
+ type: 'INTERNAL_BYTECODE',
94
+ sourceUrl: asFrame[4],
95
+ line1Based: Number.parseInt(asFrame[5], 10),
96
+ virtualOffset0Based: Number.parseInt(asFrame[6], 10),
97
+ }
98
+ : {
99
+ type: 'BYTECODE',
100
+ sourceUrl: asFrame[4],
101
+ line1Based: Number.parseInt(asFrame[5], 10),
102
+ virtualOffset0Based: Number.parseInt(asFrame[6], 10),
103
+ }
84
104
  : {
85
105
  type: 'SOURCE',
86
106
  sourceUrl: asFrame[4],
@@ -103,7 +103,7 @@ function reportException(
103
103
  }
104
104
 
105
105
  if (__DEV__) {
106
- const LogBox = require('../LogBox/LogBox');
106
+ const LogBox = require('../LogBox/LogBox').default;
107
107
  LogBox.addException({
108
108
  ...data,
109
109
  isComponentError: !!e.isComponentError,
@@ -184,7 +184,7 @@ function reactConsoleErrorHandler(...args) {
184
184
  // Throwing an uncaught exception:
185
185
  // 1. exception thrown
186
186
  // 2. picked up by handleException
187
- // 3. should be send to console.error (not console._errorOriginal, as DevTools might have patched _later_ and it needs to send it to Metro)
187
+ // 3. should be sent to console.error (not console._errorOriginal, as DevTools might have patched _later_ and it needs to send it to Metro)
188
188
  // 4. that _might_ bubble again to the `reactConsoleErrorHandle` defined here
189
189
  // -> should not handle exception _again_, to avoid looping / showing twice (this code branch)
190
190
  // 5. should still bubble up to original console (which might either be console.log, or the DevTools handler in case that one patched _earlier_)
@@ -27,6 +27,7 @@
27
27
  const start = Date.now();
28
28
 
29
29
  require('./setUpGlobals');
30
+ require('./setUpDOM');
30
31
  require('./setUpPerformance');
31
32
  require('./setUpErrorHandling');
32
33
  require('./polyfillPromise');
@@ -40,7 +41,7 @@ require('./setUpSegmentFetcher');
40
41
  if (__DEV__) {
41
42
  require('./checkNativeVersion');
42
43
  require('./setUpDeveloperTools');
43
- require('../LogBox/LogBox').install();
44
+ require('../LogBox/LogBox').default.install();
44
45
  }
45
46
 
46
47
  require('../ReactNative/AppRegistry');
@@ -11,7 +11,7 @@
11
11
 
12
12
  exports.version = {
13
13
  major: 0,
14
- minor: 71,
15
- patch: 6,
16
- prerelease: null,
14
+ minor: 0,
15
+ patch: 0,
16
+ prerelease: '20230321-2153-7b86e3aae',
17
17
  };
@@ -40,15 +40,7 @@ exports.checkVersions = function checkVersions(): void {
40
40
  };
41
41
 
42
42
  function _formatVersion(
43
- version:
44
- | {major: number, minor: number, patch: number, prerelease: ?number}
45
- | {major: number, minor: number, patch: number, prerelease: ?string}
46
- | $TEMPORARY$object<{
47
- major: number,
48
- minor: number,
49
- patch: number,
50
- prerelease: null,
51
- }>,
43
+ version: (typeof Platform)['constants']['reactNativeVersion'],
52
44
  ): string {
53
45
  return (
54
46
  `${version.major}.${version.minor}.${version.patch}` +
@@ -42,15 +42,7 @@ exports.checkVersions = function checkVersions(): void {
42
42
  };
43
43
 
44
44
  function _formatVersion(
45
- version:
46
- | {major: number, minor: number, patch: number, prerelease: ?number}
47
- | {major: number, minor: number, patch: number, prerelease: ?string}
48
- | $TEMPORARY$object<{
49
- major: number,
50
- minor: number,
51
- patch: number,
52
- prerelease: null,
53
- }>,
45
+ version: (typeof Platform)['constants']['reactNativeVersion'],
54
46
  ): string {
55
47
  return (
56
48
  `${version.major}.${version.minor}.${version.patch}` +
@@ -379,7 +379,7 @@ const JSTimers = {
379
379
 
380
380
  callIdleCallbacks: function (frameTime: number) {
381
381
  if (
382
- FRAME_DURATION - (global.performance.now() - frameTime) <
382
+ FRAME_DURATION - (Date.now() - frameTime) <
383
383
  IDLE_CALLBACK_FRAME_DEADLINE
384
384
  ) {
385
385
  return;
@@ -40,6 +40,7 @@ function setImmediate(callback: Function, ...args: any): number {
40
40
  clearedImmediates.delete(id);
41
41
  }
42
42
 
43
+ // $FlowFixMe[incompatible-call]
43
44
  global.queueMicrotask(() => {
44
45
  if (!clearedImmediates.has(id)) {
45
46
  callback.apply(undefined, args);
@@ -13,7 +13,7 @@
13
13
  let resolvedPromise;
14
14
 
15
15
  /**
16
- * Polyfill for the microtask queuening API defined by WHATWG HTMP spec.
16
+ * Polyfill for the microtask queueing API defined by WHATWG HTML spec.
17
17
  * https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
18
18
  *
19
19
  * The method must queue a microtask to invoke @param {function} callback, and
@@ -15,7 +15,7 @@
15
15
  * You can use this module directly, or just require InitializeCore.
16
16
  */
17
17
  if (!global.alert) {
18
- global.alert = function (text) {
18
+ global.alert = function (text: string) {
19
19
  // Require Alert on demand. Requiring it too early can lead to issues
20
20
  // with things like Platform not being fully initialized.
21
21
  require('../Alert/Alert').alert('Alert', '' + text);
@@ -0,0 +1,18 @@
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 DOMRect from '../DOM/Geometry/DOMRect';
12
+ import DOMRectReadOnly from '../DOM/Geometry/DOMRectReadOnly';
13
+
14
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
15
+ global.DOMRect = DOMRect;
16
+
17
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it
18
+ global.DOMRectReadOnly = DOMRectReadOnly;
@@ -56,7 +56,7 @@ if (__DEV__) {
56
56
  'debug',
57
57
  ].forEach(level => {
58
58
  const originalFunction = console[level];
59
- console[level] = function (...args) {
59
+ console[level] = function (...args: $ReadOnlyArray<mixed>) {
60
60
  HMRClient.log(level, args);
61
61
  originalFunction.apply(console, args);
62
62
  };
@@ -15,18 +15,21 @@
15
15
  * You can use this module directly, or just require InitializeCore.
16
16
  */
17
17
  if (global.window === undefined) {
18
- // $FlowFixMe[cannot-write]
18
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
19
19
  global.window = global;
20
20
  }
21
21
 
22
22
  if (global.self === undefined) {
23
- // $FlowFixMe[cannot-write]
23
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
24
24
  global.self = global;
25
25
  }
26
26
 
27
27
  // Set up process
28
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
28
29
  global.process = global.process || {};
30
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
29
31
  global.process.env = global.process.env || {};
30
32
  if (!global.process.env.NODE_ENV) {
33
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
31
34
  global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production';
32
35
  }
@@ -12,10 +12,11 @@
12
12
 
13
13
  const {polyfillObjectProperty} = require('../Utilities/PolyfillFunctions');
14
14
 
15
- let navigator = global.navigator;
15
+ const navigator = global.navigator;
16
16
  if (navigator === undefined) {
17
- global.navigator = navigator = {};
17
+ // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.
18
+ global.navigator = {product: 'ReactNative'};
19
+ } else {
20
+ // see https://github.com/facebook/react-native/issues/10881
21
+ polyfillObjectProperty(navigator, 'product', () => 'ReactNative');
18
22
  }
19
-
20
- // see https://github.com/facebook/react-native/issues/10881
21
- polyfillObjectProperty(navigator, 'product', () => 'ReactNative');
@@ -8,19 +8,29 @@
8
8
  * @format
9
9
  */
10
10
 
11
- 'use strict';
11
+ import NativePerformance from '../WebPerformance/NativePerformance';
12
+ import Performance from '../WebPerformance/Performance';
12
13
 
13
- if (!global.performance) {
14
- global.performance = ({}: {now?: () => number});
15
- }
14
+ // In case if the native implementation of the Performance API is available, use it,
15
+ // otherwise fall back to the legacy/default one, which only defines 'Performance.now()'
16
+ if (NativePerformance) {
17
+ // $FlowExpectedError[cannot-write]
18
+ global.performance = new Performance();
19
+ } else {
20
+ if (!global.performance) {
21
+ // $FlowExpectedError[cannot-write]
22
+ global.performance = ({}: {now?: () => number});
23
+ }
16
24
 
17
- /**
18
- * Returns a double, measured in milliseconds.
19
- * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
20
- */
21
- if (typeof global.performance.now !== 'function') {
22
- global.performance.now = function () {
23
- const performanceNow = global.nativePerformanceNow || Date.now;
24
- return performanceNow();
25
- };
25
+ /**
26
+ * Returns a double, measured in milliseconds.
27
+ * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
28
+ */
29
+ if (typeof global.performance.now !== 'function') {
30
+ // $FlowExpectedError[cannot-write]
31
+ global.performance.now = function () {
32
+ const performanceNow = global.nativePerformanceNow || Date.now;
33
+ return performanceNow();
34
+ };
35
+ }
26
36
  }
@@ -62,6 +62,7 @@ if (__DEV__) {
62
62
  });
63
63
 
64
64
  const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
65
+ const devToolsSettingsManager = require('../DevToolsSettings/DevToolsSettingsManager');
65
66
 
66
67
  reactDevTools.connectToDevTools({
67
68
  isAppActive,
@@ -70,6 +71,7 @@ if (__DEV__) {
70
71
  ReactNativeStyleAttributes,
71
72
  ),
72
73
  websocket: ws,
74
+ devToolsSettingsManager,
73
75
  });
74
76
  }
75
77
  };
@@ -11,7 +11,6 @@
11
11
  'use strict';
12
12
 
13
13
  export type FetchSegmentFunction = typeof __fetchSegment;
14
- export type GetSegmentFunction = typeof __getSegment;
15
14
 
16
15
  /**
17
16
  * Set up SegmentFetcher.
@@ -51,43 +50,3 @@ function __fetchSegment(
51
50
  }
52
51
 
53
52
  global.__fetchSegment = __fetchSegment;
54
-
55
- function __getSegment(
56
- segmentId: number,
57
- options: $ReadOnly<{
58
- otaBuildNumber: ?string,
59
- requestedModuleName: string,
60
- segmentHash: string,
61
- }>,
62
- callback: (?Error, ?string) => void,
63
- ) {
64
- const SegmentFetcher =
65
- require('./SegmentFetcher/NativeSegmentFetcher').default;
66
-
67
- if (!SegmentFetcher.getSegment) {
68
- throw new Error('SegmentFetcher.getSegment must be defined');
69
- }
70
-
71
- SegmentFetcher.getSegment(
72
- segmentId,
73
- options,
74
- (
75
- errorObject: ?{
76
- message: string,
77
- code: string,
78
- ...
79
- },
80
- path: ?string,
81
- ) => {
82
- if (errorObject) {
83
- const error = new Error(errorObject.message);
84
- (error: any).code = errorObject.code; // flowlint-line unclear-type: off
85
- callback(error);
86
- }
87
-
88
- callback(null, path);
89
- },
90
- );
91
- }
92
-
93
- global.__getSegment = __getSegment;