@office-iss/react-native-win32 0.80.0 → 0.81.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 (513) hide show
  1. package/.flowconfig +10 -4
  2. package/CHANGELOG.json +127 -13
  3. package/CHANGELOG.md +49 -8
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/Animated.js +0 -1
  27. package/Libraries/Animated/Animated.js.flow +0 -1
  28. package/Libraries/Animated/AnimatedEvent.js +4 -3
  29. package/Libraries/Animated/AnimatedExports.js +0 -1
  30. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  31. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  32. package/Libraries/Animated/AnimatedMock.js +2 -2
  33. package/Libraries/Animated/Easing.js +1 -1
  34. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  35. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  36. package/Libraries/Animated/SpringConfig.js +1 -1
  37. package/Libraries/Animated/animations/Animation.js +10 -2
  38. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  42. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  43. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  45. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  46. package/Libraries/AppState/NativeAppState.js +1 -0
  47. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  48. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  49. package/Libraries/Blob/BlobManager.js +4 -0
  50. package/Libraries/Blob/NativeBlobModule.js +1 -0
  51. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  52. package/Libraries/Blob/URL.js +1 -1
  53. package/Libraries/Blob/URLSearchParams.js +5 -1
  54. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  57. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  60. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  61. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  62. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  63. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  64. package/Libraries/Components/Button.js +10 -7
  65. package/Libraries/Components/Button.win32.js +10 -7
  66. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  67. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  68. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  72. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  73. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  74. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  75. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  76. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  77. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  78. package/Libraries/Components/Pressable/Pressable.js +17 -8
  79. package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
  80. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  81. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  82. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  83. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  84. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  85. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  86. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  87. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  88. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  89. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  90. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  91. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  92. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  93. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  94. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  95. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  96. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  97. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  98. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  99. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  100. package/Libraries/Components/Sound/SoundManager.js +1 -1
  101. package/Libraries/Components/StaticRenderer.js +1 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  104. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  105. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  106. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  107. package/Libraries/Components/Switch/Switch.js +10 -3
  108. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  109. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  110. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  111. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  112. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  113. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  114. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  115. package/Libraries/Components/TextInput/TextInput.js +42 -39
  116. package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  118. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  119. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  120. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  121. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  122. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  125. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  126. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  127. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  128. package/Libraries/Components/Touchable/Position.js +1 -1
  129. package/Libraries/Components/Touchable/Touchable.js +17 -3
  130. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  131. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  132. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  133. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  134. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
  135. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  136. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  137. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  138. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  139. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  140. package/Libraries/Components/View/View.js +114 -29
  141. package/Libraries/Components/View/View.win32.js +17 -3
  142. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  143. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  144. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  145. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  146. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  147. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  148. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  149. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  150. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  151. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  152. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  153. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  154. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  155. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  156. package/Libraries/Core/ExceptionsManager.js +27 -16
  157. package/Libraries/Core/InitializeCore.js +2 -23
  158. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  159. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  160. package/Libraries/Core/ReactNativeVersion.js +3 -2
  161. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  162. package/Libraries/Core/Timers/JSTimers.js +1 -1
  163. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  164. package/Libraries/Core/Timers/immediateShim.js +1 -1
  165. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  166. package/Libraries/Core/checkNativeVersion.js +1 -0
  167. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  168. package/Libraries/Core/setUpReactDevTools.js +21 -4
  169. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  170. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  171. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  172. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  173. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  174. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  175. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  176. package/Libraries/Image/AssetRegistry.js +4 -10
  177. package/Libraries/Image/Image.android.js +113 -107
  178. package/Libraries/Image/Image.ios.js +10 -2
  179. package/Libraries/Image/Image.win32.js +11 -3
  180. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  181. package/Libraries/Image/ImageInjection.js +1 -1
  182. package/Libraries/Image/ImageSource.d.ts +5 -0
  183. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  184. package/Libraries/Image/NativeImageEditor.js +1 -0
  185. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  186. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  187. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  188. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  189. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  190. package/Libraries/Image/RelativeImageStub.js +2 -1
  191. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  192. package/Libraries/Image/resolveAssetSource.js +1 -1
  193. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  194. package/Libraries/Interaction/InteractionManager.js +64 -54
  195. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  196. package/Libraries/Interaction/TaskQueue.js +8 -9
  197. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  198. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  199. package/Libraries/Linking/Linking.js +1 -1
  200. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  201. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  202. package/Libraries/Lists/FlatList.d.ts +9 -5
  203. package/Libraries/Lists/FlatList.js +6 -7
  204. package/Libraries/Lists/SectionList.js +4 -4
  205. package/Libraries/Lists/SectionListModern.js +9 -3
  206. package/Libraries/Lists/VirtualizedList.js +3 -2
  207. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  208. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  209. package/Libraries/LogBox/LogBox.js +72 -99
  210. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  211. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  212. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  213. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  216. package/Libraries/Modal/Modal.d.ts +8 -2
  217. package/Libraries/Modal/Modal.js +24 -3
  218. package/Libraries/Modal/NativeModalManager.js +1 -0
  219. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  220. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  221. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  222. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  223. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  224. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  225. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  226. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  227. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  228. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  229. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  230. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  231. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  232. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  233. package/Libraries/Network/FormData.js +1 -1
  234. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  235. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  236. package/Libraries/Network/RCTNetworking.android.js +2 -2
  237. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  238. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  239. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  240. package/Libraries/Network/XMLHttpRequest.js +3 -3
  241. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  242. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  243. package/Libraries/Pressability/Pressability.js +1 -1
  244. package/Libraries/Pressability/Pressability.win32.js +1 -1
  245. package/Libraries/Promise.js +1 -1
  246. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  247. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  248. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  249. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  250. package/Libraries/ReactNative/AppContainer.js +1 -1
  251. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  252. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  253. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  254. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  255. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  256. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  258. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  259. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  260. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  261. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  262. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  263. package/Libraries/ReactNative/RendererProxy.js +1 -1
  264. package/Libraries/ReactNative/RootTag.js +2 -2
  265. package/Libraries/ReactNative/renderApplication.js +1 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  267. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  268. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  269. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  270. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  271. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  272. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  273. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
  274. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  275. package/Libraries/Settings/Settings.ios.js +1 -1
  276. package/Libraries/Settings/Settings.js +1 -1
  277. package/Libraries/Settings/SettingsFallback.js +1 -1
  278. package/Libraries/Share/NativeShareModule.js +1 -0
  279. package/Libraries/Share/Share.js +1 -1
  280. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  281. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  282. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  283. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  284. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  285. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  286. package/Libraries/StyleSheet/PointPropType.js +1 -1
  287. package/Libraries/StyleSheet/Rect.js +1 -1
  288. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  289. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  290. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  291. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  292. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  293. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  294. package/Libraries/StyleSheet/processColor.js +1 -1
  295. package/Libraries/StyleSheet/processColorArray.js +1 -1
  296. package/Libraries/StyleSheet/processFilter.js +1 -2
  297. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  298. package/Libraries/StyleSheet/processTransform.js +1 -1
  299. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  300. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  301. package/Libraries/Text/Text.d.ts +7 -0
  302. package/Libraries/Text/Text.js +255 -246
  303. package/Libraries/Text/Text.win32.js +294 -285
  304. package/Libraries/Text/TextAncestor.js +3 -9
  305. package/Libraries/Text/TextAncestorContext.js +23 -0
  306. package/Libraries/Text/TextNativeComponent.js +4 -0
  307. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  308. package/Libraries/Text/TextProps.js +2 -5
  309. package/Libraries/Text/TextProps.win32.js +2 -7
  310. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  311. package/Libraries/Types/CodegenTypes.js +1 -1
  312. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  313. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  314. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  315. package/Libraries/Utilities/Appearance.js +1 -1
  316. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  317. package/Libraries/Utilities/DevLoadingView.js +1 -1
  318. package/Libraries/Utilities/DeviceInfo.js +1 -1
  319. package/Libraries/Utilities/Dimensions.js +1 -1
  320. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  321. package/Libraries/Utilities/HMRClient.js +13 -3
  322. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  323. package/Libraries/Utilities/NativeAppearance.js +1 -0
  324. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  325. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  326. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  327. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  328. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  329. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  330. package/Libraries/Utilities/PixelRatio.js +1 -1
  331. package/Libraries/Utilities/Platform.android.js +2 -5
  332. package/Libraries/Utilities/Platform.ios.js +2 -5
  333. package/Libraries/Utilities/Platform.js +1 -1
  334. package/Libraries/Utilities/Platform.js.flow +2 -2
  335. package/Libraries/Utilities/Platform.win32.js +2 -5
  336. package/Libraries/Utilities/PlatformTypes.js +2 -2
  337. package/Libraries/Utilities/RCTLog.js +1 -1
  338. package/Libraries/Utilities/SceneTracker.js +1 -1
  339. package/Libraries/Utilities/binaryToBase64.js +1 -1
  340. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  341. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  342. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  343. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  344. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  345. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  346. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  347. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  348. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  349. package/Libraries/Utilities/logError.js +1 -1
  350. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  351. package/Libraries/Utilities/stringifySafe.js +1 -1
  352. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  353. package/Libraries/Utilities/useColorScheme.js +1 -1
  354. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  355. package/Libraries/Utilities/warnOnce.js +1 -1
  356. package/Libraries/Vibration/NativeVibration.js +1 -0
  357. package/Libraries/Vibration/Vibration.js +1 -2
  358. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  359. package/Libraries/WebSocket/WebSocket.js +1 -1
  360. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  361. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  362. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  363. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  364. package/index.js +22 -2
  365. package/index.win32.js +15 -2
  366. package/interface.js +1 -1
  367. package/jest/MockNativeMethods.js +9 -3
  368. package/jest/RefreshControlMock.js +32 -0
  369. package/jest/assetFileTransformer.js +1 -0
  370. package/jest/local-setup.js +4 -3
  371. package/jest/mock.js +39 -0
  372. package/jest/mockComponent.js +47 -17
  373. package/jest/mockNativeComponent.js +26 -15
  374. package/jest/mocks/AccessibilityInfo.js +62 -0
  375. package/jest/mocks/ActivityIndicator.js +23 -0
  376. package/jest/mocks/AppState.js +19 -0
  377. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  378. package/jest/mocks/Image.js +23 -0
  379. package/jest/mocks/InitializeCore.js +9 -0
  380. package/jest/mocks/Linking.js +28 -0
  381. package/jest/mocks/Modal.js +33 -0
  382. package/jest/mocks/NativeComponentRegistry.js +30 -0
  383. package/jest/mocks/NativeModules.js +239 -0
  384. package/jest/mocks/RefreshControl.js +31 -0
  385. package/jest/mocks/RendererProxy.js +45 -0
  386. package/jest/mocks/ScrollView.js +58 -0
  387. package/jest/mocks/Text.js +27 -0
  388. package/jest/mocks/TextInput.js +32 -0
  389. package/jest/mocks/UIManager.js +60 -0
  390. package/jest/mocks/Vibration.js +16 -0
  391. package/jest/mocks/View.js +27 -0
  392. package/jest/mocks/ViewNativeComponent.js +23 -0
  393. package/jest/mocks/requireNativeComponent.js +22 -0
  394. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  395. package/jest/react-native-env.js +1 -0
  396. package/jest/renderer.js +1 -2
  397. package/jest/resolver.js +1 -0
  398. package/jest/setup.js +64 -445
  399. package/overrides.json +49 -42
  400. package/package.json +20 -20
  401. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  402. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  403. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  404. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  405. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  406. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  407. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  408. package/src/private/components/virtualview/VirtualView.js +145 -0
  409. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  410. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  411. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  412. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  413. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  414. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  415. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  416. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  417. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  418. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  419. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  420. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  421. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  422. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  423. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  424. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  425. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  426. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  427. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  428. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  429. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  430. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  431. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  432. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  433. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  434. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  435. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  436. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  437. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  438. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  439. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  440. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  441. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  442. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  443. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  444. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  445. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  446. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  447. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  448. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  449. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  450. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  451. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  452. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  453. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  454. package/src/private/styles/composeStyles.js +5 -12
  455. package/src/private/types/HostInstance.js +1 -1
  456. package/src/private/webapis/dom/events/Event.js +3 -0
  457. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  458. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  459. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  460. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  461. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  462. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  463. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  464. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  465. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  466. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  467. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  468. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  469. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  470. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  471. package/src/private/webapis/errors/DOMException.js +166 -0
  472. package/src/private/webapis/geometry/DOMRect.js +5 -0
  473. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  474. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  475. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  476. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  477. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  478. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  479. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  480. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  481. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  482. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  483. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  484. package/src/private/webapis/performance/EventTiming.js +1 -1
  485. package/src/private/webapis/performance/LongTasks.js +1 -1
  486. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  487. package/src/private/webapis/performance/Performance.js +20 -9
  488. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  489. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  490. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  491. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  492. package/src/private/webapis/performance/UserTiming.js +1 -1
  493. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  494. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  495. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  496. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  497. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  498. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  499. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  500. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  501. package/src-win/Libraries/Text/Text.d.ts +7 -0
  502. package/types/modules/Devtools.d.ts +23 -9
  503. package/Libraries/BugReporting/BugReporting.js +0 -140
  504. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  505. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  506. package/Libraries/BugReporting/getReactData.js +0 -187
  507. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  508. package/flow/HermesInternalType.js +0 -114
  509. package/flow/console.js +0 -49
  510. package/flow/global.js +0 -88
  511. package/jest/mockModal.js +0 -32
  512. package/jest/mockScrollView.js +0 -35
  513. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -38,268 +38,185 @@ type TextForwardRef = React.ElementRef<
38
38
  const TextImpl: component(
39
39
  ref?: React.RefSetter<TextForwardRef>,
40
40
  ...props: TextProps
41
- ) = React.forwardRef(
42
- (
43
- {
44
- accessible,
45
- accessibilityControls, // Win32
46
- accessibilityDescribedBy, // Win32
47
- accessibilityDescription, // Win32
48
- accessibilityLabel,
49
- accessibilityLevel, // Win32
50
- accessibilityPositionInSet, // Win32
51
- accessibilitySetSize, // Win32
52
- accessibilityState,
53
- allowFontScaling,
54
- 'aria-busy': ariaBusy,
55
- 'aria-checked': ariaChecked,
56
- 'aria-controls': ariaControls, // Win32
57
- 'aria-describedby': ariaDescribedBy, // Win32
58
- 'aria-description': ariaDescription, // Win32
59
- 'aria-disabled': ariaDisabled,
60
- 'aria-expanded': ariaExpanded,
61
- 'aria-label': ariaLabel,
62
- 'aria-level': ariaLevel, // Win32
63
- 'aria-multiselectable': ariaMultiselectable, // Win32
64
- 'aria-posinset': ariaPosinset, // Win32
65
- 'aria-required': ariaRequired, // Win32
66
- 'aria-selected': ariaSelected,
67
- 'aria-setsize': ariaSetsize, // Win32
68
- children,
69
- ellipsizeMode,
70
- disabled,
71
- id,
72
- nativeID,
73
- numberOfLines,
74
- onLongPress,
75
- onPress,
76
- onPressIn,
77
- onPressOut,
78
- onResponderGrant,
79
- onResponderMove,
80
- onResponderRelease,
81
- onResponderTerminate,
82
- onResponderTerminationRequest,
83
- onStartShouldSetResponder,
84
- pressRetentionOffset,
85
- selectable,
86
- selectionColor,
87
- suppressHighlighting,
88
- style,
89
- ...restProps
90
- }: TextProps,
91
- forwardedRef,
92
- ) => {
93
- const _accessibilityLabel = ariaLabel ?? accessibilityLabel;
94
- const _accessibilityControls = ariaControls ?? accessibilityControls; // Win32
95
- const _accessibilityDescribedBy =
96
- ariaDescribedBy ?? accessibilityDescribedBy; // Win32
97
- const _accessibilityDescription =
98
- ariaDescription ?? accessibilityDescription; // Win32
99
- const _accessibilityLevel = ariaLevel ?? accessibilityLevel; // Win32
100
- const _accessibilityPositionInSet =
101
- ariaPosinset ?? accessibilityPositionInSet; // Win32
102
- const _accessibilitySetSize = ariaSetsize ?? accessibilitySetSize; // Win32
103
-
104
- let _accessibilityState: ?TextProps['accessibilityState'] =
105
- accessibilityState;
106
- if (
107
- ariaBusy != null ||
108
- ariaChecked != null ||
109
- ariaDisabled != null ||
110
- ariaExpanded != null ||
111
- ariaSelected != null
112
- ) {
113
- if (_accessibilityState != null) {
114
- _accessibilityState = {
115
- busy: ariaBusy ?? _accessibilityState.busy,
116
- checked: ariaChecked ?? _accessibilityState.checked,
117
- disabled: ariaDisabled ?? _accessibilityState.disabled,
118
- expanded: ariaExpanded ?? _accessibilityState.expanded,
119
- multiselectable:
120
- ariaMultiselectable ?? accessibilityState?.multiselectable, // Win32
121
- required: ariaRequired ?? accessibilityState?.required, // Win32
122
- selected: ariaSelected ?? _accessibilityState.selected,
123
- };
124
- } else {
125
- _accessibilityState = {
126
- busy: ariaBusy,
127
- checked: ariaChecked,
128
- disabled: ariaDisabled,
129
- expanded: ariaExpanded,
130
- multiselectable: ariaMultiselectable, // Win32,
131
- required: ariaRequired, // Win32
132
- selected: ariaSelected,
133
- };
134
- }
41
+ ) = ({
42
+ ref: forwardedRef,
43
+ accessible,
44
+ accessibilityControls, // Win32
45
+ accessibilityDescribedBy, // Win32
46
+ accessibilityDescription, // Win32
47
+ accessibilityLabel,
48
+ accessibilityLevel, // Win32
49
+ accessibilityPositionInSet, // Win32
50
+ accessibilitySetSize, // Win32
51
+ accessibilityState,
52
+ allowFontScaling,
53
+ 'aria-busy': ariaBusy,
54
+ 'aria-checked': ariaChecked,
55
+ 'aria-controls': ariaControls, // Win32
56
+ 'aria-describedby': ariaDescribedBy, // Win32
57
+ 'aria-description': ariaDescription, // Win32
58
+ 'aria-disabled': ariaDisabled,
59
+ 'aria-expanded': ariaExpanded,
60
+ 'aria-label': ariaLabel,
61
+ 'aria-level': ariaLevel, // Win32
62
+ 'aria-multiselectable': ariaMultiselectable, // Win32
63
+ 'aria-posinset': ariaPosinset, // Win32
64
+ 'aria-required': ariaRequired, // Win32
65
+ 'aria-selected': ariaSelected,
66
+ 'aria-setsize': ariaSetsize, // Win32
67
+ children,
68
+ ellipsizeMode,
69
+ disabled,
70
+ id,
71
+ nativeID,
72
+ numberOfLines,
73
+ onLongPress,
74
+ onPress,
75
+ onPressIn,
76
+ onPressOut,
77
+ onResponderGrant,
78
+ onResponderMove,
79
+ onResponderRelease,
80
+ onResponderTerminate,
81
+ onResponderTerminationRequest,
82
+ onStartShouldSetResponder,
83
+ pressRetentionOffset,
84
+ selectable,
85
+ selectionColor,
86
+ suppressHighlighting,
87
+ style,
88
+ ...restProps
89
+ }: {
90
+ ref?: React.RefSetter<TextForwardRef>,
91
+ ...TextProps,
92
+ }) => {
93
+ const _accessibilityLabel = ariaLabel ?? accessibilityLabel;
94
+ const _accessibilityControls = ariaControls ?? accessibilityControls; // Win32
95
+ const _accessibilityDescribedBy = ariaDescribedBy ?? accessibilityDescribedBy; // Win32
96
+ const _accessibilityDescription = ariaDescription ?? accessibilityDescription; // Win32
97
+ const _accessibilityLevel = ariaLevel ?? accessibilityLevel; // Win32
98
+ const _accessibilityPositionInSet =
99
+ ariaPosinset ?? accessibilityPositionInSet; // Win32
100
+ const _accessibilitySetSize = ariaSetsize ?? accessibilitySetSize; // Win32
101
+
102
+ let _accessibilityState: ?TextProps['accessibilityState'] =
103
+ accessibilityState;
104
+ if (
105
+ ariaBusy != null ||
106
+ ariaChecked != null ||
107
+ ariaDisabled != null ||
108
+ ariaExpanded != null ||
109
+ ariaSelected != null
110
+ ) {
111
+ if (_accessibilityState != null) {
112
+ _accessibilityState = {
113
+ busy: ariaBusy ?? _accessibilityState.busy,
114
+ checked: ariaChecked ?? _accessibilityState.checked,
115
+ disabled: ariaDisabled ?? _accessibilityState.disabled,
116
+ expanded: ariaExpanded ?? _accessibilityState.expanded,
117
+ multiselectable:
118
+ ariaMultiselectable ?? accessibilityState?.multiselectable, // Win32
119
+ required: ariaRequired ?? accessibilityState?.required, // Win32
120
+ selected: ariaSelected ?? _accessibilityState.selected,
121
+ };
122
+ } else {
123
+ _accessibilityState = {
124
+ busy: ariaBusy,
125
+ checked: ariaChecked,
126
+ disabled: ariaDisabled,
127
+ expanded: ariaExpanded,
128
+ multiselectable: ariaMultiselectable, // Win32,
129
+ required: ariaRequired, // Win32
130
+ selected: ariaSelected,
131
+ };
135
132
  }
133
+ }
136
134
 
137
- const _accessibilityStateDisabled = _accessibilityState?.disabled;
138
- const _disabled = disabled ?? _accessibilityStateDisabled;
135
+ const _accessibilityStateDisabled = _accessibilityState?.disabled;
136
+ const _disabled = disabled ?? _accessibilityStateDisabled;
139
137
 
140
- const isPressable =
141
- (onPress != null ||
142
- onLongPress != null ||
143
- onStartShouldSetResponder != null) &&
144
- _disabled !== true;
138
+ const isPressable =
139
+ (onPress != null ||
140
+ onLongPress != null ||
141
+ onStartShouldSetResponder != null) &&
142
+ _disabled !== true;
145
143
 
146
- // TODO: Move this processing to the view configuration.
147
- const _selectionColor =
148
- selectionColor != null ? processColor(selectionColor) : undefined;
144
+ // TODO: Move this processing to the view configuration.
145
+ const _selectionColor =
146
+ selectionColor != null ? processColor(selectionColor) : undefined;
149
147
 
150
- let _style = style;
151
- if (__DEV__) {
152
- if (PressabilityDebug.isEnabled() && onPress != null) {
153
- _style = [style, {color: 'magenta'}];
154
- }
148
+ let _style = style;
149
+ if (__DEV__) {
150
+ if (PressabilityDebug.isEnabled() && onPress != null) {
151
+ _style = [style, {color: 'magenta'}];
155
152
  }
153
+ }
156
154
 
157
- let _numberOfLines = numberOfLines;
158
- if (_numberOfLines != null && !(_numberOfLines >= 0)) {
159
- if (__DEV__) {
160
- console.error(
161
- `'numberOfLines' in <Text> must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,
162
- );
163
- }
164
- _numberOfLines = 0;
155
+ let _numberOfLines = numberOfLines;
156
+ if (_numberOfLines != null && !(_numberOfLines >= 0)) {
157
+ if (__DEV__) {
158
+ console.error(
159
+ `'numberOfLines' in <Text> must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,
160
+ );
165
161
  }
166
-
167
- let _selectable = selectable;
168
-
169
- let processedStyle = flattenStyle<TextStyleProp>(_style);
170
- if (processedStyle != null) {
171
- let overrides: ?{...TextStyleInternal} = null;
172
- if (typeof processedStyle.fontWeight === 'number') {
173
- overrides = overrides || ({}: {...TextStyleInternal});
174
- overrides.fontWeight =
175
- // $FlowFixMe[incompatible-cast]
176
- (processedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);
177
- }
178
-
179
- if (processedStyle.userSelect != null) {
180
- _selectable = userSelectToSelectableMap[processedStyle.userSelect];
181
- overrides = overrides || ({}: {...TextStyleInternal});
182
- overrides.userSelect = undefined;
183
- }
184
-
185
- if (processedStyle.verticalAlign != null) {
186
- overrides = overrides || ({}: {...TextStyleInternal});
187
- overrides.textAlignVertical =
188
- verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];
189
- overrides.verticalAlign = undefined;
190
- }
191
-
192
- if (overrides != null) {
193
- // $FlowFixMe[incompatible-type]
194
- _style = [_style, overrides];
195
- }
162
+ _numberOfLines = 0;
163
+ }
164
+
165
+ let _selectable = selectable;
166
+
167
+ let processedStyle = flattenStyle<TextStyleProp>(_style);
168
+ if (processedStyle != null) {
169
+ let overrides: ?{...TextStyleInternal} = null;
170
+ if (typeof processedStyle.fontWeight === 'number') {
171
+ overrides = overrides || ({}: {...TextStyleInternal});
172
+ overrides.fontWeight =
173
+ // $FlowFixMe[incompatible-cast]
174
+ (processedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);
196
175
  }
197
176
 
198
- const _nativeID = id ?? nativeID;
199
-
200
- const hasTextAncestor = useContext(TextAncestor);
201
- if (hasTextAncestor) {
202
- if (isPressable) {
203
- return (
204
- <NativePressableVirtualText
205
- ref={forwardedRef}
206
- textProps={{
207
- ...restProps,
208
- accessibilityLabel: _accessibilityLabel,
209
- accessibilityState: _accessibilityState,
210
- accessibilityControls: _accessibilityControls, // Win32
211
- accessibilityDescribedBy: _accessibilityDescribedBy, // Win32
212
- accessibilityDescription: _accessibilityDescription, // Win32
213
- accessibilityLevel: _accessibilityLevel, // Win32
214
- accessibilityPositionInSet: _accessibilityPositionInSet, // Win32
215
- accessibilitySetSize: _accessibilitySetSize, // Win32
216
- nativeID: _nativeID,
217
- numberOfLines: _numberOfLines,
218
- selectable: _selectable,
219
- selectionColor: _selectionColor,
220
- style: _style,
221
- disabled: disabled,
222
- children,
223
- }}
224
- textPressabilityProps={{
225
- onLongPress,
226
- onPress,
227
- onPressIn,
228
- onPressOut,
229
- onResponderGrant,
230
- onResponderMove,
231
- onResponderRelease,
232
- onResponderTerminate,
233
- onResponderTerminationRequest,
234
- onStartShouldSetResponder,
235
- pressRetentionOffset,
236
- suppressHighlighting,
237
- }}
238
- />
239
- );
240
- }
177
+ if (processedStyle.userSelect != null) {
178
+ _selectable = userSelectToSelectableMap[processedStyle.userSelect];
179
+ overrides = overrides || ({}: {...TextStyleInternal});
180
+ overrides.userSelect = undefined;
181
+ }
241
182
 
242
- return (
243
- <NativeVirtualText
244
- {...restProps}
245
- accessibilityLabel={_accessibilityLabel}
246
- accessibilityState={_accessibilityState}
247
- accessibilityControls={_accessibilityControls} // Win32
248
- accessibilityDescribedBy={_accessibilityDescribedBy} // Win32
249
- accessibilityDescription={_accessibilityDescription} // Win32
250
- accessibilityLevel={_accessibilityLevel} // Win32
251
- accessibilityPositionInSet={_accessibilityPositionInSet} // Win32
252
- accessibilitySetSize={_accessibilitySetSize} // Win32
253
- nativeID={_nativeID}
254
- numberOfLines={_numberOfLines}
255
- ref={forwardedRef}
256
- selectable={_selectable}
257
- selectionColor={_selectionColor}
258
- style={_style}
259
- disabled={disabled}>
260
- {children}
261
- </NativeVirtualText>
262
- );
183
+ if (processedStyle.verticalAlign != null) {
184
+ overrides = overrides || ({}: {...TextStyleInternal});
185
+ overrides.textAlignVertical =
186
+ verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];
187
+ overrides.verticalAlign = undefined;
263
188
  }
264
189
 
265
- // If the disabled prop and accessibilityState.disabled are out of sync but not both in
266
- // falsy states we need to update the accessibilityState object to use the disabled prop.
267
- if (
268
- _disabled !== _accessibilityStateDisabled &&
269
- ((_disabled != null && _disabled !== false) ||
270
- (_accessibilityStateDisabled != null &&
271
- _accessibilityStateDisabled !== false))
272
- ) {
273
- _accessibilityState = {..._accessibilityState, disabled: _disabled};
190
+ if (overrides != null) {
191
+ // $FlowFixMe[incompatible-type]
192
+ _style = [_style, overrides];
274
193
  }
194
+ }
275
195
 
276
- const _accessible = Platform.select({
277
- ios: accessible !== false,
278
- android:
279
- accessible == null
280
- ? onPress != null || onLongPress != null
281
- : accessible,
282
- default: accessible !== false, // [Windows #13996 - default value is accessible !== false]
283
- });
196
+ const _nativeID = id ?? nativeID;
284
197
 
285
- let nativeText = null;
198
+ const hasTextAncestor = useContext(TextAncestor);
199
+ if (hasTextAncestor) {
286
200
  if (isPressable) {
287
- nativeText = (
288
- <NativePressableText
201
+ return (
202
+ <NativePressableVirtualText
289
203
  ref={forwardedRef}
290
204
  textProps={{
291
205
  ...restProps,
292
206
  accessibilityLabel: _accessibilityLabel,
293
207
  accessibilityState: _accessibilityState,
294
- accessible: _accessible,
295
- allowFontScaling: allowFontScaling !== false,
296
- disabled: _disabled,
297
- ellipsizeMode: ellipsizeMode ?? 'tail',
208
+ accessibilityControls: _accessibilityControls, // Win32
209
+ accessibilityDescribedBy: _accessibilityDescribedBy, // Win32
210
+ accessibilityDescription: _accessibilityDescription, // Win32
211
+ accessibilityLevel: _accessibilityLevel, // Win32
212
+ accessibilityPositionInSet: _accessibilityPositionInSet, // Win32
213
+ accessibilitySetSize: _accessibilitySetSize, // Win32
298
214
  nativeID: _nativeID,
299
215
  numberOfLines: _numberOfLines,
300
216
  selectable: _selectable,
301
217
  selectionColor: _selectionColor,
302
218
  style: _style,
219
+ disabled: disabled,
303
220
  children,
304
221
  }}
305
222
  textPressabilityProps={{
@@ -318,57 +235,135 @@ const TextImpl: component(
318
235
  }}
319
236
  />
320
237
  );
321
- } else {
322
- nativeText = (
323
- <NativeText
324
- {...restProps}
325
- accessibilityLabel={_accessibilityLabel}
326
- accessibilityState={_accessibilityState}
327
- accessible={_accessible}
328
- allowFontScaling={allowFontScaling !== false}
329
- disabled={_disabled}
330
- ellipsizeMode={ellipsizeMode ?? 'tail'}
331
- nativeID={_nativeID}
332
- numberOfLines={_numberOfLines}
333
- ref={forwardedRef}
334
- selectable={_selectable}
335
- selectionColor={_selectionColor}
336
- style={_style}>
337
- {children}
338
- </NativeText>
339
- );
340
- }
341
-
342
- if (children == null) {
343
- return nativeText;
344
238
  }
345
239
 
346
- // If the children do not contain a JSX element it would not be possible to have a
347
- // nested `Text` component so we can skip adding the `TextAncestor` context wrapper
348
- // which has a performance overhead. Since we do this for performance reasons we need
349
- // to keep the check simple to avoid regressing overall perf. For this reason the
350
- // `children.length` constant is set to `3`, this should be a reasonable tradeoff
351
- // to capture the majority of `Text` uses but also not make this check too expensive.
352
- if (Array.isArray(children) && children.length <= 3) {
353
- let hasNonTextChild = false;
354
- for (let child of children) {
355
- if (child != null && typeof child === 'object') {
356
- hasNonTextChild = true;
357
- break;
358
- }
359
- }
360
- if (!hasNonTextChild) {
361
- return nativeText;
240
+ return (
241
+ <NativeVirtualText
242
+ {...restProps}
243
+ accessibilityLabel={_accessibilityLabel}
244
+ accessibilityState={_accessibilityState}
245
+ accessibilityControls={_accessibilityControls} // Win32
246
+ accessibilityDescribedBy={_accessibilityDescribedBy} // Win32
247
+ accessibilityDescription={_accessibilityDescription} // Win32
248
+ accessibilityLevel={_accessibilityLevel} // Win32
249
+ accessibilityPositionInSet={_accessibilityPositionInSet} // Win32
250
+ accessibilitySetSize={_accessibilitySetSize} // Win32
251
+ nativeID={_nativeID}
252
+ numberOfLines={_numberOfLines}
253
+ ref={forwardedRef}
254
+ selectable={_selectable}
255
+ selectionColor={_selectionColor}
256
+ style={_style}
257
+ disabled={disabled}>
258
+ {children}
259
+ </NativeVirtualText>
260
+ );
261
+ }
262
+
263
+ // If the disabled prop and accessibilityState.disabled are out of sync but not both in
264
+ // falsy states we need to update the accessibilityState object to use the disabled prop.
265
+ if (
266
+ _disabled !== _accessibilityStateDisabled &&
267
+ ((_disabled != null && _disabled !== false) ||
268
+ (_accessibilityStateDisabled != null &&
269
+ _accessibilityStateDisabled !== false))
270
+ ) {
271
+ _accessibilityState = {..._accessibilityState, disabled: _disabled};
272
+ }
273
+
274
+ const _accessible = Platform.select({
275
+ ios: accessible !== false,
276
+ android:
277
+ accessible == null ? onPress != null || onLongPress != null : accessible,
278
+ default: accessible !== false, // [Windows #13996 - default value is accessible !== false]
279
+ });
280
+
281
+ let nativeText = null;
282
+ if (isPressable) {
283
+ nativeText = (
284
+ <NativePressableText
285
+ ref={forwardedRef}
286
+ textProps={{
287
+ ...restProps,
288
+ accessibilityLabel: _accessibilityLabel,
289
+ accessibilityState: _accessibilityState,
290
+ accessible: _accessible,
291
+ allowFontScaling: allowFontScaling !== false,
292
+ disabled: _disabled,
293
+ ellipsizeMode: ellipsizeMode ?? 'tail',
294
+ nativeID: _nativeID,
295
+ numberOfLines: _numberOfLines,
296
+ selectable: _selectable,
297
+ selectionColor: _selectionColor,
298
+ style: _style,
299
+ children,
300
+ }}
301
+ textPressabilityProps={{
302
+ onLongPress,
303
+ onPress,
304
+ onPressIn,
305
+ onPressOut,
306
+ onResponderGrant,
307
+ onResponderMove,
308
+ onResponderRelease,
309
+ onResponderTerminate,
310
+ onResponderTerminationRequest,
311
+ onStartShouldSetResponder,
312
+ pressRetentionOffset,
313
+ suppressHighlighting,
314
+ }}
315
+ />
316
+ );
317
+ } else {
318
+ nativeText = (
319
+ <NativeText
320
+ {...restProps}
321
+ accessibilityLabel={_accessibilityLabel}
322
+ accessibilityState={_accessibilityState}
323
+ accessible={_accessible}
324
+ allowFontScaling={allowFontScaling !== false}
325
+ disabled={_disabled}
326
+ ellipsizeMode={ellipsizeMode ?? 'tail'}
327
+ nativeID={_nativeID}
328
+ numberOfLines={_numberOfLines}
329
+ ref={forwardedRef}
330
+ selectable={_selectable}
331
+ selectionColor={_selectionColor}
332
+ style={_style}>
333
+ {children}
334
+ </NativeText>
335
+ );
336
+ }
337
+
338
+ if (children == null) {
339
+ return nativeText;
340
+ }
341
+
342
+ // If the children do not contain a JSX element it would not be possible to have a
343
+ // nested `Text` component so we can skip adding the `TextAncestor` context wrapper
344
+ // which has a performance overhead. Since we do this for performance reasons we need
345
+ // to keep the check simple to avoid regressing overall perf. For this reason the
346
+ // `children.length` constant is set to `3`, this should be a reasonable tradeoff
347
+ // to capture the majority of `Text` uses but also not make this check too expensive.
348
+ if (Array.isArray(children) && children.length <= 3) {
349
+ let hasNonTextChild = false;
350
+ for (let child of children) {
351
+ if (child != null && typeof child === 'object') {
352
+ hasNonTextChild = true;
353
+ break;
362
354
  }
363
- } else if (typeof children !== 'object') {
355
+ }
356
+ if (!hasNonTextChild) {
364
357
  return nativeText;
365
358
  }
359
+ } else if (typeof children !== 'object') {
360
+ return nativeText;
361
+ }
366
362
 
367
- return (
368
- <TextAncestor.Provider value={true}>{nativeText}</TextAncestor.Provider>
369
- );
370
- },
371
- );
363
+ return (
364
+ <TextAncestor.Provider value={true}>{nativeText}</TextAncestor.Provider>
365
+ );
366
+ };
372
367
 
373
368
  TextImpl.displayName = 'Text';
374
369
 
@@ -520,7 +515,14 @@ type NativePressableTextProps = $ReadOnly<{
520
515
  const NativePressableVirtualText: component(
521
516
  ref: React.RefSetter<TextForwardRef>,
522
517
  ...props: NativePressableTextProps
523
- ) = React.forwardRef(({textProps, textPressabilityProps}, forwardedRef) => {
518
+ ) = ({
519
+ ref: forwardedRef,
520
+ textProps,
521
+ textPressabilityProps,
522
+ }: {
523
+ ref?: React.RefSetter<TextForwardRef>,
524
+ ...NativePressableTextProps,
525
+ }) => {
524
526
  const [isHighlighted, eventHandlersForText] = useTextPressability(
525
527
  textPressabilityProps,
526
528
  );
@@ -534,7 +536,7 @@ const NativePressableVirtualText: component(
534
536
  ref={forwardedRef}
535
537
  />
536
538
  );
537
- });
539
+ };
538
540
 
539
541
  /**
540
542
  * Wrap the NativeText component and initialize pressability.
@@ -545,7 +547,14 @@ const NativePressableVirtualText: component(
545
547
  const NativePressableText: component(
546
548
  ref: React.RefSetter<TextForwardRef>,
547
549
  ...props: NativePressableTextProps
548
- ) = React.forwardRef(({textProps, textPressabilityProps}, forwardedRef) => {
550
+ ) = ({
551
+ ref: forwardedRef,
552
+ textProps,
553
+ textPressabilityProps,
554
+ }: {
555
+ ref?: React.RefSetter<TextForwardRef>,
556
+ ...NativePressableTextProps,
557
+ }) => {
549
558
  const [isHighlighted, eventHandlersForText] = useTextPressability(
550
559
  textPressabilityProps,
551
560
  );
@@ -559,7 +568,7 @@ const NativePressableText: component(
559
568
  ref={forwardedRef}
560
569
  />
561
570
  );
562
- });
571
+ };
563
572
 
564
573
  const userSelectToSelectableMap = {
565
574
  auto: true,
@@ -574,6 +583,6 @@ const verticalAlignToTextAlignVerticalMap = {
574
583
  top: 'top',
575
584
  bottom: 'bottom',
576
585
  middle: 'center',
577
- };
586
+ } as const;
578
587
 
579
588
  export default TextImpl;