@office-iss/react-native-win32 0.84.0 → 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 (310) hide show
  1. package/.eslintignore +1 -0
  2. package/.flowconfig +1 -5
  3. package/CHANGELOG.json +67 -22
  4. package/CHANGELOG.md +14 -17
  5. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  6. package/IntegrationTests/LayoutEventsTest.js +1 -1
  7. package/IntegrationTests/TimersTest.js +1 -1
  8. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  9. package/Libraries/Animated/Animated.d.ts +8 -1
  10. package/Libraries/Animated/AnimatedEvent.js +4 -4
  11. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  12. package/Libraries/Animated/animations/Animation.js +3 -3
  13. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  14. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  15. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  16. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  17. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  19. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  20. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  21. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  24. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  27. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  28. package/Libraries/Animated/useAnimatedColor.js +25 -0
  29. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  30. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  31. package/Libraries/AppState/AppState.js +1 -1
  32. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  33. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +34 -30
  36. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  37. package/Libraries/Components/Button.js +2 -2
  38. package/Libraries/Components/Button.win32.js +2 -2
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  40. package/Libraries/Components/EnterString.win32.js +2 -2
  41. package/Libraries/Components/EnterString.win32.js.map +1 -1
  42. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  43. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  44. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  45. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  46. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  47. package/Libraries/Components/Pressable/Pressable.js +3 -3
  48. package/Libraries/Components/Pressable/Pressable.win32.js +3 -3
  49. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  51. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  52. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  53. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  54. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  55. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  56. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.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/TextInput/AndroidTextInputNativeComponent.js +33 -48
  63. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  64. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  65. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  66. package/Libraries/Components/TextInput/TextInput.flow.win32.js +23 -22
  67. package/Libraries/Components/TextInput/TextInput.js +8 -4
  68. package/Libraries/Components/TextInput/TextInput.win32.js +3 -4
  69. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  70. package/Libraries/Components/Touchable/Touchable.js +2 -2
  71. package/Libraries/Components/Touchable/Touchable.win32.js +2 -2
  72. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  73. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  74. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  75. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
  76. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  77. package/Libraries/Components/Touchable/TouchableWin32.js +1 -1
  78. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  79. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  80. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  81. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  82. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  83. package/Libraries/Components/View/ViewAccessibility.win32.js +7 -7
  84. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +16 -16
  86. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  87. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  88. package/Libraries/Core/ExceptionsManager.js +2 -2
  89. package/Libraries/Core/ExtendedError.js +3 -3
  90. package/Libraries/Core/RawEventEmitter.js +1 -1
  91. package/Libraries/Core/ReactNativeVersion.js +2 -2
  92. package/Libraries/Core/Timers/JSTimers.js +3 -2
  93. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  94. package/Libraries/Core/setUpErrorHandling.js +4 -2
  95. package/Libraries/Core/setUpReactDevTools.js +23 -6
  96. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  97. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  98. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  99. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  100. package/Libraries/Image/AssetSourceResolver.js +1 -1
  101. package/Libraries/Image/Image.android.js +172 -306
  102. package/Libraries/Image/ImageProps.js +9 -11
  103. package/Libraries/Image/ImageSource.js +2 -2
  104. package/Libraries/Image/ImageSourceUtils.js +8 -4
  105. package/Libraries/Image/ImageTypes.flow.js +2 -2
  106. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  107. package/Libraries/Image/nativeImageSource.js +1 -1
  108. package/Libraries/Interaction/InteractionManager.js +5 -4
  109. package/Libraries/Interaction/PanResponder.js +1 -1
  110. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  111. package/Libraries/Linking/Linking.js +1 -1
  112. package/Libraries/Lists/FlatList.js +3 -3
  113. package/Libraries/Lists/SectionList.js +1 -1
  114. package/Libraries/Lists/SectionListModern.js +2 -2
  115. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  116. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  117. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  118. package/Libraries/LogBox/LogBox.js +42 -19
  119. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  120. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  121. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  122. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  123. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  124. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +6 -9
  125. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  126. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +1 -1
  129. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  131. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  132. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +15 -16
  133. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  134. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  135. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +11 -13
  136. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  137. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +3 -5
  138. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  139. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  140. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  141. package/Libraries/Modal/Modal.js +3 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  143. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  144. package/Libraries/NativeComponent/BaseViewConfig.win32.js +16 -16
  145. package/Libraries/Network/RCTNetworking.android.js +1 -1
  146. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  147. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  148. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  149. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  150. package/Libraries/Network/XMLHttpRequest.js +1 -1
  151. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  152. package/Libraries/Pressability/Pressability.js +5 -5
  153. package/Libraries/Pressability/Pressability.win32.js +5 -5
  154. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  155. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  156. package/Libraries/Pressability/usePressability.js +3 -14
  157. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  158. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  159. package/Libraries/ReactNative/AppContainer.js +1 -1
  160. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  161. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  162. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  163. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  164. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  165. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  166. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  167. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  168. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  169. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  170. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  171. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  172. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +1 -3
  173. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  174. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  175. package/Libraries/StyleSheet/PointPropType.js +1 -1
  176. package/Libraries/StyleSheet/Rect.js +1 -1
  177. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  178. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  179. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  180. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  181. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  182. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  183. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  184. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  185. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  186. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  187. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  188. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  189. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  190. package/Libraries/StyleSheet/processColorArray.js +2 -2
  191. package/Libraries/StyleSheet/processFilter.js +2 -2
  192. package/Libraries/Text/Text.js +295 -627
  193. package/Libraries/Text/Text.win32.js +360 -744
  194. package/Libraries/Text/TextNativeComponent.js +14 -7
  195. package/Libraries/Text/TextNativeComponent.win32.js +14 -7
  196. package/Libraries/Text/TextProps.js +4 -4
  197. package/Libraries/Text/TextProps.win32.js +4 -4
  198. package/Libraries/Types/CodegenTypes.js +1 -1
  199. package/Libraries/Types/CoreEventTypes.js +21 -21
  200. package/Libraries/Types/CoreEventTypes.win32.js +22 -21
  201. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  202. package/Libraries/Utilities/Appearance.js +6 -1
  203. package/Libraries/Utilities/Dimensions.js +1 -1
  204. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  205. package/Libraries/Utilities/HMRClient.js +32 -5
  206. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  207. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  208. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  209. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  210. package/Libraries/Utilities/logError.js +1 -1
  211. package/Libraries/Utilities/stringifySafe.js +3 -3
  212. package/Libraries/Utilities/useMergeRefs.js +2 -2
  213. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  214. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  215. package/flow/bom.js.flow +18 -17
  216. package/flow/dom.js.flow +12 -5
  217. package/flow/global.js +1 -1
  218. package/index.js +9 -0
  219. package/index.win32.js +9 -0
  220. package/index.win32.js.flow +8 -1
  221. package/jest/RefreshControlMock.js +2 -2
  222. package/jest/assetFileTransformer.js +8 -3
  223. package/jest/mockComponent.js +3 -4
  224. package/jest/mockNativeComponent.js +1 -1
  225. package/jest/mocks/ActivityIndicator.js +2 -2
  226. package/jest/mocks/Image.js +2 -2
  227. package/jest/mocks/Modal.js +2 -2
  228. package/jest/mocks/RefreshControl.js +3 -3
  229. package/jest/mocks/RendererProxy.js +2 -2
  230. package/jest/mocks/ScrollView.js +5 -5
  231. package/jest/mocks/Text.js +2 -2
  232. package/jest/mocks/TextInput.js +2 -2
  233. package/jest/mocks/View.js +2 -2
  234. package/jest/mocks/ViewNativeComponent.js +1 -1
  235. package/jest/mocks/requireNativeComponent.js +1 -1
  236. package/jest/mocks/useColorScheme.js +1 -1
  237. package/jest/setup.js +68 -31
  238. package/overrides.json +30 -36
  239. package/package.json +22 -19
  240. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  241. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -2
  242. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  243. package/src/private/components/virtualview/VirtualView.js +14 -21
  244. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  245. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  246. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  247. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  248. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  249. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  250. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  251. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  252. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  253. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  254. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  255. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  256. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  257. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  258. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  259. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  260. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  261. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  262. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  263. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  264. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  265. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  266. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  267. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  268. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  269. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  270. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  271. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  272. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  273. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
  274. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  275. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  276. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  277. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  278. package/src/private/styles/composeStyles.js +1 -1
  279. package/src/private/utilities/toError.js +27 -0
  280. package/src/private/utilities/toExtendedError.js +30 -0
  281. package/src/private/webapis/dom/events/Event.js +1 -1
  282. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  283. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  284. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  285. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  286. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  287. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  288. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  289. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  290. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  291. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  292. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  293. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  294. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  295. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  296. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  297. package/src/private/webapis/performance/LongTasks.js +3 -3
  298. package/src/private/webapis/performance/Performance.js +4 -4
  299. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  300. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  301. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  302. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  303. package/src/types/globals.d.ts +4 -4
  304. package/src-win/Libraries/Components/EnterString.win32.tsx +2 -2
  305. package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +14 -14
  306. package/src-win/index.win32.js.flow +8 -1
  307. package/types/index.d.ts +2 -0
  308. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  309. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +0 -94
  310. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
@@ -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
  win32: 'Consolas', // Win32
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
  win32: 'Consolas', // Win32
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,12 +19,10 @@ 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
  // [Win32] Dont use Animated
29
27
  /*
30
28
  const [state, setState] = useState({
@@ -33,7 +31,7 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
33
31
  });
34
32
 
35
33
  useEffect(() => {
36
- if (props.status === 'PENDING') {
34
+ if (status === 'PENDING') {
37
35
  if (state.animation == null) {
38
36
  const animated = new Animated.Value(0);
39
37
  const animation = Animated.loop(
@@ -69,12 +67,12 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
69
67
  state.animation.stop();
70
68
  }
71
69
  };
72
- }, [props.status, state.animation]);
70
+ }, [status, state.animation]);
73
71
 
74
72
  let image;
75
73
  */
76
74
  let color;
77
- switch (props.status) {
75
+ switch (status) {
78
76
  case 'FAILED':
79
77
  // image = require('./LogBoxImages/alert-triangle.png'); // [win32] Dont use LogBox images
80
78
  color = LogBoxStyle.getErrorColor(1);
@@ -87,10 +85,10 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
87
85
  return null; // [Win32]
88
86
  }
89
87
 
90
- if (props.status === 'COMPLETE' /* [Win32] || image == null */) {
91
- return null;
92
- }
93
-
88
+ // [Win32] 'COMPLETE' and 'NONE' are already handled by the switch default
89
+ // above (which returns null), so status is narrowed to 'FAILED' | 'PENDING'
90
+ // here. The upstream `if (status === 'COMPLETE' || image == null)` check is
91
+ // therefore dead code on Win32 and is omitted.
94
92
  return (
95
93
  <LogBoxButton
96
94
  backgroundColor={{
@@ -98,7 +96,7 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
98
96
  pressed: LogBoxStyle.getBackgroundColor(1),
99
97
  }}
100
98
  hitSlop={{bottom: 8, left: 8, right: 8, top: 8}}
101
- onPress={props.onPress}
99
+ onPress={onPress}
102
100
  style={styles.root}>
103
101
  {/* [Win32] Avoid Animated usage
104
102
  <Animated.Image
@@ -106,7 +104,7 @@ function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
106
104
  style={[
107
105
  styles.image,
108
106
  {tintColor: color},
109
- state.rotate == null || props.status !== 'PENDING'
107
+ state.rotate == null || status !== 'PENDING'
110
108
  ? null
111
109
  : {transform: [{rotate: state.rotate}]},
112
110
  ]}
@@ -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
  win32: '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
  );