react-native-windows 0.76.3 → 0.77.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 (369) hide show
  1. package/.flowconfig +5 -1
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
  4. package/Libraries/Animated/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  6. package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
  7. package/Libraries/Animated/NativeAnimatedAllowlist.windows.js +122 -0
  8. package/Libraries/Animated/animations/Animation.js +60 -25
  9. package/Libraries/Animated/animations/DecayAnimation.js +26 -38
  10. package/Libraries/Animated/animations/SpringAnimation.js +33 -39
  11. package/Libraries/Animated/animations/TimingAnimation.js +34 -42
  12. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  13. package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
  14. package/Libraries/Animated/createAnimatedComponent.js +60 -33
  15. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
  18. package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
  19. package/Libraries/Animated/nodes/AnimatedProps.js +96 -46
  20. package/Libraries/Animated/nodes/AnimatedProps.windows.js +281 -0
  21. package/Libraries/Animated/nodes/AnimatedStyle.js +108 -39
  22. package/Libraries/Animated/nodes/AnimatedStyle.windows.js +251 -0
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
  24. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
  26. package/Libraries/Animated/useAnimatedProps.js +41 -35
  27. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  28. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
  29. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +82 -5
  30. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  31. package/Libraries/Components/Button.js +9 -4
  32. package/Libraries/Components/Button.windows.js +19 -5
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  34. package/Libraries/Components/Glyph/Glyph.js +2 -1
  35. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +0 -1
  37. package/Libraries/Components/Pressable/Pressable.js +4 -4
  38. package/Libraries/Components/Pressable/Pressable.windows.js +10 -4
  39. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
  40. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
  41. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  42. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  43. package/Libraries/Components/ScrollView/ScrollView.js +49 -88
  44. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  45. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
  46. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  47. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +0 -5
  48. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
  49. package/Libraries/Components/Switch/Switch.js +8 -6
  50. package/Libraries/Components/Switch/Switch.windows.js +8 -6
  51. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  52. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
  53. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
  54. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
  55. package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
  56. package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
  57. package/Libraries/Components/TextInput/TextInput.js +37 -13
  58. package/Libraries/Components/TextInput/TextInput.windows.js +47 -16
  59. package/Libraries/Components/TextInput/TextInputState.js +11 -13
  60. package/Libraries/Components/TextInput/TextInputState.windows.js +11 -13
  61. package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
  62. package/Libraries/Components/Touchable/Position.js +7 -2
  63. package/Libraries/Components/Touchable/Touchable.js +4 -0
  64. package/Libraries/Components/Touchable/Touchable.windows.js +4 -0
  65. package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
  66. package/Libraries/Components/Touchable/TouchableBounce.windows.js +227 -0
  67. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
  68. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +5 -5
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +371 -0
  70. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
  71. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  72. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  73. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -3
  74. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
  75. package/Libraries/Components/View/View.js +4 -4
  76. package/Libraries/Components/View/View.windows.js +12 -5
  77. package/Libraries/Components/View/ViewAccessibility.d.ts +10 -0
  78. package/Libraries/Components/View/ViewAccessibility.windows.js +2 -0
  79. package/Libraries/Components/View/ViewNativeComponent.js +6 -98
  80. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  81. package/Libraries/Components/View/ViewPropTypes.js +0 -3
  82. package/Libraries/Components/View/ViewPropTypes.windows.js +2 -3
  83. package/Libraries/Core/ExceptionsManager.js +50 -29
  84. package/Libraries/Core/ReactNativeVersion.js +3 -3
  85. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
  86. package/Libraries/Core/setUpBatchedBridge.js +1 -10
  87. package/Libraries/Core/setUpDeveloperTools.js +1 -5
  88. package/Libraries/Core/setUpErrorHandling.js +20 -18
  89. package/Libraries/Core/setUpReactDevTools.js +107 -8
  90. package/Libraries/Core/setUpSegmentFetcher.js +1 -0
  91. package/Libraries/Core/setUpTimers.js +21 -18
  92. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  93. package/Libraries/Image/AssetSourceResolver.js +12 -1
  94. package/Libraries/Image/AssetSourceResolver.windows.js +12 -1
  95. package/Libraries/Image/Image.android.js +1 -5
  96. package/Libraries/Image/Image.d.ts +20 -29
  97. package/Libraries/Image/Image.ios.js +0 -2
  98. package/Libraries/Image/Image.windows.js +5 -1
  99. package/Libraries/Image/ImageBackground.js +2 -5
  100. package/Libraries/Image/ImageProps.js +7 -6
  101. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  102. package/Libraries/Image/ImageResizeMode.js +4 -1
  103. package/Libraries/Image/ImageSource.d.ts +0 -2
  104. package/Libraries/Image/ImageSource.js +0 -2
  105. package/Libraries/Image/ImageTypes.flow.js +11 -9
  106. package/Libraries/Image/ImageUtils.js +6 -3
  107. package/Libraries/Image/ImageViewNativeComponent.js +5 -3
  108. package/Libraries/Inspector/Inspector.js +1 -0
  109. package/Libraries/Inspector/NetworkOverlay.js +4 -0
  110. package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
  111. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
  112. package/Libraries/Interaction/InteractionManager.js +6 -1
  113. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  114. package/Libraries/Interaction/TouchHistoryMath.js +22 -19
  115. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  116. package/Libraries/Lists/FlatList.d.ts +1 -2
  117. package/Libraries/Lists/FlatList.js +2 -2
  118. package/Libraries/Lists/SectionListModern.js +7 -7
  119. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
  120. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  121. package/Libraries/LogBox/Data/LogBoxData.js +3 -3
  122. package/Libraries/LogBox/LogBox.js +18 -5
  123. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  124. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  125. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  126. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -1
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  129. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
  131. package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
  132. package/Libraries/Modal/Modal.d.ts +12 -0
  133. package/Libraries/Modal/Modal.js +31 -4
  134. package/Libraries/Modal/Modal.windows.js +18 -0
  135. package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
  136. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
  137. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -11
  138. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
  139. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
  140. package/Libraries/Network/XHRInterceptor.js +63 -14
  141. package/Libraries/Network/XMLHttpRequest.js +26 -1
  142. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  143. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  144. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  145. package/Libraries/Pressability/HoverState.js +2 -0
  146. package/Libraries/Pressability/Pressability.js +2 -3
  147. package/Libraries/Pressability/Pressability.windows.js +2 -3
  148. package/Libraries/Pressability/usePressability.js +4 -1
  149. package/Libraries/ReactNative/AppContainer.js +1 -1
  150. package/Libraries/ReactNative/AppRegistry.js +1 -11
  151. package/Libraries/ReactNative/DisplayMode.js +1 -1
  152. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
  153. package/Libraries/ReactNative/RendererImplementation.js +18 -17
  154. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
  155. package/Libraries/ReactNative/renderApplication.js +9 -8
  156. package/Libraries/ReactNative/requireNativeComponent.js +5 -2
  157. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  158. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  159. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  160. package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
  161. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
  162. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  163. package/Libraries/StyleSheet/StyleSheet.js +7 -1
  164. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
  166. package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
  167. package/Libraries/StyleSheet/processTransform.js +3 -34
  168. package/Libraries/Text/Text.js +248 -249
  169. package/Libraries/Text/Text.windows.js +298 -292
  170. package/Libraries/Text/TextNativeComponent.js +0 -1
  171. package/Libraries/Text/TextProps.windows.js +2 -0
  172. package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
  173. package/Libraries/Types/CoreEventTypes.d.ts +3 -10
  174. package/Libraries/Types/CoreEventTypes.js +4 -6
  175. package/Libraries/Types/CoreEventTypes.windows.js +4 -6
  176. package/Libraries/Utilities/Appearance.js +3 -1
  177. package/Libraries/Utilities/BackHandler.android.js +6 -18
  178. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  179. package/Libraries/Utilities/BackHandler.ios.js +0 -7
  180. package/Libraries/Utilities/BackHandler.windows.js +6 -18
  181. package/Libraries/Utilities/HMRClient.js +3 -4
  182. package/Libraries/Utilities/Platform.flow.js +2 -2
  183. package/Libraries/Utilities/Platform.flow.windows.js +3 -2
  184. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  185. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  186. package/Libraries/Utilities/useMergeRefs.js +26 -7
  187. package/Libraries/WebSocket/WebSocketEvent.js +4 -1
  188. package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
  189. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
  190. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  191. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +9 -8
  192. package/Microsoft.ReactNative/AsynchronousEventBeat.h +5 -5
  193. package/Microsoft.ReactNative/FBReactNativeSpec/FBReactNativeSpecJSI.h +5 -0
  194. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +2 -2
  195. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +197 -18
  196. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +19 -1
  197. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +13 -0
  198. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +1 -1
  199. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +6 -8
  200. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +2 -2
  201. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +3 -2
  202. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  203. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +24 -0
  204. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +5 -0
  205. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -12
  206. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +4 -4
  207. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +4 -8
  208. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +16 -15
  209. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +15 -0
  210. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +9 -0
  211. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +20 -1
  212. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -6
  213. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  214. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +14 -4
  215. package/Microsoft.ReactNative/SynchronousEventBeat.h +4 -2
  216. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +78 -0
  217. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.h +51 -0
  218. package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +48 -0
  219. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.cpp +41 -0
  220. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.h +127 -0
  221. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.inc +125 -0
  222. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +16 -0
  223. package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_win.cpp +23 -0
  224. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +834 -0
  225. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +117 -0
  226. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +366 -0
  227. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +560 -0
  228. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +1611 -0
  229. package/Microsoft.ReactNative.Cxx/JSI/threadsafe.h +79 -0
  230. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +7 -11
  231. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -1
  232. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +2878 -0
  233. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +36 -0
  234. package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +64 -0
  235. package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +22 -0
  236. package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModule.cpp +63 -63
  237. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +165 -0
  238. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +105 -0
  239. package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModuleUtils.h +57 -58
  240. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +42 -0
  241. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +151 -0
  242. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Base.h +177 -154
  243. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +25 -0
  244. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +21 -0
  245. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +67 -0
  246. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +90 -0
  247. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Convert.h +170 -172
  248. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +51 -0
  249. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/EventEmitter.h +134 -136
  250. package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Function.h +283 -283
  251. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.cpp +63 -0
  252. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +61 -0
  253. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +93 -0
  254. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +104 -0
  255. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +107 -0
  256. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/flags.h +22 -0
  257. package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +72 -0
  258. package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +553 -0
  259. package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +167 -0
  260. package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +186 -0
  261. package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +82 -0
  262. package/PropertySheets/Bundle.Common.targets +1 -1
  263. package/PropertySheets/Bundle.props +3 -0
  264. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  265. package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  266. package/PropertySheets/OutputMSBuildProperties.targets +3 -1
  267. package/ReactCommon/ReactCommon.vcxproj +5 -0
  268. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -3
  269. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +61 -0
  270. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +26 -23
  271. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +150 -0
  272. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +252 -0
  273. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +795 -0
  274. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +59 -0
  275. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +188 -39
  276. package/Scripts/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  277. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +97 -62
  278. package/Shared/InspectorPackagerConnection.cpp +3 -6
  279. package/Shared/InspectorPackagerConnection.h +2 -2
  280. package/Shared/InstanceManager.h +1 -1
  281. package/Shared/OInstance.h +1 -1
  282. package/Shared/Shared.vcxitems +17 -2
  283. package/Shared/Shared.vcxitems.filters +3 -1
  284. package/Shared/TurboModuleManager.cpp +29 -4
  285. package/codegen/NativeAccessibilityInfoSpec.g.h +27 -9
  286. package/codegen/NativeAccessibilityManagerSpec.g.h +19 -13
  287. package/codegen/NativeActionSheetManagerSpec.g.h +4 -0
  288. package/codegen/NativeExceptionsManagerSpec.g.h +1 -7
  289. package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
  290. package/codegen/NativePerformanceSpec.g.h +127 -3
  291. package/codegen/NativeReactDevToolsRuntimeSettingsModuleSpec.g.h +67 -0
  292. package/codegen/NativeReactDevToolsSettingsManagerSpec.g.h +41 -0
  293. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +125 -137
  294. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  295. package/codegen/react/components/rnwcore/Props.cpp +1 -0
  296. package/codegen/react/components/rnwcore/Props.h +1 -0
  297. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  298. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -11
  299. package/codegen/react/components/rnwcore/States.h +0 -12
  300. package/codegen/rnwcoreJSI-generated.cpp +219 -186
  301. package/codegen/rnwcoreJSI.h +942 -511
  302. package/index.js +10 -3
  303. package/index.windows.js +10 -3
  304. package/jest/setup.js +36 -1
  305. package/just-task.js +15 -0
  306. package/package.json +22 -22
  307. package/src/private/animated/NativeAnimatedHelper.js +18 -16
  308. package/src/private/animated/useAnimatedPropsMemo.js +348 -0
  309. package/src/private/animated/useAnimatedPropsMemo.windows.js +356 -0
  310. package/src/private/components/HScrollViewNativeComponents.js +1 -27
  311. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
  312. package/src/private/components/VScrollViewNativeComponents.js +2 -25
  313. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  314. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  315. package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +20 -0
  316. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  317. package/src/private/devmenu/DevMenu.d.ts +20 -0
  318. package/src/private/devmenu/DevMenu.js +31 -0
  319. package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
  320. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  321. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
  322. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  323. package/src/private/setup/setUpDOM.js +14 -6
  324. package/src/private/setup/setUpMutationObserver.js +5 -0
  325. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
  326. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  327. package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
  328. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  329. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  330. package/src/private/specs/modules/NativeAppearance.js +4 -10
  331. package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
  332. package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
  333. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  334. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  335. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  336. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
  337. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  338. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  339. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  340. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  341. package/src/private/webapis/performance/EventTiming.js +13 -8
  342. package/src/private/webapis/performance/Performance.js +66 -73
  343. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  344. package/src/private/webapis/performance/PerformanceObserver.js +65 -164
  345. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  346. package/src/private/webapis/performance/UserTiming.js +11 -7
  347. package/src/private/webapis/performance/Utilities.js +18 -0
  348. package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
  349. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  350. package/templates/cpp-lib/template.config.js +13 -7
  351. package/templates/templateUtils.js +10 -0
  352. package/types/index.d.ts +1 -1
  353. package/types/public/ReactNativeTypes.d.ts +4 -8
  354. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
  355. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
  356. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
  357. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +0 -35
  358. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
  359. package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
  360. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +0 -101
  361. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +0 -569
  362. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +0 -53
  363. package/codegen/NativePerformanceObserverSpec.g.h +0 -131
  364. package/src/private/components/useSyncOnScroll.js +0 -48
  365. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
  366. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
  367. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
  368. package/types/experimental.d.ts +0 -59
  369. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
@@ -1,53 +0,0 @@
1
-
2
- /*
3
- * This file is auto-generated from a NativeModule spec file in js.
4
- *
5
- * This is a C++ Spec class that should be used with MakeTurboModuleProvider to register native modules
6
- * in a way that also verifies at compile time that the native module matches the interface required
7
- * by the TurboModule JS spec.
8
- */
9
- #pragma once
10
- // clang-format off
11
-
12
- #include <NativeModules.h>
13
- #include <tuple>
14
-
15
- namespace Microsoft::ReactNativeSpecs {
16
-
17
-
18
- struct DevToolsSettingsManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
19
- static constexpr auto methods = std::tuple{
20
- Method<void(std::string) noexcept>{0, L"setConsolePatchSettings"},
21
- SyncMethod<std::optional<std::string>() noexcept>{1, L"getConsolePatchSettings"},
22
- Method<void(std::string) noexcept>{2, L"setProfilingSettings"},
23
- SyncMethod<std::optional<std::string>() noexcept>{3, L"getProfilingSettings"},
24
- };
25
-
26
- template <class TModule>
27
- static constexpr void ValidateModule() noexcept {
28
- constexpr auto methodCheckResults = CheckMethods<TModule, DevToolsSettingsManagerSpec>();
29
-
30
- REACT_SHOW_METHOD_SPEC_ERRORS(
31
- 0,
32
- "setConsolePatchSettings",
33
- " REACT_METHOD(setConsolePatchSettings) void setConsolePatchSettings(std::string newConsolePatchSettings) noexcept { /* implementation */ }\n"
34
- " REACT_METHOD(setConsolePatchSettings) static void setConsolePatchSettings(std::string newConsolePatchSettings) noexcept { /* implementation */ }\n");
35
- REACT_SHOW_METHOD_SPEC_ERRORS(
36
- 1,
37
- "getConsolePatchSettings",
38
- " REACT_SYNC_METHOD(getConsolePatchSettings) std::optional<std::string> getConsolePatchSettings() noexcept { /* implementation */ }\n"
39
- " REACT_SYNC_METHOD(getConsolePatchSettings) static std::optional<std::string> getConsolePatchSettings() noexcept { /* implementation */ }\n");
40
- REACT_SHOW_METHOD_SPEC_ERRORS(
41
- 2,
42
- "setProfilingSettings",
43
- " REACT_METHOD(setProfilingSettings) void setProfilingSettings(std::string newProfilingSettings) noexcept { /* implementation */ }\n"
44
- " REACT_METHOD(setProfilingSettings) static void setProfilingSettings(std::string newProfilingSettings) noexcept { /* implementation */ }\n");
45
- REACT_SHOW_METHOD_SPEC_ERRORS(
46
- 3,
47
- "getProfilingSettings",
48
- " REACT_SYNC_METHOD(getProfilingSettings) std::optional<std::string> getProfilingSettings() noexcept { /* implementation */ }\n"
49
- " REACT_SYNC_METHOD(getProfilingSettings) static std::optional<std::string> getProfilingSettings() noexcept { /* implementation */ }\n");
50
- }
51
- };
52
-
53
- } // namespace Microsoft::ReactNativeSpecs
@@ -1,131 +0,0 @@
1
-
2
- /*
3
- * This file is auto-generated from a NativeModule spec file in js.
4
- *
5
- * This is a C++ Spec class that should be used with MakeTurboModuleProvider to register native modules
6
- * in a way that also verifies at compile time that the native module matches the interface required
7
- * by the TurboModule JS spec.
8
- */
9
- #pragma once
10
- // clang-format off
11
-
12
- #include <NativeModules.h>
13
- #include <tuple>
14
-
15
- namespace Microsoft::ReactNativeSpecs {
16
-
17
- struct PerformanceObserverSpec_RawPerformanceEntry {
18
- std::string name;
19
- double entryType;
20
- double startTime;
21
- double duration;
22
- std::optional<double> processingStart;
23
- std::optional<double> processingEnd;
24
- std::optional<double> interactionId;
25
- };
26
-
27
- struct PerformanceObserverSpec_GetPendingEntriesResult {
28
- std::vector<PerformanceObserverSpec_RawPerformanceEntry> entries;
29
- double droppedEntriesCount;
30
- };
31
-
32
-
33
- inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceObserverSpec_RawPerformanceEntry*) noexcept {
34
- winrt::Microsoft::ReactNative::FieldMap fieldMap {
35
- {L"name", &PerformanceObserverSpec_RawPerformanceEntry::name},
36
- {L"entryType", &PerformanceObserverSpec_RawPerformanceEntry::entryType},
37
- {L"startTime", &PerformanceObserverSpec_RawPerformanceEntry::startTime},
38
- {L"duration", &PerformanceObserverSpec_RawPerformanceEntry::duration},
39
- {L"processingStart", &PerformanceObserverSpec_RawPerformanceEntry::processingStart},
40
- {L"processingEnd", &PerformanceObserverSpec_RawPerformanceEntry::processingEnd},
41
- {L"interactionId", &PerformanceObserverSpec_RawPerformanceEntry::interactionId},
42
- };
43
- return fieldMap;
44
- }
45
-
46
- inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceObserverSpec_GetPendingEntriesResult*) noexcept {
47
- winrt::Microsoft::ReactNative::FieldMap fieldMap {
48
- {L"entries", &PerformanceObserverSpec_GetPendingEntriesResult::entries},
49
- {L"droppedEntriesCount", &PerformanceObserverSpec_GetPendingEntriesResult::droppedEntriesCount},
50
- };
51
- return fieldMap;
52
- }
53
-
54
- struct PerformanceObserverSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
55
- static constexpr auto methods = std::tuple{
56
- Method<void(double) noexcept>{0, L"startReporting"},
57
- Method<void(double) noexcept>{1, L"stopReporting"},
58
- Method<void(std::vector<double>, bool) noexcept>{2, L"setIsBuffered"},
59
- SyncMethod<PerformanceObserverSpec_GetPendingEntriesResult() noexcept>{3, L"popPendingEntries"},
60
- Method<void(Callback<>) noexcept>{4, L"setOnPerformanceEntryCallback"},
61
- Method<void(PerformanceObserverSpec_RawPerformanceEntry) noexcept>{5, L"logRawEntry"},
62
- SyncMethod<::React::JSValueArray() noexcept>{6, L"getEventCounts"},
63
- Method<void(double, double) noexcept>{7, L"setDurationThreshold"},
64
- Method<void(double, std::string) noexcept>{8, L"clearEntries"},
65
- SyncMethod<std::vector<PerformanceObserverSpec_RawPerformanceEntry>(double, std::string) noexcept>{9, L"getEntries"},
66
- SyncMethod<std::vector<double>() noexcept>{10, L"getSupportedPerformanceEntryTypes"},
67
- };
68
-
69
- template <class TModule>
70
- static constexpr void ValidateModule() noexcept {
71
- constexpr auto methodCheckResults = CheckMethods<TModule, PerformanceObserverSpec>();
72
-
73
- REACT_SHOW_METHOD_SPEC_ERRORS(
74
- 0,
75
- "startReporting",
76
- " REACT_METHOD(startReporting) void startReporting(double entryType) noexcept { /* implementation */ }\n"
77
- " REACT_METHOD(startReporting) static void startReporting(double entryType) noexcept { /* implementation */ }\n");
78
- REACT_SHOW_METHOD_SPEC_ERRORS(
79
- 1,
80
- "stopReporting",
81
- " REACT_METHOD(stopReporting) void stopReporting(double entryType) noexcept { /* implementation */ }\n"
82
- " REACT_METHOD(stopReporting) static void stopReporting(double entryType) noexcept { /* implementation */ }\n");
83
- REACT_SHOW_METHOD_SPEC_ERRORS(
84
- 2,
85
- "setIsBuffered",
86
- " REACT_METHOD(setIsBuffered) void setIsBuffered(std::vector<double> const & entryTypes, bool isBuffered) noexcept { /* implementation */ }\n"
87
- " REACT_METHOD(setIsBuffered) static void setIsBuffered(std::vector<double> const & entryTypes, bool isBuffered) noexcept { /* implementation */ }\n");
88
- REACT_SHOW_METHOD_SPEC_ERRORS(
89
- 3,
90
- "popPendingEntries",
91
- " REACT_SYNC_METHOD(popPendingEntries) PerformanceObserverSpec_GetPendingEntriesResult popPendingEntries() noexcept { /* implementation */ }\n"
92
- " REACT_SYNC_METHOD(popPendingEntries) static PerformanceObserverSpec_GetPendingEntriesResult popPendingEntries() noexcept { /* implementation */ }\n");
93
- REACT_SHOW_METHOD_SPEC_ERRORS(
94
- 4,
95
- "setOnPerformanceEntryCallback",
96
- " REACT_METHOD(setOnPerformanceEntryCallback) void setOnPerformanceEntryCallback(std::function<void()> const & callback) noexcept { /* implementation */ }\n"
97
- " REACT_METHOD(setOnPerformanceEntryCallback) static void setOnPerformanceEntryCallback(std::function<void()> const & callback) noexcept { /* implementation */ }\n");
98
- REACT_SHOW_METHOD_SPEC_ERRORS(
99
- 5,
100
- "logRawEntry",
101
- " REACT_METHOD(logRawEntry) void logRawEntry(PerformanceObserverSpec_RawPerformanceEntry && entry) noexcept { /* implementation */ }\n"
102
- " REACT_METHOD(logRawEntry) static void logRawEntry(PerformanceObserverSpec_RawPerformanceEntry && entry) noexcept { /* implementation */ }\n");
103
- REACT_SHOW_METHOD_SPEC_ERRORS(
104
- 6,
105
- "getEventCounts",
106
- " REACT_SYNC_METHOD(getEventCounts) ::React::JSValueArray getEventCounts() noexcept { /* implementation */ }\n"
107
- " REACT_SYNC_METHOD(getEventCounts) static ::React::JSValueArray getEventCounts() noexcept { /* implementation */ }\n");
108
- REACT_SHOW_METHOD_SPEC_ERRORS(
109
- 7,
110
- "setDurationThreshold",
111
- " REACT_METHOD(setDurationThreshold) void setDurationThreshold(double entryType, double durationThreshold) noexcept { /* implementation */ }\n"
112
- " REACT_METHOD(setDurationThreshold) static void setDurationThreshold(double entryType, double durationThreshold) noexcept { /* implementation */ }\n");
113
- REACT_SHOW_METHOD_SPEC_ERRORS(
114
- 8,
115
- "clearEntries",
116
- " REACT_METHOD(clearEntries) void clearEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n"
117
- " REACT_METHOD(clearEntries) static void clearEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n");
118
- REACT_SHOW_METHOD_SPEC_ERRORS(
119
- 9,
120
- "getEntries",
121
- " REACT_SYNC_METHOD(getEntries) std::vector<PerformanceObserverSpec_RawPerformanceEntry> getEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n"
122
- " REACT_SYNC_METHOD(getEntries) static std::vector<PerformanceObserverSpec_RawPerformanceEntry> getEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n");
123
- REACT_SHOW_METHOD_SPEC_ERRORS(
124
- 10,
125
- "getSupportedPerformanceEntryTypes",
126
- " REACT_SYNC_METHOD(getSupportedPerformanceEntryTypes) std::vector<double> getSupportedPerformanceEntryTypes() noexcept { /* implementation */ }\n"
127
- " REACT_SYNC_METHOD(getSupportedPerformanceEntryTypes) static std::vector<double> getSupportedPerformanceEntryTypes() noexcept { /* implementation */ }\n");
128
- }
129
- };
130
-
131
- } // namespace Microsoft::ReactNativeSpecs
@@ -1,48 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow strict-local
8
- * @format
9
- * @oncall react_native
10
- */
11
-
12
- import type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';
13
- import type {HostComponent} from '../../../Libraries/Renderer/shims/ReactNativeTypes';
14
-
15
- import * as React from 'react';
16
- import {useImperativeHandle, useRef, useState} from 'react';
17
-
18
- export type TScrollViewNativeComponentInstance = React.ElementRef<
19
- HostComponent<ScrollViewNativeProps>,
20
- >;
21
-
22
- export type TScrollViewNativeImperativeHandle = {
23
- componentRef: React.RefObject<TScrollViewNativeComponentInstance | null>,
24
- unstable_setEnableSyncOnScroll: (enabled: true) => void,
25
- };
26
-
27
- /**
28
- * Hook used by `HScrollViewNativeComponent` and `VScrollViewNativeComponent`
29
- * to make an implementation of `unstable_setEnableSyncOnScroll` available that
30
- * does not require updating all `ScrollView` children.
31
- */
32
- export default function useSyncOnScroll(
33
- inputRef: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
34
- ): [React.RefSetter<TScrollViewNativeComponentInstance | null>, true | void] {
35
- const componentRef = useRef<TScrollViewNativeComponentInstance | null>(null);
36
- const [enableSyncOnScroll, setEnableSyncOnScroll] = useState<true | void>();
37
-
38
- useImperativeHandle<TScrollViewNativeImperativeHandle>(inputRef, () => {
39
- return {
40
- componentRef,
41
- unstable_setEnableSyncOnScroll(enabled: true): void {
42
- setEnableSyncOnScroll(enabled);
43
- },
44
- };
45
- }, []);
46
-
47
- return [componentRef, enableSyncOnScroll];
48
- }
@@ -1,61 +0,0 @@
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 '../../../../../Libraries/TurboModule/RCTExport';
12
-
13
- import * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';
14
-
15
- export type RawPerformanceEntryType = number;
16
-
17
- export type RawPerformanceEntry = {|
18
- name: string,
19
- entryType: RawPerformanceEntryType,
20
- startTime: number,
21
- duration: number,
22
- // For "event" entries only:
23
- processingStart?: number,
24
- processingEnd?: number,
25
- interactionId?: number,
26
- |};
27
-
28
- export type GetPendingEntriesResult = {|
29
- entries: $ReadOnlyArray<RawPerformanceEntry>,
30
- droppedEntriesCount: number,
31
- |};
32
-
33
- export interface Spec extends TurboModule {
34
- +startReporting: (entryType: RawPerformanceEntryType) => void;
35
- +stopReporting: (entryType: RawPerformanceEntryType) => void;
36
- +setIsBuffered: (
37
- entryTypes: $ReadOnlyArray<RawPerformanceEntryType>,
38
- isBuffered: boolean,
39
- ) => void;
40
- +popPendingEntries: () => GetPendingEntriesResult;
41
- +setOnPerformanceEntryCallback: (callback?: () => void) => void;
42
- +logRawEntry: (entry: RawPerformanceEntry) => void;
43
- +getEventCounts: () => $ReadOnlyArray<[string, number]>;
44
- +setDurationThreshold: (
45
- entryType: RawPerformanceEntryType,
46
- durationThreshold: number,
47
- ) => void;
48
- +clearEntries: (
49
- entryType?: RawPerformanceEntryType,
50
- entryName?: string,
51
- ) => void;
52
- +getEntries: (
53
- entryType?: RawPerformanceEntryType,
54
- entryName?: string,
55
- ) => $ReadOnlyArray<RawPerformanceEntry>;
56
- +getSupportedPerformanceEntryTypes: () => $ReadOnlyArray<RawPerformanceEntryType>;
57
- }
58
-
59
- export default (TurboModuleRegistry.get<Spec>(
60
- 'NativePerformanceObserverCxx',
61
- ): ?Spec);
@@ -1,67 +0,0 @@
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 {
12
- NativeMemoryInfo,
13
- ReactNativeStartupTiming,
14
- Spec as NativePerformance,
15
- } from '../NativePerformance';
16
-
17
- import {RawPerformanceEntryTypeValues} from '../../RawPerformanceEntry';
18
- import NativePerformanceObserver from '../NativePerformanceObserver';
19
-
20
- const marks: Map<string, number> = new Map();
21
-
22
- const NativePerformanceMock: NativePerformance = {
23
- mark: (name: string, startTime: number): void => {
24
- NativePerformanceObserver?.logRawEntry({
25
- name,
26
- entryType: RawPerformanceEntryTypeValues.MARK,
27
- startTime,
28
- duration: 0,
29
- });
30
- marks.set(name, startTime);
31
- },
32
-
33
- measure: (
34
- name: string,
35
- startTime: number,
36
- endTime: number,
37
- duration?: number,
38
- startMark?: string,
39
- endMark?: string,
40
- ): void => {
41
- const start = startMark != null ? marks.get(startMark) ?? 0 : startTime;
42
- const end = endMark != null ? marks.get(endMark) ?? 0 : endTime;
43
- NativePerformanceObserver?.logRawEntry({
44
- name,
45
- entryType: RawPerformanceEntryTypeValues.MEASURE,
46
- startTime: start,
47
- duration: duration ?? (end ? end - start : 0),
48
- });
49
- },
50
-
51
- getSimpleMemoryInfo: (): NativeMemoryInfo => {
52
- return {};
53
- },
54
-
55
- getReactNativeStartupTiming: (): ReactNativeStartupTiming => {
56
- return {
57
- startTime: 0,
58
- endTime: 0,
59
- executeJavaScriptBundleEntryPointStart: 0,
60
- executeJavaScriptBundleEntryPointEnd: 0,
61
- initializeRuntimeStart: 0,
62
- initializeRuntimeEnd: 0,
63
- };
64
- },
65
- };
66
-
67
- export default NativePerformanceMock;
@@ -1,127 +0,0 @@
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 {
12
- GetPendingEntriesResult,
13
- RawPerformanceEntry,
14
- RawPerformanceEntryType,
15
- Spec as NativePerformanceObserver,
16
- } from '../NativePerformanceObserver';
17
-
18
- import {RawPerformanceEntryTypeValues} from '../../RawPerformanceEntry';
19
-
20
- const reportingType: Set<RawPerformanceEntryType> = new Set();
21
- const isAlwaysLogged: Set<RawPerformanceEntryType> = new Set();
22
- const eventCounts: Map<string, number> = new Map();
23
- const durationThresholds: Map<RawPerformanceEntryType, number> = new Map();
24
- let entries: Array<RawPerformanceEntry> = [];
25
- let onPerformanceEntryCallback: ?() => void;
26
-
27
- const NativePerformanceObserverMock: NativePerformanceObserver = {
28
- startReporting: (entryType: RawPerformanceEntryType) => {
29
- reportingType.add(entryType);
30
- },
31
-
32
- stopReporting: (entryType: RawPerformanceEntryType) => {
33
- reportingType.delete(entryType);
34
- durationThresholds.delete(entryType);
35
- },
36
-
37
- setIsBuffered: (
38
- entryTypes: $ReadOnlyArray<RawPerformanceEntryType>,
39
- isBuffered: boolean,
40
- ) => {
41
- for (const entryType of entryTypes) {
42
- if (isBuffered) {
43
- isAlwaysLogged.add(entryType);
44
- } else {
45
- isAlwaysLogged.delete(entryType);
46
- }
47
- }
48
- },
49
-
50
- popPendingEntries: (): GetPendingEntriesResult => {
51
- const res = entries;
52
- entries = [];
53
- return {
54
- droppedEntriesCount: 0,
55
- entries: res,
56
- };
57
- },
58
-
59
- setOnPerformanceEntryCallback: (callback?: () => void) => {
60
- onPerformanceEntryCallback = callback;
61
- },
62
-
63
- logRawEntry: (entry: RawPerformanceEntry) => {
64
- if (
65
- reportingType.has(entry.entryType) ||
66
- isAlwaysLogged.has(entry.entryType)
67
- ) {
68
- const durationThreshold = durationThresholds.get(entry.entryType);
69
- if (
70
- durationThreshold !== undefined &&
71
- entry.duration < durationThreshold
72
- ) {
73
- return;
74
- }
75
- entries.push(entry);
76
- // $FlowFixMe[incompatible-call]
77
- global.queueMicrotask(() => {
78
- // We want to emulate the way it's done in native (i.e. async/batched)
79
- onPerformanceEntryCallback?.();
80
- });
81
- }
82
- if (entry.entryType === RawPerformanceEntryTypeValues.EVENT) {
83
- eventCounts.set(entry.name, (eventCounts.get(entry.name) ?? 0) + 1);
84
- }
85
- },
86
-
87
- getEventCounts: (): $ReadOnlyArray<[string, number]> => {
88
- return Array.from(eventCounts.entries());
89
- },
90
-
91
- setDurationThreshold: (
92
- entryType: RawPerformanceEntryType,
93
- durationThreshold: number,
94
- ) => {
95
- durationThresholds.set(entryType, durationThreshold);
96
- },
97
-
98
- clearEntries: (entryType?: RawPerformanceEntryType, entryName?: string) => {
99
- entries = entries.filter(
100
- e =>
101
- (entryType != null && e.entryType !== entryType) ||
102
- (entryName != null && e.name !== entryName),
103
- );
104
- },
105
-
106
- getEntries: (
107
- entryType?: RawPerformanceEntryType,
108
- entryName?: string,
109
- ): $ReadOnlyArray<RawPerformanceEntry> => {
110
- return entries.filter(
111
- e =>
112
- (entryType == null || e.entryType === entryType) &&
113
- (entryName == null || e.name === entryName),
114
- );
115
- },
116
-
117
- getSupportedPerformanceEntryTypes:
118
- (): $ReadOnlyArray<RawPerformanceEntryType> => {
119
- return [
120
- RawPerformanceEntryTypeValues.MARK,
121
- RawPerformanceEntryTypeValues.MEASURE,
122
- RawPerformanceEntryTypeValues.EVENT,
123
- ];
124
- },
125
- };
126
-
127
- export default NativePerformanceObserverMock;
@@ -1,59 +0,0 @@
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
- * These are types for things that are present for New Architecture enabled apps
12
- * which is currently considered experimental.
13
- *
14
- * To load the types declared here in an actual project, there are three ways.
15
- *
16
- * 1. If your `tsconfig.json` already has a `"types"` array in the `"compilerOptions"` section,
17
- * is to add `"react-native/types/experimental"` to the `"types"` array.
18
- *
19
- * 2. Alternatively, a specific import syntax can to be used from a typescript file.
20
- * This module does not exist in reality, which is why the {} is important:
21
- *
22
- * ```ts
23
- * import {} from 'react-native/types/experimental'
24
- * ```
25
- *
26
- * 3. It is also possible to include it through a triple-slash reference:
27
- *
28
- * ```ts
29
- * /// <reference types="react-native/types/experimental" />
30
- * ```
31
- *
32
- * Either the import or the reference only needs to appear once, anywhere in the project.
33
- */
34
-
35
- import {
36
- GradientValue,
37
- BlendMode,
38
- } from 'react-native/Libraries/StyleSheet/StyleSheetTypes';
39
-
40
- export {};
41
-
42
- declare module '.' {
43
- export interface ViewProps {
44
- /**
45
- * Contols whether this view, and its transitive children, are laid in a way
46
- * consistent with web browsers ('strict'), or consistent with existing
47
- * React Native code which may rely on incorrect behavior ('classic').
48
- */
49
- experimental_layoutConformance?: 'strict' | 'classic' | undefined;
50
- }
51
-
52
- export interface ViewStyle {
53
- experimental_mixBlendMode?: BlendMode | undefined;
54
- experimental_backgroundImage?:
55
- | ReadonlyArray<GradientValue>
56
- | string
57
- | undefined;
58
- }
59
- }