react-native-windows 0.72.13 → 0.73.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 (587) hide show
  1. package/.flowconfig +16 -5
  2. package/Chakra/ChakraHelpers.cpp +1 -1
  3. package/Chakra/ChakraUtils.cpp +1 -1
  4. package/Chakra/ChakraValue.h +1 -1
  5. package/Common/packages.lock.json +13 -0
  6. package/Directory.Build.props +6 -2
  7. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
  8. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
  9. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Folly/packages.lock.json +23 -0
  12. package/Libraries/Animated/Animated.js +1 -1
  13. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  14. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  15. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  16. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  17. package/Libraries/Animated/animations/Animation.js +57 -3
  18. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  19. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  20. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  21. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  22. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  23. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  25. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  27. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  28. package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
  29. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  31. package/Libraries/Animated/useAnimatedProps.js +9 -10
  32. package/Libraries/AppState/AppState.d.ts +1 -1
  33. package/Libraries/AppState/NativeAppState.js +8 -4
  34. package/Libraries/AppTheme/AppTheme.js +5 -5
  35. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  36. package/Libraries/Blob/Blob.js +6 -2
  37. package/Libraries/Blob/BlobManager.js +9 -10
  38. package/Libraries/Blob/BlobRegistry.js +14 -9
  39. package/Libraries/Blob/File.js +1 -1
  40. package/Libraries/Blob/FileReader.js +1 -2
  41. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  43. package/Libraries/Components/Glyph/Glyph.js +1 -1
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  45. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
  46. package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
  47. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  48. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
  49. package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
  50. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  51. package/Libraries/Components/Pressable/Pressable.js +3 -2
  52. package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
  53. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  57. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
  58. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  59. package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
  60. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  61. package/Libraries/Components/Switch/Switch.js +1 -0
  62. package/Libraries/Components/Switch/Switch.windows.js +259 -0
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  64. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  65. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  66. package/Libraries/Components/TextInput/TextInput.js +62 -10
  67. package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
  68. package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
  70. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  71. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  72. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  74. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  75. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  77. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
  78. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  79. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  80. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  81. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  82. package/Libraries/Components/View/View.js +46 -32
  83. package/Libraries/Components/View/View.windows.js +23 -7
  84. package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
  85. package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
  86. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  87. package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
  88. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  89. package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
  90. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  91. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  92. package/Libraries/Core/ExceptionsManager.js +16 -7
  93. package/Libraries/Core/ExtendedError.js +12 -0
  94. package/Libraries/Core/ReactNativeVersion.js +3 -3
  95. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  96. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  97. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  98. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  99. package/Libraries/Core/setUpMutationObserver.js +16 -0
  100. package/Libraries/Core/setUpPerformance.js +6 -13
  101. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  102. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  103. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  104. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  105. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  106. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  107. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  108. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  109. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  110. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  111. package/Libraries/Image/Image.android.js +8 -2
  112. package/Libraries/Image/Image.d.ts +1 -1
  113. package/Libraries/Image/Image.ios.js +4 -1
  114. package/Libraries/Image/Image.windows.js +6 -3
  115. package/Libraries/Image/ImageBackground.js +3 -0
  116. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  117. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  118. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  119. package/Libraries/Interaction/PanResponder.js +1 -4
  120. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  121. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  122. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  123. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  124. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  125. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +2 -1
  127. package/Libraries/Lists/FlatList.js +15 -5
  128. package/Libraries/Lists/SectionList.js +4 -0
  129. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  130. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  131. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  136. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  137. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  138. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  139. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  140. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  141. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  143. package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
  144. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
  145. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  146. package/Libraries/Network/RCTNetworking.android.js +2 -1
  147. package/Libraries/Network/XMLHttpRequest.js +1 -1
  148. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
  149. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
  150. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  151. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  152. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  153. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  154. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  155. package/Libraries/Pressability/Pressability.js +28 -3
  156. package/Libraries/Pressability/Pressability.windows.js +30 -5
  157. package/Libraries/ReactNative/AppContainer.js +2 -3
  158. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  159. package/Libraries/ReactNative/AppRegistry.js +66 -53
  160. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  161. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  162. package/Libraries/ReactNative/I18nManager.js +5 -11
  163. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  164. package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
  165. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  166. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  167. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  168. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  169. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  170. package/Libraries/ReactNative/UIManager.js +8 -0
  171. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  173. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  174. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  175. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  176. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  177. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  178. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  179. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  180. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  181. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  182. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  183. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  184. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  185. package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
  186. package/Libraries/Share/Share.d.ts +3 -9
  187. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  188. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  189. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
  190. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  191. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  192. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  193. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  194. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  195. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  196. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  197. package/Libraries/StyleSheet/processColor.js +1 -2
  198. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  199. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  200. package/Libraries/Text/Text.d.ts +5 -5
  201. package/Libraries/Text/Text.js +17 -10
  202. package/Libraries/Text/Text.windows.js +53 -20
  203. package/Libraries/Text/TextProps.windows.js +275 -0
  204. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  205. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  206. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  207. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  208. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  209. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  210. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  211. package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
  212. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  213. package/Libraries/Utilities/Platform.android.js +12 -8
  214. package/Libraries/Utilities/Platform.d.ts +1 -0
  215. package/Libraries/Utilities/Platform.flow.js +84 -0
  216. package/Libraries/Utilities/Platform.flow.windows.js +111 -0
  217. package/Libraries/Utilities/Platform.ios.js +12 -8
  218. package/Libraries/Utilities/Platform.windows.js +12 -8
  219. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  220. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  221. package/Libraries/Utilities/SceneTracker.js +1 -1
  222. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  223. package/Libraries/Utilities/useColorScheme.js +7 -8
  224. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  225. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  226. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  227. package/Libraries/WebPerformance/Performance.js +42 -15
  228. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  229. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  230. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  231. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  232. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  233. package/Libraries/__tests__/ViewWindows-test.js +3 -3
  234. package/Libraries/platform-types.d.ts +6 -2
  235. package/Libraries/promiseRejectionTrackingOptions.js +1 -3
  236. package/Libraries/vendor/emitter/EventEmitter.js +20 -18
  237. package/Microsoft.ReactNative/Composition.Input.idl +103 -0
  238. package/Microsoft.ReactNative/CompositionContext.idl +31 -8
  239. package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
  240. package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
  241. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
  242. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
  243. package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
  244. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
  245. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
  246. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
  247. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
  248. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
  249. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
  250. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
  251. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
  252. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
  253. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
  254. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
  255. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
  256. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
  257. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
  258. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
  259. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
  260. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
  261. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
  262. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
  263. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
  264. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
  265. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
  266. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
  267. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
  268. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
  269. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
  270. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
  271. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
  272. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
  273. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
  274. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
  276. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
  277. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
  278. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
  279. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
  280. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
  281. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
  282. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
  283. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
  284. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
  285. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
  286. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
  287. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
  288. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
  289. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
  290. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
  291. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
  292. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
  293. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
  294. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
  295. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
  296. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
  297. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  298. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
  299. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
  300. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
  301. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
  302. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
  303. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
  304. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
  305. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
  306. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
  307. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
  308. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
  309. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
  310. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  311. package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
  312. package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
  313. package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
  314. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
  315. package/Microsoft.ReactNative/IReactContext.cpp +1 -1
  316. package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
  317. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
  318. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
  319. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
  320. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
  321. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
  322. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
  323. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  324. package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
  325. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
  326. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
  327. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
  328. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
  329. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
  330. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
  331. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
  332. package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
  333. package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
  334. package/Microsoft.ReactNative/ReactApplication.h +4 -4
  335. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
  336. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
  337. package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
  338. package/Microsoft.ReactNative/ReactHost/React.h +3 -6
  339. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
  340. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
  341. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
  342. package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
  343. package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
  344. package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
  345. package/Microsoft.ReactNative/ReactRootView.h +2 -2
  346. package/Microsoft.ReactNative/ReactSupport.h +1 -1
  347. package/Microsoft.ReactNative/RedBox.cpp +1 -1
  348. package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
  349. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
  350. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
  351. package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
  352. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
  353. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
  354. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
  355. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
  356. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
  357. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
  358. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
  359. package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
  360. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  361. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
  362. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
  363. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
  364. package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
  365. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
  366. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
  367. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
  368. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
  369. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  370. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
  371. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  372. package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
  373. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
  374. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
  375. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
  376. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
  377. package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
  378. package/Microsoft.ReactNative/XamlHelper.h +1 -1
  379. package/Microsoft.ReactNative/packages.lock.json +128 -0
  380. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
  381. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
  382. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
  383. package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
  384. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
  385. package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
  386. package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
  387. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
  388. package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
  389. package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
  390. package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
  391. package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
  392. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
  393. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
  394. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
  395. package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
  396. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
  397. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
  398. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
  399. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
  400. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
  401. package/Mso/compilerAdapters/compilerFeatures.h +1 -1
  402. package/Mso/compilerAdapters/functionDecorations.h +6 -6
  403. package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
  404. package/Mso/dispatchQueue/dispatchQueue.h +3 -3
  405. package/Mso/motifCpp/motifCppTest.h +1 -1
  406. package/Mso/motifCpp/testCheck.h +1 -1
  407. package/Mso/oacr/oacr.h +1 -1
  408. package/Mso/smartPtr/smartPointerBase.h +1 -1
  409. package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
  410. package/Mso/src/dispatchQueue/queueService.cpp +1 -1
  411. package/Mso/src/dispatchQueue/taskQueue.h +1 -1
  412. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
  413. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
  414. package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
  415. package/Mso/src/future/futureImpl.cpp +5 -5
  416. package/Mso/src/future/futureImpl.h +1 -1
  417. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  418. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
  419. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
  420. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
  421. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
  422. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
  423. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
  424. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  425. package/PropertySheets/HybridCRT.props +34 -0
  426. package/PropertySheets/JSEngine.props +1 -2
  427. package/PropertySheets/React.Cpp.props +0 -1
  428. package/PropertySheets/Warnings.props +1 -1
  429. package/PropertySheets/WinUI.props +1 -1
  430. package/ReactCommon/ReactCommon.vcxproj +15 -9
  431. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
  444. package/ReactCommon/Yoga.cpp +497 -3895
  445. package/ReactCommon/packages.lock.json +30 -0
  446. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
  447. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  448. package/Scripts/rnw-dependencies.ps1 +79 -26
  449. package/Shared/BaseScriptStoreImpl.cpp +42 -13
  450. package/Shared/BaseScriptStoreImpl.h +1 -1
  451. package/Shared/Composition/AutoDraw.h +36 -0
  452. package/Shared/CxxMessageQueue.cpp +1 -1
  453. package/Shared/DevSettings.h +3 -0
  454. package/Shared/DevSupportManager.h +1 -1
  455. package/Shared/Hasher.cpp +64 -0
  456. package/Shared/Hasher.h +24 -0
  457. package/Shared/HermesRuntimeHolder.cpp +6 -6
  458. package/Shared/IDevSupportManager.h +1 -1
  459. package/Shared/JSI/ChakraApi.cpp +1 -1
  460. package/Shared/JSI/ChakraRuntime.cpp +10 -10
  461. package/Shared/JSI/ChakraRuntime.h +6 -6
  462. package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
  463. package/Shared/Modules/IRequestBodyHandler.h +1 -1
  464. package/Shared/Modules/IUriHandler.h +1 -1
  465. package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
  466. package/Shared/Modules/WebSocketModule.cpp +1 -1
  467. package/Shared/Networking/DefaultBlobResource.cpp +2 -2
  468. package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
  469. package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
  470. package/Shared/OInstance.cpp +9 -23
  471. package/Shared/OInstance.h +1 -1
  472. package/Shared/PackagerConnection.h +1 -1
  473. package/Shared/SafeLoadLibrary.cpp +8 -44
  474. package/Shared/SafeLoadLibrary.h +1 -5
  475. package/Shared/Shared.vcxitems +50 -20
  476. package/Shared/Shared.vcxitems.filters +26 -17
  477. package/Shared/Threading/BatchingQueueThread.cpp +5 -5
  478. package/Shared/Threading/BatchingQueueThread.h +4 -4
  479. package/Shared/TurboModuleManager.cpp +1 -1
  480. package/Shared/Utils.cpp +1 -1
  481. package/Shared/tracing/fbsystrace.h +1 -1
  482. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  483. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  484. package/codegen/NativeAppStateSpec.g.h +11 -21
  485. package/codegen/NativeDeviceInfoSpec.g.h +4 -14
  486. package/codegen/NativeI18nManagerSpec.g.h +6 -16
  487. package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
  488. package/codegen/NativeMutationObserverSpec.g.h +90 -0
  489. package/codegen/NativePerformanceObserverSpec.g.h +19 -13
  490. package/codegen/NativePerformanceSpec.g.h +6 -23
  491. package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
  492. package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
  493. package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
  494. package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
  495. package/codegen/NativeSourceCodeSpec.g.h +3 -13
  496. package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
  497. package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
  498. package/codegen/react/components/rnwcore/Props.h +16 -17
  499. package/codegen/rnwcoreJSI-generated.cpp +1462 -319
  500. package/codegen/rnwcoreJSI.h +1609 -462
  501. package/fmt/packages.lock.json +13 -0
  502. package/index.windows.js +3 -3
  503. package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
  504. package/jest/__tests__/setup-test.js +18 -0
  505. package/jest/mockModal.js +6 -4
  506. package/jest/setup.js +61 -30
  507. package/just-task.js +1 -0
  508. package/package.json +37 -42
  509. package/template/cs-app/proj/MyApp.csproj +0 -1
  510. package/template/cs-lib/proj/MyLib.csproj +0 -1
  511. package/templates/.clang-format +4 -0
  512. package/templates/cpp-app/metro.config.js +51 -0
  513. package/templates/cpp-app/template.config.js +119 -0
  514. package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
  515. package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
  516. package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
  517. package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
  518. package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
  519. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
  520. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
  521. package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
  522. package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
  523. package/templates/cpp-app/windows/MyApp/pch.h +35 -0
  524. package/templates/cpp-app/windows/MyApp/resource.h +18 -0
  525. package/templates/cpp-app/windows/MyApp/small.ico +0 -0
  526. package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
  527. package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
  528. package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
  529. package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
  530. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
  531. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  532. package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
  533. package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
  534. package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
  535. package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
  536. package/templates/cpp-app/windows/MyApp.sln +176 -0
  537. package/templates/cpp-app/windows/_gitignore +41 -0
  538. package/templates/old/generateWrapper.js +67 -0
  539. package/templates/old/uwp-cpp-app/template.config.js +15 -0
  540. package/templates/old/uwp-cpp-lib/template.config.js +15 -0
  541. package/templates/old/uwp-cs-app/template.config.js +15 -0
  542. package/templates/old/uwp-cs-lib/template.config.js +15 -0
  543. package/types/experimental.d.ts +44 -0
  544. package/types/index.d.ts +2 -1
  545. package/types/modules/Devtools.d.ts +1 -0
  546. package/types/modules/globals.d.ts +16 -1
  547. package/Libraries/Components/View/ViewWindows.d.ts +0 -19
  548. package/Libraries/Components/View/ViewWindows.js +0 -22
  549. package/Libraries/Components/View/ViewWindows.js.map +0 -1
  550. package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
  551. package/Libraries/Components/View/ViewWindowsProps.js +0 -8
  552. package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
  553. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  554. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  555. package/Libraries/Utilities/useColorScheme.windows.js +0 -26
  556. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
  557. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
  558. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
  559. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
  560. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
  561. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
  562. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
  563. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
  564. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
  565. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
  566. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
  567. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
  568. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
  569. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
  570. package/Shared/V8JSIRuntimeHolder.cpp +0 -71
  571. package/Shared/V8JSIRuntimeHolder.h +0 -56
  572. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
  573. package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
  574. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
  575. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
  576. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
  577. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
  578. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
  579. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
  580. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
  581. package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
  582. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
  583. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
  584. package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
  585. package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
  586. /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
  587. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
@@ -10,11 +10,13 @@
10
10
 
11
11
  import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
12
12
  import type {
13
+ KeyEvent, // Windows
14
+ MouseEvent, // Windows
13
15
  PressEvent,
14
16
  ScrollEvent,
15
17
  SyntheticEvent,
16
18
  } from '../../Types/CoreEventTypes';
17
- import type {ViewProps} from '../View/ViewPropTypes';
19
+ import type {HandledKeyboardEvent, ViewProps} from '../View/ViewPropTypes';
18
20
  import type {TextInputType} from './TextInput.flow';
19
21
 
20
22
  import usePressability from '../../Pressability/usePressability';
@@ -50,7 +52,6 @@ let RCTMultilineTextInputView;
50
52
  let RCTMultilineTextInputNativeCommands;
51
53
  let WindowsTextInput; // [Windows]
52
54
  let WindowsTextInputCommands; // [Windows]
53
- import type {KeyEvent} from '../../Types/CoreEventTypes'; // [Windows]
54
55
 
55
56
  // [Windows
56
57
  if (Platform.OS === 'android') {
@@ -211,6 +212,15 @@ export type TextContentType =
211
212
  | 'addressState'
212
213
  | 'countryName'
213
214
  | 'creditCardNumber'
215
+ | 'creditCardExpiration'
216
+ | 'creditCardExpirationMonth'
217
+ | 'creditCardExpirationYear'
218
+ | 'creditCardSecurityCode'
219
+ | 'creditCardType'
220
+ | 'creditCardName'
221
+ | 'creditCardGivenName'
222
+ | 'creditCardMiddleName'
223
+ | 'creditCardFamilyName'
214
224
  | 'emailAddress'
215
225
  | 'familyName'
216
226
  | 'fullStreetAddress'
@@ -231,7 +241,11 @@ export type TextContentType =
231
241
  | 'username'
232
242
  | 'password'
233
243
  | 'newPassword'
234
- | 'oneTimeCode';
244
+ | 'oneTimeCode'
245
+ | 'birthdate'
246
+ | 'birthdateDay'
247
+ | 'birthdateMonth'
248
+ | 'birthdateYear';
235
249
 
236
250
  export type enterKeyHintType =
237
251
  // Cross Platform
@@ -347,6 +361,16 @@ type IOSProps = $ReadOnly<{|
347
361
  * @platform ios
348
362
  */
349
363
  lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
364
+
365
+ /**
366
+ * If `false`, the iOS system will not insert an extra space after a paste operation
367
+ * neither delete one or two spaces after a cut or delete operation.
368
+ *
369
+ * The default value is `true`.
370
+ *
371
+ * @platform ios
372
+ */
373
+ smartInsertDelete?: ?boolean,
350
374
  |}>;
351
375
 
352
376
  type AndroidProps = $ReadOnly<{|
@@ -457,6 +481,39 @@ type WindowsProps = $ReadOnly<{|
457
481
  * @platform windows
458
482
  */
459
483
  submitKeyEvents?: ?$ReadOnlyArray<SubmitKeyEvent>,
484
+
485
+ /**
486
+ * Specifies the Tooltip for the view
487
+ */
488
+ tooltip?: string,
489
+
490
+ /**
491
+ * Indicates the TabIndex to use for this view
492
+ */
493
+ tabIndex?: number,
494
+
495
+ /**
496
+ * Specifies if the control should show System focus visuals
497
+ */
498
+ enableFocusRing?: boolean,
499
+
500
+ /**
501
+ * Event fired when the mouse leaves the view
502
+ */
503
+ onMouseLeave?: (args: MouseEvent) => void,
504
+
505
+ /**
506
+ * Event fired when the mouse enters the view
507
+ */
508
+ onMouseEnter?: (args: MouseEvent) => void,
509
+
510
+ onKeyDown?: (args: KeyEvent) => void,
511
+ onKeyDownCapture?: (args: KeyEvent) => void,
512
+ onKeyUp?: (args: KeyEvent) => void,
513
+ onKeyUpCapture?: (args: KeyEvent) => void,
514
+
515
+ keyDownEvents?: ?$ReadOnlyArray<HandledKeyboardEvent>,
516
+ keyUpEvents?: ?$ReadOnlyArray<HandledKeyboardEvent>,
460
517
  |}>;
461
518
 
462
519
  // Windows]
@@ -495,7 +552,16 @@ export type Props = $ReadOnly<{|
495
552
  * - `additional-name`
496
553
  * - `address-line1`
497
554
  * - `address-line2`
555
+ * - `birthdate-day` (iOS 17+)
556
+ * - `birthdate-full` (iOS 17+)
557
+ * - `birthdate-month` (iOS 17+)
558
+ * - `birthdate-year` (iOS 17+)
498
559
  * - `cc-number`
560
+ * - `cc-csc` (iOS 17+)
561
+ * - `cc-exp` (iOS 17+)
562
+ * - `cc-exp-day` (iOS 17+)
563
+ * - `cc-exp-month` (iOS 17+)
564
+ * - `cc-exp-year` (iOS 17+)
499
565
  * - `country`
500
566
  * - `current-password`
501
567
  * - `email`
@@ -514,6 +580,11 @@ export type Props = $ReadOnly<{|
514
580
  *
515
581
  * The following values work on iOS only:
516
582
  *
583
+ * - `cc-name` (iOS 17+)
584
+ * - `cc-given-name` (iOS 17+)
585
+ * - `cc-middle-name` (iOS 17+)
586
+ * - `cc-family-name` (iOS 17+)
587
+ * - `cc-type` (iOS 17+)
517
588
  * - `nickname`
518
589
  * - `organization`
519
590
  * - `organization-title`
@@ -521,15 +592,6 @@ export type Props = $ReadOnly<{|
521
592
  *
522
593
  * The following values work on Android only:
523
594
  *
524
- * - `birthdate-day`
525
- * - `birthdate-full`
526
- * - `birthdate-month`
527
- * - `birthdate-year`
528
- * - `cc-csc`
529
- * - `cc-exp`
530
- * - `cc-exp-day`
531
- * - `cc-exp-month`
532
- * - `cc-exp-year`
533
595
  * - `gender`
534
596
  * - `name-family`
535
597
  * - `name-given`
@@ -565,6 +627,11 @@ export type Props = $ReadOnly<{|
565
627
  | 'cc-exp-month'
566
628
  | 'cc-exp-year'
567
629
  | 'cc-number'
630
+ | 'cc-name'
631
+ | 'cc-given-name'
632
+ | 'cc-middle-name'
633
+ | 'cc-family-name'
634
+ | 'cc-type'
568
635
  | 'country'
569
636
  | 'current-password'
570
637
  | 'email'
@@ -629,7 +696,7 @@ export type Props = $ReadOnly<{|
629
696
  * On Android devices manufactured by Xiaomi with Android Q,
630
697
  * when keyboardType equals 'email-address'this will be set
631
698
  * in native to 'true' to prevent a system related crash. This
632
- * will cause cursor to be diabled as a side-effect.
699
+ * will cause cursor to be disabled as a side-effect.
633
700
  *
634
701
  */
635
702
  caretHidden?: ?boolean,
@@ -1506,7 +1573,7 @@ function InternalTextInput(props: Props): React.Node {
1506
1573
 
1507
1574
  if (focusable && !accessible) {
1508
1575
  console.warn(
1509
- 'All focusable views should report proper accessiblity information. TextInputs marked as focusable should always be accessible.',
1576
+ 'All focusable views should report proper accessibility information. TextInputs marked as focusable should always be accessible.',
1510
1577
  );
1511
1578
  }
1512
1579
 
@@ -1704,7 +1771,20 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
1704
1771
  const autoCompleteWebToTextContentTypeMap = {
1705
1772
  'address-line1': 'streetAddressLine1',
1706
1773
  'address-line2': 'streetAddressLine2',
1774
+ bday: 'birthdate',
1775
+ 'bday-day': 'birthdateDay',
1776
+ 'bday-month': 'birthdateMonth',
1777
+ 'bday-year': 'birthdateYear',
1778
+ 'cc-csc': 'creditCardSecurityCode',
1779
+ 'cc-exp-month': 'creditCardExpirationMonth',
1780
+ 'cc-exp-year': 'creditCardExpirationYear',
1781
+ 'cc-exp': 'creditCardExpiration',
1782
+ 'cc-given-name': 'creditCardGivenName',
1783
+ 'cc-additional-name': 'creditCardMiddleName',
1784
+ 'cc-family-name': 'creditCardFamilyName',
1785
+ 'cc-name': 'creditCardName',
1707
1786
  'cc-number': 'creditCardNumber',
1787
+ 'cc-type': 'creditCardType',
1708
1788
  'current-password': 'password',
1709
1789
  country: 'countryName',
1710
1790
  email: 'emailAddress',
@@ -1730,6 +1810,7 @@ const autoCompleteWebToTextContentTypeMap = {
1730
1810
  const ExportedForwardRef: React.AbstractComponent<
1731
1811
  React.ElementConfig<typeof InternalTextInput>,
1732
1812
  TextInputInstance,
1813
+ // $FlowFixMe[incompatible-call]
1733
1814
  > = React.forwardRef(function TextInput(
1734
1815
  {
1735
1816
  allowFontScaling = true,
@@ -1752,8 +1833,13 @@ const ExportedForwardRef: React.AbstractComponent<
1752
1833
  let style = flattenStyle(restProps.style);
1753
1834
 
1754
1835
  if (style?.verticalAlign != null) {
1836
+ // $FlowFixMe[prop-missing]
1837
+ // $FlowFixMe[cannot-write]
1755
1838
  style.textAlignVertical =
1839
+ // $FlowFixMe[invalid-computed-prop]
1756
1840
  verticalAlignToTextAlignVerticalMap[style.verticalAlign];
1841
+ // $FlowFixMe[prop-missing]
1842
+ // $FlowFixMe[cannot-write]
1757
1843
  delete style.verticalAlign;
1758
1844
  }
1759
1845
 
@@ -5,12 +5,20 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @noflow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  'use strict';
12
12
 
13
13
  const ToastAndroid = {
14
+ // Dummy fallback toast duration constants
15
+ SHORT: (0: number),
16
+ LONG: (0: number),
17
+ // Dummy fallback toast gravity constants
18
+ TOP: (0: number),
19
+ BOTTOM: (0: number),
20
+ CENTER: (0: number),
21
+
14
22
  show: function (message: string, duration: number): void {
15
23
  console.warn('ToastAndroid is not supported on this platform.');
16
24
  },
@@ -5,12 +5,20 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @format
8
- * @noflow
8
+ * @flow strict-local
9
9
  */
10
10
 
11
11
  'use strict';
12
12
 
13
13
  const ToastAndroid = {
14
+ // Dummy fallback toast duration constants
15
+ SHORT: (0: number),
16
+ LONG: (0: number),
17
+ // Dummy fallback toast gravity constants
18
+ TOP: (0: number),
19
+ BOTTOM: (0: number),
20
+ CENTER: (0: number),
21
+
14
22
  show: function (message: string, duration: number): void {
15
23
  console.warn('ToastAndroid is not supported on this platform.');
16
24
  },
@@ -181,7 +181,7 @@ class TouchableBounce extends React.Component<Props, State> {
181
181
  accessibilityElementsHidden={
182
182
  this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden
183
183
  }
184
- nativeID={this.props.nativeID}
184
+ nativeID={this.props.id ?? this.props.nativeID}
185
185
  testID={this.props.testID}
186
186
  hitSlop={this.props.hitSlop}
187
187
  focusable={
@@ -344,7 +344,7 @@ class TouchableHighlight extends React.Component<Props, State> {
344
344
  focusable={
345
345
  this.props.focusable !== false && this.props.onPress !== undefined
346
346
  }
347
- nativeID={this.props.nativeID}
347
+ nativeID={this.props.id ?? this.props.nativeID}
348
348
  testID={this.props.testID}
349
349
  ref={this.props.hostRef}
350
350
  {...eventHandlersWithoutBlurAndFocus}>
@@ -352,7 +352,7 @@ class TouchableHighlight extends React.Component<Props, State> {
352
352
  focusable={
353
353
  this.props.focusable !== false && this.props.onPress !== undefined
354
354
  }
355
- nativeID={this.props.nativeID}
355
+ nativeID={this.props.id ?? this.props.nativeID}
356
356
  testID={this.props.testID}
357
357
  ref={this.props.hostRef}
358
358
  accessibilityPosInSet={this.props.accessibilityPosInSet} // [Windows]
@@ -322,7 +322,7 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
322
322
  this.props.focusable !== false &&
323
323
  this.props.onPress !== undefined &&
324
324
  !this.props.disabled,
325
- nativeID: this.props.nativeID,
325
+ nativeID: this.props.id ?? this.props.nativeID,
326
326
  nextFocusDown: this.props.nextFocusDown,
327
327
  nextFocusForward: this.props.nextFocusForward,
328
328
  nextFocusLeft: this.props.nextFocusLeft,
@@ -207,6 +207,7 @@ class TouchableOpacity extends React.Component<Props, State> {
207
207
 
208
208
  _getChildStyleOpacityWithDefault(): number {
209
209
  // $FlowFixMe[underconstrained-implicit-instantiation]
210
+ // $FlowFixMe[prop-missing]
210
211
  const opacity = flattenStyle(this.props.style)?.opacity;
211
212
  return typeof opacity === 'number' ? opacity : 1;
212
213
  }
@@ -275,7 +276,7 @@ class TouchableOpacity extends React.Component<Props, State> {
275
276
  this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden
276
277
  }
277
278
  style={[this.props.style, {opacity: this.state.anim}]}
278
- nativeID={this.props.nativeID}
279
+ nativeID={this.props.id ?? this.props.nativeID}
279
280
  testID={this.props.testID}
280
281
  onLayout={this.props.onLayout}
281
282
  nextFocusDown={this.props.nextFocusDown}
@@ -303,8 +304,10 @@ class TouchableOpacity extends React.Component<Props, State> {
303
304
  if (
304
305
  this.props.disabled !== prevProps.disabled ||
305
306
  // $FlowFixMe[underconstrained-implicit-instantiation]
307
+ // $FlowFixMe[prop-missing]
306
308
  flattenStyle(prevProps.style)?.opacity !==
307
309
  // $FlowFixMe[underconstrained-implicit-instantiation]
310
+ // $FlowFixMe[prop-missing]
308
311
  flattenStyle(this.props.style)?.opacity
309
312
  ) {
310
313
  this._opacityInactive(250);
@@ -209,6 +209,7 @@ class TouchableOpacity extends React.Component<Props, State> {
209
209
 
210
210
  _getChildStyleOpacityWithDefault(): number {
211
211
  // $FlowFixMe[underconstrained-implicit-instantiation]
212
+ // $FlowFixMe[prop-missing]
212
213
  const opacity = flattenStyle(this.props.style)?.opacity;
213
214
  return typeof opacity === 'number' ? opacity : 1;
214
215
  }
@@ -283,7 +284,7 @@ class TouchableOpacity extends React.Component<Props, State> {
283
284
  }
284
285
  disabled={this.props.disabled}
285
286
  style={[this.props.style, {opacity: this.state.anim}]}
286
- nativeID={this.props.nativeID}
287
+ nativeID={this.props.id ?? this.props.nativeID}
287
288
  testID={this.props.testID}
288
289
  onLayout={this.props.onLayout}
289
290
  nextFocusDown={this.props.nextFocusDown}
@@ -318,8 +319,10 @@ class TouchableOpacity extends React.Component<Props, State> {
318
319
  if (
319
320
  this.props.disabled !== prevProps.disabled ||
320
321
  // $FlowFixMe[underconstrained-implicit-instantiation]
322
+ // $FlowFixMe[prop-missing]
321
323
  flattenStyle(prevProps.style)?.opacity !==
322
324
  // $FlowFixMe[underconstrained-implicit-instantiation]
325
+ // $FlowFixMe[prop-missing]
323
326
  flattenStyle(this.props.style)?.opacity
324
327
  ) {
325
328
  this._opacityInactive(250);
@@ -181,6 +181,7 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
181
181
  }
182
182
  }
183
183
 
184
+ // $FlowFixMe[incompatible-call]
184
185
  return React.cloneElement(element, elementProps, ...children);
185
186
  }
186
187
 
@@ -196,6 +196,7 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
196
196
  }
197
197
  }
198
198
 
199
+ // $FlowFixMe[incompatible-call]
199
200
  return React.cloneElement(element, elementProps, ...children);
200
201
  }
201
202
 
@@ -33,10 +33,7 @@ interface Agent {
33
33
  removeListener(event: $Keys<AgentEvents>, listener: () => void): void;
34
34
  }
35
35
 
36
- type TraceNode = {
37
- publicInstance?: TraceNode,
38
- // TODO: remove this field when syncing the new version of the renderer from React to React Native.
39
- canonical?: TraceNode,
36
+ type PublicInstance = {
40
37
  measure?: (
41
38
  (
42
39
  x: number,
@@ -49,6 +46,16 @@ type TraceNode = {
49
46
  ) => void,
50
47
  };
51
48
 
49
+ type TraceNode =
50
+ | PublicInstance
51
+ | {
52
+ canonical?:
53
+ | PublicInstance // TODO: remove this variant when syncing the new version of the renderer from React to React Native.
54
+ | {
55
+ publicInstance?: PublicInstance,
56
+ },
57
+ };
58
+
52
59
  type ReactDevToolsGlobalHook = {
53
60
  on: (eventName: string, (agent: Agent) => void) => void,
54
61
  off: (eventName: string, (agent: Agent) => void) => void,
@@ -102,11 +109,14 @@ export default function TraceUpdateOverlay(): React.Node {
102
109
 
103
110
  const newFramesToDraw: Array<Promise<Overlay>> = [];
104
111
  nodesToDraw.forEach(({node, color}) => {
105
- // `publicInstance` => Fabric
112
+ // `canonical.publicInstance` => Fabric
106
113
  // TODO: remove this check when syncing the new version of the renderer from React to React Native.
107
114
  // `canonical` => Legacy Fabric
108
115
  // `node` => Legacy renderer
109
- const component = node.publicInstance ?? node.canonical ?? node;
116
+ const component =
117
+ (node.canonical && node.canonical.publicInstance) ??
118
+ node.canonical ??
119
+ node;
110
120
  if (!component || !component.measure) {
111
121
  return;
112
122
  }
@@ -14,6 +14,7 @@ import processAspectRatio from '../../StyleSheet/processAspectRatio';
14
14
  import processColor from '../../StyleSheet/processColor';
15
15
  import processFontVariant from '../../StyleSheet/processFontVariant';
16
16
  import processTransform from '../../StyleSheet/processTransform';
17
+ import processTransformOrigin from '../../StyleSheet/processTransformOrigin';
17
18
  import sizesDiffer from '../../Utilities/differ/sizesDiffer';
18
19
 
19
20
  const colorAttributes = {process: processColor};
@@ -46,6 +47,13 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
46
47
  flexWrap: true,
47
48
  gap: true,
48
49
  height: true,
50
+ inset: true,
51
+ insetBlock: true,
52
+ insetBlockEnd: true,
53
+ insetBlockStart: true,
54
+ insetInline: true,
55
+ insetInlineEnd: true,
56
+ insetInlineStart: true,
49
57
  justifyContent: true,
50
58
  left: true,
51
59
  margin: true,
@@ -104,6 +112,7 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
104
112
  * Transform
105
113
  */
106
114
  transform: {process: processTransform},
115
+ transformOrigin: {process: processTransformOrigin},
107
116
 
108
117
  /**
109
118
  * View
@@ -35,6 +35,7 @@ const UIView = {
35
35
  collapsable: true,
36
36
  needsOffscreenAlphaCompositing: true,
37
37
  style: ReactNativeStyleAttributes,
38
+ role: true,
38
39
  };
39
40
 
40
41
  const RCTView = {
@@ -35,6 +35,7 @@ const UIView = {
35
35
  collapsable: true,
36
36
  needsOffscreenAlphaCompositing: true,
37
37
  style: ReactNativeStyleAttributes,
38
+ role: true,
38
39
  // [Windows
39
40
  onMouseEnter: true,
40
41
  onMouseLeave: true,
@@ -10,9 +10,9 @@
10
10
 
11
11
  import type {ViewProps} from './ViewPropTypes';
12
12
 
13
+ import ReactNativeFeatureFlags from '../../ReactNative/ReactNativeFeatureFlags';
13
14
  import flattenStyle from '../../StyleSheet/flattenStyle';
14
15
  import TextAncestor from '../../Text/TextAncestor';
15
- import {getAccessibilityRoleFromRole} from '../../Utilities/AcessibilityMapping';
16
16
  import ViewNativeComponent from './ViewNativeComponent';
17
17
  import * as React from 'react';
18
18
 
@@ -35,7 +35,6 @@ const View: React.AbstractComponent<
35
35
  accessibilityLabel,
36
36
  accessibilityLabelledBy,
37
37
  accessibilityLiveRegion,
38
- accessibilityRole,
39
38
  accessibilityState,
40
39
  accessibilityValue,
41
40
  'aria-busy': ariaBusy,
@@ -56,12 +55,12 @@ const View: React.AbstractComponent<
56
55
  importantForAccessibility,
57
56
  nativeID,
58
57
  pointerEvents,
59
- role,
60
58
  tabIndex,
61
59
  ...otherProps
62
60
  }: ViewProps,
63
61
  forwardedRef,
64
62
  ) => {
63
+ const hasTextAncestor = React.useContext(TextAncestor);
65
64
  const _accessibilityLabelledBy =
66
65
  ariaLabelledBy?.split(/\s*,\s*/g) ?? accessibilityLabelledBy;
67
66
 
@@ -101,38 +100,53 @@ const View: React.AbstractComponent<
101
100
  // $FlowFixMe[underconstrained-implicit-instantiation]
102
101
  let style = flattenStyle(otherProps.style);
103
102
 
103
+ // $FlowFixMe[sketchy-null-mixed]
104
104
  const newPointerEvents = style?.pointerEvents || pointerEvents;
105
-
106
- return (
107
- <TextAncestor.Provider value={false}>
108
- <ViewNativeComponent
109
- {...otherProps}
110
- accessibilityLiveRegion={
111
- ariaLive === 'off' ? 'none' : ariaLive ?? accessibilityLiveRegion
112
- }
113
- accessibilityLabel={ariaLabel ?? accessibilityLabel}
114
- focusable={tabIndex !== undefined ? !tabIndex : focusable}
115
- accessibilityState={_accessibilityState}
116
- accessibilityRole={
117
- role ? getAccessibilityRoleFromRole(role) : accessibilityRole
118
- }
119
- accessibilityElementsHidden={
120
- ariaHidden ?? accessibilityElementsHidden
121
- }
122
- accessibilityLabelledBy={_accessibilityLabelledBy}
123
- accessibilityValue={_accessibilityValue}
124
- importantForAccessibility={
125
- ariaHidden === true
126
- ? 'no-hide-descendants'
127
- : importantForAccessibility
105
+ const collapsableOverride =
106
+ ReactNativeFeatureFlags.shouldForceUnflattenForElevation()
107
+ ? {
108
+ collapsable:
109
+ style != null && style.elevation != null && style.elevation !== 0
110
+ ? false
111
+ : otherProps.collapsable,
128
112
  }
129
- nativeID={id ?? nativeID}
130
- style={style}
131
- pointerEvents={newPointerEvents}
132
- ref={forwardedRef}
133
- />
134
- </TextAncestor.Provider>
113
+ : {};
114
+
115
+ const actualView = (
116
+ <ViewNativeComponent
117
+ {...otherProps}
118
+ {...collapsableOverride}
119
+ accessibilityLiveRegion={
120
+ ariaLive === 'off' ? 'none' : ariaLive ?? accessibilityLiveRegion
121
+ }
122
+ accessibilityLabel={ariaLabel ?? accessibilityLabel}
123
+ focusable={tabIndex !== undefined ? !tabIndex : focusable}
124
+ accessibilityState={_accessibilityState}
125
+ accessibilityElementsHidden={ariaHidden ?? accessibilityElementsHidden}
126
+ accessibilityLabelledBy={_accessibilityLabelledBy}
127
+ accessibilityValue={_accessibilityValue}
128
+ importantForAccessibility={
129
+ ariaHidden === true
130
+ ? 'no-hide-descendants'
131
+ : importantForAccessibility
132
+ }
133
+ nativeID={id ?? nativeID}
134
+ style={style}
135
+ // $FlowFixMe[incompatible-type]
136
+ pointerEvents={newPointerEvents}
137
+ ref={forwardedRef}
138
+ />
135
139
  );
140
+
141
+ if (hasTextAncestor) {
142
+ return (
143
+ <TextAncestor.Provider value={false}>
144
+ {actualView}
145
+ </TextAncestor.Provider>
146
+ );
147
+ }
148
+
149
+ return actualView;
136
150
  },
137
151
  );
138
152