react-native-windows 0.73.10 → 0.74.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 (773) hide show
  1. package/.flowconfig +12 -7
  2. package/Chakra/ChakraUtils.cpp +5 -10
  3. package/Chakra/ChakraUtils.h +2 -2
  4. package/Common/packages.lock.json +3 -3
  5. package/Directory.Build.props +5 -5
  6. package/Folly/Folly.vcxproj +2 -2
  7. package/Folly/Folly.vcxproj.filters +7 -0
  8. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +22 -1
  9. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +4 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  12. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  13. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  14. package/Libraries/Alert/Alert.windows.js +2 -3
  15. package/Libraries/Alert/NativeAlertManager.js +4 -26
  16. package/Libraries/Animated/Animated.js +2 -2
  17. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  18. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  19. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  21. package/Libraries/Animated/animations/Animation.js +6 -22
  22. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  23. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  24. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  25. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  26. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  27. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  28. package/Libraries/Animated/useAnimatedProps.js +21 -1
  29. package/Libraries/AppState/NativeAppState.js +4 -24
  30. package/Libraries/AppTheme/NativeAppTheme.js +4 -25
  31. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  32. package/Libraries/Blob/Blob.js +1 -4
  33. package/Libraries/Blob/BlobManager.js +6 -8
  34. package/Libraries/Blob/File.js +1 -1
  35. package/Libraries/Blob/NativeBlobModule.js +4 -50
  36. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  37. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +3 -2
  42. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  44. package/Libraries/Components/Button.js +103 -107
  45. package/Libraries/Components/Button.windows.js +199 -206
  46. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  47. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  49. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -8
  50. package/Libraries/Components/Keyboard/KeyboardExt.js +27 -27
  51. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  52. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -17
  53. package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -7
  54. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  55. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  56. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
  57. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
  58. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
  59. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.windows.js +1 -2
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  68. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  69. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  70. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  71. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  72. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/Switch.windows.js +0 -2
  80. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  81. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  82. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  83. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  84. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  85. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  86. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  87. package/Libraries/Components/TextInput/TextInput.js +65 -32
  88. package/Libraries/Components/TextInput/TextInput.windows.js +87 -38
  89. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +773 -9
  90. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  91. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  92. package/Libraries/Components/Touchable/Touchable.js +2 -3
  93. package/Libraries/Components/Touchable/Touchable.windows.js +2 -3
  94. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  95. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +4 -4
  96. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  97. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  98. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -2
  99. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  100. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  101. package/Libraries/Components/View/View.js +0 -11
  102. package/Libraries/Components/View/View.windows.js +19 -18
  103. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  104. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  105. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  106. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -36
  107. package/Libraries/Core/InitializeCore.js +1 -1
  108. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  109. package/Libraries/Core/ReactNativeVersion.js +12 -6
  110. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  111. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  112. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  113. package/Libraries/Core/registerCallableModule.js +42 -0
  114. package/Libraries/Core/setUpPerformance.js +2 -2
  115. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  116. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  117. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  118. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  119. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  120. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  121. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  122. package/Libraries/Image/AssetSourceResolver.js +5 -5
  123. package/Libraries/Image/AssetUtils.js +4 -5
  124. package/Libraries/Image/Image.android.js +146 -174
  125. package/Libraries/Image/Image.d.ts +1 -1
  126. package/Libraries/Image/Image.ios.js +53 -79
  127. package/Libraries/Image/Image.windows.js +53 -79
  128. package/Libraries/Image/ImageBackground.js +2 -2
  129. package/Libraries/Image/ImageInjection.js +76 -18
  130. package/Libraries/Image/ImageTypes.flow.js +71 -0
  131. package/Libraries/Image/ImageUtils.js +1 -1
  132. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  133. package/Libraries/Image/NativeImageEditor.js +3 -42
  134. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  135. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  136. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  137. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  138. package/Libraries/Image/resolveAssetSource.js +59 -26
  139. package/Libraries/Image/resolveAssetSource.windows.js +148 -0
  140. package/Libraries/Inspector/ElementProperties.js +26 -52
  141. package/Libraries/Inspector/Inspector.js +122 -186
  142. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  143. package/Libraries/Inspector/InspectorPanel.js +3 -17
  144. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  145. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  146. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  147. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  148. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  149. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  150. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  151. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  152. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  153. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  154. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  155. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  156. package/Libraries/Lists/FillRateHelper.js +1 -1
  157. package/Libraries/Lists/FlatList.d.ts +2 -2
  158. package/Libraries/Lists/FlatList.js +6 -1
  159. package/Libraries/Lists/FlatList.windows.js +717 -0
  160. package/Libraries/Lists/SectionList.d.ts +6 -1
  161. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  162. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  163. package/Libraries/Lists/VirtualizedList.js +1 -1
  164. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  165. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  166. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  167. package/Libraries/Modal/Modal.js +43 -11
  168. package/Libraries/Modal/NativeModalManager.js +3 -11
  169. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  170. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  171. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  172. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  173. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  174. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  175. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  176. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  177. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  178. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  179. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  180. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  181. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  182. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  183. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
  184. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  185. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  186. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  187. package/Libraries/Network/FormData.js +3 -1
  188. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  189. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  190. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +4 -2
  191. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +3 -1
  192. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  193. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  194. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  195. package/Libraries/Pressability/Pressability.js +12 -2
  196. package/Libraries/Pressability/Pressability.windows.js +13 -3
  197. package/Libraries/Pressability/usePressability.js +7 -0
  198. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  199. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  200. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  201. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  202. package/Libraries/ReactNative/AppContainer.js +6 -149
  203. package/Libraries/ReactNative/AppRegistry.js +3 -1
  204. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  205. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  206. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  207. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  208. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  209. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  210. package/Libraries/ReactNative/PaperUIManager.windows.js +29 -8
  211. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  212. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  213. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  214. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  215. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  216. package/Libraries/ReactNative/UIManager.js +2 -23
  217. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  218. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  219. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  220. package/Libraries/ReactNative/renderApplication.js +9 -6
  221. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  222. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  223. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  224. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  225. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  226. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  227. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  228. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  229. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  230. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  231. package/Libraries/Share/NativeShareModule.js +3 -13
  232. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +1 -1
  233. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  234. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  235. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  236. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  237. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  238. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  239. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  240. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  241. package/Libraries/Text/Text.js +0 -6
  242. package/Libraries/Text/Text.windows.js +0 -6
  243. package/Libraries/Text/TextAncestor.js +2 -3
  244. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  245. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  246. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  247. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  248. package/Libraries/Utilities/Dimensions.js +8 -16
  249. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  250. package/Libraries/Utilities/NativeAppearance.js +3 -26
  251. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  252. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  253. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  254. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  255. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  256. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  257. package/Libraries/Utilities/Platform.android.js +4 -0
  258. package/Libraries/Utilities/Platform.d.ts +3 -0
  259. package/Libraries/Utilities/Platform.flow.js +7 -0
  260. package/Libraries/Utilities/Platform.flow.windows.js +9 -0
  261. package/Libraries/Utilities/Platform.ios.js +11 -0
  262. package/Libraries/Utilities/Platform.windows.js +6 -0
  263. package/Libraries/Utilities/binaryToBase64.js +1 -1
  264. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  265. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  266. package/Libraries/Utilities/useMergeRefs.js +5 -9
  267. package/Libraries/Vibration/NativeVibration.js +3 -14
  268. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  269. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  270. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  271. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
  272. package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
  273. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -0
  274. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +1 -1
  275. package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
  276. package/Microsoft.ReactNative/ComponentView.idl +106 -0
  277. package/Microsoft.ReactNative/Composition.Input.idl +16 -2
  278. package/Microsoft.ReactNative/CompositionComponentView.idl +117 -0
  279. package/Microsoft.ReactNative/CompositionContext.idl +1 -1
  280. package/Microsoft.ReactNative/CompositionRootView.idl +8 -0
  281. package/Microsoft.ReactNative/CompositionSwitcher.idl +25 -14
  282. package/Microsoft.ReactNative/DevMenuControl.idl +0 -3
  283. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -15
  284. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
  285. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
  286. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
  287. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
  288. package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
  289. package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
  290. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +48 -19
  291. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +8 -16
  292. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +97 -0
  293. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +39 -0
  294. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
  295. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
  296. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
  297. package/Microsoft.ReactNative/Fabric/ComponentView.h +130 -64
  298. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +48 -24
  299. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +18 -14
  300. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +42 -27
  301. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +3 -1
  302. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +123 -28
  303. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +69 -13
  304. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +651 -284
  305. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +7 -7
  306. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +9 -9
  307. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +120 -31
  308. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +12 -2
  309. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +308 -129
  310. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +34 -6
  311. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +2 -1
  312. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +61 -54
  313. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +0 -9
  314. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +99 -30
  315. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +4 -3
  316. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +273 -28
  317. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +28 -3
  318. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +7 -3
  319. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +4 -0
  320. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +479 -280
  321. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +133 -79
  322. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
  323. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
  324. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +61 -41
  325. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +19 -14
  326. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
  327. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +343 -0
  328. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
  329. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
  330. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
  331. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +53 -186
  332. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +20 -12
  333. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +59 -150
  334. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +27 -76
  335. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +81 -32
  336. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +27 -14
  337. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +707 -64
  338. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +47 -26
  339. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +225 -125
  340. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +34 -21
  341. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
  342. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
  343. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +110 -115
  344. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +228 -79
  345. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +43 -22
  346. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +18 -0
  347. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +12 -0
  348. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +5 -5
  349. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -1
  350. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +1 -2
  351. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +4 -44
  352. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +11 -9
  353. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +550 -0
  354. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +73 -0
  355. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
  356. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +48 -26
  357. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +6 -2
  358. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +30 -65
  359. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +16 -25
  360. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +72 -88
  361. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +5 -2
  362. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +3 -2
  363. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +6 -6
  364. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +2 -2
  365. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +12 -7
  366. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +28 -19
  367. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +5 -0
  368. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -2
  369. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
  370. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
  371. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
  372. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
  373. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
  374. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/{Color.cpp → PlatformColorUtils.cpp} +7 -77
  375. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
  376. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -0
  377. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
  378. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +6 -87
  379. package/Microsoft.ReactNative/IReactContext.idl +3 -0
  380. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +71 -1
  381. package/Microsoft.ReactNative/JsiApi.cpp +17 -7
  382. package/Microsoft.ReactNative/JsiApi.h +2 -2
  383. package/Microsoft.ReactNative/JsiApi.idl +5 -4
  384. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -22
  385. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +6 -2
  386. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  387. package/Microsoft.ReactNative/Modules/AlertModule.h +2 -2
  388. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +12 -8
  389. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +1 -1
  390. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  391. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -3
  392. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +4 -4
  393. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +10 -1
  394. package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
  395. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +71 -38
  396. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +5 -5
  397. package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
  398. package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
  399. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +11 -10
  400. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +8 -6
  401. package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -3
  402. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +5 -28
  403. package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
  404. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +8 -5
  405. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +3 -3
  406. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
  407. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
  408. package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
  409. package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
  410. package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
  411. package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
  412. package/Microsoft.ReactNative/Modules/Timing.h +121 -0
  413. package/Microsoft.ReactNative/QuirkSettings.cpp +32 -0
  414. package/Microsoft.ReactNative/QuirkSettings.h +9 -0
  415. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  416. package/Microsoft.ReactNative/ReactCoreInjection.cpp +15 -0
  417. package/Microsoft.ReactNative/ReactCoreInjection.h +4 -0
  418. package/Microsoft.ReactNative/ReactCoreInjection.idl +8 -0
  419. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +1 -1
  420. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +1 -1
  421. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +556 -234
  422. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +36 -9
  423. package/Microsoft.ReactNative/ReactInstanceSettings.idl +3 -0
  424. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +8 -0
  425. package/Microsoft.ReactNative/ReactPointerEventArgs.h +4 -0
  426. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +12 -0
  427. package/Microsoft.ReactNative/SchedulerSettings.cpp +23 -0
  428. package/Microsoft.ReactNative/SchedulerSettings.h +9 -1
  429. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
  430. package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
  431. package/Microsoft.ReactNative/Theme.idl +57 -0
  432. package/Microsoft.ReactNative/Timer.cpp +63 -0
  433. package/Microsoft.ReactNative/{CoreAppPage.h → Timer.h} +12 -5
  434. package/Microsoft.ReactNative/Timer.idl +34 -0
  435. package/Microsoft.ReactNative/TurboModulesProvider.cpp +4 -0
  436. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +37 -3
  437. package/Microsoft.ReactNative/Utils/ImageUtils.h +0 -1
  438. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +11 -12
  439. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +3 -3
  440. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
  441. package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
  442. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -5
  443. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -3
  444. package/Microsoft.ReactNative/ViewProps.idl +17 -0
  445. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +1 -0
  446. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
  447. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
  448. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -20
  449. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +157 -0
  450. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +5 -0
  451. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +20 -0
  452. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +4 -0
  453. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -5
  454. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +137 -0
  455. package/Microsoft.ReactNative/Views/ICompositionRootView.h +0 -1
  456. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -5
  457. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -5
  458. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +11 -0
  459. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -4
  460. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -6
  461. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -11
  462. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  463. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
  464. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
  465. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +46 -0
  466. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  467. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +77 -2
  468. package/Microsoft.ReactNative/microsoft.reactnative.def +0 -3
  469. package/Microsoft.ReactNative/packages.lock.json +9 -6
  470. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/AutoDraw.h +2 -0
  471. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/CompositionSwitcher.interop.h +4 -10
  472. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -5
  473. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +5 -0
  474. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +19 -10
  475. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +2 -0
  476. package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
  477. package/Microsoft.ReactNative.Cxx/JSValueReader.h +19 -0
  478. package/Microsoft.ReactNative.Cxx/JSValueXaml.h +1 -1
  479. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +6 -4
  480. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +0 -1
  481. package/Microsoft.ReactNative.Cxx/NativeModules.h +15 -15
  482. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +1 -1
  483. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  484. package/Microsoft.ReactNative.Managed/packages.lock.json +6 -3
  485. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +0 -1
  486. package/Mso/future/details/executor.h +1 -1
  487. package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
  488. package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +8 -0
  489. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
  490. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
  491. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +1 -1
  492. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +2 -0
  493. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  494. package/PropertySheets/JSEngine.props +0 -8
  495. package/PropertySheets/React.Cpp.props +14 -3
  496. package/PropertySheets/ReactCommunity.cpp.props +2 -2
  497. package/PropertySheets/Release.props +0 -1
  498. package/PropertySheets/WinUI.props +21 -1
  499. package/PropertySheets/x64.props +3 -0
  500. package/PropertySheets/x86.props +3 -0
  501. package/ReactCommon/ReactCommon.vcxproj +13 -8
  502. package/ReactCommon/ReactCommon.vcxproj.filters +12 -1
  503. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +114 -19
  504. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
  505. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +114 -52
  506. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +13 -15
  507. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
  508. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +437 -0
  509. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
  510. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
  511. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +19 -24
  512. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +600 -980
  513. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +5 -11
  514. package/ReactCommon/cgmanifest.json +1 -1
  515. package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
  516. package/Scripts/IntegrationTests.ps1 +26 -15
  517. package/Scripts/Microsoft.ReactNative.targets +0 -6
  518. package/Scripts/OfficeReact.Win32.nuspec +1 -2
  519. package/Scripts/TestServers.ps1 +2 -28
  520. package/Scripts/Tfs/Start-TestServers.ps1 +1 -21
  521. package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
  522. package/Scripts/rnw-dependencies.ps1 +38 -67
  523. package/Shared/CreateInstance.h +25 -0
  524. package/Shared/DevServerHelper.h +0 -3
  525. package/Shared/DevSettings.h +9 -0
  526. package/Shared/HermesRuntimeHolder.cpp +17 -0
  527. package/Shared/HermesRuntimeHolder.h +17 -0
  528. package/Shared/HermesSamplingProfiler.cpp +12 -10
  529. package/Shared/HermesSamplingProfiler.h +5 -4
  530. package/Shared/IDevSupportManager.h +4 -2
  531. package/Shared/InstanceManager.cpp +13 -11
  532. package/Shared/InstanceManager.h +8 -18
  533. package/Shared/JSI/ChakraRuntime.cpp +66 -9
  534. package/Shared/JSI/ChakraRuntime.h +8 -0
  535. package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
  536. package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
  537. package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
  538. package/Shared/Modules/BlobModule.h +1 -1
  539. package/Shared/Modules/FileReaderModule.h +1 -1
  540. package/Shared/Modules/HttpModule.h +1 -1
  541. package/Shared/Modules/WebSocketTurboModule.h +1 -1
  542. package/Shared/Networking/OriginPolicyHttpFilter.cpp +19 -23
  543. package/Shared/Networking/OriginPolicyHttpFilter.h +4 -7
  544. package/Shared/Networking/WinRTHttpResource.cpp +2 -4
  545. package/Shared/OInstance.cpp +212 -165
  546. package/Shared/OInstance.h +19 -0
  547. package/Shared/Shared.vcxitems +134 -50
  548. package/Shared/Shared.vcxitems.filters +81 -24
  549. package/Shared/Utils.cpp +12 -10
  550. package/Shared/Utils.h +2 -2
  551. package/Shared/WebSocketJSExecutorFactory.h +1 -0
  552. package/codegen/NativeBugReportingSpec.g.h +0 -6
  553. package/codegen/NativeFrameRateLoggerSpec.g.h +0 -2
  554. package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -23
  555. package/codegen/NativePerformanceObserverSpec.g.h +6 -0
  556. package/codegen/NativePlatformConstantsIOSSpec.g.h +2 -0
  557. package/codegen/NativePlatformConstantsWinSpec.g.h +17 -0
  558. package/codegen/NativePushNotificationManagerIOSSpec.g.h +8 -6
  559. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +88 -0
  560. package/codegen/NativeUIManagerSpec.g.h +83 -95
  561. package/codegen/react/components/rnwcore/ComponentDescriptors.h +10 -7
  562. package/codegen/react/components/rnwcore/EventEmitters.cpp +40 -52
  563. package/codegen/react/components/rnwcore/EventEmitters.h +66 -84
  564. package/codegen/react/components/rnwcore/Props.cpp +60 -95
  565. package/codegen/react/components/rnwcore/Props.h +198 -239
  566. package/codegen/react/components/rnwcore/ShadowNodes.cpp +6 -7
  567. package/codegen/react/components/rnwcore/ShadowNodes.h +38 -29
  568. package/codegen/react/components/rnwcore/States.cpp +3 -5
  569. package/codegen/react/components/rnwcore/States.h +29 -16
  570. package/codegen/rnwcoreJSI-generated.cpp +1442 -1398
  571. package/codegen/rnwcoreJSI.h +6066 -3593
  572. package/index.js +66 -99
  573. package/index.windows.js +60 -102
  574. package/jest/assetFileTransformer.js +1 -1
  575. package/jest/local-setup.js +0 -5
  576. package/jest/mockModal.js +2 -1
  577. package/jest/mockScrollView.js +1 -2
  578. package/jest/renderer.js +1 -1
  579. package/jest/setup.js +6 -3
  580. package/just-task.js +1 -1
  581. package/package.json +30 -29
  582. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  583. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  584. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  585. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  586. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  587. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  588. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  589. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  590. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  591. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  592. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  593. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  594. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  595. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  596. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  597. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  598. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  599. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  600. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  601. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  602. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  603. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  604. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  605. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  606. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  607. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  608. package/src/private/specs/modules/NativeAppState.js +33 -0
  609. package/src/private/specs/modules/NativeAppTheme.js +33 -0
  610. package/src/private/specs/modules/NativeAppearance.js +36 -0
  611. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  612. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  613. package/src/private/specs/modules/NativeClipboard.js +21 -0
  614. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  615. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  616. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  617. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  618. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  619. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  620. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  621. package/{Libraries/Alert → src/private/specs/modules}/NativeDialogManagerWindows.js +5 -4
  622. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  623. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  624. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  625. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  626. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  627. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  628. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  629. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  630. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  631. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  632. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  633. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  634. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  635. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  636. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  637. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  638. package/src/private/specs/modules/NativeLogBox.js +20 -0
  639. package/src/private/specs/modules/NativeModalManager.js +21 -0
  640. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  641. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  642. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  643. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  644. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  645. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  646. package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
  647. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  648. package/src/private/specs/modules/NativeRedBox.js +20 -0
  649. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  650. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  651. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  652. package/src/private/specs/modules/NativeShareModule.js +23 -0
  653. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  654. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  655. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  656. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  657. package/src/private/specs/modules/NativeTiming.js +26 -0
  658. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  659. package/src/private/specs/modules/NativeUIManager.js +118 -0
  660. package/src/private/specs/modules/NativeVibration.js +24 -0
  661. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  662. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  663. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  664. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  665. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  666. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  667. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  668. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  669. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  670. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  671. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  672. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  673. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  674. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  675. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  676. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  677. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  678. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  679. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  680. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  681. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  682. package/template/cpp-app/src/App.cpp +2 -2
  683. package/template/cs-app/src/App.xaml.cs +2 -2
  684. package/templates/cpp-app/jest.config.windows.js +3 -0
  685. package/templates/cpp-app/metro.config.js +0 -2
  686. package/templates/cpp-app/template.config.js +24 -9
  687. package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -1
  688. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
  689. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
  690. package/templates/cpp-app/windows/MyApp/MyApp.cpp +134 -249
  691. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +12 -11
  692. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +6 -3
  693. package/templates/cpp-app/windows/MyApp/pch.h +12 -9
  694. package/templates/cpp-app/windows/MyApp/resource.h +0 -1
  695. package/templates/cpp-app/windows/MyApp.sln +26 -26
  696. package/templates/cpp-lib/example/metro.config.js +74 -0
  697. package/templates/cpp-lib/template.config.js +235 -0
  698. package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
  699. package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
  700. package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
  701. package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
  702. package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
  703. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
  704. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
  705. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
  706. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
  707. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
  708. package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
  709. package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
  710. package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
  711. package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
  712. package/templates/cpp-lib/windows/MyLib.sln +156 -0
  713. package/templates/cpp-lib/windows/_gitignore +41 -0
  714. package/templates/templateUtils.js +137 -0
  715. package/types/modules/globals.d.ts +1 -0
  716. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +0 -1016
  717. package/Libraries/Components/Button.flow.js +0 -265
  718. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
  719. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -14
  720. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -34
  721. package/Libraries/Components/ScrollView/ScrollView.windows.js +0 -1941
  722. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  723. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -45
  724. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  725. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  726. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  727. package/Libraries/Image/Image.flow.js +0 -64
  728. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  729. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  730. package/Libraries/Settings/Settings.windows.js +0 -28
  731. package/Microsoft.ReactNative/CoreApp.cpp +0 -303
  732. package/Microsoft.ReactNative/CoreAppPage.cpp +0 -21
  733. package/Microsoft.ReactNative/CoreAppPage.idl +0 -12
  734. package/Microsoft.ReactNative/CoreAppPage.xaml +0 -14
  735. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +0 -197
  736. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +0 -84
  737. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/EventEmitters.h +0 -5
  738. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/Props.h +0 -5
  739. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/ShadowNodes.h +0 -5
  740. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +0 -5
  741. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +0 -245
  742. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +0 -134
  743. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +0 -27
  744. package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -229
  745. package/Microsoft.ReactNative/Modules/TimingModule.h +0 -88
  746. package/Microsoft.ReactNative.Cxx/CoreApp.h +0 -60
  747. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +0 -60
  748. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +0 -60
  749. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +0 -63
  750. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +0 -1038
  751. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +0 -503
  752. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -895
  753. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -182
  754. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +0 -543
  755. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +0 -1505
  756. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +0 -67
  757. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -93
  758. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -88
  759. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -606
  760. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +0 -344
  761. package/ReactCommon/Yoga.cpp +0 -961
  762. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  763. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  764. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  765. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  766. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  767. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  768. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  769. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  770. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  771. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  772. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  773. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
@@ -4,6 +4,7 @@
4
4
 
5
5
  #pragma once
6
6
 
7
+ #include "Composition.WindowsTextInputComponentView.g.h"
7
8
  #include <ReactContext.h>
8
9
  #include <Windows.Graphics.DirectX.Direct3D11.interop.h>
9
10
  #include <richedit.h>
@@ -16,21 +17,24 @@
16
17
  #include "WindowsTextInputProps.h"
17
18
  #include "WindowsTextInputShadowNode.h"
18
19
 
19
- namespace Microsoft::ReactNative {
20
-
20
+ namespace winrt::Microsoft::ReactNative::Composition::implementation {
21
21
  struct CompTextHost;
22
22
 
23
- struct WindowsTextInputComponentView : CompositionBaseComponentView {
23
+ struct WindowsTextInputComponentView : WindowsTextInputComponentViewT<WindowsTextInputComponentView, ComponentView> {
24
24
  friend CompTextHost;
25
25
 
26
- using Super = CompositionBaseComponentView;
27
- [[nodiscard]] static std::shared_ptr<WindowsTextInputComponentView> Create(
26
+ using Super = WindowsTextInputComponentViewT<WindowsTextInputComponentView, ComponentView>;
27
+ [[nodiscard]] static winrt::Microsoft::ReactNative::ComponentView Create(
28
28
  const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
29
29
  facebook::react::Tag tag,
30
30
  winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
31
31
 
32
- void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
33
- void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
32
+ void MountChildComponentView(
33
+ const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
34
+ uint32_t index) noexcept override;
35
+ void UnmountChildComponentView(
36
+ const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
37
+ uint32_t index) noexcept override;
34
38
  void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
35
39
  override;
36
40
  void updateState(facebook::react::State::Shared const &state, facebook::react::State::Shared const &oldState) noexcept
@@ -38,11 +42,11 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
38
42
  void updateLayoutMetrics(
39
43
  facebook::react::LayoutMetrics const &layoutMetrics,
40
44
  facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept override;
41
- void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
45
+ void FinalizeUpdates(winrt::Microsoft::ReactNative::ComponentViewUpdateMask updateMask) noexcept override;
42
46
  void prepareForRecycle() noexcept override;
43
- facebook::react::Props::Shared props() noexcept override;
44
- void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept override;
45
- int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
47
+ facebook::react::SharedViewProps viewProps() noexcept override;
48
+ void HandleCommand(winrt::hstring commandName, const winrt::Microsoft::ReactNative::IJSValueReader &args) noexcept
49
+ override;
46
50
  facebook::react::Tag hitTest(
47
51
  facebook::react::Point pt,
48
52
  facebook::react::Point &localPt,
@@ -55,26 +59,35 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
55
59
  std::string DefaultControlType() const noexcept override;
56
60
  std::string DefaultAccessibleName() const noexcept override;
57
61
  std::string DefaultHelpText() const noexcept override;
58
- void onPointerPressed(
62
+ void onThemeChanged() noexcept override;
63
+ void OnPointerPressed(
59
64
  const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
60
- void onPointerReleased(
65
+ void OnPointerReleased(
61
66
  const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
62
- void onPointerMoved(
67
+ void OnPointerMoved(
63
68
  const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept override;
64
69
 
65
- void onKeyDown(
70
+ void OnKeyDown(
66
71
  const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
67
- const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept;
68
- void onKeyUp(
72
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
73
+ void OnKeyUp(
69
74
  const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
70
- const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept;
75
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyRoutedEventArgs &args) noexcept override;
76
+ void OnCharacterReceived(
77
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
78
+ const winrt::Microsoft::ReactNative::Composition::Input::CharacterReceivedRoutedEventArgs &args) noexcept
79
+ override;
80
+
81
+ std::optional<std::string> getAcccessiblityValue() noexcept override;
82
+ void setAcccessiblityValue(std::string &&value) noexcept override;
83
+ bool getAcccessiblityIsReadOnly() noexcept override;
71
84
 
72
- private:
73
85
  WindowsTextInputComponentView(
74
86
  const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
75
87
  facebook::react::Tag tag,
76
88
  winrt::Microsoft::ReactNative::ReactContext const &reactContext);
77
89
 
90
+ private:
78
91
  struct DrawBlock {
79
92
  DrawBlock(WindowsTextInputComponentView &view);
80
93
  ~DrawBlock();
@@ -93,11 +106,16 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
93
106
  void OnTextUpdated() noexcept;
94
107
  void OnSelectionChanged(LONG start, LONG end) noexcept;
95
108
  std::string GetTextFromRichEdit() const noexcept;
109
+ void updateCursorColor(
110
+ const facebook::react::SharedColor &cursorColor,
111
+ const facebook::react::SharedColor &foregroundColor) noexcept;
112
+ bool ShouldSubmit(
113
+ const winrt::Microsoft::ReactNative::Composition::Input::KeyboardSource &source,
114
+ const winrt::Microsoft::ReactNative::Composition::Input::CharacterReceivedRoutedEventArgs &args) noexcept;
96
115
 
97
116
  winrt::Windows::UI::Composition::CompositionSurfaceBrush m_brush{nullptr};
98
117
  winrt::Microsoft::ReactNative::Composition::ISpriteVisual m_visual{nullptr};
99
118
  winrt::Microsoft::ReactNative::Composition::ICaretVisual m_caretVisual{nullptr};
100
- winrt::Microsoft::ReactNative::ReactContext m_context;
101
119
  winrt::Microsoft::ReactNative::Composition::IDrawingSurfaceBrush m_drawingSurface{nullptr};
102
120
 
103
121
  // Used by ITextHost impl
@@ -110,13 +128,16 @@ struct WindowsTextInputComponentView : CompositionBaseComponentView {
110
128
  std::shared_ptr<facebook::react::WindowsTextInputProps const> m_props;
111
129
  std::shared_ptr<facebook::react::WindowsTextInputShadowNode::ConcreteState const> m_state;
112
130
  RECT m_rcClient;
113
- int m_mostRecentEventCount{0};
131
+ int64_t m_mostRecentEventCount{0};
114
132
  int m_nativeEventCount{0};
115
133
  bool m_comingFromJS{false};
116
134
  bool m_comingFromState{false};
117
135
  int m_cDrawBlock{0};
118
136
  bool m_needsRedraw{false};
119
137
  bool m_drawing{false};
138
+ bool m_clearTextOnSubmit{false};
139
+ bool m_multiline{false};
140
+ std::vector<facebook::react::CompWindowsTextInputSubmitKeyEventsStruct> m_submitKeyEvents;
120
141
  };
121
142
 
122
- } // namespace Microsoft::ReactNative
143
+ } // namespace winrt::Microsoft::ReactNative::Composition::implementation
@@ -28,4 +28,22 @@ void WindowsTextInputEventEmitter::onSelectionChange(const OnSelectionChange &ev
28
28
  });
29
29
  }
30
30
 
31
+ void WindowsTextInputEventEmitter::onSubmitEditing(OnSubmitEditing event) const {
32
+ dispatchEvent("textInputSubmitEditing", [event = std::move(event)](jsi::Runtime &runtime) {
33
+ auto payload = jsi::Object(runtime);
34
+ payload.setProperty(runtime, "eventCount", event.eventCount);
35
+ payload.setProperty(runtime, "target", event.target);
36
+ payload.setProperty(runtime, "text", event.text);
37
+ return payload;
38
+ });
39
+ }
40
+
41
+ void WindowsTextInputEventEmitter::onKeyPress(OnKeyPress event) const {
42
+ dispatchEvent("textInputKeyPress", [event = std::move(event)](jsi::Runtime &runtime) {
43
+ auto payload = jsi::Object(runtime);
44
+ payload.setProperty(runtime, "key", event.key);
45
+ return payload;
46
+ });
47
+ }
48
+
31
49
  } // namespace facebook::react
@@ -26,8 +26,20 @@ class WindowsTextInputEventEmitter : public ViewEventEmitter {
26
26
  Selection selection;
27
27
  };
28
28
 
29
+ struct OnSubmitEditing {
30
+ int eventCount;
31
+ int target;
32
+ std::string text;
33
+ };
34
+
35
+ struct OnKeyPress {
36
+ std::string key;
37
+ };
38
+
29
39
  void onChange(OnChange value) const;
30
40
  void onSelectionChange(const OnSelectionChange &value) const;
41
+ void onSubmitEditing(OnSubmitEditing value) const;
42
+ void onKeyPress(OnKeyPress value) const;
31
43
  };
32
44
 
33
45
  } // namespace facebook::react
@@ -3,7 +3,7 @@
3
3
 
4
4
  #pragma once
5
5
 
6
- #include <react/renderer/components/rnwcore/Props.h>
6
+ #include <react/components/rnwcore/Props.h>
7
7
  #include <react/renderer/components/text/BaseTextProps.h>
8
8
  #include <react/renderer/core/propsConversions.h>
9
9
 
@@ -33,10 +33,10 @@ static inline std::string toString(const CompWindowsTextInputSelectionStruct &va
33
33
  }
34
34
 
35
35
  struct CompWindowsTextInputSubmitKeyEventsStruct {
36
- bool altKey;
37
- bool ctrlKey;
38
- bool metaKey;
39
- bool shiftKey;
36
+ bool altKey{false};
37
+ bool ctrlKey{false};
38
+ bool metaKey{false};
39
+ bool shiftKey{false};
40
40
  std::string code;
41
41
  };
42
42
 
@@ -10,6 +10,7 @@
10
10
  #include <react/renderer/core/LayoutConstraints.h>
11
11
  #include <react/renderer/core/LayoutContext.h>
12
12
  #include <react/renderer/core/conversions.h>
13
+ #include <react/renderer/textlayoutmanager/TextLayoutContext.h>
13
14
 
14
15
  #include <utility>
15
16
 
@@ -151,7 +152,7 @@ void WindowsTextInputShadowNode::updateStateIfNeeded() {
151
152
  #pragma mark - LayoutableShadowNode
152
153
 
153
154
  Size WindowsTextInputShadowNode::measureContent(
154
- const LayoutContext & /*layoutContext*/,
155
+ const LayoutContext &layoutContext,
155
156
  const LayoutConstraints &layoutConstraints) const {
156
157
  if (getStateData().cachedAttributedStringId != 0) {
157
158
  return m_textLayoutManager
@@ -177,10 +178,13 @@ Size WindowsTextInputShadowNode::measureContent(
177
178
  return {0, 0};
178
179
  }
179
180
 
181
+ TextLayoutContext textLayoutContext;
182
+ textLayoutContext.pointScaleFactor = layoutContext.pointScaleFactor;
180
183
  return m_textLayoutManager
181
184
  ->measure(
182
185
  AttributedStringBox{attributedString},
183
186
  {}, // TODO getConcreteProps().paragraphAttributes,
187
+ textLayoutContext,
184
188
  layoutConstraints,
185
189
  nullptr)
186
190
  .size;
@@ -3,7 +3,7 @@
3
3
 
4
4
  #pragma once
5
5
 
6
- #include <react/renderer/components/rnwcore/EventEmitters.h>
6
+ #include <react/components/rnwcore/EventEmitters.h>
7
7
  #include <unordered_map>
8
8
  #include "WindowsTextInputEventEmitter.h"
9
9
  #include "WindowsTextInputProps.h"
@@ -30,7 +30,6 @@ class WindowsTextInputShadowNode final : public ConcreteViewShadowNode<
30
30
  public:
31
31
  static ShadowNodeTraits BaseTraits() {
32
32
  auto traits = ConcreteViewShadowNode::BaseTraits();
33
- traits.set(ShadowNodeTraits::Trait::TextKind);
34
33
  traits.set(ShadowNodeTraits::Trait::LeafYogaNode);
35
34
  return traits;
36
35
  }
@@ -6,11 +6,8 @@
6
6
 
7
7
  #include <react/renderer/components/text/conversions.h>
8
8
  #include <react/renderer/debug/debugStringConvertibleUtils.h>
9
-
10
- #ifdef ANDROID
11
9
  #include <react/renderer/mapbuffer/MapBuffer.h>
12
10
  #include <react/renderer/mapbuffer/MapBufferBuilder.h>
13
- #endif
14
11
 
15
12
  #include <utility>
16
13
 
@@ -21,10 +18,10 @@ WindowsTextInputState::WindowsTextInputState(
21
18
  AttributedString attributedString,
22
19
  AttributedString reactTreeAttributedString,
23
20
  ParagraphAttributes paragraphAttributes,
24
- float defaultThemePaddingStart,
25
- float defaultThemePaddingEnd,
26
- float defaultThemePaddingTop,
27
- float defaultThemePaddingBottom)
21
+ double defaultThemePaddingStart,
22
+ double defaultThemePaddingEnd,
23
+ double defaultThemePaddingTop,
24
+ double defaultThemePaddingBottom)
28
25
  : mostRecentEventCount(mostRecentEventCount),
29
26
  attributedString(std::move(attributedString)),
30
27
  reactTreeAttributedString(std::move(reactTreeAttributedString)),
@@ -47,41 +44,4 @@ WindowsTextInputState::WindowsTextInputState(const WindowsTextInputState &previo
47
44
  defaultThemePaddingBottom(
48
45
  data.getDefault("themePaddingBottom", previousState.defaultThemePaddingBottom).getDouble()){};
49
46
 
50
- #ifdef ANDROID
51
- folly::dynamic AndroidTextInputState::getDynamic() const {
52
- // Java doesn't need all fields, so we don't pass them all along.
53
- folly::dynamic newState = folly::dynamic::object();
54
-
55
- // If we have a `cachedAttributedStringId` we know that we're (1) not trying
56
- // to set a new string, so we don't need to pass it along; (2) setState was
57
- // called from Java to trigger a relayout with a `cachedAttributedStringId`,
58
- // so Java has all up-to-date information and we should pass an empty map
59
- // through.
60
- if (cachedAttributedStringId == 0) {
61
- newState["mostRecentEventCount"] = mostRecentEventCount;
62
- newState["attributedString"] = toDynamic(attributedString);
63
- newState["hash"] = newState["attributedString"]["hash"];
64
- newState["paragraphAttributes"] = toDynamic(paragraphAttributes); // TODO: can we memoize this in Java?
65
- }
66
- return newState;
67
- }
68
-
69
- MapBuffer AndroidTextInputState::getMapBuffer() const {
70
- auto builder = MapBufferBuilder();
71
- // See comment in getDynamic block.
72
- if (cachedAttributedStringId == 0) {
73
- builder.putInt(TX_STATE_KEY_MOST_RECENT_EVENT_COUNT, mostRecentEventCount);
74
-
75
- auto attStringMapBuffer = toMapBuffer(attributedString);
76
- builder.putMapBuffer(TX_STATE_KEY_ATTRIBUTED_STRING, attStringMapBuffer);
77
- auto paMapBuffer = toMapBuffer(paragraphAttributes);
78
- builder.putMapBuffer(TX_STATE_KEY_PARAGRAPH_ATTRIBUTES, paMapBuffer);
79
-
80
- builder.putInt(TX_STATE_KEY_HASH, attStringMapBuffer.getInt(AS_KEY_HASH));
81
- }
82
- return builder.build();
83
- }
84
-
85
- #endif
86
-
87
47
  } // namespace facebook::react
@@ -3,9 +3,11 @@
3
3
 
4
4
  #pragma once
5
5
 
6
+ #include <folly/dynamic.h>
6
7
  #include <react/renderer/attributedstring/AttributedString.h>
7
8
  #include <react/renderer/attributedstring/ParagraphAttributes.h>
8
9
  #include <react/renderer/mapbuffer/MapBuffer.h>
10
+ #include <react/renderer/mapbuffer/MapBufferBuilder.h>
9
11
  #include <react/renderer/textlayoutmanager/TextLayoutManager.h>
10
12
 
11
13
  namespace facebook::react {
@@ -15,7 +17,7 @@ namespace facebook::react {
15
17
  */
16
18
  class WindowsTextInputState final {
17
19
  public:
18
- int mostRecentEventCount{0};
20
+ int64_t mostRecentEventCount{0};
19
21
 
20
22
  /**
21
23
  * Stores an opaque cache ID used on the Java side to refer to a specific
@@ -48,20 +50,20 @@ class WindowsTextInputState final {
48
50
  * Communicates Android theme padding back to the ShadowNode / Component
49
51
  * Descriptor for layout.
50
52
  */
51
- float defaultThemePaddingStart{NAN};
52
- float defaultThemePaddingEnd{NAN};
53
- float defaultThemePaddingTop{NAN};
54
- float defaultThemePaddingBottom{NAN};
53
+ double defaultThemePaddingStart{NAN};
54
+ double defaultThemePaddingEnd{NAN};
55
+ double defaultThemePaddingTop{NAN};
56
+ double defaultThemePaddingBottom{NAN};
55
57
 
56
58
  WindowsTextInputState(
57
59
  int64_t mostRecentEventCount,
58
60
  AttributedString attributedString,
59
61
  AttributedString reactTreeAttributedString,
60
62
  ParagraphAttributes paragraphAttributes,
61
- float defaultThemePaddingStart,
62
- float defaultThemePaddingEnd,
63
- float defaultThemePaddingTop,
64
- float defaultThemePaddingBottom);
63
+ double defaultThemePaddingStart,
64
+ double defaultThemePaddingEnd,
65
+ double defaultThemePaddingTop,
66
+ double defaultThemePaddingBottom);
65
67
 
66
68
  WindowsTextInputState() = default;
67
69
  WindowsTextInputState(const WindowsTextInputState &previousState, const folly::dynamic &data);