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
@@ -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}