react-native-windows 0.81.1 → 0.82.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 (724) hide show
  1. package/.flowconfig +11 -10
  2. package/Directory.Build.props +3 -3
  3. package/Folly/Folly.vcxproj +1 -3
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  5. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  6. package/Libraries/Animated/Animated.d.ts +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +1 -1
  8. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  9. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  10. package/Libraries/Animated/AnimatedMock.js +1 -1
  11. package/Libraries/Animated/Easing.js +2 -0
  12. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  13. package/Libraries/Animated/animations/Animation.js +19 -20
  14. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  15. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  16. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  19. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  20. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  21. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  24. package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/MessageQueue.js +4 -0
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  28. package/Libraries/Blob/BlobManager.js +1 -1
  29. package/Libraries/Blob/URLSearchParams.js +2 -0
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  32. package/Libraries/Components/Button.js +1 -1
  33. package/Libraries/Components/Button.windows.js +1 -1
  34. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  35. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  37. package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  41. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  42. package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +2 -2
  46. package/Libraries/Components/Switch/Switch.windows.js +2 -2
  47. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  48. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
  51. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  52. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  56. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  57. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  59. package/Libraries/Components/View/View.js +81 -167
  60. package/Libraries/Components/View/View.windows.js +202 -302
  61. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  62. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
  63. package/Libraries/Core/ExceptionsManager.js +4 -2
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  65. package/Libraries/Core/ReactNativeVersion.js +37 -10
  66. package/Libraries/Core/Timers/JSTimers.js +3 -1
  67. package/Libraries/Core/Timers/immediateShim.js +1 -1
  68. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  69. package/Libraries/Core/setUpPerformance.js +2 -1
  70. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  71. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  72. package/Libraries/Image/Image.android.js +327 -111
  73. package/Libraries/Image/Image.ios.js +6 -1
  74. package/Libraries/Image/Image.windows.js +28 -61
  75. package/Libraries/Image/ImageSourceUtils.js +8 -2
  76. package/Libraries/Image/resolveAssetSource.js +1 -1
  77. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  78. package/Libraries/Interaction/InteractionManager.js +118 -167
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  81. package/Libraries/Lists/FlatList.js +5 -6
  82. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  83. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  84. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  85. package/Libraries/Modal/Modal.js +3 -3
  86. package/Libraries/Modal/Modal.windows.js +2 -2
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  88. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  89. package/Libraries/Network/RCTNetworking.android.js +1 -1
  90. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  91. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  92. package/Libraries/Network/XMLHttpRequest.js +20 -5
  93. package/Libraries/Network/convertRequestBody.js +1 -1
  94. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  95. package/Libraries/Pressability/HoverState.js +2 -0
  96. package/Libraries/Pressability/Pressability.js +1 -1
  97. package/Libraries/Pressability/Pressability.windows.js +5 -5
  98. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  99. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  100. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  103. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  104. package/Libraries/ReactNative/UIManager.js +3 -3
  105. package/Libraries/ReactNative/renderApplication.js +1 -0
  106. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  107. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  108. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  109. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  110. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  113. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  114. package/Libraries/Share/Share.js +4 -0
  115. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  118. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  119. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  120. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  121. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  122. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  123. package/Libraries/StyleSheet/processFilter.js +5 -5
  124. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  125. package/Libraries/Text/Text.js +534 -234
  126. package/Libraries/Text/Text.windows.js +622 -265
  127. package/Libraries/Text/TextNativeComponent.js +2 -2
  128. package/Libraries/Utilities/Appearance.d.ts +3 -5
  129. package/Libraries/Utilities/Appearance.js +5 -17
  130. package/Libraries/Utilities/HMRClient.js +2 -1
  131. package/Libraries/Utilities/Platform.android.js +3 -3
  132. package/Libraries/Utilities/Platform.d.ts +1 -0
  133. package/Libraries/Utilities/Platform.ios.js +1 -1
  134. package/Libraries/Utilities/Platform.windows.js +3 -3
  135. package/Libraries/Utilities/PlatformTypes.js +1 -1
  136. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  137. package/Libraries/Utilities/SceneTracker.js +1 -1
  138. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  139. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  140. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  142. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  143. package/Libraries/Utilities/useMergeRefs.js +1 -1
  144. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  145. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  146. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  147. package/Microsoft.ReactNative/App.xaml +5 -0
  148. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  149. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  150. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  151. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  152. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
  153. package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
  154. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
  155. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
  156. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
  157. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
  158. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
  159. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
  160. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +65 -32
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
  169. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  170. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
  171. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
  172. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
  173. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
  174. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
  175. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
  176. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
  177. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
  178. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
  180. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  181. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +550 -4
  182. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
  183. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
  184. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
  185. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  186. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  187. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
  188. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
  189. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
  190. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
  191. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
  192. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  193. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
  194. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  195. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  196. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
  197. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
  198. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  199. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  200. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  201. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  202. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  203. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  204. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
  205. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  206. package/Microsoft.ReactNative/IReactContext.h +0 -7
  207. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  208. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  209. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  210. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  211. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  212. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
  213. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  214. package/Microsoft.ReactNative/JsiApi.h +2 -3
  215. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  216. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
  217. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  218. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  219. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  220. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  221. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  222. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  223. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  224. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  225. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  226. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  227. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  228. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  229. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  230. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  231. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  232. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  233. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  234. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
  235. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  236. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  237. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  238. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  239. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  240. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  241. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  242. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  243. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  244. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  245. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  246. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  247. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  248. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  249. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  250. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  251. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  252. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  253. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  254. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  255. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  256. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  257. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  258. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  259. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  260. package/Microsoft.ReactNative/Theme.idl +0 -2
  261. package/Microsoft.ReactNative/Timer.cpp +3 -2
  262. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  263. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  264. package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
  265. package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
  266. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  267. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  268. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  269. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  270. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  271. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  272. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  273. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  274. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  275. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  276. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  277. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  278. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  279. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  280. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  281. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  282. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  283. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  284. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  285. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  286. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  287. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  288. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  289. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  290. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  291. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  292. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  293. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  294. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  295. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  296. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
  297. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  298. package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
  299. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  300. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  301. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  302. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  303. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  304. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  305. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  306. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  307. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  308. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  309. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  310. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  311. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  312. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  313. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  314. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  315. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  316. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  317. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  318. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  319. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  320. package/PropertySheets/Bundle.Common.targets +1 -1
  321. package/PropertySheets/Bundle.props +3 -4
  322. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  323. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  324. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  325. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  326. package/PropertySheets/JSEngine.props +1 -1
  327. package/PropertySheets/NuGet.LockFile.props +0 -8
  328. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  329. package/PropertySheets/React.Cpp.props +3 -5
  330. package/PropertySheets/WinUI.props +3 -3
  331. package/README.md +1 -5
  332. package/ReactCommon/ReactCommon.vcxproj +12 -31
  333. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  334. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  338. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  339. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  340. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  341. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  342. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  343. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  344. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  345. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  346. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  347. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  348. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  349. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  350. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  351. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  352. package/ReactCommon/cgmanifest.json +1 -1
  353. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  354. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  355. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  356. package/Scripts/creaternwapp.cmd +1 -1
  357. package/Shared/DevServerHelper.h +17 -21
  358. package/Shared/DevSettings.h +1 -25
  359. package/Shared/DevSupportManager.cpp +0 -50
  360. package/Shared/DevSupportManager.h +0 -4
  361. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  362. package/Shared/HermesRuntimeHolder.cpp +0 -31
  363. package/Shared/HermesRuntimeHolder.h +0 -14
  364. package/Shared/IDevSupportManager.h +0 -6
  365. package/Shared/InstanceManager.cpp +0 -97
  366. package/Shared/InstanceManager.h +0 -53
  367. package/Shared/JSI/ScriptStore.h +1 -1
  368. package/Shared/Logging.cpp +1 -12
  369. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  370. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  371. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  372. package/Shared/OInstance.cpp +144 -424
  373. package/Shared/OInstance.h +0 -81
  374. package/Shared/Shared.vcxitems +83 -203
  375. package/Shared/Shared.vcxitems.filters +8 -67
  376. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  377. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  378. package/Shared/TurboModuleManager.cpp +0 -4
  379. package/Shared/Utils.cpp +26 -0
  380. package/Shared/Utils.h +3 -0
  381. package/codegen/NativeDOMSpec.g.h +41 -35
  382. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  383. package/codegen/NativePerformanceSpec.g.h +47 -35
  384. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
  385. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
  386. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
  387. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
  388. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
  389. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
  390. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
  391. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
  392. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  393. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  394. package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
  395. package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
  396. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  397. package/codegen/react/components/rnwcore/Props.h +51 -2
  398. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
  399. package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
  400. package/codegen/react/components/rnwcore/Switch.g.h +14 -0
  401. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
  402. package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
  403. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  404. package/codegen/rnwcoreJSI-generated.cpp +106 -51
  405. package/codegen/rnwcoreJSI.h +148 -67
  406. package/fmt/cgmanifest.json +1 -1
  407. package/fmt/fmt.vcxproj +0 -8
  408. package/index.js +8 -2
  409. package/index.windows.js +8 -2
  410. package/jest/local-setup.js +2 -2
  411. package/jest/mock.js +1 -1
  412. package/jest/mockComponent.js +9 -9
  413. package/jest/mockNativeComponent.js +3 -2
  414. package/jest/mocks/Modal.js +1 -1
  415. package/jest/mocks/ScrollView.js +1 -1
  416. package/jest/mocks/ViewNativeComponent.js +1 -1
  417. package/jest/setup.js +23 -12
  418. package/just-task.js +14 -0
  419. package/package.json +31 -32
  420. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  421. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  422. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  423. package/src/private/components/virtualview/VirtualView.js +43 -12
  424. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  425. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  426. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  427. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  428. package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
  429. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  430. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
  431. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  432. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  433. package/src/private/types/HostInstance.js +4 -1
  434. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  435. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  436. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  437. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  438. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  439. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  440. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  441. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  442. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  443. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  444. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  445. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  446. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  447. package/src/private/webapis/performance/EventTiming.js +6 -10
  448. package/src/private/webapis/performance/Performance.js +309 -164
  449. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  450. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  451. package/src/private/webapis/performance/UserTiming.js +71 -18
  452. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  453. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  454. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  455. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  456. package/stubs/double-conversion/README.md +1 -1
  457. package/template/cpp-lib/proj/MyLib.sln +0 -5
  458. package/template/cpp-lib/src/pch.h +0 -5
  459. package/template/cs-lib/proj/MyLib.sln +0 -5
  460. package/template/metro.config.js +1 -0
  461. package/templates/cpp-app/metro.config.js +2 -1
  462. package/templates/cpp-app/windows/MyApp.sln +0 -5
  463. package/templates/cpp-lib/example/metro.config.js +3 -4
  464. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  465. package/Chakra/Chakra.vcxitems +0 -32
  466. package/Chakra/Chakra.vcxitems.filters +0 -54
  467. package/Chakra/ChakraHelpers.cpp +0 -468
  468. package/Chakra/ChakraHelpers.h +0 -146
  469. package/Chakra/ChakraInstanceArgs.h +0 -52
  470. package/Chakra/ChakraPlatform.cpp +0 -42
  471. package/Chakra/ChakraPlatform.h +0 -51
  472. package/Chakra/ChakraTracing.cpp +0 -275
  473. package/Chakra/ChakraTracing.h +0 -11
  474. package/Chakra/ChakraUtils.cpp +0 -190
  475. package/Chakra/ChakraUtils.h +0 -72
  476. package/Chakra/ChakraValue.cpp +0 -257
  477. package/Chakra/ChakraValue.h +0 -308
  478. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  479. package/Chakra/Utf8DebugExtensions.h +0 -29
  480. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  481. package/Libraries/Interaction/TaskQueue.js +0 -183
  482. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  483. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  484. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  485. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  486. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  487. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  488. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  489. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  490. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  491. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  492. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  493. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  494. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  495. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  496. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  497. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  498. package/Microsoft.ReactNative/LayoutService.h +0 -32
  499. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  500. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  501. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  502. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  503. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  504. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  505. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  506. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  507. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  508. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  509. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  510. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  511. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  512. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  513. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  514. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  515. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  516. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  517. package/Microsoft.ReactNative/TestHook.h +0 -15
  518. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  519. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  520. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  521. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  522. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  523. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  524. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  525. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  526. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  527. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  528. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  529. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  530. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  531. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  532. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  533. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  534. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  535. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  536. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  537. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  538. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  539. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  540. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  541. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  542. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  543. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  544. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  545. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  546. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  547. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  548. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  549. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  550. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  551. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  552. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  553. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  554. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  555. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  556. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  557. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  558. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  559. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  560. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  561. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  562. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  563. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  564. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  565. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  566. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  567. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  568. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  569. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  570. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  571. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  572. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  573. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  574. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  575. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  576. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  577. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  578. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  579. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  580. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  581. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  582. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  583. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  584. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  585. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  586. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  587. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  588. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  589. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  590. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  591. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  592. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  593. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  594. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  595. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  596. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  597. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  598. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  599. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  600. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  601. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  602. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  603. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  604. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  605. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  606. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  607. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  608. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  609. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  610. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  611. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  612. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  613. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  614. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  615. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  616. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  617. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  618. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  619. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  620. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  621. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  622. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  623. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  624. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  625. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  626. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  627. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  628. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  629. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  630. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  631. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  632. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  633. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  634. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  635. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  636. package/Microsoft.ReactNative/XamlView.h +0 -58
  637. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  638. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  639. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  640. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  641. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  642. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  643. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  644. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  645. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  646. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  647. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  648. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  649. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  650. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  651. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  652. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  653. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  654. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  655. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  656. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  657. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  660. package/Shared/BatchingMessageQueueThread.h +0 -20
  661. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  662. package/Shared/ChakraRuntimeHolder.h +0 -46
  663. package/Shared/CreateInstance.h +0 -25
  664. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  665. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  666. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  667. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  668. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  669. package/Shared/JSI/ChakraApi.cpp +0 -436
  670. package/Shared/JSI/ChakraApi.h +0 -474
  671. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  672. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  673. package/Shared/JSI/ChakraRuntime.h +0 -512
  674. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  675. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  676. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  677. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  678. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  679. package/Shared/NativeModuleProvider.h +0 -40
  680. package/Shared/SystemChakraRuntime.h +0 -38
  681. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  682. package/Shared/Threading/BatchingQueueThread.h +0 -59
  683. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  684. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  685. package/template/cpp-app/proj/MyApp.sln +0 -166
  686. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  687. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  688. package/template/cpp-app/src/App.cpp +0 -93
  689. package/template/cpp-app/src/App.h +0 -21
  690. package/template/cpp-app/src/App.idl +0 -3
  691. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  692. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  693. package/template/cpp-app/src/MainPage.cpp +0 -20
  694. package/template/cpp-app/src/MainPage.h +0 -19
  695. package/template/cpp-app/src/MainPage.idl +0 -10
  696. package/template/cpp-app/src/PropertySheet.props +0 -16
  697. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  698. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  699. package/template/cpp-app/src/pch.cpp +0 -1
  700. package/template/cpp-app/src/pch.h +0 -24
  701. package/template/cs-app/proj/MyApp.csproj +0 -162
  702. package/template/cs-app/proj/MyApp.sln +0 -191
  703. package/template/cs-app/src/App.xaml.cs +0 -62
  704. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  705. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  706. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  707. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  708. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  709. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  710. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  711. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  712. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  713. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  714. package/template/shared-app/assets/StoreLogo.png +0 -0
  715. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  716. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  717. package/template/shared-app/proj/NuGet_Config +0 -19
  718. package/template/shared-app/src/App.xaml +0 -10
  719. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  720. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  721. package/template/shared-app/src/MainPage.xaml +0 -21
  722. package/template/shared-app/src/Package.appxmanifest +0 -50
  723. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  724. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -14,6 +14,7 @@ import type {GestureResponderEvent} from '../Types/CoreEventTypes';
14
14
  import type {NativeTextProps} from './TextNativeComponent';
15
15
  import type {PressRetentionOffset, TextProps} from './TextProps';
16
16
 
17
+ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
17
18
  import * as PressabilityDebug from '../Pressability/PressabilityDebug';
18
19
  import usePressability from '../Pressability/usePressability';
19
20
  import flattenStyle from '../StyleSheet/flattenStyle';
@@ -35,156 +36,519 @@ type TextForwardRef = React.ElementRef<
35
36
  *
36
37
  * @see https://reactnative.dev/docs/text
37
38
  */
38
- const TextImpl: component(
39
- ref?: React.RefSetter<TextForwardRef>,
40
- ...props: TextProps
41
- ) = ({
42
- ref: forwardedRef,
43
- accessible,
44
- accessibilityLabel,
45
- accessibilityState,
46
- allowFontScaling,
47
- 'aria-busy': ariaBusy,
48
- 'aria-checked': ariaChecked,
49
- 'aria-disabled': ariaDisabled,
50
- 'aria-expanded': ariaExpanded,
51
- 'aria-label': ariaLabel,
52
- 'aria-selected': ariaSelected,
53
- children,
54
- ellipsizeMode,
55
- disabled,
56
- id,
57
- nativeID,
58
- numberOfLines,
59
- onLongPress,
60
- onPress,
61
- onPressIn,
62
- onPressOut,
63
- onResponderGrant,
64
- onResponderMove,
65
- onResponderRelease,
66
- onResponderTerminate,
67
- onResponderTerminationRequest,
68
- onStartShouldSetResponder,
69
- pressRetentionOffset,
70
- selectable,
71
- selectionColor,
72
- suppressHighlighting,
73
- style,
74
- ...restProps
75
- }: {
76
- ref?: React.RefSetter<TextForwardRef>,
77
- ...TextProps,
78
- }) => {
79
- const _accessibilityLabel = ariaLabel ?? accessibilityLabel;
80
-
81
- let _accessibilityState: ?TextProps['accessibilityState'] =
82
- accessibilityState;
83
- if (
84
- ariaBusy != null ||
85
- ariaChecked != null ||
86
- ariaDisabled != null ||
87
- ariaExpanded != null ||
88
- ariaSelected != null
89
- ) {
90
- if (_accessibilityState != null) {
91
- _accessibilityState = {
92
- busy: ariaBusy ?? _accessibilityState.busy,
93
- checked: ariaChecked ?? _accessibilityState.checked,
94
- disabled: ariaDisabled ?? _accessibilityState.disabled,
95
- expanded: ariaExpanded ?? _accessibilityState.expanded,
96
- selected: ariaSelected ?? _accessibilityState.selected,
39
+ let _TextImpl;
40
+ if (ReactNativeFeatureFlags.reduceDefaultPropsInText()) {
41
+ const TextImplNoDefaultProps: component(
42
+ ref?: React.RefSetter<TextForwardRef>,
43
+ ...props: TextProps
44
+ ) = ({
45
+ ref: forwardedRef,
46
+ accessible,
47
+ accessibilityLabel,
48
+ accessibilityState,
49
+ allowFontScaling,
50
+ 'aria-busy': ariaBusy,
51
+ 'aria-checked': ariaChecked,
52
+ 'aria-disabled': ariaDisabled,
53
+ 'aria-expanded': ariaExpanded,
54
+ 'aria-hidden': ariaHidden,
55
+ 'aria-label': ariaLabel,
56
+ 'aria-selected': ariaSelected,
57
+ children,
58
+ ellipsizeMode,
59
+ disabled,
60
+ id,
61
+ nativeID,
62
+ numberOfLines,
63
+ onLongPress,
64
+ onPress,
65
+ onPressIn,
66
+ onPressOut,
67
+ onResponderGrant,
68
+ onResponderMove,
69
+ onResponderRelease,
70
+ onResponderTerminate,
71
+ onResponderTerminationRequest,
72
+ onStartShouldSetResponder,
73
+ pressRetentionOffset,
74
+ selectable,
75
+ selectionColor,
76
+ suppressHighlighting,
77
+ style,
78
+ ...restProps
79
+ }: {
80
+ ref?: React.RefSetter<TextForwardRef>,
81
+ ...TextProps,
82
+ }) => {
83
+ const processedProps = restProps as {
84
+ ...NativeTextProps,
85
+ };
86
+ const _accessibilityLabel = ariaLabel ?? accessibilityLabel;
87
+ let _accessibilityState: ?TextProps['accessibilityState'] =
88
+ accessibilityState;
89
+ if (
90
+ ariaBusy != null ||
91
+ ariaChecked != null ||
92
+ ariaDisabled != null ||
93
+ ariaExpanded != null ||
94
+ ariaSelected != null
95
+ ) {
96
+ if (_accessibilityState != null) {
97
+ _accessibilityState = {
98
+ busy: ariaBusy ?? _accessibilityState.busy,
99
+ checked: ariaChecked ?? _accessibilityState.checked,
100
+ disabled: ariaDisabled ?? _accessibilityState.disabled,
101
+ expanded: ariaExpanded ?? _accessibilityState.expanded,
102
+ selected: ariaSelected ?? _accessibilityState.selected,
103
+ };
104
+ } else {
105
+ _accessibilityState = {
106
+ busy: ariaBusy,
107
+ checked: ariaChecked,
108
+ disabled: ariaDisabled,
109
+ expanded: ariaExpanded,
110
+ selected: ariaSelected,
111
+ };
112
+ }
113
+ }
114
+
115
+ const _accessibilityStateDisabled = _accessibilityState?.disabled;
116
+ const _disabled = disabled ?? _accessibilityStateDisabled;
117
+
118
+ // If the disabled prop and accessibilityState.disabled are out of sync but not both in
119
+ // falsy states we need to update the accessibilityState object to use the disabled prop.
120
+ if (
121
+ _accessibilityState != null &&
122
+ _disabled !== _accessibilityStateDisabled &&
123
+ ((_disabled != null && _disabled !== false) ||
124
+ (_accessibilityStateDisabled != null &&
125
+ _accessibilityStateDisabled !== false))
126
+ ) {
127
+ _accessibilityState.disabled = _disabled;
128
+ }
129
+
130
+ if (ariaHidden !== undefined) {
131
+ processedProps.accessibilityElementsHidden = ariaHidden;
132
+ if (ariaHidden === true) {
133
+ processedProps.importantForAccessibility = 'no-hide-descendants';
134
+ }
135
+ }
136
+
137
+ const _accessible = Platform.select({
138
+ ios: accessible !== false,
139
+ android:
140
+ accessible == null
141
+ ? onPress != null || onLongPress != null
142
+ : accessible,
143
+ default: accessible,
144
+ });
145
+
146
+ const isPressable =
147
+ (onPress != null ||
148
+ onLongPress != null ||
149
+ onStartShouldSetResponder != null) &&
150
+ _disabled !== true;
151
+
152
+ // TODO: Move this processing to the view configuration.
153
+ const _selectionColor =
154
+ selectionColor != null ? processColor(selectionColor) : undefined;
155
+
156
+ let _style = style;
157
+ if (__DEV__) {
158
+ if (PressabilityDebug.isEnabled() && onPress != null) {
159
+ _style = [style, {color: 'magenta'}];
160
+ }
161
+ }
162
+
163
+ let _numberOfLines = numberOfLines;
164
+ if (_numberOfLines != null && !(_numberOfLines >= 0)) {
165
+ if (__DEV__) {
166
+ console.error(
167
+ `'numberOfLines' in <Text> must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,
168
+ );
169
+ }
170
+ _numberOfLines = 0;
171
+ }
172
+
173
+ let _selectable = selectable;
174
+
175
+ let processedStyle = flattenStyle<TextStyleProp>(_style);
176
+ if (processedStyle != null) {
177
+ let overrides: ?{...TextStyleInternal} = null;
178
+ if (typeof processedStyle.fontWeight === 'number') {
179
+ overrides = overrides || ({}: {...TextStyleInternal});
180
+ overrides.fontWeight =
181
+ // $FlowFixMe[incompatible-type]
182
+ (String(processedStyle.fontWeight): TextStyleInternal['fontWeight']);
183
+ }
184
+
185
+ if (processedStyle.userSelect != null) {
186
+ _selectable = userSelectToSelectableMap[processedStyle.userSelect];
187
+ overrides = overrides || ({}: {...TextStyleInternal});
188
+ overrides.userSelect = undefined;
189
+ }
190
+
191
+ if (processedStyle.verticalAlign != null) {
192
+ overrides = overrides || ({}: {...TextStyleInternal});
193
+ overrides.textAlignVertical =
194
+ verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];
195
+ overrides.verticalAlign = undefined;
196
+ }
197
+
198
+ if (overrides != null) {
199
+ // $FlowFixMe[incompatible-type]
200
+ _style = [_style, overrides];
201
+ }
202
+ }
203
+
204
+ const _nativeID = id ?? nativeID;
205
+
206
+ if (_accessibilityLabel !== undefined) {
207
+ processedProps.accessibilityLabel = _accessibilityLabel;
208
+ }
209
+ if (_accessibilityState !== undefined) {
210
+ processedProps.accessibilityState = _accessibilityState;
211
+ }
212
+ if (_nativeID !== undefined) {
213
+ processedProps.nativeID = _nativeID;
214
+ }
215
+ if (_numberOfLines !== undefined) {
216
+ processedProps.numberOfLines = _numberOfLines;
217
+ }
218
+ if (_selectable !== undefined) {
219
+ processedProps.selectable = _selectable;
220
+ }
221
+ if (_style !== undefined) {
222
+ processedProps.style = _style;
223
+ }
224
+ if (_selectionColor !== undefined) {
225
+ processedProps.selectionColor = _selectionColor;
226
+ }
227
+
228
+ let textPressabilityProps: ?TextPressabilityProps;
229
+ if (isPressable) {
230
+ textPressabilityProps = {
231
+ onLongPress,
232
+ onPress,
233
+ onPressIn,
234
+ onPressOut,
235
+ onResponderGrant,
236
+ onResponderMove,
237
+ onResponderRelease,
238
+ onResponderTerminate,
239
+ onResponderTerminationRequest,
240
+ onStartShouldSetResponder,
241
+ pressRetentionOffset,
242
+ suppressHighlighting,
97
243
  };
244
+ }
245
+
246
+ const hasTextAncestor = useContext(TextAncestorContext);
247
+ if (hasTextAncestor) {
248
+ processedProps.disabled = disabled;
249
+ processedProps.children = children;
250
+ if (isPressable) {
251
+ return (
252
+ <NativePressableVirtualText
253
+ ref={forwardedRef}
254
+ textProps={processedProps}
255
+ textPressabilityProps={textPressabilityProps ?? {}}
256
+ />
257
+ );
258
+ }
259
+ return <NativeVirtualText {...processedProps} ref={forwardedRef} />;
260
+ }
261
+
262
+ let nativeText = null;
263
+
264
+ processedProps.accessible = _accessible;
265
+ processedProps.allowFontScaling = allowFontScaling !== false;
266
+ processedProps.disabled = _disabled;
267
+ processedProps.ellipsizeMode = ellipsizeMode ?? 'tail';
268
+ processedProps.children = children;
269
+
270
+ if (isPressable) {
271
+ nativeText = (
272
+ <NativePressableText
273
+ ref={forwardedRef}
274
+ textProps={processedProps}
275
+ textPressabilityProps={textPressabilityProps ?? {}}
276
+ />
277
+ );
98
278
  } else {
99
- _accessibilityState = {
100
- busy: ariaBusy,
101
- checked: ariaChecked,
102
- disabled: ariaDisabled,
103
- expanded: ariaExpanded,
104
- selected: ariaSelected,
105
- };
279
+ nativeText = <NativeText {...processedProps} ref={forwardedRef} />;
106
280
  }
107
- }
108
281
 
109
- const _accessibilityStateDisabled = _accessibilityState?.disabled;
110
- const _disabled = disabled ?? _accessibilityStateDisabled;
282
+ if (children == null) {
283
+ return nativeText;
284
+ }
111
285
 
112
- const isPressable =
113
- (onPress != null ||
114
- onLongPress != null ||
115
- onStartShouldSetResponder != null) &&
116
- _disabled !== true;
286
+ // If the children do not contain a JSX element it would not be possible to have a
287
+ // nested `Text` component so we can skip adding the `TextAncestorContext` context wrapper
288
+ // which has a performance overhead. Since we do this for performance reasons we need
289
+ // to keep the check simple to avoid regressing overall perf. For this reason the
290
+ // `children.length` constant is set to `3`, this should be a reasonable tradeoff
291
+ // to capture the majority of `Text` uses but also not make this check too expensive.
292
+ if (Array.isArray(children) && children.length <= 3) {
293
+ let hasNonTextChild = false;
294
+ for (let child of children) {
295
+ if (child != null && typeof child === 'object') {
296
+ hasNonTextChild = true;
297
+ break;
298
+ }
299
+ }
300
+ if (!hasNonTextChild) {
301
+ return nativeText;
302
+ }
303
+ } else if (typeof children !== 'object') {
304
+ return nativeText;
305
+ }
117
306
 
118
- // TODO: Move this processing to the view configuration.
119
- const _selectionColor =
120
- selectionColor != null ? processColor(selectionColor) : undefined;
307
+ return <TextAncestorContext value={true}>{nativeText}</TextAncestorContext>;
308
+ };
309
+ _TextImpl = TextImplNoDefaultProps;
310
+ } else {
311
+ const TextImplLegacy: component(
312
+ ref?: React.RefSetter<TextForwardRef>,
313
+ ...props: TextProps
314
+ ) = ({
315
+ ref: forwardedRef,
316
+ accessible,
317
+ accessibilityElementsHidden,
318
+ importantForAccessibility,
319
+ accessibilityLabel,
320
+ accessibilityState,
321
+ allowFontScaling,
322
+ 'aria-busy': ariaBusy,
323
+ 'aria-checked': ariaChecked,
324
+ 'aria-disabled': ariaDisabled,
325
+ 'aria-expanded': ariaExpanded,
326
+ 'aria-hidden': ariaHidden,
327
+ 'aria-label': ariaLabel,
328
+ 'aria-selected': ariaSelected,
329
+ children,
330
+ ellipsizeMode,
331
+ disabled,
332
+ id,
333
+ nativeID,
334
+ numberOfLines,
335
+ onLongPress,
336
+ onPress,
337
+ onPressIn,
338
+ onPressOut,
339
+ onResponderGrant,
340
+ onResponderMove,
341
+ onResponderRelease,
342
+ onResponderTerminate,
343
+ onResponderTerminationRequest,
344
+ onStartShouldSetResponder,
345
+ pressRetentionOffset,
346
+ selectable,
347
+ selectionColor,
348
+ suppressHighlighting,
349
+ style,
350
+ ...restProps
351
+ }: {
352
+ ref?: React.RefSetter<TextForwardRef>,
353
+ ...TextProps,
354
+ }) => {
355
+ const _accessibilityLabel = ariaLabel ?? accessibilityLabel;
356
+
357
+ let _accessibilityState: ?TextProps['accessibilityState'] =
358
+ accessibilityState;
359
+ if (
360
+ ariaBusy != null ||
361
+ ariaChecked != null ||
362
+ ariaDisabled != null ||
363
+ ariaExpanded != null ||
364
+ ariaSelected != null
365
+ ) {
366
+ if (_accessibilityState != null) {
367
+ _accessibilityState = {
368
+ busy: ariaBusy ?? _accessibilityState.busy,
369
+ checked: ariaChecked ?? _accessibilityState.checked,
370
+ disabled: ariaDisabled ?? _accessibilityState.disabled,
371
+ expanded: ariaExpanded ?? _accessibilityState.expanded,
372
+ selected: ariaSelected ?? _accessibilityState.selected,
373
+ };
374
+ } else {
375
+ _accessibilityState = {
376
+ busy: ariaBusy,
377
+ checked: ariaChecked,
378
+ disabled: ariaDisabled,
379
+ expanded: ariaExpanded,
380
+ selected: ariaSelected,
381
+ };
382
+ }
383
+ }
121
384
 
122
- let _style = style;
123
- if (__DEV__) {
124
- if (PressabilityDebug.isEnabled() && onPress != null) {
125
- _style = [style, {color: 'magenta'}];
385
+ const _accessibilityStateDisabled = _accessibilityState?.disabled;
386
+ const _disabled = disabled ?? _accessibilityStateDisabled;
387
+
388
+ let _accessibilityElementsHidden =
389
+ ariaHidden ?? accessibilityElementsHidden;
390
+ let _importantForAccessibility = importantForAccessibility;
391
+ if (ariaHidden === true) {
392
+ _importantForAccessibility = 'no-hide-descendants';
126
393
  }
127
- }
128
394
 
129
- let _numberOfLines = numberOfLines;
130
- if (_numberOfLines != null && !(_numberOfLines >= 0)) {
395
+ const isPressable =
396
+ (onPress != null ||
397
+ onLongPress != null ||
398
+ onStartShouldSetResponder != null) &&
399
+ _disabled !== true;
400
+
401
+ // TODO: Move this processing to the view configuration.
402
+ const _selectionColor =
403
+ selectionColor != null ? processColor(selectionColor) : undefined;
404
+
405
+ let _style = style;
131
406
  if (__DEV__) {
132
- console.error(
133
- `'numberOfLines' in <Text> must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,
134
- );
407
+ if (PressabilityDebug.isEnabled() && onPress != null) {
408
+ _style = [style, {color: 'magenta'}];
409
+ }
135
410
  }
136
- _numberOfLines = 0;
137
- }
138
-
139
- let _selectable = selectable;
140
-
141
- let processedStyle = flattenStyle<TextStyleProp>(_style);
142
- if (processedStyle != null) {
143
- let overrides: ?{...TextStyleInternal} = null;
144
- if (typeof processedStyle.fontWeight === 'number') {
145
- overrides = overrides || ({}: {...TextStyleInternal});
146
- overrides.fontWeight =
147
- // $FlowFixMe[incompatible-cast]
148
- (processedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);
411
+
412
+ let _numberOfLines = numberOfLines;
413
+ if (_numberOfLines != null && !(_numberOfLines >= 0)) {
414
+ if (__DEV__) {
415
+ console.error(
416
+ `'numberOfLines' in <Text> must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,
417
+ );
418
+ }
419
+ _numberOfLines = 0;
149
420
  }
150
421
 
151
- if (processedStyle.userSelect != null) {
152
- _selectable = userSelectToSelectableMap[processedStyle.userSelect];
153
- overrides = overrides || ({}: {...TextStyleInternal});
154
- overrides.userSelect = undefined;
422
+ let _selectable = selectable;
423
+
424
+ let processedStyle = flattenStyle<TextStyleProp>(_style);
425
+ if (processedStyle != null) {
426
+ let overrides: ?{...TextStyleInternal} = null;
427
+ if (typeof processedStyle.fontWeight === 'number') {
428
+ overrides = overrides || ({}: {...TextStyleInternal});
429
+ overrides.fontWeight =
430
+ // $FlowFixMe[incompatible-type]
431
+ (processedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);
432
+ }
433
+
434
+ if (processedStyle.userSelect != null) {
435
+ _selectable = userSelectToSelectableMap[processedStyle.userSelect];
436
+ overrides = overrides || ({}: {...TextStyleInternal});
437
+ overrides.userSelect = undefined;
438
+ }
439
+
440
+ if (processedStyle.verticalAlign != null) {
441
+ overrides = overrides || ({}: {...TextStyleInternal});
442
+ overrides.textAlignVertical =
443
+ verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];
444
+ overrides.verticalAlign = undefined;
445
+ }
446
+
447
+ if (overrides != null) {
448
+ // $FlowFixMe[incompatible-type]
449
+ _style = [_style, overrides];
450
+ }
155
451
  }
156
452
 
157
- if (processedStyle.verticalAlign != null) {
158
- overrides = overrides || ({}: {...TextStyleInternal});
159
- overrides.textAlignVertical =
160
- verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];
161
- overrides.verticalAlign = undefined;
453
+ const _nativeID = id ?? nativeID;
454
+
455
+ const hasTextAncestor = useContext(TextAncestorContext);
456
+ if (hasTextAncestor) {
457
+ if (isPressable) {
458
+ return (
459
+ <NativePressableVirtualText
460
+ ref={forwardedRef}
461
+ textProps={{
462
+ ...restProps,
463
+ accessibilityElementsHidden: _accessibilityElementsHidden,
464
+ accessibilityLabel: _accessibilityLabel,
465
+ accessibilityState: _accessibilityState,
466
+ importantForAccessibility: _importantForAccessibility,
467
+ nativeID: _nativeID,
468
+ numberOfLines: _numberOfLines,
469
+ selectable: _selectable,
470
+ selectionColor: _selectionColor,
471
+ style: _style,
472
+ disabled: disabled,
473
+ children,
474
+ }}
475
+ textPressabilityProps={{
476
+ onLongPress,
477
+ onPress,
478
+ onPressIn,
479
+ onPressOut,
480
+ onResponderGrant,
481
+ onResponderMove,
482
+ onResponderRelease,
483
+ onResponderTerminate,
484
+ onResponderTerminationRequest,
485
+ onStartShouldSetResponder,
486
+ pressRetentionOffset,
487
+ suppressHighlighting,
488
+ }}
489
+ />
490
+ );
491
+ }
492
+
493
+ return (
494
+ <NativeVirtualText
495
+ {...restProps}
496
+ accessibilityElementsHidden={_accessibilityElementsHidden}
497
+ accessibilityLabel={_accessibilityLabel}
498
+ accessibilityState={_accessibilityState}
499
+ importantForAccessibility={_importantForAccessibility}
500
+ nativeID={_nativeID}
501
+ numberOfLines={_numberOfLines}
502
+ ref={forwardedRef}
503
+ selectable={_selectable}
504
+ selectionColor={_selectionColor}
505
+ style={_style}
506
+ disabled={disabled}>
507
+ {children}
508
+ </NativeVirtualText>
509
+ );
162
510
  }
163
511
 
164
- if (overrides != null) {
165
- // $FlowFixMe[incompatible-type]
166
- _style = [_style, overrides];
512
+ // If the disabled prop and accessibilityState.disabled are out of sync but not both in
513
+ // falsy states we need to update the accessibilityState object to use the disabled prop.
514
+ if (
515
+ _disabled !== _accessibilityStateDisabled &&
516
+ ((_disabled != null && _disabled !== false) ||
517
+ (_accessibilityStateDisabled != null &&
518
+ _accessibilityStateDisabled !== false))
519
+ ) {
520
+ _accessibilityState = {..._accessibilityState, disabled: _disabled};
167
521
  }
168
- }
169
522
 
170
- const _nativeID = id ?? nativeID;
523
+ const _accessible = Platform.select({
524
+ ios: accessible !== false,
525
+ android:
526
+ accessible == null
527
+ ? onPress != null || onLongPress != null
528
+ : accessible,
529
+ default: accessible,
530
+ });
171
531
 
172
- const hasTextAncestor = useContext(TextAncestorContext);
173
- if (hasTextAncestor) {
532
+ let nativeText = null;
174
533
  if (isPressable) {
175
- return (
176
- <NativePressableVirtualText
534
+ nativeText = (
535
+ <NativePressableText
177
536
  ref={forwardedRef}
178
537
  textProps={{
179
538
  ...restProps,
539
+ accessibilityElementsHidden: _accessibilityElementsHidden,
180
540
  accessibilityLabel: _accessibilityLabel,
181
541
  accessibilityState: _accessibilityState,
542
+ accessible: _accessible,
543
+ allowFontScaling: allowFontScaling !== false,
544
+ disabled: _disabled,
545
+ ellipsizeMode: ellipsizeMode ?? 'tail',
546
+ importantForAccessibility: _importantForAccessibility,
182
547
  nativeID: _nativeID,
183
548
  numberOfLines: _numberOfLines,
184
549
  selectable: _selectable,
185
550
  selectionColor: _selectionColor,
186
551
  style: _style,
187
- disabled: disabled,
188
552
  children,
189
553
  }}
190
554
  textPressabilityProps={{
@@ -203,127 +567,63 @@ const TextImpl: component(
203
567
  }}
204
568
  />
205
569
  );
570
+ } else {
571
+ nativeText = (
572
+ <NativeText
573
+ {...restProps}
574
+ accessibilityElementsHidden={_accessibilityElementsHidden}
575
+ accessibilityLabel={_accessibilityLabel}
576
+ accessibilityState={_accessibilityState}
577
+ accessible={_accessible}
578
+ allowFontScaling={allowFontScaling !== false}
579
+ disabled={_disabled}
580
+ ellipsizeMode={ellipsizeMode ?? 'tail'}
581
+ importantForAccessibility={_importantForAccessibility}
582
+ nativeID={_nativeID}
583
+ numberOfLines={_numberOfLines}
584
+ ref={forwardedRef}
585
+ selectable={_selectable}
586
+ selectionColor={_selectionColor}
587
+ style={_style}>
588
+ {children}
589
+ </NativeText>
590
+ );
206
591
  }
207
592
 
208
- return (
209
- <NativeVirtualText
210
- {...restProps}
211
- accessibilityLabel={_accessibilityLabel}
212
- accessibilityState={_accessibilityState}
213
- nativeID={_nativeID}
214
- numberOfLines={_numberOfLines}
215
- ref={forwardedRef}
216
- selectable={_selectable}
217
- selectionColor={_selectionColor}
218
- style={_style}
219
- disabled={disabled}>
220
- {children}
221
- </NativeVirtualText>
222
- );
223
- }
224
-
225
- // If the disabled prop and accessibilityState.disabled are out of sync but not both in
226
- // falsy states we need to update the accessibilityState object to use the disabled prop.
227
- if (
228
- _disabled !== _accessibilityStateDisabled &&
229
- ((_disabled != null && _disabled !== false) ||
230
- (_accessibilityStateDisabled != null &&
231
- _accessibilityStateDisabled !== false))
232
- ) {
233
- _accessibilityState = {..._accessibilityState, disabled: _disabled};
234
- }
235
-
236
- const _accessible = Platform.select({
237
- ios: accessible !== false,
238
- android:
239
- accessible == null ? onPress != null || onLongPress != null : accessible,
240
- default: accessible,
241
- });
242
-
243
- let nativeText = null;
244
- if (isPressable) {
245
- nativeText = (
246
- <NativePressableText
247
- ref={forwardedRef}
248
- textProps={{
249
- ...restProps,
250
- accessibilityLabel: _accessibilityLabel,
251
- accessibilityState: _accessibilityState,
252
- accessible: _accessible,
253
- allowFontScaling: allowFontScaling !== false,
254
- disabled: _disabled,
255
- ellipsizeMode: ellipsizeMode ?? 'tail',
256
- nativeID: _nativeID,
257
- numberOfLines: _numberOfLines,
258
- selectable: _selectable,
259
- selectionColor: _selectionColor,
260
- style: _style,
261
- children,
262
- }}
263
- textPressabilityProps={{
264
- onLongPress,
265
- onPress,
266
- onPressIn,
267
- onPressOut,
268
- onResponderGrant,
269
- onResponderMove,
270
- onResponderRelease,
271
- onResponderTerminate,
272
- onResponderTerminationRequest,
273
- onStartShouldSetResponder,
274
- pressRetentionOffset,
275
- suppressHighlighting,
276
- }}
277
- />
278
- );
279
- } else {
280
- nativeText = (
281
- <NativeText
282
- {...restProps}
283
- accessibilityLabel={_accessibilityLabel}
284
- accessibilityState={_accessibilityState}
285
- accessible={_accessible}
286
- allowFontScaling={allowFontScaling !== false}
287
- disabled={_disabled}
288
- ellipsizeMode={ellipsizeMode ?? 'tail'}
289
- nativeID={_nativeID}
290
- numberOfLines={_numberOfLines}
291
- ref={forwardedRef}
292
- selectable={_selectable}
293
- selectionColor={_selectionColor}
294
- style={_style}>
295
- {children}
296
- </NativeText>
297
- );
298
- }
299
-
300
- if (children == null) {
301
- return nativeText;
302
- }
303
-
304
- // If the children do not contain a JSX element it would not be possible to have a
305
- // nested `Text` component so we can skip adding the `TextAncestorContext` context wrapper
306
- // which has a performance overhead. Since we do this for performance reasons we need
307
- // to keep the check simple to avoid regressing overall perf. For this reason the
308
- // `children.length` constant is set to `3`, this should be a reasonable tradeoff
309
- // to capture the majority of `Text` uses but also not make this check too expensive.
310
- if (Array.isArray(children) && children.length <= 3) {
311
- let hasNonTextChild = false;
312
- for (let child of children) {
313
- if (child != null && typeof child === 'object') {
314
- hasNonTextChild = true;
315
- break;
316
- }
593
+ if (children == null) {
594
+ return nativeText;
317
595
  }
318
- if (!hasNonTextChild) {
596
+
597
+ // If the children do not contain a JSX element it would not be possible to have a
598
+ // nested `Text` component so we can skip adding the `TextAncestorContext` context wrapper
599
+ // which has a performance overhead. Since we do this for performance reasons we need
600
+ // to keep the check simple to avoid regressing overall perf. For this reason the
601
+ // `children.length` constant is set to `3`, this should be a reasonable tradeoff
602
+ // to capture the majority of `Text` uses but also not make this check too expensive.
603
+ if (Array.isArray(children) && children.length <= 3) {
604
+ let hasNonTextChild = false;
605
+ for (let child of children) {
606
+ if (child != null && typeof child === 'object') {
607
+ hasNonTextChild = true;
608
+ break;
609
+ }
610
+ }
611
+ if (!hasNonTextChild) {
612
+ return nativeText;
613
+ }
614
+ } else if (typeof children !== 'object') {
319
615
  return nativeText;
320
616
  }
321
- } else if (typeof children !== 'object') {
322
- return nativeText;
323
- }
324
617
 
325
- return <TextAncestorContext value={true}>{nativeText}</TextAncestorContext>;
326
- };
618
+ return <TextAncestorContext value={true}>{nativeText}</TextAncestorContext>;
619
+ };
620
+ _TextImpl = TextImplLegacy;
621
+ }
622
+
623
+ const TextImpl: component(
624
+ ref?: React.RefSetter<TextForwardRef>,
625
+ ...props: TextProps
626
+ ) = _TextImpl;
327
627
 
328
628
  TextImpl.displayName = 'Text';
329
629