react-native-windows 0.81.2 → 0.82.0-preview.2

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 (727) 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 +559 -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/Warnings.props +1 -2
  331. package/PropertySheets/WinUI.props +3 -3
  332. package/README.md +1 -5
  333. package/ReactCommon/ReactCommon.vcxproj +12 -31
  334. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  338. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  339. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  340. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  341. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  342. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  343. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  344. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  345. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  346. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  347. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.cpp +174 -0
  348. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.h +69 -0
  349. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  350. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  351. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  352. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  353. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  354. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  355. package/ReactCommon/cgmanifest.json +1 -1
  356. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  357. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  358. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  359. package/Scripts/creaternwapp.cmd +1 -1
  360. package/Shared/DevServerHelper.h +17 -21
  361. package/Shared/DevSettings.h +1 -25
  362. package/Shared/DevSupportManager.cpp +0 -50
  363. package/Shared/DevSupportManager.h +0 -4
  364. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  365. package/Shared/HermesRuntimeHolder.cpp +0 -31
  366. package/Shared/HermesRuntimeHolder.h +0 -14
  367. package/Shared/IDevSupportManager.h +0 -6
  368. package/Shared/InstanceManager.cpp +0 -97
  369. package/Shared/InstanceManager.h +0 -53
  370. package/Shared/JSI/ScriptStore.h +1 -1
  371. package/Shared/Logging.cpp +1 -12
  372. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  373. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  374. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  375. package/Shared/OInstance.cpp +144 -424
  376. package/Shared/OInstance.h +0 -81
  377. package/Shared/Shared.vcxitems +83 -203
  378. package/Shared/Shared.vcxitems.filters +8 -67
  379. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  380. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  381. package/Shared/TurboModuleManager.cpp +0 -4
  382. package/Shared/Utils.cpp +26 -0
  383. package/Shared/Utils.h +3 -0
  384. package/codegen/NativeDOMSpec.g.h +41 -35
  385. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  386. package/codegen/NativePerformanceSpec.g.h +47 -35
  387. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
  388. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
  389. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
  390. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
  391. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
  392. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
  393. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
  394. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
  395. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  396. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  397. package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
  398. package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
  399. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  400. package/codegen/react/components/rnwcore/Props.h +51 -2
  401. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
  402. package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
  403. package/codegen/react/components/rnwcore/Switch.g.h +14 -0
  404. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
  405. package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
  406. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  407. package/codegen/rnwcoreJSI-generated.cpp +522 -467
  408. package/codegen/rnwcoreJSI.h +148 -67
  409. package/fmt/cgmanifest.json +1 -1
  410. package/fmt/fmt.vcxproj +0 -8
  411. package/index.js +8 -2
  412. package/index.windows.js +8 -2
  413. package/jest/local-setup.js +2 -2
  414. package/jest/mock.js +1 -1
  415. package/jest/mockComponent.js +9 -9
  416. package/jest/mockNativeComponent.js +3 -2
  417. package/jest/mocks/Modal.js +1 -1
  418. package/jest/mocks/ScrollView.js +1 -1
  419. package/jest/mocks/ViewNativeComponent.js +1 -1
  420. package/jest/setup.js +23 -12
  421. package/just-task.js +14 -0
  422. package/package.json +30 -31
  423. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  424. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  425. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  426. package/src/private/components/virtualview/VirtualView.js +43 -12
  427. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  428. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  429. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  430. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  431. package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
  432. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  433. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
  434. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  435. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  436. package/src/private/types/HostInstance.js +4 -1
  437. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  438. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  439. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  440. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  441. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  442. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  443. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  444. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  445. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  446. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  447. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  448. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  449. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  450. package/src/private/webapis/performance/EventTiming.js +6 -10
  451. package/src/private/webapis/performance/Performance.js +309 -164
  452. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  453. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  454. package/src/private/webapis/performance/UserTiming.js +71 -18
  455. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  456. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  457. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  458. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  459. package/stubs/double-conversion/README.md +1 -1
  460. package/template/cpp-lib/proj/MyLib.sln +0 -5
  461. package/template/cpp-lib/src/pch.h +0 -5
  462. package/template/cs-lib/proj/MyLib.sln +0 -5
  463. package/template/metro.config.js +1 -0
  464. package/templates/cpp-app/metro.config.js +2 -1
  465. package/templates/cpp-app/windows/MyApp.sln +0 -5
  466. package/templates/cpp-lib/example/metro.config.js +3 -4
  467. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  468. package/Chakra/Chakra.vcxitems +0 -32
  469. package/Chakra/Chakra.vcxitems.filters +0 -54
  470. package/Chakra/ChakraHelpers.cpp +0 -468
  471. package/Chakra/ChakraHelpers.h +0 -146
  472. package/Chakra/ChakraInstanceArgs.h +0 -52
  473. package/Chakra/ChakraPlatform.cpp +0 -42
  474. package/Chakra/ChakraPlatform.h +0 -51
  475. package/Chakra/ChakraTracing.cpp +0 -275
  476. package/Chakra/ChakraTracing.h +0 -11
  477. package/Chakra/ChakraUtils.cpp +0 -190
  478. package/Chakra/ChakraUtils.h +0 -72
  479. package/Chakra/ChakraValue.cpp +0 -257
  480. package/Chakra/ChakraValue.h +0 -308
  481. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  482. package/Chakra/Utf8DebugExtensions.h +0 -29
  483. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  484. package/Libraries/Interaction/TaskQueue.js +0 -183
  485. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  486. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  487. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  488. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  489. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  490. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  491. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  492. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  493. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  494. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  495. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  496. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  497. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  498. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  499. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  500. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  501. package/Microsoft.ReactNative/LayoutService.h +0 -32
  502. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  503. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  504. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  505. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  506. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  507. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  508. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  509. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  510. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  511. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  512. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  513. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  514. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  515. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  516. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  517. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  518. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  519. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  520. package/Microsoft.ReactNative/TestHook.h +0 -15
  521. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  522. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  523. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  524. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  525. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  526. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  527. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  528. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  529. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  530. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  531. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  532. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  533. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  534. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  535. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  536. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  537. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  538. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  539. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  540. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  541. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  542. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  543. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  544. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  545. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  546. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  547. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  548. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  549. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  550. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  551. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  552. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  553. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  554. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  555. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  556. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  557. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  558. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  559. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  560. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  561. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  562. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  563. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  564. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  565. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  566. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  567. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  568. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  569. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  570. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  571. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  572. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  573. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  574. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  575. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  576. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  577. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  578. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  579. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  580. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  581. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  582. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  583. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  584. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  585. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  586. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  587. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  588. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  589. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  590. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  591. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  592. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  593. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  594. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  595. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  596. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  597. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  598. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  599. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  600. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  601. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  602. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  603. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  604. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  605. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  606. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  607. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  608. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  609. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  610. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  611. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  612. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  613. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  614. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  615. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  616. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  617. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  618. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  619. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  620. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  621. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  622. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  623. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  624. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  625. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  626. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  627. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  628. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  629. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  630. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  631. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  632. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  633. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  634. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  635. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  636. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  637. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  638. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  639. package/Microsoft.ReactNative/XamlView.h +0 -58
  640. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  641. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  642. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  643. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  644. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  645. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  646. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  647. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  648. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  649. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  650. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  651. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  652. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  653. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  654. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  655. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  656. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  657. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  660. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  661. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  662. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  663. package/Shared/BatchingMessageQueueThread.h +0 -20
  664. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  665. package/Shared/ChakraRuntimeHolder.h +0 -46
  666. package/Shared/CreateInstance.h +0 -25
  667. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  668. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  669. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  670. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  671. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  672. package/Shared/JSI/ChakraApi.cpp +0 -436
  673. package/Shared/JSI/ChakraApi.h +0 -474
  674. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  675. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  676. package/Shared/JSI/ChakraRuntime.h +0 -512
  677. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  678. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  679. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  680. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  681. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  682. package/Shared/NativeModuleProvider.h +0 -40
  683. package/Shared/SystemChakraRuntime.h +0 -38
  684. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  685. package/Shared/Threading/BatchingQueueThread.h +0 -59
  686. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  687. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  688. package/template/cpp-app/proj/MyApp.sln +0 -166
  689. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  690. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  691. package/template/cpp-app/src/App.cpp +0 -93
  692. package/template/cpp-app/src/App.h +0 -21
  693. package/template/cpp-app/src/App.idl +0 -3
  694. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  695. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  696. package/template/cpp-app/src/MainPage.cpp +0 -20
  697. package/template/cpp-app/src/MainPage.h +0 -19
  698. package/template/cpp-app/src/MainPage.idl +0 -10
  699. package/template/cpp-app/src/PropertySheet.props +0 -16
  700. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  701. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  702. package/template/cpp-app/src/pch.cpp +0 -1
  703. package/template/cpp-app/src/pch.h +0 -24
  704. package/template/cs-app/proj/MyApp.csproj +0 -162
  705. package/template/cs-app/proj/MyApp.sln +0 -191
  706. package/template/cs-app/src/App.xaml.cs +0 -62
  707. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  708. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  709. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  710. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  711. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  712. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  713. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  714. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  715. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  716. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  717. package/template/shared-app/assets/StoreLogo.png +0 -0
  718. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  719. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  720. package/template/shared-app/proj/NuGet_Config +0 -19
  721. package/template/shared-app/src/App.xaml +0 -10
  722. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  723. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  724. package/template/shared-app/src/MainPage.xaml +0 -21
  725. package/template/shared-app/src/Package.appxmanifest +0 -50
  726. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  727. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -9,14 +9,41 @@
9
9
  * @generated by scripts/releases/set-version.js
10
10
  */
11
11
 
12
- export const version: $ReadOnly<{
13
- major: number,
14
- minor: number,
15
- patch: number,
16
- prerelease: string | null,
17
- }> = {
18
- major: 0,
19
- minor: 81,
20
- patch: 5,
21
- prerelease: null,
12
+ /**
13
+ * Object containing the current React Native version.
14
+ *
15
+ * Specifically, this is the source of truth for the resolved `react-native`
16
+ * package in the JavaScript bundle. Apps and libraries can use this to
17
+ * determine compatibility or enable version-specific features.
18
+ *
19
+ * @example
20
+ * ```js
21
+ * // Get the full version string
22
+ * const version = ReactNativeVersion.getVersionString();
23
+ *
24
+ * // Access individual version components
25
+ * const major = ReactNativeVersion.major;
26
+ * ```
27
+ */
28
+ export default class ReactNativeVersion {
29
+ static major: number = 0;
30
+ static minor: number = 82;
31
+ static patch: number = 0;
32
+ static prerelease: string | null = 'rc.0';
33
+
34
+ static getVersionString(): string {
35
+ return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
36
+ }
37
+ }
38
+
39
+ /**
40
+ * @deprecated Compatibility export — please import `ReactNativeVersion` from
41
+ * `react-native`.
42
+ * See https://github.com/react-native-community/discussions-and-proposals/pull/894.
43
+ */
44
+ export const version = {
45
+ major: ReactNativeVersion.major,
46
+ minor: ReactNativeVersion.minor,
47
+ patch: ReactNativeVersion.patch,
48
+ prerelease: ReactNativeVersion.prerelease,
22
49
  };
@@ -473,12 +473,14 @@ let ExportedJSTimers: {
473
473
 
474
474
  if (!NativeTiming) {
475
475
  console.warn("Timing native module is not available, can't set timers.");
476
- // $FlowFixMe[prop-missing] : we can assume timers are generally available
476
+ // $FlowFixMe[incompatible-type] : we can assume timers are generally available
477
477
  ExportedJSTimers = ({
478
478
  callReactNativeMicrotasks: JSTimers.callReactNativeMicrotasks,
479
479
  queueReactNativeMicrotask: JSTimers.queueReactNativeMicrotask,
480
+ // $FlowFixMe[incompatible-variance]
480
481
  }: typeof JSTimers);
481
482
  } else {
483
+ // $FlowFixMe[incompatible-variance]
482
484
  ExportedJSTimers = JSTimers;
483
485
  }
484
486
 
@@ -40,7 +40,7 @@ export function setImmediate(callback: Function, ...args: any): number {
40
40
  clearedImmediates.delete(id);
41
41
  }
42
42
 
43
- // $FlowFixMe[incompatible-call]
43
+ // $FlowFixMe[incompatible-type]
44
44
  global.queueMicrotask(() => {
45
45
  if (!clearedImmediates.has(id)) {
46
46
  callback.apply(undefined, args);
@@ -30,6 +30,7 @@ export default function queueMicrotask(callback: Function) {
30
30
  }
31
31
 
32
32
  // Try to reuse a lazily allocated resolved promise from closure.
33
+ // $FlowFixMe[constant-condition]
33
34
  (resolvedPromise || (resolvedPromise = Promise.resolve()))
34
35
  .then(callback)
35
36
  .catch(error =>
@@ -8,12 +8,13 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import Performance from '../../src/private/webapis/performance/Performance';
12
11
  import NativePerformance from '../../src/private/webapis/performance/specs/NativePerformance';
13
12
 
14
13
  // In case if the native implementation of the Performance API is available, use it,
15
14
  // otherwise fall back to the legacy/default one, which only defines 'Performance.now()'
16
15
  if (NativePerformance) {
16
+ const Performance =
17
+ require('../../src/private/webapis/performance/Performance').default;
17
18
  // $FlowExpectedError[cannot-write]
18
19
  global.performance = new Performance();
19
20
  } else {
@@ -98,13 +98,13 @@ class DebuggingOverlayRegistry {
98
98
  // `canonical.publicInstance` => Fabric
99
99
  // $FlowExpectedError[prop-missing]
100
100
  if (instanceHandle.canonical?.publicInstance != null) {
101
- // $FlowExpectedError[incompatible-return]
101
+ // $FlowExpectedError[incompatible-type]
102
102
  return instanceHandle.canonical?.publicInstance;
103
103
  }
104
104
 
105
105
  // `canonical` => Legacy Fabric
106
106
  if (instanceHandle.canonical != null) {
107
- // $FlowFixMe[incompatible-return]
107
+ // $FlowFixMe[incompatible-type]
108
108
  return instanceHandle.canonical;
109
109
  }
110
110
 
@@ -124,6 +124,8 @@ class DebuggingOverlayRegistry {
124
124
  let iterator: ?ReadOnlyElement = instance;
125
125
  while (iterator != null) {
126
126
  for (const subscriber of this.#registry) {
127
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant
128
+ * Condition roll out. See https://fburl.com/workplace/4oq3zi07. */
127
129
  if (subscriber.rootViewRef.current === iterator) {
128
130
  return subscriber;
129
131
  }
@@ -182,7 +184,7 @@ class DebuggingOverlayRegistry {
182
184
 
183
185
  if (
184
186
  isChildPublicInstance(
185
- // $FlowFixMe[incompatible-call] There is a lot of stuff to untangle to make types for refs work.
187
+ // $FlowFixMe[incompatible-type] There is a lot of stuff to untangle to make types for refs work.
186
188
  potentialParent.rootViewRef.current,
187
189
  // $FlowFixMe[incompatible-call] There is a lot of stuff to untangle to make types for refs work.
188
190
  potentialChild.rootViewRef.current,
@@ -58,8 +58,8 @@ function getBasePath(asset: PackagerAsset, local: boolean) {
58
58
  const safePath = basePath.replace(/\.\.\//g, '_');
59
59
  // If this asset was created with saveAssetPlugin, then we should shorten the path
60
60
  // This conditional allow compat of bundles which might have been created without the saveAssetPlugin
61
- // $FlowFixMe: __useShortPath not part of public type
62
- if (asset.__useShortPath) {
61
+ // $FlowFixMe[prop-missing][sketchy-null-mixed]: __useShortPath not part of public type
62
+ if (asset.__useShortPath === true) {
63
63
  return ensureShortPath(safePath);
64
64
  }
65
65
  return safePath;
@@ -12,8 +12,10 @@ import type {HostInstance} from '../../src/private/types/HostInstance';
12
12
  import type {ImageStyleProp} from '../StyleSheet/StyleSheet';
13
13
  import type {RootTag} from '../Types/RootTagTypes';
14
14
  import type {ImageProps} from './ImageProps';
15
+ import type {ImageSourceHeaders} from './ImageSourceUtils';
15
16
  import type {AbstractImageAndroid, ImageAndroid} from './ImageTypes.flow';
16
17
 
18
+ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
17
19
  import flattenStyle from '../StyleSheet/flattenStyle';
18
20
  import StyleSheet from '../StyleSheet/StyleSheet';
19
21
  import TextAncestorContext from '../Text/TextAncestorContext';
@@ -31,6 +33,7 @@ import NativeImageLoaderAndroid, {
31
33
  import resolveAssetSource from './resolveAssetSource';
32
34
  import TextInlineImageNativeComponent from './TextInlineImageNativeComponent';
33
35
  import * as React from 'react';
36
+ import {use} from 'react';
34
37
 
35
38
  let _requestId = 1;
36
39
  function generateRequestId() {
@@ -121,6 +124,12 @@ async function queryCache(
121
124
  return NativeImageLoaderAndroid.queryCache(urls);
122
125
  }
123
126
 
127
+ const EMPTY_IMAGE_SOURCE = {
128
+ uri: undefined,
129
+ width: undefined,
130
+ height: undefined,
131
+ };
132
+
124
133
  /**
125
134
  * A React component for displaying different types of images,
126
135
  * including network images, static resources, temporary local images, and
@@ -128,137 +137,344 @@ async function queryCache(
128
137
  *
129
138
  * See https://reactnative.dev/docs/image
130
139
  */
131
- let BaseImage: AbstractImageAndroid = ({
132
- ref: forwardedRef,
133
- ...props
134
- }: {
135
- ref?: React.RefSetter<HostInstance>,
136
- ...ImageProps,
137
- }) => {
138
- let source = getImageSourcesFromImageProps(props) || {
139
- uri: undefined,
140
- width: undefined,
141
- height: undefined,
142
- };
143
- const defaultSource = resolveAssetSource(props.defaultSource);
144
- const loadingIndicatorSource = resolveAssetSource(
145
- props.loadingIndicatorSource,
146
- );
147
-
148
- if (props.children != null) {
149
- throw new Error(
150
- 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
151
- );
152
- }
140
+ let _BaseImage;
141
+ if (ReactNativeFeatureFlags.reduceDefaultPropsInImage()) {
142
+ let BaseImage: AbstractImageAndroid = ({
143
+ ref: forwardedRef,
144
+ alt,
145
+ accessible,
146
+ 'aria-labelledby': ariaLabelledBy,
147
+ 'aria-busy': ariaBusy,
148
+ 'aria-checked': ariaChecked,
149
+ 'aria-disabled': ariaDisabled,
150
+ 'aria-expanded': ariaExpanded,
151
+ 'aria-hidden': ariaHidden,
152
+ 'aria-label': ariaLabel,
153
+ 'aria-selected': ariaSelected,
154
+ accessibilityLabel,
155
+ accessibilityLabelledBy,
156
+ accessibilityState,
157
+ defaultSource,
158
+ loadingIndicatorSource,
159
+ children,
160
+ source,
161
+ src,
162
+ style,
163
+ crossOrigin,
164
+ referrerPolicy,
165
+ srcSet,
166
+ onLoadStart,
167
+ onLoad,
168
+ onLoadEnd,
169
+ onError,
170
+ width,
171
+ height,
172
+ resizeMode,
173
+ ...restProps
174
+ }: {
175
+ ref?: React.RefSetter<HostInstance>,
176
+ ...ImageProps,
177
+ }) => {
178
+ let source_ =
179
+ getImageSourcesFromImageProps({
180
+ crossOrigin,
181
+ referrerPolicy,
182
+ src,
183
+ srcSet,
184
+ width,
185
+ height,
186
+ source,
187
+ }) || EMPTY_IMAGE_SOURCE;
188
+ const defaultSource_ = resolveAssetSource(defaultSource);
189
+ const loadingIndicatorSource_ = resolveAssetSource(loadingIndicatorSource);
153
190
 
154
- if (props.defaultSource != null && props.loadingIndicatorSource != null) {
155
- throw new Error(
156
- 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
157
- );
158
- }
191
+ if (children != null) {
192
+ throw new Error(
193
+ 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
194
+ );
195
+ }
159
196
 
160
- let style: ImageStyleProp;
161
- let sources;
162
- if (Array.isArray(source)) {
163
- style = [styles.base, props.style];
164
- sources = source;
165
- } else {
166
- const {uri} = source;
167
- if (uri === '') {
168
- console.warn('source.uri should not be an empty string');
197
+ if (defaultSource != null && loadingIndicatorSource != null) {
198
+ throw new Error(
199
+ 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
200
+ );
169
201
  }
170
- const width = source.width ?? props.width;
171
- const height = source.height ?? props.height;
172
- style = [{width, height}, styles.base, props.style];
173
- sources = [source];
174
- }
175
202
 
176
- const {onLoadStart, onLoad, onLoadEnd, onError} = props;
177
- const nativeProps = {
178
- ...props,
179
- style,
180
- shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
203
+ let style_: ImageStyleProp;
204
+ let sources_;
205
+ let headers_: ?ImageSourceHeaders;
206
+ if (Array.isArray(source_)) {
207
+ style_ = [styles.base, style];
208
+ sources_ = source_;
209
+ headers_ = sources_[0].headers;
210
+ } else {
211
+ const {uri} = source_;
212
+ if (uri === '') {
213
+ console.warn('source.uri should not be an empty string');
214
+ }
215
+ const width_ = source_.width ?? width;
216
+ const height_ = source_.height ?? height;
217
+ style_ = [{width: width_, height: height_}, styles.base, style];
218
+ sources_ = [source_];
219
+ }
220
+
221
+ const nativeProps = restProps as {
222
+ ...React.PropsOf<ImageViewNativeComponent>,
223
+ };
224
+
181
225
  // Both iOS and C++ sides expect to have "source" prop, whereas on Android it's "src"
182
226
  // (for historical reasons). So in the latter case we populate both "src" and "source",
183
227
  // in order to have a better alignment between platforms in the future.
184
- src: sources,
185
- source: sources,
186
- /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
187
- * when making Flow check .android.js files. */
188
- headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
189
- defaultSource: defaultSource ? defaultSource.uri : null,
190
- loadingIndicatorSrc: loadingIndicatorSource
191
- ? loadingIndicatorSource.uri
192
- : null,
193
- accessibilityLabel:
194
- props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
195
- accessibilityLabelledBy:
196
- props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
197
- accessible: props.alt !== undefined ? true : props.accessible,
198
- accessibilityState: {
199
- busy: props['aria-busy'] ?? props.accessibilityState?.busy,
200
- checked: props['aria-checked'] ?? props.accessibilityState?.checked,
201
- disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
202
- expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
203
- selected: props['aria-selected'] ?? props.accessibilityState?.selected,
204
- },
228
+ // TODO: `src` should be eventually removed from the API on Android.
229
+ nativeProps.src = sources_;
230
+ nativeProps.source = sources_;
231
+
232
+ nativeProps.style = style_;
233
+
234
+ if (headers_ != null) {
235
+ nativeProps.headers = headers_;
236
+ }
237
+
238
+ if (onLoadStart != null) {
239
+ nativeProps.shouldNotifyLoadEvents = true;
240
+ nativeProps.onLoadStart = onLoadStart;
241
+ }
242
+
243
+ if (onLoad != null) {
244
+ nativeProps.shouldNotifyLoadEvents = true;
245
+ nativeProps.onLoad = onLoad;
246
+ }
247
+
248
+ if (onLoadEnd != null) {
249
+ nativeProps.shouldNotifyLoadEvents = true;
250
+ nativeProps.onLoadEnd = onLoadEnd;
251
+ }
252
+
253
+ if (onError != null) {
254
+ nativeProps.shouldNotifyLoadEvents = true;
255
+ nativeProps.onError = onError;
256
+ }
257
+
258
+ if (defaultSource_ != null && defaultSource_.uri != null) {
259
+ nativeProps.defaultSource = defaultSource_.uri;
260
+ }
261
+
262
+ if (
263
+ loadingIndicatorSource_ != null &&
264
+ loadingIndicatorSource_.uri != null
265
+ ) {
266
+ nativeProps.loadingIndicatorSrc = loadingIndicatorSource_.uri;
267
+ }
268
+
269
+ if (ariaLabel != null) {
270
+ nativeProps.accessibilityLabel = ariaLabel;
271
+ } else if (accessibilityLabel != null) {
272
+ nativeProps.accessibilityLabel = accessibilityLabel;
273
+ } else if (alt != null) {
274
+ nativeProps.accessibilityLabel = alt;
275
+ }
276
+
277
+ if (ariaLabelledBy != null) {
278
+ nativeProps.accessibilityLabelledBy = ariaLabelledBy;
279
+ } else if (accessibilityLabelledBy != null) {
280
+ nativeProps.accessibilityLabelledBy = accessibilityLabelledBy;
281
+ }
282
+
283
+ if (alt != null) {
284
+ nativeProps.accessible = true;
285
+ } else if (accessible != null) {
286
+ nativeProps.accessible = accessible;
287
+ }
288
+
289
+ if (
290
+ accessibilityState != null ||
291
+ ariaBusy != null ||
292
+ ariaChecked != null ||
293
+ ariaDisabled != null ||
294
+ ariaExpanded != null ||
295
+ ariaSelected != null
296
+ ) {
297
+ nativeProps.accessibilityState = {
298
+ busy: ariaBusy ?? accessibilityState?.busy,
299
+ checked: ariaChecked ?? accessibilityState?.checked,
300
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
301
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
302
+ selected: ariaSelected ?? accessibilityState?.selected,
303
+ };
304
+ }
305
+
306
+ if (ariaHidden === true) {
307
+ nativeProps.importantForAccessibility = 'no-hide-descendants';
308
+ }
309
+
310
+ const flattenedStyle_ = flattenStyle<ImageStyleProp>(style);
311
+ const objectFit_ = convertObjectFitToResizeMode(flattenedStyle_?.objectFit);
312
+ const resizeMode_ =
313
+ objectFit_ || resizeMode || flattenedStyle_?.resizeMode || 'cover';
314
+ nativeProps.resizeMode = resizeMode_;
315
+
316
+ const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
317
+
318
+ const hasTextAncestor = use(TextAncestorContext);
319
+ const analyticTag = use(ImageAnalyticsTagContext);
320
+ if (analyticTag !== null) {
321
+ nativeProps.internal_analyticTag = analyticTag;
322
+ }
323
+
324
+ return hasTextAncestor ? (
325
+ <TextInlineImageNativeComponent
326
+ // $FlowFixMe[incompatible-type]
327
+ style={style_}
328
+ resizeMode={resizeMode_}
329
+ headers={headers_}
330
+ src={sources_}
331
+ ref={actualRef}
332
+ />
333
+ ) : (
334
+ <ImageViewNativeComponent {...nativeProps} ref={actualRef} />
335
+ );
205
336
  };
206
337
 
207
- const flattenedStyle = flattenStyle<ImageStyleProp>(style);
208
- const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);
209
- const resizeMode =
210
- objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';
211
-
212
- const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
213
-
214
- return (
215
- <ImageAnalyticsTagContext.Consumer>
216
- {analyticTag => {
217
- const nativePropsWithAnalytics =
218
- analyticTag !== null
219
- ? {
220
- ...nativeProps,
221
- internal_analyticTag: analyticTag,
222
- }
223
- : nativeProps;
224
- return (
225
- <TextAncestorContext.Consumer>
226
- {hasTextAncestor => {
227
- if (hasTextAncestor) {
338
+ _BaseImage = BaseImage;
339
+ } else {
340
+ let BaseImage: AbstractImageAndroid = ({
341
+ ref: forwardedRef,
342
+ ...props
343
+ }: {
344
+ ref?: React.RefSetter<HostInstance>,
345
+ ...ImageProps,
346
+ }) => {
347
+ let source = getImageSourcesFromImageProps(props) || {
348
+ uri: undefined,
349
+ width: undefined,
350
+ height: undefined,
351
+ };
352
+ const defaultSource = resolveAssetSource(props.defaultSource);
353
+ const loadingIndicatorSource = resolveAssetSource(
354
+ props.loadingIndicatorSource,
355
+ );
356
+
357
+ if (props.children != null) {
358
+ throw new Error(
359
+ 'The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.',
360
+ );
361
+ }
362
+
363
+ if (props.defaultSource != null && props.loadingIndicatorSource != null) {
364
+ throw new Error(
365
+ 'The <Image> component cannot have defaultSource and loadingIndicatorSource at the same time. Please use either defaultSource or loadingIndicatorSource.',
366
+ );
367
+ }
368
+
369
+ let style: ImageStyleProp;
370
+ let sources;
371
+ if (Array.isArray(source)) {
372
+ style = [styles.base, props.style];
373
+ sources = source;
374
+ } else {
375
+ const {uri} = source;
376
+ if (uri === '') {
377
+ console.warn('source.uri should not be an empty string');
378
+ }
379
+ const width = source.width ?? props.width;
380
+ const height = source.height ?? props.height;
381
+ style = [{width, height}, styles.base, props.style];
382
+ sources = [source];
383
+ }
384
+
385
+ const {onLoadStart, onLoad, onLoadEnd, onError} = props;
386
+ const nativeProps = {
387
+ ...props,
388
+ style,
389
+ shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
390
+ // Both iOS and C++ sides expect to have "source" prop, whereas on Android it's "src"
391
+ // (for historical reasons). So in the latter case we populate both "src" and "source",
392
+ // in order to have a better alignment between platforms in the future.
393
+ src: sources,
394
+ source: sources,
395
+ /* $FlowFixMe[prop-missing](>=0.78.0 site=react_native_android_fb) This issue was found
396
+ * when making Flow check .android.js files. */
397
+ headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
398
+ defaultSource: defaultSource ? defaultSource.uri : null,
399
+ loadingIndicatorSrc: loadingIndicatorSource
400
+ ? loadingIndicatorSource.uri
401
+ : null,
402
+ accessibilityLabel:
403
+ props['aria-label'] ?? props.accessibilityLabel ?? props.alt,
404
+ accessibilityLabelledBy:
405
+ props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy,
406
+ accessible: props.alt !== undefined ? true : props.accessible,
407
+ accessibilityState: {
408
+ busy: props['aria-busy'] ?? props.accessibilityState?.busy,
409
+ checked: props['aria-checked'] ?? props.accessibilityState?.checked,
410
+ disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
411
+ expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
412
+ selected: props['aria-selected'] ?? props.accessibilityState?.selected,
413
+ },
414
+ importantForAccessibility:
415
+ props['aria-hidden'] === true
416
+ ? ('no-hide-descendants' as const)
417
+ : props.importantForAccessibility,
418
+ };
419
+
420
+ const flattenedStyle = flattenStyle<ImageStyleProp>(style);
421
+ const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);
422
+ const resizeMode =
423
+ objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';
424
+
425
+ const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
426
+
427
+ return (
428
+ <ImageAnalyticsTagContext.Consumer>
429
+ {analyticTag => {
430
+ const nativePropsWithAnalytics =
431
+ analyticTag !== null
432
+ ? {
433
+ ...nativeProps,
434
+ internal_analyticTag: analyticTag,
435
+ }
436
+ : nativeProps;
437
+ return (
438
+ <TextAncestorContext.Consumer>
439
+ {hasTextAncestor => {
440
+ if (hasTextAncestor) {
441
+ return (
442
+ <TextInlineImageNativeComponent
443
+ // $FlowFixMe[incompatible-type]
444
+ style={style}
445
+ resizeMode={resizeMode}
446
+ headers={nativeProps.headers}
447
+ src={sources}
448
+ ref={actualRef}
449
+ />
450
+ );
451
+ }
452
+
228
453
  return (
229
- <TextInlineImageNativeComponent
230
- // $FlowFixMe[incompatible-type]
231
- style={style}
454
+ <ImageViewNativeComponent
455
+ {...nativePropsWithAnalytics}
232
456
  resizeMode={resizeMode}
233
- headers={nativeProps.headers}
234
- src={sources}
235
457
  ref={actualRef}
236
458
  />
237
459
  );
238
- }
239
-
240
- return (
241
- <ImageViewNativeComponent
242
- {...nativePropsWithAnalytics}
243
- resizeMode={resizeMode}
244
- ref={actualRef}
245
- />
246
- );
247
- }}
248
- </TextAncestorContext.Consumer>
249
- );
250
- }}
251
- </ImageAnalyticsTagContext.Consumer>
252
- );
253
- };
460
+ }}
461
+ </TextAncestorContext.Consumer>
462
+ );
463
+ }}
464
+ </ImageAnalyticsTagContext.Consumer>
465
+ );
466
+ };
467
+
468
+ _BaseImage = BaseImage;
469
+ }
254
470
 
255
471
  const imageComponentDecorator = unstable_getImageComponentDecorator();
256
472
  if (imageComponentDecorator != null) {
257
- BaseImage = imageComponentDecorator(BaseImage);
473
+ _BaseImage = imageComponentDecorator(_BaseImage);
258
474
  }
259
475
 
260
476
  // $FlowExpectedError[incompatible-type] Eventually we need to move these functions from statics of the component to exports in the module.
261
- const Image: ImageAndroid = BaseImage;
477
+ const Image: ImageAndroid = _BaseImage;
262
478
 
263
479
  Image.displayName = 'Image';
264
480
 
@@ -153,6 +153,7 @@ let BaseImage: AbstractImageIOS = ({
153
153
  'aria-disabled': ariaDisabled,
154
154
  'aria-expanded': ariaExpanded,
155
155
  'aria-selected': ariaSelected,
156
+ 'aria-hidden': ariaHidden,
156
157
  src,
157
158
  ...restProps
158
159
  } = props;
@@ -164,6 +165,10 @@ let BaseImage: AbstractImageIOS = ({
164
165
  expanded: ariaExpanded ?? props.accessibilityState?.expanded,
165
166
  selected: ariaSelected ?? props.accessibilityState?.selected,
166
167
  };
168
+
169
+ // In order for `aria-hidden` to work on iOS we must set `accessible` to false (`accessibilityElementsHidden` is not enough).
170
+ const accessible =
171
+ ariaHidden !== true && (props.alt !== undefined ? true : props.accessible);
167
172
  const accessibilityLabel = props['aria-label'] ?? props.accessibilityLabel;
168
173
 
169
174
  const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);
@@ -175,7 +180,7 @@ let BaseImage: AbstractImageIOS = ({
175
180
  <ImageViewNativeComponent
176
181
  accessibilityState={_accessibilityState}
177
182
  {...restProps}
178
- accessible={props.alt !== undefined ? true : props.accessible}
183
+ accessible={accessible}
179
184
  accessibilityLabel={accessibilityLabel ?? props.alt}
180
185
  ref={actualRef}
181
186
  style={style}