react-native-windows 0.84.0-preview.9 → 0.85.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 (487) hide show
  1. package/.flowconfig +1 -5
  2. package/Common/unicode.cpp +36 -0
  3. package/Common/unicode.h +8 -0
  4. package/Directory.Build.props +1 -16
  5. package/Directory.Build.targets +12 -4
  6. package/Folly/ThreadNameStub.cpp +4 -6
  7. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  8. package/Libraries/Animated/Animated.d.ts +8 -1
  9. package/Libraries/Animated/AnimatedEvent.js +4 -4
  10. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  11. package/Libraries/Animated/animations/Animation.js +3 -3
  12. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  13. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  14. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  15. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  16. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  17. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  18. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  19. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  20. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  21. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  22. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  23. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  24. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  26. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  27. package/Libraries/Animated/useAnimatedColor.js +25 -0
  28. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  29. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  30. package/Libraries/AppState/AppState.js +1 -1
  31. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  32. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
  35. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  36. package/Libraries/Components/Button.js +2 -2
  37. package/Libraries/Components/Button.windows.js +2 -2
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  39. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  40. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  41. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  42. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  43. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  44. package/Libraries/Components/Pressable/Pressable.js +3 -3
  45. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  46. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  47. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  48. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  49. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  50. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
  51. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  52. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  53. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  54. package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
  55. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  56. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
  57. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  58. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  61. package/Libraries/Components/Switch/Switch.js +3 -3
  62. package/Libraries/Components/Switch/Switch.windows.js +3 -3
  63. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  64. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  65. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  66. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  67. package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
  68. package/Libraries/Components/TextInput/TextInput.js +8 -4
  69. package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
  70. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
  71. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  72. package/Libraries/Components/Touchable/Touchable.js +2 -2
  73. package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
  74. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  75. package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
  76. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  77. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  79. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
  80. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  81. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
  82. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  84. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  85. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  86. package/Libraries/Components/View/View.windows.js +1 -1
  87. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  88. package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
  89. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  90. package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
  91. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  92. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  93. package/Libraries/Core/ExceptionsManager.js +2 -2
  94. package/Libraries/Core/ExtendedError.js +3 -3
  95. package/Libraries/Core/RawEventEmitter.js +1 -1
  96. package/Libraries/Core/ReactNativeVersion.js +2 -2
  97. package/Libraries/Core/Timers/JSTimers.js +3 -2
  98. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  99. package/Libraries/Core/setUpErrorHandling.js +4 -2
  100. package/Libraries/Core/setUpReactDevTools.js +23 -6
  101. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  102. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  103. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  104. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  105. package/Libraries/Image/AssetSourceResolver.js +1 -1
  106. package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
  107. package/Libraries/Image/Image.android.js +172 -306
  108. package/Libraries/Image/ImageProps.js +9 -11
  109. package/Libraries/Image/ImageSource.js +2 -2
  110. package/Libraries/Image/ImageSourceUtils.js +8 -4
  111. package/Libraries/Image/ImageTypes.flow.js +2 -2
  112. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  113. package/Libraries/Image/nativeImageSource.js +1 -1
  114. package/Libraries/Interaction/InteractionManager.js +5 -4
  115. package/Libraries/Interaction/PanResponder.js +1 -1
  116. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  117. package/Libraries/Linking/Linking.js +1 -1
  118. package/Libraries/Lists/FlatList.js +3 -3
  119. package/Libraries/Lists/SectionList.js +1 -1
  120. package/Libraries/Lists/SectionListModern.js +2 -2
  121. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  122. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  123. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  124. package/Libraries/LogBox/LogBox.js +42 -19
  125. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  126. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  127. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  128. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  129. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  130. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
  131. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  132. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  136. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  137. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  138. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
  139. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  140. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  142. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
  143. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  144. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  145. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  146. package/Libraries/Modal/Modal.d.ts +4 -0
  147. package/Libraries/Modal/Modal.js +3 -3
  148. package/Libraries/Modal/Modal.windows.js +7 -3
  149. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  150. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  151. package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
  152. package/Libraries/Network/RCTNetworking.android.js +1 -1
  153. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  154. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  155. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  156. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  157. package/Libraries/Network/XMLHttpRequest.js +1 -1
  158. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  159. package/Libraries/Pressability/Pressability.js +5 -5
  160. package/Libraries/Pressability/Pressability.windows.js +5 -5
  161. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  162. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  163. package/Libraries/Pressability/usePressability.js +3 -14
  164. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  165. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  166. package/Libraries/ReactNative/AppContainer.js +1 -1
  167. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  168. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  169. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  170. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  171. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  172. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  173. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  174. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  175. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  176. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  177. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  178. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  179. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
  180. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  181. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  182. package/Libraries/StyleSheet/PointPropType.js +1 -1
  183. package/Libraries/StyleSheet/Rect.js +1 -1
  184. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  185. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  186. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  187. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  188. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  189. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  190. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  191. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  192. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  193. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  194. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  195. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  196. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  197. package/Libraries/StyleSheet/processColorArray.js +2 -2
  198. package/Libraries/StyleSheet/processFilter.js +2 -2
  199. package/Libraries/Text/Text.js +295 -627
  200. package/Libraries/Text/Text.windows.js +342 -717
  201. package/Libraries/Text/TextNativeComponent.js +14 -7
  202. package/Libraries/Text/TextProps.js +4 -4
  203. package/Libraries/Text/TextProps.windows.js +4 -4
  204. package/Libraries/Types/CodegenTypes.js +1 -1
  205. package/Libraries/Types/CoreEventTypes.js +21 -21
  206. package/Libraries/Types/CoreEventTypes.windows.js +21 -21
  207. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  208. package/Libraries/Utilities/Appearance.js +6 -1
  209. package/Libraries/Utilities/Dimensions.js +1 -1
  210. package/Libraries/Utilities/HMRClient.js +32 -5
  211. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  212. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  213. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  214. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  215. package/Libraries/Utilities/logError.js +1 -1
  216. package/Libraries/Utilities/stringifySafe.js +3 -3
  217. package/Libraries/Utilities/useMergeRefs.js +2 -2
  218. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  219. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  220. package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
  221. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
  222. package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
  223. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
  224. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
  225. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
  226. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
  227. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +5 -0
  228. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +94 -26
  229. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +11 -0
  230. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
  231. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
  232. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
  233. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
  234. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
  235. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +9 -5
  236. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +28 -6
  237. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +1 -1
  238. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
  239. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
  240. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +80 -0
  241. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.h +17 -0
  242. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
  243. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
  244. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
  245. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
  246. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +3 -8
  247. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
  248. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -63
  249. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
  250. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
  251. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
  252. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
  253. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
  254. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
  255. package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
  256. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
  257. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
  258. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
  259. package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
  260. package/Microsoft.ReactNative/QuirkSettings.h +0 -43
  261. package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
  262. package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
  263. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
  264. package/Microsoft.ReactNative/ReactHost/React.h +0 -5
  265. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
  266. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
  267. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
  268. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
  269. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
  270. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
  271. package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
  272. package/Microsoft.ReactNative/RedBox.cpp +0 -9
  273. package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
  274. package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
  275. package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
  276. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +33 -25
  277. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +5 -3
  278. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  279. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
  280. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
  281. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
  282. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
  283. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
  284. package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
  285. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
  286. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +3 -3
  287. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
  288. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +10 -10
  289. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
  290. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
  291. package/PropertySheets/Autolink.props +1 -1
  292. package/PropertySheets/Bundle.props +1 -1
  293. package/PropertySheets/Codegen.props +1 -1
  294. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  295. package/PropertySheets/JSEngine.props +1 -1
  296. package/PropertySheets/NuGet.LockFile.props +8 -0
  297. package/PropertySheets/React.Cpp.props +8 -7
  298. package/PropertySheets/ReactNativeArchitecture.props +6 -24
  299. package/PropertySheets/WinUI.props +2 -2
  300. package/ReactCommon/ReactCommon.vcxproj +5 -6
  301. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
  302. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
  303. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
  304. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
  305. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
  306. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  307. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  308. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
  309. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
  310. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
  311. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
  312. package/Scripts/JustMyXaml.ps1 +8 -8
  313. package/Scripts/OfficeReact.Win32.nuspec +0 -1
  314. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
  315. package/Scripts/UnitTest.ps1 +3 -1
  316. package/Scripts/creaternwapp.cmd +1 -9
  317. package/Scripts/creaternwlib.cmd +4 -24
  318. package/Scripts/rnw-dependencies.ps1 +15 -16
  319. package/Shared/DevSettings.h +0 -3
  320. package/Shared/DevSupportManager.cpp +55 -48
  321. package/Shared/DevSupportManager.h +0 -1
  322. package/Shared/Modules/IWebSocketModuleContentHandler.h +15 -0
  323. package/Shared/Modules/WebSocketModule.cpp +8 -3
  324. package/Shared/Networking/DefaultBlobResource.cpp +37 -0
  325. package/Shared/Networking/DefaultBlobResource.h +12 -0
  326. package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
  327. package/Shared/Networking/WinRTWebSocketResource.h +8 -120
  328. package/Shared/Shared.vcxitems +63 -38
  329. package/Shared/Shared.vcxitems.filters +54 -0
  330. package/Shared/Utils.cpp +0 -88
  331. package/Shared/Utils.h +0 -14
  332. package/Shared/WebSocketResourceFactory.cpp +28 -0
  333. package/Shared/tracing/fbsystrace.h +1 -0
  334. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
  335. package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
  336. package/codegen/react/components/rnwcore/Props.cpp +17 -7
  337. package/codegen/react/components/rnwcore/Props.h +3 -1
  338. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
  339. package/codegen/rnwcoreJSI.h +93 -77
  340. package/index.js +9 -0
  341. package/index.windows.js +9 -0
  342. package/jest/RefreshControlMock.js +2 -2
  343. package/jest/assetFileTransformer.js +8 -3
  344. package/jest/mockComponent.js +3 -4
  345. package/jest/mockNativeComponent.js +1 -1
  346. package/jest/mocks/ActivityIndicator.js +2 -2
  347. package/jest/mocks/Image.js +2 -2
  348. package/jest/mocks/Modal.js +2 -2
  349. package/jest/mocks/RefreshControl.js +3 -3
  350. package/jest/mocks/RendererProxy.js +2 -2
  351. package/jest/mocks/ScrollView.js +5 -5
  352. package/jest/mocks/Text.js +2 -2
  353. package/jest/mocks/TextInput.js +2 -2
  354. package/jest/mocks/View.js +2 -2
  355. package/jest/mocks/ViewNativeComponent.js +1 -1
  356. package/jest/mocks/requireNativeComponent.js +1 -1
  357. package/jest/mocks/useColorScheme.js +1 -1
  358. package/jest/setup.js +68 -31
  359. package/just-task.js +13 -2
  360. package/package.json +25 -20
  361. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  362. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  363. package/src/private/components/virtualview/VirtualView.js +14 -21
  364. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  365. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  366. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  367. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  368. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  369. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  370. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  371. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  372. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  373. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  374. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  375. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  376. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  377. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  378. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  379. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  380. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  381. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  382. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  383. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  384. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  385. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  386. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  387. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  388. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  389. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  390. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  391. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  392. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  393. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
  394. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  395. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  396. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  397. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  398. package/src/private/styles/composeStyles.js +1 -1
  399. package/src/private/utilities/toError.js +27 -0
  400. package/src/private/utilities/toExtendedError.js +30 -0
  401. package/src/private/webapis/dom/events/Event.js +1 -1
  402. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  403. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  404. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  405. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  406. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  407. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  408. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  409. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  410. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  411. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  412. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  413. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  414. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  415. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  416. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  417. package/src/private/webapis/performance/LongTasks.js +3 -3
  418. package/src/private/webapis/performance/Performance.js +4 -4
  419. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  420. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  421. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  422. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  423. package/src/types/globals.d.ts +4 -4
  424. package/template/cpp-lib/proj/MyLib.sln +0 -33
  425. package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
  426. package/template/cs-lib/proj/MyLib.sln +0 -33
  427. package/template/metro.config.js +12 -2
  428. package/templates/cpp-app/metro.config.js +12 -2
  429. package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
  430. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +2 -2
  431. package/templates/cpp-app/windows/MyApp.sln +0 -33
  432. package/templates/cpp-lib/example/metro.config.js +12 -2
  433. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +2 -2
  434. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  435. package/types/index.d.ts +2 -0
  436. package/Folly/.clang-format +0 -2
  437. package/Folly/Folly.natvis +0 -25
  438. package/Folly/Folly.vcxproj +0 -378
  439. package/Folly/Folly.vcxproj.filters +0 -558
  440. package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
  441. package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
  442. package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
  443. package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
  444. package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
  445. package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
  446. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
  447. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
  448. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
  449. package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
  450. package/Folly/cgmanifest.json +0 -25
  451. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  452. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
  453. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  454. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
  455. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
  456. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
  457. package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
  458. package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
  459. package/Microsoft.ReactNative/ReactSupport.h +0 -13
  460. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
  461. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
  462. package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
  463. package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -22
  464. package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
  465. package/Microsoft.ReactNative/XamlUIService.h +0 -37
  466. package/Microsoft.ReactNative/XamlUIService.idl +0 -53
  467. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
  468. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
  469. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
  470. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
  471. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
  472. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
  473. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
  474. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
  475. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
  476. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
  477. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
  478. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
  479. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
  480. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
  481. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
  482. package/fmt/.clang-format +0 -2
  483. package/fmt/cgmanifest.json +0 -15
  484. package/fmt/fmt.vcxproj +0 -153
  485. package/fmt/fmt.vcxproj.filters +0 -59
  486. package/fmt/pch.cpp +0 -4
  487. package/fmt/pch.h +0 -2
@@ -18,26 +18,21 @@ import LogBoxMessage from './LogBoxMessage';
18
18
  import * as LogBoxStyle from './LogBoxStyle';
19
19
  import * as React from 'react';
20
20
 
21
- type Props = $ReadOnly<{
21
+ const SHOW_MORE_MESSAGE_LENGTH = 300;
22
+
23
+ component LogBoxInspectorMessageHeader(
22
24
  collapsed: boolean,
23
25
  message: Message,
24
26
  level: LogLevel,
25
27
  title: string,
26
28
  onPress: () => void,
27
- }>;
28
-
29
- const SHOW_MORE_MESSAGE_LENGTH = 300;
30
-
31
- function LogBoxInspectorMessageHeader(props: Props): React.Node {
29
+ ) {
32
30
  function renderShowMore() {
33
- if (
34
- props.message.content.length < SHOW_MORE_MESSAGE_LENGTH ||
35
- !props.collapsed
36
- ) {
31
+ if (message.content.length < SHOW_MORE_MESSAGE_LENGTH || !collapsed) {
37
32
  return null;
38
33
  }
39
34
  return (
40
- <Text style={messageStyles.collapse} onPress={() => props.onPress()}>
35
+ <Text style={messageStyles.collapse} onPress={() => onPress()}>
41
36
  ... See More
42
37
  </Text>
43
38
  );
@@ -47,15 +42,15 @@ function LogBoxInspectorMessageHeader(props: Props): React.Node {
47
42
  <View style={messageStyles.body}>
48
43
  <View style={messageStyles.heading}>
49
44
  <Text
50
- style={[messageStyles.headingText, messageStyles[props.level]]}
45
+ style={[messageStyles.headingText, messageStyles[level]]}
51
46
  id="logbox_message_title_text">
52
- {props.title}
47
+ {title}
53
48
  </Text>
54
49
  </View>
55
50
  <Text style={messageStyles.bodyText} id="logbox_message_contents_text">
56
51
  <LogBoxMessage
57
- maxLength={props.collapsed ? SHOW_MORE_MESSAGE_LENGTH : Infinity}
58
- message={props.message}
52
+ maxLength={collapsed ? SHOW_MORE_MESSAGE_LENGTH : Infinity}
53
+ message={message}
59
54
  style={messageStyles.messageText}
60
55
  />
61
56
  {renderShowMore()}
@@ -21,10 +21,6 @@ import * as LogBoxStyle from './LogBoxStyle';
21
21
  import * as React from 'react';
22
22
  import {useState} from 'react';
23
23
 
24
- type Props = $ReadOnly<{
25
- log: LogBoxLog,
26
- }>;
27
-
28
24
  const BEFORE_SLASH_RE = /^(.*)[\\/]/;
29
25
 
30
26
  // Taken from React https://github.com/facebook/react/blob/206d61f72214e8ae5b935f0bf8628491cb7f0797/packages/react-devtools-shared/src/backend/describeComponentFrame.js#L27-L41
@@ -49,29 +45,30 @@ function getPrettyFileName(path: string) {
49
45
 
50
46
  return fileName;
51
47
  }
52
- function LogBoxInspectorReactFrames(props: Props): React.Node {
48
+
49
+ component LogBoxInspectorReactFrames(log: LogBoxLog) {
53
50
  const [collapsed, setCollapsed] = useState(true);
54
51
  if (
55
- props.log.getAvailableComponentStack() == null ||
56
- props.log.getAvailableComponentStack().length < 1
52
+ log.getAvailableComponentStack() == null ||
53
+ log.getAvailableComponentStack().length < 1
57
54
  ) {
58
55
  return null;
59
56
  }
60
57
 
61
58
  function getStackList() {
62
59
  if (collapsed) {
63
- return props.log.getAvailableComponentStack().slice(0, 3);
60
+ return log.getAvailableComponentStack().slice(0, 3);
64
61
  } else {
65
- return props.log.getAvailableComponentStack();
62
+ return log.getAvailableComponentStack();
66
63
  }
67
64
  }
68
65
 
69
66
  function getCollapseMessage() {
70
- if (props.log.getAvailableComponentStack().length <= 3) {
67
+ if (log.getAvailableComponentStack().length <= 3) {
71
68
  return;
72
69
  }
73
70
 
74
- const count = props.log.getAvailableComponentStack().length - 3;
71
+ const count = log.getAvailableComponentStack().length - 3;
75
72
  if (collapsed) {
76
73
  return `See ${count} more components`;
77
74
  } else {
@@ -95,9 +92,9 @@ function LogBoxInspectorReactFrames(props: Props): React.Node {
95
92
  // Older versions of DevTools do not provide full path.
96
93
  // This will not work on Windows, remove check once the
97
94
  // DevTools return the full file path.
98
- frame.fileName.startsWith('/')
95
+ frame.file != null && frame.file.startsWith('/')
99
96
  ? () =>
100
- openFileInEditor(frame.fileName, frame.location?.row ?? 1)
97
+ openFileInEditor(frame.file ?? '', frame.lineNumber ?? 1)
101
98
  : null
102
99
  }
103
100
  style={componentStyles.frame}>
@@ -106,13 +103,13 @@ function LogBoxInspectorReactFrames(props: Props): React.Node {
106
103
  id="logbox_component_stack_frame_text"
107
104
  style={componentStyles.frameName}>
108
105
  <Text style={componentStyles.bracket}>{'<'}</Text>
109
- {frame.content}
106
+ {frame.methodName}
110
107
  <Text style={componentStyles.bracket}>{' />'}</Text>
111
108
  </Text>
112
109
  </View>
113
110
  <Text style={componentStyles.frameLocation}>
114
- {getPrettyFileName(frame.fileName)}
115
- {frame.location ? `:${frame.location.row}` : ''}
111
+ {frame.file != null ? getPrettyFileName(frame.file) : ''}
112
+ {frame.lineNumber != null ? `:${frame.lineNumber}` : ''}
116
113
  </Text>
117
114
  </LogBoxButton>
118
115
  </View>
@@ -164,14 +161,24 @@ const componentStyles = StyleSheet.create({
164
161
  paddingRight: 10,
165
162
  },
166
163
  frameName: {
167
- fontFamily: Platform.select({android: 'monospace', ios: 'Menlo'}),
164
+ fontFamily: Platform.select({
165
+ android: 'monospace',
166
+ ios: 'Menlo',
167
+ macos: 'Menlo',
168
+ windows: 'Consolas',
169
+ }),
168
170
  color: LogBoxStyle.getTextColor(1),
169
171
  fontSize: 14,
170
172
  includeFontPadding: false,
171
173
  lineHeight: 18,
172
174
  },
173
175
  bracket: {
174
- fontFamily: Platform.select({android: 'monospace', ios: 'Menlo'}),
176
+ fontFamily: Platform.select({
177
+ android: 'monospace',
178
+ ios: 'Menlo',
179
+ macos: 'Menlo',
180
+ windows: 'Consolas',
181
+ }),
175
182
  color: LogBoxStyle.getTextColor(0.4),
176
183
  fontSize: 14,
177
184
  fontWeight: '500',
@@ -21,10 +21,6 @@ import * as LogBoxStyle from './LogBoxStyle';
21
21
  import * as React from 'react';
22
22
  import {useState} from 'react';
23
23
 
24
- type Props = $ReadOnly<{
25
- log: LogBoxLog,
26
- }>;
27
-
28
24
  const BEFORE_SLASH_RE = /^(.*)[\\/]/;
29
25
 
30
26
  // Taken from React https://github.com/facebook/react/blob/206d61f72214e8ae5b935f0bf8628491cb7f0797/packages/react-devtools-shared/src/backend/describeComponentFrame.js#L27-L41
@@ -49,29 +45,30 @@ function getPrettyFileName(path: string) {
49
45
 
50
46
  return fileName;
51
47
  }
52
- function LogBoxInspectorReactFrames(props: Props): React.Node {
48
+
49
+ component LogBoxInspectorReactFrames(log: LogBoxLog) {
53
50
  const [collapsed, setCollapsed] = useState(true);
54
51
  if (
55
- props.log.getAvailableComponentStack() == null ||
56
- props.log.getAvailableComponentStack().length < 1
52
+ log.getAvailableComponentStack() == null ||
53
+ log.getAvailableComponentStack().length < 1
57
54
  ) {
58
55
  return null;
59
56
  }
60
57
 
61
58
  function getStackList() {
62
59
  if (collapsed) {
63
- return props.log.getAvailableComponentStack().slice(0, 3);
60
+ return log.getAvailableComponentStack().slice(0, 3);
64
61
  } else {
65
- return props.log.getAvailableComponentStack();
62
+ return log.getAvailableComponentStack();
66
63
  }
67
64
  }
68
65
 
69
66
  function getCollapseMessage() {
70
- if (props.log.getAvailableComponentStack().length <= 3) {
67
+ if (log.getAvailableComponentStack().length <= 3) {
71
68
  return;
72
69
  }
73
70
 
74
- const count = props.log.getAvailableComponentStack().length - 3;
71
+ const count = log.getAvailableComponentStack().length - 3;
75
72
  if (collapsed) {
76
73
  return `See ${count} more components`;
77
74
  } else {
@@ -95,9 +92,9 @@ function LogBoxInspectorReactFrames(props: Props): React.Node {
95
92
  // Older versions of DevTools do not provide full path.
96
93
  // This will not work on Windows, remove check once the
97
94
  // DevTools return the full file path.
98
- frame.fileName.startsWith('/')
95
+ frame.file != null && frame.file.startsWith('/')
99
96
  ? () =>
100
- openFileInEditor(frame.fileName, frame.location?.row ?? 1)
97
+ openFileInEditor(frame.file ?? '', frame.lineNumber ?? 1)
101
98
  : null
102
99
  }
103
100
  style={componentStyles.frame}>
@@ -106,13 +103,13 @@ function LogBoxInspectorReactFrames(props: Props): React.Node {
106
103
  id="logbox_component_stack_frame_text"
107
104
  style={componentStyles.frameName}>
108
105
  <Text style={componentStyles.bracket}>{'<'}</Text>
109
- {frame.content}
106
+ {frame.methodName}
110
107
  <Text style={componentStyles.bracket}>{' />'}</Text>
111
108
  </Text>
112
109
  </View>
113
110
  <Text style={componentStyles.frameLocation}>
114
- {getPrettyFileName(frame.fileName)}
115
- {frame.location ? `:${frame.location.row}` : ''}
111
+ {frame.file != null ? getPrettyFileName(frame.file) : ''}
112
+ {frame.lineNumber != null ? `:${frame.lineNumber}` : ''}
116
113
  </Text>
117
114
  </LogBoxButton>
118
115
  </View>
@@ -167,6 +164,7 @@ const componentStyles = StyleSheet.create({
167
164
  fontFamily: Platform.select({
168
165
  android: 'monospace',
169
166
  ios: 'Menlo',
167
+ macos: 'Menlo',
170
168
  windows: 'Consolas',
171
169
  }),
172
170
  color: LogBoxStyle.getTextColor(1),
@@ -178,6 +176,7 @@ const componentStyles = StyleSheet.create({
178
176
  fontFamily: Platform.select({
179
177
  android: 'monospace',
180
178
  ios: 'Menlo',
179
+ macos: 'Menlo',
181
180
  windows: 'Consolas',
182
181
  }),
183
182
  color: LogBoxStyle.getTextColor(0.4),
@@ -14,20 +14,18 @@ import Text from '../../Text/Text';
14
14
  import * as LogBoxStyle from './LogBoxStyle';
15
15
  import * as React from 'react';
16
16
 
17
- type Props = $ReadOnly<{
17
+ component LogBoxInspectorSection(
18
18
  heading: string,
19
19
  children: React.Node,
20
20
  action?: ?React.Node,
21
- }>;
22
-
23
- function LogBoxInspectorSection(props: Props): React.Node {
21
+ ) {
24
22
  return (
25
23
  <View style={styles.section}>
26
24
  <View style={styles.heading}>
27
- <Text style={styles.headingText}>{props.heading}</Text>
28
- {props.action}
25
+ <Text style={styles.headingText}>{heading}</Text>
26
+ {action}
29
27
  </View>
30
- <View style={styles.body}>{props.children}</View>
28
+ <View style={styles.body}>{children}</View>
31
29
  </View>
32
30
  );
33
31
  }
@@ -19,19 +19,17 @@ import * as LogBoxStyle from './LogBoxStyle';
19
19
  import * as React from 'react';
20
20
  import {useEffect, useState} from 'react';
21
21
 
22
- type Props = $ReadOnly<{
22
+ component LogBoxInspectorSourceMapStatus(
23
23
  onPress?: ?(event: GestureResponderEvent) => void,
24
24
  status: 'COMPLETE' | 'FAILED' | 'NONE' | 'PENDING',
25
- }>;
26
-
27
- function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
25
+ ) {
28
26
  const [state, setState] = useState({
29
27
  animation: null,
30
28
  rotate: null,
31
29
  });
32
30
 
33
31
  useEffect(() => {
34
- if (props.status === 'PENDING') {
32
+ if (status === 'PENDING') {
35
33
  if (state.animation == null) {
36
34
  const animated = new Animated.Value(0);
37
35
  const animation = Animated.loop(
@@ -67,11 +65,11 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
67
65
  state.animation.stop();
68
66
  }
69
67
  };
70
- }, [props.status, state.animation]);
68
+ }, [status, state.animation]);
71
69
 
72
70
  let image;
73
71
  let color;
74
- switch (props.status) {
72
+ switch (status) {
75
73
  case 'FAILED':
76
74
  image = require('./LogBoxImages/alert-triangle.png');
77
75
  color = LogBoxStyle.getErrorColor(1);
@@ -82,7 +80,7 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
82
80
  break;
83
81
  }
84
82
 
85
- if (props.status === 'COMPLETE' || image == null) {
83
+ if (status === 'COMPLETE' || image == null) {
86
84
  return null;
87
85
  }
88
86
 
@@ -93,14 +91,14 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
93
91
  pressed: LogBoxStyle.getBackgroundColor(1),
94
92
  }}
95
93
  hitSlop={{bottom: 8, left: 8, right: 8, top: 8}}
96
- onPress={props.onPress}
94
+ onPress={onPress}
97
95
  style={styles.root}>
98
96
  <Animated.Image
99
97
  source={image}
100
98
  style={[
101
99
  styles.image,
102
100
  {tintColor: color},
103
- state.rotate == null || props.status !== 'PENDING'
101
+ state.rotate == null || status !== 'PENDING'
104
102
  ? null
105
103
  : {transform: [{rotate: state.rotate}]},
106
104
  ]}
@@ -19,13 +19,10 @@ import LogBoxButton from './LogBoxButton';
19
19
  import * as LogBoxStyle from './LogBoxStyle';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{
22
+ component LogBoxInspectorStackFrame(
23
23
  frame: StackFrame,
24
24
  onPress?: ?(event: GestureResponderEvent) => void,
25
- }>;
26
-
27
- function LogBoxInspectorStackFrame(props: Props): React.Node {
28
- const {frame, onPress} = props;
25
+ ) {
29
26
  const column = frame.column != null && parseInt(frame.column, 10);
30
27
  const location =
31
28
  getFileName(frame.file) +
@@ -90,7 +87,12 @@ const styles = StyleSheet.create({
90
87
  includeFontPadding: false,
91
88
  lineHeight: 18,
92
89
  fontWeight: '400',
93
- fontFamily: Platform.select({android: 'monospace', ios: 'Menlo'}),
90
+ fontFamily: Platform.select({
91
+ android: 'monospace',
92
+ ios: 'Menlo',
93
+ macos: 'Menlo',
94
+ windows: 'Consolas',
95
+ }),
94
96
  },
95
97
  location: {
96
98
  color: LogBoxStyle.getTextColor(0.8),
@@ -19,13 +19,10 @@ import LogBoxButton from './LogBoxButton';
19
19
  import * as LogBoxStyle from './LogBoxStyle';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{
22
+ component LogBoxInspectorStackFrame(
23
23
  frame: StackFrame,
24
24
  onPress?: ?(event: GestureResponderEvent) => void,
25
- }>;
26
-
27
- function LogBoxInspectorStackFrame(props: Props): React.Node {
28
- const {frame, onPress} = props;
25
+ ) {
29
26
  const column = frame.column != null && parseInt(frame.column, 10);
30
27
  const location =
31
28
  getFileName(frame.file) +
@@ -93,6 +90,7 @@ const styles = StyleSheet.create({
93
90
  fontFamily: Platform.select({
94
91
  android: 'monospace',
95
92
  ios: 'Menlo',
93
+ macos: 'Menlo',
96
94
  windows: 'Consolas',
97
95
  }),
98
96
  },
@@ -24,11 +24,6 @@ import * as LogBoxStyle from './LogBoxStyle';
24
24
  import * as React from 'react';
25
25
  import {useState} from 'react';
26
26
 
27
- type Props = $ReadOnly<{
28
- log: LogBoxLog,
29
- onRetry: () => void,
30
- }>;
31
-
32
27
  export function getCollapseMessage(
33
28
  stackFrames: Stack,
34
29
  collapsed: boolean,
@@ -65,21 +60,21 @@ export function getCollapseMessage(
65
60
  }
66
61
  }
67
62
 
68
- function LogBoxInspectorStackFrames(props: Props): React.Node {
63
+ component LogBoxInspectorStackFrames(log: LogBoxLog, onRetry: () => void) {
69
64
  const [collapsed, setCollapsed] = useState(() => {
70
65
  // Only collapse frames initially if some frames are not collapsed.
71
- return props.log.getAvailableStack().some(({collapse}) => !collapse);
66
+ return log.getAvailableStack().some(({collapse}) => !collapse);
72
67
  });
73
68
 
74
69
  function getStackList() {
75
70
  if (collapsed === true) {
76
- return props.log.getAvailableStack().filter(({collapse}) => !collapse);
71
+ return log.getAvailableStack().filter(({collapse}) => !collapse);
77
72
  } else {
78
- return props.log.getAvailableStack();
73
+ return log.getAvailableStack();
79
74
  }
80
75
  }
81
76
 
82
- if (props.log.getAvailableStack().length === 0) {
77
+ if (log.getAvailableStack().length === 0) {
83
78
  return null;
84
79
  }
85
80
 
@@ -88,13 +83,11 @@ function LogBoxInspectorStackFrames(props: Props): React.Node {
88
83
  heading="Call Stack"
89
84
  action={
90
85
  <LogBoxInspectorSourceMapStatus
91
- onPress={
92
- props.log.symbolicated.status === 'FAILED' ? props.onRetry : null
93
- }
94
- status={props.log.symbolicated.status}
86
+ onPress={log.symbolicated.status === 'FAILED' ? onRetry : null}
87
+ status={log.symbolicated.status}
95
88
  />
96
89
  }>
97
- {props.log.symbolicated.status !== 'COMPLETE' && (
90
+ {log.symbolicated.status !== 'COMPLETE' && (
98
91
  <View style={stackStyles.hintBox}>
99
92
  <Text style={stackStyles.hintText}>
100
93
  This call stack is not symbolicated. Some features are unavailable
@@ -102,32 +95,29 @@ function LogBoxInspectorStackFrames(props: Props): React.Node {
102
95
  </Text>
103
96
  </View>
104
97
  )}
105
- <StackFrameList
106
- list={getStackList()}
107
- status={props.log.symbolicated.status}
108
- />
98
+ <StackFrameList list={getStackList()} status={log.symbolicated.status} />
109
99
  <StackFrameFooter
110
100
  onPress={() => setCollapsed(!collapsed)}
111
- message={getCollapseMessage(props.log.getAvailableStack(), collapsed)}
101
+ message={getCollapseMessage(log.getAvailableStack(), collapsed)}
112
102
  />
113
103
  </LogBoxInspectorSection>
114
104
  );
115
105
  }
116
106
 
117
- function StackFrameList(props: {
107
+ component StackFrameList(
118
108
  list: Stack | Array<StackFrame>,
119
109
  status: string | 'COMPLETE' | 'FAILED' | 'NONE' | 'PENDING',
120
- }) {
110
+ ) {
121
111
  return (
122
112
  <>
123
- {props.list.map((frame, index) => {
113
+ {list.map((frame, index) => {
124
114
  const {file, lineNumber} = frame;
125
115
  return (
126
116
  <LogBoxInspectorStackFrame
127
117
  key={index}
128
118
  frame={frame}
129
119
  onPress={
130
- props.status === 'COMPLETE' && file != null && lineNumber != null
120
+ status === 'COMPLETE' && file != null && lineNumber != null
131
121
  ? () => openFileInEditor(file, lineNumber)
132
122
  : null
133
123
  }
@@ -138,9 +128,7 @@ function StackFrameList(props: {
138
128
  );
139
129
  }
140
130
 
141
- function StackFrameFooter(
142
- props: $ReadOnly<{message: string, onPress: () => void}>,
143
- ) {
131
+ component StackFrameFooter(message: string, onPress: () => void) {
144
132
  return (
145
133
  <View style={stackStyles.collapseContainer}>
146
134
  <LogBoxButton
@@ -148,9 +136,9 @@ function StackFrameFooter(
148
136
  default: 'transparent',
149
137
  pressed: LogBoxStyle.getBackgroundColor(1),
150
138
  }}
151
- onPress={props.onPress}
139
+ onPress={onPress}
152
140
  style={stackStyles.collapseButton}>
153
- <Text style={stackStyles.collapse}>{props.message}</Text>
141
+ <Text style={stackStyles.collapse}>{message}</Text>
154
142
  </LogBoxButton>
155
143
  </View>
156
144
  );
@@ -16,20 +16,12 @@ import StyleSheet from '../../StyleSheet/StyleSheet';
16
16
  import Text from '../../Text/Text';
17
17
  import * as React from 'react';
18
18
 
19
- type Props = {
20
- message: Message,
21
- style: TextStyleProp,
22
- plaintext?: ?boolean,
23
- maxLength?: ?number,
24
- ...
25
- };
26
-
27
19
  type Range = {
28
20
  lowerBound: number,
29
21
  upperBound: number,
30
22
  };
31
23
 
32
- function getLinkRanges(string: string): $ReadOnlyArray<Range> {
24
+ function getLinkRanges(string: string): ReadonlyArray<Range> {
33
25
  const regex = /https?:\/\/[^\s$.?#].[^\s]*/gi;
34
26
  const matches = [];
35
27
 
@@ -46,15 +38,12 @@ function getLinkRanges(string: string): $ReadOnlyArray<Range> {
46
38
  return matches;
47
39
  }
48
40
 
49
- function TappableLinks(props: {
50
- content: string,
51
- style: void | TextStyleProp,
52
- }): React.Node {
53
- const matches = getLinkRanges(props.content);
41
+ component TappableLinks(content: string, style: void | TextStyleProp) {
42
+ const matches = getLinkRanges(content);
54
43
 
55
44
  if (matches.length === 0) {
56
45
  // No URLs detected. Just return the content.
57
- return <Text style={props.style}>{props.content}</Text>;
46
+ return <Text style={style}>{content}</Text>;
58
47
  }
59
48
 
60
49
  // URLs were detected. Construct array of Text nodes.
@@ -65,14 +54,11 @@ function TappableLinks(props: {
65
54
 
66
55
  for (const linkRange of matches) {
67
56
  if (startIndex < linkRange.lowerBound) {
68
- const text = props.content.substring(startIndex, linkRange.lowerBound);
57
+ const text = content.substring(startIndex, linkRange.lowerBound);
69
58
  fragments.push(<Text key={++indexCounter}>{text}</Text>);
70
59
  }
71
60
 
72
- const link = props.content.substring(
73
- linkRange.lowerBound,
74
- linkRange.upperBound,
75
- );
61
+ const link = content.substring(linkRange.lowerBound, linkRange.upperBound);
76
62
  fragments.push(
77
63
  <Text
78
64
  onPress={() => {
@@ -88,46 +74,51 @@ function TappableLinks(props: {
88
74
  startIndex = linkRange.upperBound;
89
75
  }
90
76
 
91
- if (startIndex < props.content.length) {
92
- const text = props.content.substring(startIndex);
77
+ if (startIndex < content.length) {
78
+ const text = content.substring(startIndex);
93
79
  fragments.push(
94
- <Text key={++indexCounter} style={props.style}>
80
+ <Text key={++indexCounter} style={style}>
95
81
  {text}
96
82
  </Text>,
97
83
  );
98
84
  }
99
85
 
100
- return <Text style={props.style}>{fragments}</Text>;
86
+ return <Text style={style}>{fragments}</Text>;
101
87
  }
102
88
 
103
89
  const cleanContent = (content: string) =>
104
- content.replace(/^(TransformError |Warning: (Warning: )?|Error: )/g, '');
90
+ content.replace(/^(TransformError |Error: )/g, '');
105
91
 
106
- function LogBoxMessage(props: Props): React.Node {
107
- const {content, substitutions}: Message = props.message;
92
+ component LogBoxMessage(
93
+ message: Message,
94
+ style: TextStyleProp,
95
+ plaintext?: ?boolean,
96
+ maxLength?: ?number,
97
+ ) {
98
+ const {content, substitutions}: Message = message;
108
99
 
109
- if (props.plaintext === true) {
100
+ if (plaintext === true) {
110
101
  return <Text>{cleanContent(content)}</Text>;
111
102
  }
112
103
 
113
- const maxLength = props.maxLength != null ? props.maxLength : Infinity;
114
- const substitutionStyle: TextStyleProp = props.style;
104
+ const resolvedMaxLength = maxLength != null ? maxLength : Infinity;
105
+ const substitutionStyle: TextStyleProp = style;
115
106
  const elements = [];
116
107
  let length = 0;
117
108
  const createUnderLength = (
118
109
  key: string,
119
- message: string,
120
- style: void | TextStyleProp,
110
+ messageText: string,
111
+ textStyle: void | TextStyleProp,
121
112
  ) => {
122
- let cleanMessage = cleanContent(message);
113
+ let cleanMessage = cleanContent(messageText);
123
114
 
124
- if (props.maxLength != null) {
125
- cleanMessage = cleanMessage.slice(0, props.maxLength - length);
115
+ if (maxLength != null) {
116
+ cleanMessage = cleanMessage.slice(0, maxLength - length);
126
117
  }
127
118
 
128
- if (length < maxLength) {
119
+ if (length < resolvedMaxLength) {
129
120
  elements.push(
130
- <TappableLinks content={cleanMessage} key={key} style={style} />,
121
+ <TappableLinks content={cleanMessage} key={key} style={textStyle} />,
131
122
  );
132
123
  }
133
124
 
@@ -20,7 +20,7 @@ import * as LogBoxStyle from './LogBoxStyle';
20
20
  import * as React from 'react';
21
21
  import {useEffect} from 'react';
22
22
 
23
- type Props = $ReadOnly<{
23
+ type Props = Readonly<{
24
24
  log: LogBoxLog,
25
25
  totalLogCount: number,
26
26
  level: 'warn' | 'error',
@@ -117,6 +117,10 @@ export interface ModalWindowsProps {
117
117
  /* title for the modal, shown in the title bar */
118
118
  // [Windows
119
119
  title?: string | undefined;
120
+
121
+ hideTitleBar?: boolean | undefined;
122
+
123
+ hideBorder?: boolean | undefined;
120
124
  // Windows]
121
125
  }
122
126