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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. package/.flowconfig +11 -10
  2. package/Directory.Build.props +3 -3
  3. package/Folly/Folly.vcxproj +1 -3
  4. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  5. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  6. package/Libraries/Animated/Animated.d.ts +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +1 -1
  8. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  9. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  10. package/Libraries/Animated/AnimatedMock.js +1 -1
  11. package/Libraries/Animated/Easing.js +2 -0
  12. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  13. package/Libraries/Animated/animations/Animation.js +19 -20
  14. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  15. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  16. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  19. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  20. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  21. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  24. package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
  25. package/Libraries/AppState/AppState.js +8 -4
  26. package/Libraries/BatchedBridge/MessageQueue.js +4 -0
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  28. package/Libraries/Blob/BlobManager.js +1 -1
  29. package/Libraries/Blob/URLSearchParams.js +2 -0
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -2
  32. package/Libraries/Components/Button.js +1 -1
  33. package/Libraries/Components/Button.windows.js +1 -1
  34. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +2 -2
  35. package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
  36. package/Libraries/Components/Popup/PopupNativeComponent.js +1 -0
  37. package/Libraries/Components/Pressable/Pressable.d.ts +8 -0
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/Pressable.windows.js +30 -2
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  41. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  42. package/Libraries/Components/ScrollView/ScrollView.windows.js +14 -5
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +2 -2
  46. package/Libraries/Components/Switch/Switch.windows.js +2 -2
  47. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  48. package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInput.windows.js +23 -11
  51. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  52. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  56. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  57. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
  59. package/Libraries/Components/View/View.js +81 -167
  60. package/Libraries/Components/View/View.windows.js +202 -302
  61. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  62. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +1 -1
  63. package/Libraries/Core/ExceptionsManager.js +4 -2
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  65. package/Libraries/Core/ReactNativeVersion.js +37 -10
  66. package/Libraries/Core/Timers/JSTimers.js +3 -1
  67. package/Libraries/Core/Timers/immediateShim.js +1 -1
  68. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  69. package/Libraries/Core/setUpPerformance.js +2 -1
  70. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  71. package/Libraries/Image/AssetSourceResolver.windows.js +2 -2
  72. package/Libraries/Image/Image.android.js +327 -111
  73. package/Libraries/Image/Image.ios.js +6 -1
  74. package/Libraries/Image/Image.windows.js +28 -61
  75. package/Libraries/Image/ImageSourceUtils.js +8 -2
  76. package/Libraries/Image/resolveAssetSource.js +1 -1
  77. package/Libraries/Image/resolveAssetSource.windows.js +1 -1
  78. package/Libraries/Interaction/InteractionManager.js +118 -167
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  81. package/Libraries/Lists/FlatList.js +5 -6
  82. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  83. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  84. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  85. package/Libraries/Modal/Modal.js +3 -3
  86. package/Libraries/Modal/Modal.windows.js +2 -2
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  88. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  89. package/Libraries/Network/RCTNetworking.android.js +1 -1
  90. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  91. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  92. package/Libraries/Network/XMLHttpRequest.js +20 -5
  93. package/Libraries/Network/convertRequestBody.js +1 -1
  94. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  95. package/Libraries/Pressability/HoverState.js +2 -0
  96. package/Libraries/Pressability/Pressability.js +1 -1
  97. package/Libraries/Pressability/Pressability.windows.js +5 -5
  98. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  99. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  100. package/Libraries/ReactNative/PaperUIManager.windows.js +4 -4
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  103. package/Libraries/ReactNative/RendererImplementation.js +116 -116
  104. package/Libraries/ReactNative/UIManager.js +3 -3
  105. package/Libraries/ReactNative/renderApplication.js +1 -0
  106. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  107. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  108. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  109. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  110. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  111. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  112. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  113. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  114. package/Libraries/Share/Share.js +4 -0
  115. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  116. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  117. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +2 -0
  118. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  119. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  120. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  121. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  122. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  123. package/Libraries/StyleSheet/processFilter.js +5 -5
  124. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  125. package/Libraries/Text/Text.js +534 -234
  126. package/Libraries/Text/Text.windows.js +622 -265
  127. package/Libraries/Text/TextNativeComponent.js +2 -2
  128. package/Libraries/Utilities/Appearance.d.ts +3 -5
  129. package/Libraries/Utilities/Appearance.js +5 -17
  130. package/Libraries/Utilities/HMRClient.js +2 -1
  131. package/Libraries/Utilities/Platform.android.js +3 -3
  132. package/Libraries/Utilities/Platform.d.ts +1 -0
  133. package/Libraries/Utilities/Platform.ios.js +1 -1
  134. package/Libraries/Utilities/Platform.windows.js +3 -3
  135. package/Libraries/Utilities/PlatformTypes.js +1 -1
  136. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  137. package/Libraries/Utilities/SceneTracker.js +1 -1
  138. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  139. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  140. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  142. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  143. package/Libraries/Utilities/useMergeRefs.js +1 -1
  144. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  145. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  146. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  147. package/Microsoft.ReactNative/App.xaml +5 -0
  148. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +0 -3
  149. package/Microsoft.ReactNative/CompositionContext.idl +0 -2
  150. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +2 -2
  151. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +0 -2
  152. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -0
  153. package/Microsoft.ReactNative/Fabric/ComponentView.h +2 -0
  154. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +0 -1
  155. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +0 -69
  156. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -15
  157. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.cpp +2 -5
  158. package/Microsoft.ReactNative/Fabric/Composition/CompositionAnnotationProvider.h +1 -4
  159. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -31
  160. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +0 -10
  161. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -4
  162. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +65 -32
  163. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +9 -0
  164. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +8 -6
  165. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +0 -2
  166. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  167. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +0 -9
  168. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +2 -11
  169. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +0 -4
  170. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.cpp +4 -7
  171. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextProvider.h +1 -5
  172. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +68 -53
  173. package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.h +1 -5
  174. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +20 -18
  175. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -3
  176. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +30 -9
  177. package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +4 -1
  178. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +3 -2
  179. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +0 -2
  180. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +0 -1
  181. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +559 -4
  182. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +52 -0
  183. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +16 -0
  184. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +6 -0
  185. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +0 -6
  186. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +0 -2
  187. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +53 -2
  188. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -1
  189. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +0 -2
  190. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +0 -1
  191. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +5 -2
  192. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +4 -1
  193. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +6 -30
  194. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +1 -3
  195. package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
  196. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +36 -14
  197. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +0 -1
  198. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +0 -1
  199. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +0 -4
  200. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  201. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +8 -0
  202. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +3 -0
  203. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -11
  204. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +2 -1
  205. package/Microsoft.ReactNative/IReactContext.cpp +2 -25
  206. package/Microsoft.ReactNative/IReactContext.h +0 -7
  207. package/Microsoft.ReactNative/IReactContext.idl +4 -29
  208. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +24 -140
  209. package/Microsoft.ReactNative/IReactModuleBuilder.h +0 -11
  210. package/Microsoft.ReactNative/IReactPackageBuilder.idl +1 -16
  211. package/Microsoft.ReactNative/IReactPackageProvider.idl +0 -1
  212. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +10 -0
  213. package/Microsoft.ReactNative/JsiApi.cpp +4 -3
  214. package/Microsoft.ReactNative/JsiApi.h +2 -3
  215. package/Microsoft.ReactNative/JsiApi.idl +3 -2
  216. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +6 -214
  217. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -252
  218. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +0 -37
  219. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -140
  220. package/Microsoft.ReactNative/Modules/AlertModule.h +0 -2
  221. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +5 -10
  222. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -1
  223. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +1 -96
  224. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +0 -14
  225. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +0 -53
  226. package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -5
  227. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -14
  228. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +0 -2
  229. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -9
  230. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +0 -4
  231. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +0 -2
  232. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +16 -90
  233. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +3 -8
  234. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +11 -48
  235. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +0 -3
  236. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +30 -102
  237. package/Microsoft.ReactNative/Modules/LogBoxModule.h +0 -7
  238. package/Microsoft.ReactNative/Modules/Timing.cpp +7 -9
  239. package/Microsoft.ReactNative/Pch/pch.h +0 -28
  240. package/Microsoft.ReactNative/ReactCoreInjection.h +0 -1
  241. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +0 -8
  242. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -15
  243. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -2
  244. package/Microsoft.ReactNative/ReactHost/React.h +0 -44
  245. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +10 -47
  246. package/Microsoft.ReactNative/ReactHost/ReactHost.h +1 -1
  247. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +30 -586
  248. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -37
  249. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +0 -13
  250. package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -1
  251. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +0 -8
  252. package/Microsoft.ReactNative/ReactInstanceSettings.h +0 -13
  253. package/Microsoft.ReactNative/ReactInstanceSettings.idl +7 -23
  254. package/Microsoft.ReactNative/ReactNativeHost.cpp +10 -35
  255. package/Microsoft.ReactNative/ReactNativeHost.h +0 -1
  256. package/Microsoft.ReactNative/ReactNativeIsland.idl +0 -4
  257. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +9 -36
  258. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -38
  259. package/Microsoft.ReactNative/RedBox.cpp +9 -362
  260. package/Microsoft.ReactNative/Theme.idl +0 -2
  261. package/Microsoft.ReactNative/Timer.cpp +3 -2
  262. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -47
  263. package/Microsoft.ReactNative/Utils/Helpers.h +0 -5
  264. package/Microsoft.ReactNative/Utils/IcuUtils.cpp +84 -0
  265. package/Microsoft.ReactNative/Utils/IcuUtils.h +42 -0
  266. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +0 -11
  267. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +0 -4
  268. package/Microsoft.ReactNative/Utils/ThemeUtils.h +1 -5
  269. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -2
  270. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -245
  271. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -23
  272. package/Microsoft.ReactNative/ViewProps.idl +0 -2
  273. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -278
  274. package/Microsoft.ReactNative/Views/DevMenu.h +0 -5
  275. package/Microsoft.ReactNative/XamlApplication.cpp +71 -0
  276. package/Microsoft.ReactNative/XamlApplication.h +47 -0
  277. package/Microsoft.ReactNative/XamlApplication.idl +19 -0
  278. package/Microsoft.ReactNative/XamlUIService.cpp +0 -54
  279. package/Microsoft.ReactNative/XamlUIService.h +0 -12
  280. package/Microsoft.ReactNative/XamlUIService.idl +0 -12
  281. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -19
  282. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  283. package/Microsoft.ReactNative.Cxx/JSI/decorator.h +191 -114
  284. package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +5 -0
  285. package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +37 -0
  286. package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +68 -0
  287. package/Microsoft.ReactNative.Cxx/JSI/jsi.h +77 -11
  288. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
  289. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -5
  290. package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +93 -1
  291. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.cpp +4 -3
  292. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +2 -2
  293. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +2 -55
  294. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +4 -8
  295. package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +5 -0
  296. package/Microsoft.ReactNative.Cxx/ReactCommon/react/timing/primitives.h +32 -4
  297. package/Microsoft.ReactNative.Cxx/ReactContext.h +0 -13
  298. package/Microsoft.ReactNative.Cxx/StructInfo.h +8 -1
  299. package/Microsoft.ReactNative.Cxx/UI.Composition.Effects.h +0 -4
  300. package/Microsoft.ReactNative.Cxx/UI.Composition.h +0 -4
  301. package/Microsoft.ReactNative.Cxx/UI.Input.h +0 -4
  302. package/Microsoft.ReactNative.Cxx/UI.Popups.h +0 -4
  303. package/Microsoft.ReactNative.Cxx/UI.Text.h +0 -4
  304. package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -33
  305. package/Microsoft.ReactNative.Managed/JSValueReader.cs +0 -4
  306. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -3
  307. package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -5
  308. package/Microsoft.ReactNative.Managed/ReactContextGenerator.cs +0 -4
  309. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +0 -25
  310. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +0 -4
  311. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -2
  312. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +0 -10
  313. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +0 -36
  314. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.cs +0 -6
  315. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +0 -2
  316. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +0 -2
  317. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +0 -2
  318. package/Mso/src/dispatchQueue/queueService.cpp +3 -1
  319. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -10
  320. package/PropertySheets/Bundle.Common.targets +1 -1
  321. package/PropertySheets/Bundle.props +3 -4
  322. package/PropertySheets/External/Microsoft.ReactNative.Common.props +0 -1
  323. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +1 -1
  324. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +1 -1
  325. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  326. package/PropertySheets/JSEngine.props +1 -1
  327. package/PropertySheets/NuGet.LockFile.props +0 -8
  328. package/PropertySheets/OutputMSBuildProperties.targets +0 -1
  329. package/PropertySheets/React.Cpp.props +3 -5
  330. package/PropertySheets/Warnings.props +1 -2
  331. package/PropertySheets/WinUI.props +3 -3
  332. package/README.md +1 -5
  333. package/ReactCommon/ReactCommon.vcxproj +12 -31
  334. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  335. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +3 -2
  336. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +5 -2
  337. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +20 -4
  338. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +113 -1
  339. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  340. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +1 -0
  341. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +351 -0
  342. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  343. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +42 -36
  344. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +15 -3
  345. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +1 -1
  346. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +174 -0
  347. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.cpp +174 -0
  348. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseParagraphProps.h +69 -0
  349. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  350. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +26 -3
  351. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +1 -1
  352. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +1 -1
  353. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +189 -0
  354. package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +27 -8
  355. package/ReactCommon/cgmanifest.json +1 -1
  356. package/Scripts/Microsoft.ReactNative.nuspec +15 -33
  357. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +23 -23
  358. package/Scripts/OfficeReact.Win32.nuspec +0 -3
  359. package/Scripts/creaternwapp.cmd +1 -1
  360. package/Shared/DevServerHelper.h +17 -21
  361. package/Shared/DevSettings.h +1 -25
  362. package/Shared/DevSupportManager.cpp +0 -50
  363. package/Shared/DevSupportManager.h +0 -4
  364. package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +5 -1
  365. package/Shared/HermesRuntimeHolder.cpp +0 -31
  366. package/Shared/HermesRuntimeHolder.h +0 -14
  367. package/Shared/IDevSupportManager.h +0 -6
  368. package/Shared/InstanceManager.cpp +0 -97
  369. package/Shared/InstanceManager.h +0 -53
  370. package/Shared/JSI/ScriptStore.h +1 -1
  371. package/Shared/Logging.cpp +1 -12
  372. package/Shared/Modules/CxxModuleUtilities.cpp +0 -9
  373. package/Shared/Modules/CxxModuleUtilities.h +0 -8
  374. package/Shared/Networking/OriginPolicyHttpFilter.cpp +9 -1
  375. package/Shared/OInstance.cpp +144 -424
  376. package/Shared/OInstance.h +0 -81
  377. package/Shared/Shared.vcxitems +83 -203
  378. package/Shared/Shared.vcxitems.filters +8 -67
  379. package/Shared/Threading/MessageQueueThreadFactory.cpp +0 -6
  380. package/Shared/Threading/MessageQueueThreadFactory.h +0 -4
  381. package/Shared/TurboModuleManager.cpp +0 -4
  382. package/Shared/Utils.cpp +26 -0
  383. package/Shared/Utils.h +3 -0
  384. package/codegen/NativeDOMSpec.g.h +41 -35
  385. package/codegen/NativeIntersectionObserverSpec.g.h +9 -21
  386. package/codegen/NativePerformanceSpec.g.h +47 -35
  387. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +177 -129
  388. package/codegen/react/components/rnwcore/ActivityIndicatorView.g.h +14 -0
  389. package/codegen/react/components/rnwcore/AndroidDrawerLayout.g.h +14 -0
  390. package/codegen/react/components/rnwcore/AndroidHorizontalScrollContentView.g.h +14 -0
  391. package/codegen/react/components/rnwcore/AndroidProgressBar.g.h +14 -0
  392. package/codegen/react/components/rnwcore/AndroidSwipeRefreshLayout.g.h +14 -0
  393. package/codegen/react/components/rnwcore/AndroidSwitch.g.h +14 -0
  394. package/codegen/react/components/rnwcore/DebuggingOverlay.g.h +14 -0
  395. package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
  396. package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
  397. package/codegen/react/components/rnwcore/InputAccessory.g.h +14 -0
  398. package/codegen/react/components/rnwcore/ModalHostView.g.h +14 -0
  399. package/codegen/react/components/rnwcore/Props.cpp +41 -2
  400. package/codegen/react/components/rnwcore/Props.h +51 -2
  401. package/codegen/react/components/rnwcore/PullToRefreshView.g.h +14 -0
  402. package/codegen/react/components/rnwcore/SafeAreaView.g.h +14 -0
  403. package/codegen/react/components/rnwcore/Switch.g.h +14 -0
  404. package/codegen/react/components/rnwcore/UnimplementedNativeView.g.h +14 -0
  405. package/codegen/react/components/rnwcore/VirtualView.g.h +18 -0
  406. package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +240 -0
  407. package/codegen/rnwcoreJSI-generated.cpp +522 -467
  408. package/codegen/rnwcoreJSI.h +148 -67
  409. package/fmt/cgmanifest.json +1 -1
  410. package/fmt/fmt.vcxproj +0 -8
  411. package/index.js +8 -2
  412. package/index.windows.js +8 -2
  413. package/jest/local-setup.js +2 -2
  414. package/jest/mock.js +1 -1
  415. package/jest/mockComponent.js +9 -9
  416. package/jest/mockNativeComponent.js +3 -2
  417. package/jest/mocks/Modal.js +1 -1
  418. package/jest/mocks/ScrollView.js +1 -1
  419. package/jest/mocks/ViewNativeComponent.js +1 -1
  420. package/jest/setup.js +23 -12
  421. package/just-task.js +14 -0
  422. package/package.json +30 -31
  423. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  424. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  425. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  426. package/src/private/components/virtualview/VirtualView.js +43 -12
  427. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  428. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  429. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  430. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  431. package/src/private/featureflags/ReactNativeFeatureFlags.js +80 -52
  432. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  433. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -6
  434. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  435. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  436. package/src/private/types/HostInstance.js +4 -1
  437. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  438. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  439. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  440. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  441. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  442. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  443. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  444. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  445. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  446. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  447. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  448. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  449. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  450. package/src/private/webapis/performance/EventTiming.js +6 -10
  451. package/src/private/webapis/performance/Performance.js +309 -164
  452. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  453. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  454. package/src/private/webapis/performance/UserTiming.js +71 -18
  455. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  456. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  457. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  458. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  459. package/stubs/double-conversion/README.md +1 -1
  460. package/template/cpp-lib/proj/MyLib.sln +0 -5
  461. package/template/cpp-lib/src/pch.h +0 -5
  462. package/template/cs-lib/proj/MyLib.sln +0 -5
  463. package/template/metro.config.js +1 -0
  464. package/templates/cpp-app/metro.config.js +2 -1
  465. package/templates/cpp-app/windows/MyApp.sln +0 -5
  466. package/templates/cpp-lib/example/metro.config.js +3 -4
  467. package/templates/cpp-lib/windows/MyLib.sln +0 -5
  468. package/Chakra/Chakra.vcxitems +0 -32
  469. package/Chakra/Chakra.vcxitems.filters +0 -54
  470. package/Chakra/ChakraHelpers.cpp +0 -468
  471. package/Chakra/ChakraHelpers.h +0 -146
  472. package/Chakra/ChakraInstanceArgs.h +0 -52
  473. package/Chakra/ChakraPlatform.cpp +0 -42
  474. package/Chakra/ChakraPlatform.h +0 -51
  475. package/Chakra/ChakraTracing.cpp +0 -275
  476. package/Chakra/ChakraTracing.h +0 -11
  477. package/Chakra/ChakraUtils.cpp +0 -190
  478. package/Chakra/ChakraUtils.h +0 -72
  479. package/Chakra/ChakraValue.cpp +0 -257
  480. package/Chakra/ChakraValue.h +0 -308
  481. package/Chakra/Utf8DebugExtensions.cpp +0 -62
  482. package/Chakra/Utf8DebugExtensions.h +0 -29
  483. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  484. package/Libraries/Interaction/TaskQueue.js +0 -183
  485. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  486. package/Microsoft.ReactNative/ABICxxModule.cpp +0 -51
  487. package/Microsoft.ReactNative/ABICxxModule.h +0 -38
  488. package/Microsoft.ReactNative/ABIViewManager.cpp +0 -263
  489. package/Microsoft.ReactNative/ABIViewManager.h +0 -100
  490. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +0 -55
  491. package/Microsoft.ReactNative/DevMenuControl.cpp +0 -14
  492. package/Microsoft.ReactNative/DevMenuControl.h +0 -20
  493. package/Microsoft.ReactNative/DevMenuControl.idl +0 -28
  494. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -139
  495. package/Microsoft.ReactNative/GlyphViewManager.cpp +0 -167
  496. package/Microsoft.ReactNative/GlyphViewManager.h +0 -24
  497. package/Microsoft.ReactNative/INativeUIManager.h +0 -75
  498. package/Microsoft.ReactNative/IViewManager.idl +0 -120
  499. package/Microsoft.ReactNative/IViewManagerCore.idl +0 -45
  500. package/Microsoft.ReactNative/LayoutService.cpp +0 -51
  501. package/Microsoft.ReactNative/LayoutService.h +0 -32
  502. package/Microsoft.ReactNative/LayoutService.idl +0 -41
  503. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +0 -1187
  504. package/Microsoft.ReactNative/Modules/NativeUIManager.h +0 -128
  505. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +0 -891
  506. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +0 -185
  507. package/Microsoft.ReactNative/NativeModulesProvider.cpp +0 -49
  508. package/Microsoft.ReactNative/NativeModulesProvider.h +0 -25
  509. package/Microsoft.ReactNative/ReactApplication.cpp +0 -276
  510. package/Microsoft.ReactNative/ReactApplication.h +0 -156
  511. package/Microsoft.ReactNative/ReactApplication.idl +0 -48
  512. package/Microsoft.ReactNative/ReactHost/ViewManagerProvider.h +0 -19
  513. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +0 -55
  514. package/Microsoft.ReactNative/ReactPointerEventArgs.h +0 -32
  515. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +0 -79
  516. package/Microsoft.ReactNative/ReactRootView.cpp +0 -592
  517. package/Microsoft.ReactNative/ReactRootView.h +0 -127
  518. package/Microsoft.ReactNative/ReactRootView.idl +0 -40
  519. package/Microsoft.ReactNative/TestHook.cpp +0 -99
  520. package/Microsoft.ReactNative/TestHook.h +0 -15
  521. package/Microsoft.ReactNative/Utils/AccessibilityUtils.cpp +0 -36
  522. package/Microsoft.ReactNative/Utils/AccessibilityUtils.h +0 -15
  523. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +0 -171
  524. package/Microsoft.ReactNative/Utils/BatchingEventEmitter.h +0 -72
  525. package/Microsoft.ReactNative/Utils/PropertyHandlerUtils.h +0 -87
  526. package/Microsoft.ReactNative/Utils/PropertyUtils.h +0 -568
  527. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +0 -182
  528. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +0 -58
  529. package/Microsoft.ReactNative/Utils/ShadowNodeTypeUtils.h +0 -26
  530. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +0 -93
  531. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +0 -48
  532. package/Microsoft.ReactNative/ViewManagersProvider.cpp +0 -39
  533. package/Microsoft.ReactNative/ViewManagersProvider.h +0 -27
  534. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +0 -62
  535. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.h +0 -29
  536. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.cpp +0 -186
  537. package/Microsoft.ReactNative/Views/ConfigureBundlerDlg.h +0 -11
  538. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +0 -143
  539. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -38
  540. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +0 -53
  541. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +0 -30
  542. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +0 -586
  543. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +0 -104
  544. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +0 -330
  545. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +0 -111
  546. package/Microsoft.ReactNative/Views/DynamicValueProvider.cpp +0 -59
  547. package/Microsoft.ReactNative/Views/DynamicValueProvider.h +0 -32
  548. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.cpp +0 -61
  549. package/Microsoft.ReactNative/Views/ExpressionAnimationStore.h +0 -26
  550. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +0 -559
  551. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -34
  552. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +0 -126
  553. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.h +0 -23
  554. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -957
  555. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.h +0 -41
  556. package/Microsoft.ReactNative/Views/IXamlRootView.h +0 -17
  557. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -245
  558. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +0 -45
  559. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +0 -469
  560. package/Microsoft.ReactNative/Views/Image/ReactImage.h +0 -80
  561. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.cpp +0 -247
  562. package/Microsoft.ReactNative/Views/Image/ReactImageBrush.h +0 -67
  563. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +0 -261
  564. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -132
  565. package/Microsoft.ReactNative/Views/PaperShadowNode.cpp +0 -18
  566. package/Microsoft.ReactNative/Views/PaperShadowNode.h +0 -38
  567. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +0 -349
  568. package/Microsoft.ReactNative/Views/PopupViewManager.h +0 -36
  569. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +0 -69
  570. package/Microsoft.ReactNative/Views/RawTextViewManager.h +0 -46
  571. package/Microsoft.ReactNative/Views/ReactViewInstance.cpp +0 -43
  572. package/Microsoft.ReactNative/Views/ReactViewInstance.h +0 -53
  573. package/Microsoft.ReactNative/Views/RefreshControlManager.cpp +0 -116
  574. package/Microsoft.ReactNative/Views/RefreshControlManager.h +0 -28
  575. package/Microsoft.ReactNative/Views/RootViewManager.cpp +0 -65
  576. package/Microsoft.ReactNative/Views/RootViewManager.h +0 -36
  577. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +0 -117
  578. package/Microsoft.ReactNative/Views/SIPEventHandler.h +0 -45
  579. package/Microsoft.ReactNative/Views/ScrollContentViewManager.cpp +0 -16
  580. package/Microsoft.ReactNative/Views/ScrollContentViewManager.h +0 -19
  581. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +0 -540
  582. package/Microsoft.ReactNative/Views/ScrollViewManager.h +0 -42
  583. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +0 -228
  584. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +0 -169
  585. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -68
  586. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +0 -40
  587. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +0 -97
  588. package/Microsoft.ReactNative/Views/SliderViewManager.h +0 -32
  589. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +0 -227
  590. package/Microsoft.ReactNative/Views/SwitchViewManager.h +0 -31
  591. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.cpp +0 -52
  592. package/Microsoft.ReactNative/Views/Text/TextHighlighterVisitor.h +0 -37
  593. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +0 -348
  594. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.h +0 -13
  595. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +0 -76
  596. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.h +0 -32
  597. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.cpp +0 -12
  598. package/Microsoft.ReactNative/Views/Text/TextParentVisitor.h +0 -19
  599. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +0 -75
  600. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.h +0 -43
  601. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.cpp +0 -21
  602. package/Microsoft.ReactNative/Views/Text/TextTransformParentVisitor.h +0 -23
  603. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +0 -70
  604. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.h +0 -34
  605. package/Microsoft.ReactNative/Views/Text/TextVisitor.cpp +0 -56
  606. package/Microsoft.ReactNative/Views/Text/TextVisitor.h +0 -34
  607. package/Microsoft.ReactNative/Views/Text/TextVisitorScope.h +0 -35
  608. package/Microsoft.ReactNative/Views/Text/TextVisitors.h +0 -47
  609. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -1003
  610. package/Microsoft.ReactNative/Views/TextInputViewManager.h +0 -33
  611. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -414
  612. package/Microsoft.ReactNative/Views/TextViewManager.h +0 -47
  613. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +0 -608
  614. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -116
  615. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +0 -79
  616. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +0 -27
  617. package/Microsoft.ReactNative/Views/ViewControl.cpp +0 -43
  618. package/Microsoft.ReactNative/Views/ViewControl.h +0 -32
  619. package/Microsoft.ReactNative/Views/ViewManager.h +0 -33
  620. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -487
  621. package/Microsoft.ReactNative/Views/ViewManagerBase.h +0 -121
  622. package/Microsoft.ReactNative/Views/ViewPanel.cpp +0 -164
  623. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -82
  624. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +0 -507
  625. package/Microsoft.ReactNative/Views/ViewViewManager.h +0 -52
  626. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +0 -143
  627. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +0 -57
  628. package/Microsoft.ReactNative/Views/XamlFeatures.cpp +0 -11
  629. package/Microsoft.ReactNative/Views/XamlFeatures.h +0 -11
  630. package/Microsoft.ReactNative/Views/cppwinrt/AccessibilityAction.idl +0 -12
  631. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +0 -231
  632. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +0 -48
  633. package/Microsoft.ReactNative/XamlHelper.cpp +0 -78
  634. package/Microsoft.ReactNative/XamlHelper.h +0 -54
  635. package/Microsoft.ReactNative/XamlHelper.idl +0 -30
  636. package/Microsoft.ReactNative/XamlLoadState.cpp +0 -217
  637. package/Microsoft.ReactNative/XamlLoadState.h +0 -44
  638. package/Microsoft.ReactNative/XamlView.cpp +0 -59
  639. package/Microsoft.ReactNative/XamlView.h +0 -58
  640. package/Microsoft.ReactNative/getLayoutProps.ps1 +0 -5
  641. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.Peers.h +0 -10
  642. package/Microsoft.ReactNative.Cxx/UI.Xaml.Automation.h +0 -10
  643. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.Primitives.h +0 -10
  644. package/Microsoft.ReactNative.Cxx/UI.Xaml.Controls.h +0 -13
  645. package/Microsoft.ReactNative.Cxx/UI.Xaml.Documents.h +0 -10
  646. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.DesktopWindowXamlSource.h +0 -11
  647. package/Microsoft.ReactNative.Cxx/UI.Xaml.Hosting.h +0 -10
  648. package/Microsoft.ReactNative.Cxx/UI.Xaml.Input.h +0 -10
  649. package/Microsoft.ReactNative.Cxx/UI.Xaml.Markup.h +0 -10
  650. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Imaging.h +0 -10
  651. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.Media3D.h +0 -10
  652. package/Microsoft.ReactNative.Cxx/UI.Xaml.Media.h +0 -10
  653. package/Microsoft.ReactNative.Cxx/UI.Xaml.Navigation.h +0 -10
  654. package/Microsoft.ReactNative.Cxx/UI.Xaml.Shapes.h +0 -10
  655. package/Microsoft.ReactNative.Managed/AttributedViewManager.cs +0 -527
  656. package/Microsoft.ReactNative.Managed/ViewManagerAttributes.cs +0 -91
  657. package/Microsoft.ReactNative.Managed/ViewManagerEvent.cs +0 -13
  658. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +0 -344
  659. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +0 -42
  660. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -146
  661. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2435
  662. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
  663. package/Shared/BatchingMessageQueueThread.h +0 -20
  664. package/Shared/ChakraRuntimeHolder.cpp +0 -62
  665. package/Shared/ChakraRuntimeHolder.h +0 -46
  666. package/Shared/CreateInstance.h +0 -25
  667. package/Shared/Executors/WebSocketJSExecutor.cpp +0 -294
  668. package/Shared/Executors/WebSocketJSExecutor.h +0 -123
  669. package/Shared/Executors/WebSocketJSExecutorFactory.cpp +0 -25
  670. package/Shared/Hermes/HermesSamplingProfiler.cpp +0 -114
  671. package/Shared/Hermes/HermesSamplingProfiler.h +0 -26
  672. package/Shared/JSI/ChakraApi.cpp +0 -436
  673. package/Shared/JSI/ChakraApi.h +0 -474
  674. package/Shared/JSI/ChakraJsiRuntime_edgemode.cpp +0 -100
  675. package/Shared/JSI/ChakraRuntime.cpp +0 -1132
  676. package/Shared/JSI/ChakraRuntime.h +0 -512
  677. package/Shared/JSI/ChakraRuntimeArgs.h +0 -45
  678. package/Shared/JSI/ChakraRuntimeFactory.h +0 -15
  679. package/Shared/JSI/JSExecutorFactoryDelegate.h +0 -12
  680. package/Shared/JSI/JSExecutorFactorySettings.cpp +0 -30
  681. package/Shared/JSI/JSExecutorFactorySettings.h +0 -21
  682. package/Shared/NativeModuleProvider.h +0 -40
  683. package/Shared/SystemChakraRuntime.h +0 -38
  684. package/Shared/Threading/BatchingQueueThread.cpp +0 -128
  685. package/Shared/Threading/BatchingQueueThread.h +0 -59
  686. package/Shared/WebSocketJSExecutorFactory.h +0 -27
  687. package/fmt/TEMP_UntilFmtUpdate/core.h +0 -2925
  688. package/template/cpp-app/proj/MyApp.sln +0 -166
  689. package/template/cpp-app/proj/MyApp.vcxproj +0 -176
  690. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -62
  691. package/template/cpp-app/src/App.cpp +0 -93
  692. package/template/cpp-app/src/App.h +0 -21
  693. package/template/cpp-app/src/App.idl +0 -3
  694. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +0 -13
  695. package/template/cpp-app/src/AutolinkedNativeModules.g.h +0 -10
  696. package/template/cpp-app/src/MainPage.cpp +0 -20
  697. package/template/cpp-app/src/MainPage.h +0 -19
  698. package/template/cpp-app/src/MainPage.idl +0 -10
  699. package/template/cpp-app/src/PropertySheet.props +0 -16
  700. package/template/cpp-app/src/ReactPackageProvider.cpp +0 -15
  701. package/template/cpp-app/src/ReactPackageProvider.h +0 -13
  702. package/template/cpp-app/src/pch.cpp +0 -1
  703. package/template/cpp-app/src/pch.h +0 -24
  704. package/template/cs-app/proj/MyApp.csproj +0 -162
  705. package/template/cs-app/proj/MyApp.sln +0 -191
  706. package/template/cs-app/src/App.xaml.cs +0 -62
  707. package/template/cs-app/src/AutolinkedNativeModules.g.cs +0 -13
  708. package/template/cs-app/src/MainPage.xaml.cs +0 -34
  709. package/template/cs-app/src/Properties/AssemblyInfo.cs +0 -29
  710. package/template/cs-app/src/Properties/Default.rd.xml +0 -32
  711. package/template/cs-app/src/ReactPackageProvider.cs +0 -17
  712. package/template/shared-app/assets/LockScreenLogo.scale-200.png +0 -0
  713. package/template/shared-app/assets/SplashScreen.scale-200.png +0 -0
  714. package/template/shared-app/assets/Square150x150Logo.scale-200.png +0 -0
  715. package/template/shared-app/assets/Square44x44Logo.scale-200.png +0 -0
  716. package/template/shared-app/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  717. package/template/shared-app/assets/StoreLogo.png +0 -0
  718. package/template/shared-app/assets/Wide310x150Logo.scale-200.png +0 -0
  719. package/template/shared-app/proj/ExperimentalFeatures.props +0 -32
  720. package/template/shared-app/proj/NuGet_Config +0 -19
  721. package/template/shared-app/src/App.xaml +0 -10
  722. package/template/shared-app/src/AutolinkedNativeModules.g.props +0 -6
  723. package/template/shared-app/src/AutolinkedNativeModules.g.targets +0 -6
  724. package/template/shared-app/src/MainPage.xaml +0 -21
  725. package/template/shared-app/src/Package.appxmanifest +0 -50
  726. package/templates/old/uwp-cpp-app/template.config.js +0 -15
  727. package/templates/old/uwp-cs-app/template.config.js +0 -15
@@ -1,507 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
- #include "ViewViewManager.h"
6
- #include <cdebug.h>
7
-
8
- #include "ViewControl.h"
9
-
10
- #include <UI.Xaml.Automation.Peers.h>
11
- #include "DynamicAutomationProperties.h"
12
-
13
- #include <JSValueWriter.h>
14
- #include <Modules/NativeUIManager.h>
15
- #include <Modules/PaperUIManagerModule.h>
16
- #include <Utils/AccessibilityUtils.h>
17
- #include <Utils/PropertyUtils.h>
18
-
19
- #include <INativeUIManager.h>
20
- #include <IReactInstance.h>
21
-
22
- #include <cxxreact/TraceSection.h>
23
- #include <inspectable.h>
24
- #include <unicode.h>
25
- #include <winrt/Windows.System.h>
26
- #include <winrt/Windows.UI.Xaml.Interop.h>
27
- #include <winstring.h>
28
-
29
- #if defined(_DEBUG)
30
- // Currently only used for tagging controls in debug
31
- #include <winrt/Windows.Foundation.h>
32
- #endif
33
-
34
- using namespace facebook::react;
35
-
36
- namespace Microsoft::ReactNative {
37
-
38
- // ViewShadowNode
39
-
40
- class ViewShadowNode : public ShadowNodeBase {
41
- using Super = ShadowNodeBase;
42
-
43
- public:
44
- ViewShadowNode() = default;
45
-
46
- void createView(const winrt::Microsoft::ReactNative::JSValueObject &props) override {
47
- Super::createView(props);
48
-
49
- auto panel = GetPanel();
50
- IsAccessible(false);
51
- IsFocusable(false);
52
-
53
- DynamicAutomationProperties::SetAccessibilityInvokeEventHandler(panel, [=]() {
54
- if (OnClick())
55
- DispatchEvent("topClick", std::move(folly::dynamic::object("target", m_tag)));
56
- else
57
- DispatchEvent("topAccessibilityTap", std::move(folly::dynamic::object("target", m_tag)));
58
- });
59
-
60
- DynamicAutomationProperties::SetAccessibilityActionEventHandler(
61
- panel, [=](winrt::Microsoft::ReactNative::AccessibilityAction const &action) {
62
- folly::dynamic eventData = folly::dynamic::object("target", m_tag);
63
-
64
- eventData.insert(
65
- "actionName", action.Label.empty() ? HstringToDynamic(action.Name) : HstringToDynamic(action.Label));
66
-
67
- DispatchEvent("topAccessibilityAction", std::move(eventData));
68
- });
69
- }
70
-
71
- void dispatchCommand(const std::string &commandId, winrt::Microsoft::ReactNative::JSValueArray &&commandArgs) {
72
- if (commandId == "focus") {
73
- if (auto uiManager = GetNativeUIManager(GetViewManager()->GetReactContext()).lock()) {
74
- uiManager->focus(m_tag);
75
- }
76
- } else if (commandId == "blur") {
77
- if (auto uiManager = GetNativeUIManager(GetViewManager()->GetReactContext()).lock()) {
78
- uiManager->blur(m_tag);
79
- }
80
- } else {
81
- Super::dispatchCommand(commandId, std::move(commandArgs));
82
- }
83
- }
84
-
85
- bool IsControl() {
86
- return m_isControl;
87
- }
88
- void IsControl(bool isControl) {
89
- m_isControl = isControl;
90
- }
91
-
92
- bool EnableFocusRing() {
93
- return m_enableFocusRing;
94
- }
95
- void EnableFocusRing(bool enable) {
96
- m_enableFocusRing = enable;
97
-
98
- if (IsControl())
99
- GetControl().UseSystemFocusVisuals(m_enableFocusRing);
100
- }
101
-
102
- int32_t TabIndex() {
103
- return m_tabIndex;
104
- }
105
- void TabIndex(int32_t tabIndex) {
106
- m_tabIndex = tabIndex;
107
-
108
- if (IsControl())
109
- GetControl().TabIndex(m_tabIndex);
110
- }
111
-
112
- bool OnClick() const {
113
- return m_onClick;
114
- }
115
- void OnClick(bool isSet) {
116
- m_onClick = isSet;
117
- }
118
-
119
- bool IsHitTestBrushRequired() const {
120
- return IsRegisteredForMouseEvents();
121
- }
122
-
123
- void AddView(ShadowNode &child, int64_t index) override {
124
- const auto &view = static_cast<ShadowNodeBase &>(child).GetView();
125
- if (view.try_as<xaml::UIElement>() == nullptr) {
126
- const auto &ii = view.as<winrt::IInspectable>();
127
- auto name = winrt::get_class_name(ii);
128
- YellowBox(
129
- std::string("ViewViewManager::AddView expected a UIElement but got a ") +
130
- Microsoft::Common::Unicode::Utf16ToUtf8(name.c_str()));
131
- }
132
-
133
- GetPanel().Children().InsertAt(static_cast<uint32_t>(index), view.as<xaml::UIElement>());
134
- }
135
-
136
- void RemoveChildAt(int64_t indexToRemove) override {
137
- if (indexToRemove == static_cast<uint32_t>(indexToRemove))
138
- GetPanel().Children().RemoveAt(static_cast<uint32_t>(indexToRemove));
139
- }
140
-
141
- void removeAllChildren() override {
142
- GetPanel().Children().Clear();
143
-
144
- XamlView current = m_view;
145
-
146
- // TODO NOW: Why do we do this? Removal of children doesn't seem to imply we
147
- // tear down the infrastructure
148
- if (IsControl()) {
149
- if (auto control = m_view.try_as<xaml::Controls::ContentControl>()) {
150
- current = control.Content().as<XamlView>();
151
- control.Content(nullptr);
152
- } else {
153
- std::string name = Microsoft::Common::Unicode::Utf16ToUtf8(winrt::get_class_name(current).c_str());
154
- cdebug << "Tearing down, IsControl=true but the control is not a ContentControl, it's a " << name << "\n";
155
- }
156
- }
157
- }
158
-
159
- void ReplaceChild(const XamlView &oldChildView, const XamlView &newChildView) override {
160
- auto pPanel = GetPanel();
161
- if (pPanel != nullptr) {
162
- uint32_t index;
163
- if (pPanel.Children().IndexOf(oldChildView.as<xaml::UIElement>(), index)) {
164
- pPanel.Children().RemoveAt(index);
165
- pPanel.Children().InsertAt(index, newChildView.as<xaml::UIElement>());
166
- } else {
167
- assert(false);
168
- }
169
- }
170
- }
171
-
172
- void RefreshProperties() {
173
- // The view may have been replaced, so transfer properties stored on the
174
- // shadow node to the view
175
- EnableFocusRing(EnableFocusRing());
176
- TabIndex(TabIndex());
177
- IsFocusable(IsFocusable());
178
- static_cast<FrameworkElementViewManager *>(GetViewManager())->RefreshTransformMatrix(this);
179
- }
180
-
181
- xaml::Controls::Panel GetPanel() {
182
- XamlView current = m_view;
183
-
184
- if (IsControl()) {
185
- if (auto control = m_view.try_as<xaml::Controls::ContentControl>()) {
186
- current = control.Content().as<XamlView>();
187
- }
188
- }
189
-
190
- auto panel = current.try_as<xaml::Controls::Panel>();
191
- assert(panel != nullptr);
192
-
193
- return panel;
194
- }
195
-
196
- winrt::Microsoft::ReactNative::ViewControl GetControl() {
197
- return IsControl() ? m_view.as<winrt::Microsoft::ReactNative::ViewControl>() : nullptr;
198
- }
199
-
200
- XamlView CreateViewControl() {
201
- auto contentControl = winrt::make<winrt::Microsoft::ReactNative::implementation::ViewControl>();
202
-
203
- m_contentControlGotFocusRevoker = contentControl.GotFocus(winrt::auto_revoke, [=](auto &&, auto &&args) {
204
- if (args.OriginalSource().try_as<xaml::UIElement>() == contentControl.as<xaml::UIElement>()) {
205
- auto tag = m_tag;
206
- DispatchEvent("topFocus", std::move(folly::dynamic::object("target", tag)));
207
- }
208
- });
209
-
210
- m_contentControlLostFocusRevoker = contentControl.LostFocus(winrt::auto_revoke, [=](auto &&, auto &&args) {
211
- if (args.OriginalSource().try_as<xaml::UIElement>() == contentControl.as<xaml::UIElement>()) {
212
- auto tag = m_tag;
213
- DispatchEvent("topBlur", std::move(folly::dynamic::object("target", tag)));
214
- }
215
- });
216
-
217
- return contentControl.try_as<XamlView>();
218
- }
219
-
220
- void DispatchEvent(std::string &&eventName, folly::dynamic &&eventData) {
221
- GetViewManager()->GetReactContext().DispatchEvent(m_tag, std::move(eventName), std::move(eventData));
222
- }
223
-
224
- private:
225
- bool m_isControl = false;
226
- bool m_enableFocusRing = true;
227
- bool m_onClick = false;
228
- int32_t m_tabIndex = std::numeric_limits<std::int32_t>::max();
229
-
230
- xaml::Controls::ContentControl::GotFocus_revoker m_contentControlGotFocusRevoker{};
231
- xaml::Controls::ContentControl::LostFocus_revoker m_contentControlLostFocusRevoker{};
232
- };
233
-
234
- // ViewViewManager
235
-
236
- ViewViewManager::ViewViewManager(const Mso::React::IReactContext &context) : Super(context) {}
237
-
238
- const wchar_t *ViewViewManager::GetName() const {
239
- return L"RCTView";
240
- }
241
-
242
- void ViewViewManager::GetExportedCustomDirectEventTypeConstants(
243
- const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
244
- Super::GetExportedCustomDirectEventTypeConstants(writer);
245
-
246
- writer.WritePropertyName(L"topAccessibilityTap");
247
- writer.WriteObjectBegin();
248
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"registrationName", L"onAccessibilityTap");
249
- writer.WriteObjectEnd();
250
- }
251
-
252
- ShadowNode *ViewViewManager::createShadow() const {
253
- return new ViewShadowNode();
254
- }
255
-
256
- XamlView ViewViewManager::CreateViewCore(int64_t /*tag*/, const winrt::Microsoft::ReactNative::JSValueObject &) {
257
- auto panel = winrt::make<winrt::Microsoft::ReactNative::implementation::ViewPanel>();
258
- panel.VerticalAlignment(xaml::VerticalAlignment::Stretch);
259
- panel.HorizontalAlignment(xaml::HorizontalAlignment::Stretch);
260
- panel.BorderBrush(DefaultBrushStore::Instance().GetDefaultBorderBrush());
261
- return panel.as<XamlView>();
262
- }
263
-
264
- void ViewViewManager::GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
265
- Super::GetNativeProps(writer);
266
-
267
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"pointerEvents", L"string");
268
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"onClick", L"function");
269
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"focusable", L"boolean");
270
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"enableFocusRing", L"boolean");
271
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"tabIndex", L"number");
272
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"disabled", L"boolean");
273
- winrt::Microsoft::ReactNative::WriteProperty(writer, L"collapsable", L"boolean");
274
- }
275
-
276
- bool ViewViewManager::UpdateProperty(
277
- ShadowNodeBase *nodeToUpdate,
278
- const std::string &propertyName,
279
- const winrt::Microsoft::ReactNative::JSValue &propertyValue) {
280
- auto *pViewShadowNode = static_cast<ViewShadowNode *>(nodeToUpdate);
281
-
282
- auto pPanel = pViewShadowNode->GetPanel().as<winrt::Microsoft::ReactNative::ViewPanel>();
283
- bool ret = true;
284
- if (pPanel != nullptr) {
285
- if (TryUpdateBackgroundBrush(pPanel.as<xaml::Controls::Panel>(), propertyName, propertyValue)) {
286
- } else if (TryUpdateBorderProperties(nodeToUpdate, pPanel, propertyName, propertyValue)) {
287
- } else if (TryUpdateCornerRadiusOnNode(nodeToUpdate, pPanel, propertyName, propertyValue)) {
288
- // Do not clamp until a size has been set for the View
289
- auto maxCornerRadius = std::numeric_limits<double>::max();
290
- // The Width and Height properties are not always set on ViewPanel. In
291
- // cases where it is embedded in a Control, the values dimensions are
292
- // set on those wrapper elements. We cannot depend on the default
293
- // behavior of `UpdateCornerRadiusOnElement` to check for the clamp
294
- // dimension from only the ViewPanel.
295
- const xaml::FrameworkElement sizingElement =
296
- pViewShadowNode->IsControl() ? pViewShadowNode->GetControl().as<xaml::FrameworkElement>() : pPanel;
297
- if (sizingElement.ReadLocalValue(xaml::FrameworkElement::WidthProperty()) !=
298
- xaml::DependencyProperty::UnsetValue() &&
299
- sizingElement.ReadLocalValue(xaml::FrameworkElement::HeightProperty()) !=
300
- xaml::DependencyProperty::UnsetValue()) {
301
- maxCornerRadius = std::min(sizingElement.Width(), sizingElement.Height()) / 2;
302
- }
303
- UpdateCornerRadiusOnElement(nodeToUpdate, pPanel, maxCornerRadius);
304
- } else if (TryUpdateMouseEvents(nodeToUpdate, propertyName, propertyValue)) {
305
- } else if (propertyName == "onClick") {
306
- pViewShadowNode->OnClick(propertyValue.AsBoolean());
307
- } else if (propertyName == "focusable") {
308
- pViewShadowNode->IsFocusable(propertyValue.AsBoolean());
309
- } else if (propertyName == "enableFocusRing") {
310
- pViewShadowNode->EnableFocusRing(propertyValue.AsBoolean());
311
- } else if (propertyName == "tabIndex") {
312
- auto resetTabIndex = true;
313
- if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Int64 ||
314
- propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Double) {
315
- const auto tabIndex = propertyValue.AsInt64();
316
- if (tabIndex == static_cast<int32_t>(tabIndex)) {
317
- pViewShadowNode->TabIndex(static_cast<int32_t>(tabIndex));
318
- resetTabIndex = false;
319
- }
320
- }
321
- if (resetTabIndex) {
322
- pViewShadowNode->TabIndex(std::numeric_limits<std::int32_t>::max());
323
- }
324
- } else {
325
- if (propertyName == "accessible") {
326
- pViewShadowNode->IsAccessible(propertyValue.AsBoolean());
327
- }
328
- if (propertyName == "disabled") {
329
- pViewShadowNode->IsDisable(propertyValue.AsBoolean());
330
- }
331
- ret = Super::UpdateProperty(nodeToUpdate, propertyName, propertyValue);
332
- }
333
- }
334
-
335
- return ret;
336
- }
337
-
338
- void ViewViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
339
- auto *viewShadowNode = static_cast<ViewShadowNode *>(node);
340
- auto panel = viewShadowNode->GetPanel().as<winrt::Microsoft::ReactNative::ViewPanel>();
341
-
342
- if (panel.ReadLocalValue(ViewPanel::ViewBackgroundProperty()) == xaml::DependencyProperty::UnsetValue()) {
343
- // In XAML, a null background means no hit-test will happen.
344
- // We actually want hit-testing to happen if the app has registered
345
- // for mouse events, so detect that case and add a transparent background.
346
- if (viewShadowNode->IsHitTestBrushRequired()) {
347
- panel.ViewBackground(EnsureTransparentBrush());
348
- }
349
- // Note: Technically we could detect when the transparent brush is
350
- // no longer needed, but this adds complexity and it can't hurt to
351
- // keep it around, so not adding that code (yet).
352
- }
353
-
354
- // If component is focusable, it should be a ViewControl.
355
- // If component is a View with accessible set to true, the component should be focusable, thus we need a ViewControl.
356
- bool shouldBeControl = viewShadowNode->IsDisable()
357
- ? false
358
- : ((viewShadowNode->IsFocusable() || (viewShadowNode->IsAccessible() && !viewShadowNode->OnClick())));
359
-
360
- if (auto view = viewShadowNode->GetView().try_as<xaml::UIElement>()) {
361
- // If we have DynamicAutomationProperties, we need a ViewControl with a
362
- // DynamicAutomationPeer
363
- shouldBeControl = shouldBeControl || HasDynamicAutomationProperties(view);
364
- }
365
-
366
- TryUpdateView(viewShadowNode, panel, shouldBeControl);
367
- SyncFocusableAndAccessible(viewShadowNode, shouldBeControl);
368
- }
369
-
370
- void ViewViewManager::TryUpdateView(
371
- ViewShadowNode *pViewShadowNode,
372
- winrt::Microsoft::ReactNative::ViewPanel &pPanel,
373
- bool useControl) {
374
- bool isControl = pViewShadowNode->IsControl();
375
-
376
- // This short-circuits all of the update code when we have the same hierarchy
377
- if (isControl == useControl)
378
- return;
379
-
380
- //
381
- // 1. Ensure we have the new 'root' and do the child replacement
382
- // This is first to ensure that we can re-parent the ViewPanel
383
- // we already have
384
- // 2. Transfer properties
385
- // There are likely some complexities to handle here
386
- // 3. Do any sub=parenting
387
- // This means Panel under Control
388
- //
389
-
390
- XamlView oldXamlView(pViewShadowNode->GetView());
391
- XamlView newXamlView(nullptr);
392
-
393
- //
394
- // 1. Determine new view & clean up any parent-child relationships
395
- //
396
-
397
- // If we need a Control then get existing reference or create it
398
- if (useControl) {
399
- newXamlView = pViewShadowNode->GetControl().try_as<XamlView>();
400
- if (newXamlView == nullptr) {
401
- newXamlView = pViewShadowNode->CreateViewControl();
402
- }
403
- }
404
-
405
- // Clean up child of Control if needed
406
- if (isControl) {
407
- pViewShadowNode->GetControl().Content(nullptr);
408
- }
409
-
410
- // If don't need a control, then set the Panel as the view root
411
- if (!useControl) {
412
- newXamlView = pPanel;
413
- }
414
-
415
- // ASSERT: One of the scenarios should be true, so we should have a root view
416
- assert(newXamlView != nullptr);
417
-
418
- //
419
- // 2. Transfer needed properties from old to new view
420
- //
421
- {
422
- TraceSection s("ViewViewManager::TransferProperties");
423
- // Transfer properties from old XamlView to the new one
424
- TransferProperties(oldXamlView, newXamlView);
425
- }
426
-
427
- // Update the meta-data in the shadow node
428
- pViewShadowNode->IsControl(useControl);
429
-
430
- //
431
- // 3. Setup any new parent-child relationships
432
- //
433
-
434
- // If we need to change the root of our view, do it now
435
- if (oldXamlView != newXamlView) {
436
- if (auto pNativeUiManager = GetNativeUIManager(*m_context).lock()) {
437
- // Inform the parent ShadowNode of this change so the hierarchy can be
438
- // updated
439
- int64_t parentTag = pViewShadowNode->GetParent();
440
- auto host = pNativeUiManager->getHost();
441
- auto *pParentNode = static_cast<ShadowNodeBase *>(host->FindShadowNodeForTag(parentTag));
442
- if (pParentNode != nullptr)
443
- pParentNode->ReplaceChild(oldXamlView, newXamlView);
444
-
445
- // Update the ShadowNode with the new XamlView
446
- pViewShadowNode->ReplaceView(newXamlView);
447
- pViewShadowNode->RefreshProperties();
448
-
449
- // Inform the NativeUIManager of this change so the yoga layout can be
450
- // updated
451
- pNativeUiManager->ReplaceView(*pViewShadowNode);
452
- }
453
- }
454
-
455
- if (useControl)
456
- pViewShadowNode->GetControl().Content(pPanel);
457
- }
458
-
459
- void ViewViewManager::SyncFocusableAndAccessible(ViewShadowNode *pViewShadowNode, bool useControl) {
460
- if (useControl) {
461
- const auto isFocusable = pViewShadowNode->IsFocusable();
462
- const auto isAccessible = pViewShadowNode->IsAccessible();
463
- const auto isDisabled = pViewShadowNode->IsDisable();
464
- const auto isTabStop = !isDisabled && isFocusable;
465
- const auto accessibilityView = isAccessible ? xaml::Automation::Peers::AccessibilityView::Content
466
- : xaml::Automation::Peers::AccessibilityView::Raw;
467
- pViewShadowNode->GetControl().IsTabStop(isTabStop);
468
- xaml::Automation::AutomationProperties::SetAccessibilityView(pViewShadowNode->GetControl(), accessibilityView);
469
- }
470
- }
471
-
472
- void ViewViewManager::SetLayoutProps(
473
- ShadowNodeBase &nodeToUpdate,
474
- const XamlView &viewToUpdate,
475
- float left,
476
- float top,
477
- float width,
478
- float height) {
479
- // When the View has a ContentControl the ViewPanel must also have the Width &
480
- // Height set
481
- // Do this first so that it is setup properly before any events are fired by
482
- // the Super implementation
483
- auto *pViewShadowNode = static_cast<ViewShadowNode *>(&nodeToUpdate);
484
- auto pPanel = pViewShadowNode->GetPanel().as<winrt::Microsoft::ReactNative::ViewPanel>();
485
- if (pViewShadowNode->IsControl()) {
486
- pPanel.Width(width);
487
- pPanel.Height(height);
488
- }
489
-
490
- Super::SetLayoutProps(nodeToUpdate, viewToUpdate, left, top, width, height);
491
- if (pPanel.ReadLocalValue(ViewPanel::CornerRadiusProperty()) != xaml::DependencyProperty::UnsetValue()) {
492
- if (pPanel.GetValue(React::ViewPanel::CornerRadiusProperty()) != xaml::DependencyProperty::UnsetValue()) {
493
- const auto maxCornerRadius = std::min(width, height) / 2;
494
- UpdateCornerRadiusOnElement(&nodeToUpdate, pPanel, maxCornerRadius);
495
- pPanel.CornerRadius(pPanel.CornerRadius());
496
- }
497
- }
498
- }
499
-
500
- xaml::Media::SolidColorBrush ViewViewManager::EnsureTransparentBrush() {
501
- if (!m_transparentBrush) {
502
- m_transparentBrush = xaml::Media::SolidColorBrush(winrt::Colors::Transparent());
503
- }
504
- return m_transparentBrush;
505
- }
506
-
507
- } // namespace Microsoft::ReactNative
@@ -1,52 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #pragma once
5
-
6
- #include <Views/FrameworkElementViewManager.h>
7
- #include <Views/ViewPanel.h>
8
-
9
- namespace Microsoft::ReactNative {
10
-
11
- class ViewShadowNode;
12
-
13
- class ViewViewManager : public FrameworkElementViewManager {
14
- using Super = FrameworkElementViewManager;
15
-
16
- public:
17
- ViewViewManager(const Mso::React::IReactContext &context);
18
-
19
- const wchar_t *GetName() const override;
20
-
21
- void GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const override;
22
- void GetExportedCustomDirectEventTypeConstants(
23
- const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const override;
24
- ShadowNode *createShadow() const override;
25
-
26
- // Yoga Layout
27
- void SetLayoutProps(
28
- ShadowNodeBase &nodeToUpdate,
29
- const XamlView &viewToUpdate,
30
- float left,
31
- float top,
32
- float width,
33
- float height) override;
34
-
35
- protected:
36
- bool UpdateProperty(
37
- ShadowNodeBase *nodeToUpdate,
38
- const std::string &propertyName,
39
- const winrt::Microsoft::ReactNative::JSValue &propertyValue) override;
40
- void OnPropertiesUpdated(ShadowNodeBase *node) override;
41
-
42
- XamlView CreateViewCore(int64_t tag, const winrt::Microsoft::ReactNative::JSValueObject &) override;
43
- void TryUpdateView(ViewShadowNode *viewShadowNode, winrt::Microsoft::ReactNative::ViewPanel &pPanel, bool useControl);
44
- void SyncFocusableAndAccessible(ViewShadowNode *viewShadowNode, bool useControl);
45
-
46
- xaml::Media::SolidColorBrush EnsureTransparentBrush();
47
-
48
- private:
49
- xaml::Media::SolidColorBrush m_transparentBrush{nullptr};
50
- };
51
-
52
- } // namespace Microsoft::ReactNative
@@ -1,143 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- #include "pch.h"
5
-
6
- #include "VirtualTextViewManager.h"
7
-
8
- #include <UI.Xaml.Documents.h>
9
- #include <Utils/PropertyUtils.h>
10
- #include <Utils/ShadowNodeTypeUtils.h>
11
- #include <Utils/TransformableText.h>
12
- #include <Utils/ValueUtils.h>
13
- #include <Views/Text/TextVisitors.h>
14
-
15
- namespace winrt {
16
- using namespace Windows::UI;
17
- using namespace xaml;
18
- using namespace xaml::Controls;
19
- using namespace xaml::Documents;
20
- } // namespace winrt
21
-
22
- namespace Microsoft::ReactNative {
23
-
24
- void VirtualTextShadowNode::AddView(ShadowNode &child, int64_t index) {
25
- auto &childNode = static_cast<ShadowNodeBase &>(child);
26
- ApplyTextTransformToChild(&child);
27
- auto propertyChangeType = PropertyChangeType::Text;
28
- if (IsVirtualTextShadowNode(&childNode)) {
29
- const auto &childTextNode = static_cast<VirtualTextShadowNode &>(childNode);
30
- propertyChangeType |=
31
- childTextNode.hasDescendantTextHighlighter ? PropertyChangeType::AddHighlight : PropertyChangeType::None;
32
- propertyChangeType |=
33
- childTextNode.hasDescendantPressable ? PropertyChangeType::AddPressable : PropertyChangeType::None;
34
- }
35
- Super::AddView(child, index);
36
- NotifyAncestorsTextPropertyChanged(this, propertyChangeType);
37
- }
38
-
39
- void VirtualTextShadowNode::RemoveChildAt(int64_t indexToRemove) {
40
- Super::RemoveChildAt(indexToRemove);
41
- NotifyAncestorsTextPropertyChanged(this, PropertyChangeType::Text);
42
- }
43
-
44
- void VirtualTextShadowNode::removeAllChildren() {
45
- Super::removeAllChildren();
46
- NotifyAncestorsTextPropertyChanged(this, PropertyChangeType::Text);
47
- }
48
-
49
- VirtualTextViewManager::VirtualTextViewManager(const Mso::React::IReactContext &context) : Super(context) {}
50
-
51
- const wchar_t *VirtualTextViewManager::GetName() const {
52
- return L"RCTVirtualText";
53
- }
54
-
55
- XamlView VirtualTextViewManager::CreateViewCore(int64_t /*tag*/, const winrt::Microsoft::ReactNative::JSValueObject &) {
56
- return winrt::Span();
57
- }
58
-
59
- void VirtualTextViewManager::UpdateProperties(
60
- ShadowNodeBase *nodeToUpdate,
61
- winrt::Microsoft::ReactNative::JSValueObject &props) {
62
- // This could be optimized further, but rather than paying a penalty to mark
63
- // the node dirty for each relevant property in UpdateProperty (which should
64
- // be reasonably cheap given it just does an O(1) lookup of the Yoga node
65
- // for the tag, for now this just marks the node dirty for any prop update.
66
- MarkDirty(nodeToUpdate->m_tag);
67
- Super::UpdateProperties(nodeToUpdate, props);
68
- }
69
-
70
- bool VirtualTextViewManager::UpdateProperty(
71
- ShadowNodeBase *nodeToUpdate,
72
- const std::string &propertyName,
73
- const winrt::Microsoft::ReactNative::JSValue &propertyValue) {
74
- auto span = nodeToUpdate->GetView().as<winrt::Span>();
75
- if (span == nullptr)
76
- return true;
77
-
78
- // FUTURE: In the future cppwinrt will generate code where static methods on
79
- // base types can be called. For now we specify the base type explicitly
80
- if (TryUpdateForeground<winrt::TextElement>(span, propertyName, propertyValue)) {
81
- auto node = static_cast<VirtualTextShadowNode *>(nodeToUpdate);
82
- if (IsValidOptionalColorValue(propertyValue)) {
83
- node->foregroundColor = OptionalColorFrom(propertyValue);
84
- const auto propertyChangeType =
85
- node->foregroundColor ? PropertyChangeType::AddHighlight : PropertyChangeType::RemoveHighlight;
86
- NotifyAncestorsTextPropertyChanged(node, propertyChangeType);
87
- }
88
- } else if (TryUpdateFontProperties<winrt::TextElement>(span, propertyName, propertyValue)) {
89
- } else if (TryUpdateCharacterSpacing<winrt::TextElement>(span, propertyName, propertyValue)) {
90
- } else if (TryUpdateTextDecorationLine<winrt::TextElement>(span, propertyName, propertyValue)) {
91
- } else if (propertyName == "textTransform") {
92
- auto node = static_cast<VirtualTextShadowNode *>(nodeToUpdate);
93
- node->textTransform = TransformableText::GetTextTransform(propertyValue);
94
- UpdateTextTransformForChildren(nodeToUpdate);
95
- } else if (propertyName == "backgroundColor") {
96
- auto node = static_cast<VirtualTextShadowNode *>(nodeToUpdate);
97
- if (IsValidOptionalColorValue(propertyValue)) {
98
- node->backgroundColor = OptionalColorFrom(propertyValue);
99
- const auto propertyChangeType =
100
- node->backgroundColor ? PropertyChangeType::AddHighlight : PropertyChangeType::RemoveHighlight;
101
- NotifyAncestorsTextPropertyChanged(node, propertyChangeType);
102
- }
103
- } else if (propertyName == "isPressable") {
104
- auto node = static_cast<VirtualTextShadowNode *>(nodeToUpdate);
105
- node->isPressable = propertyValue.AsBoolean();
106
- if (node->isPressable) {
107
- NotifyAncestorsTextPropertyChanged(node, PropertyChangeType::AddPressable);
108
- }
109
- } else {
110
- const auto isRegisteringMouseEvent =
111
- (propertyName == "onMouseEnter" || propertyName == "onMouseLeave") && propertyValue.AsBoolean();
112
- if (isRegisteringMouseEvent) {
113
- auto node = static_cast<VirtualTextShadowNode *>(nodeToUpdate);
114
- NotifyAncestorsTextPropertyChanged(node, PropertyChangeType::AddPressable);
115
- }
116
-
117
- return Super::UpdateProperty(nodeToUpdate, propertyName, propertyValue);
118
- }
119
-
120
- return true;
121
- }
122
-
123
- void VirtualTextViewManager::AddView(const XamlView &parent, const XamlView &child, int64_t index) {
124
- auto span(parent.as<winrt::Span>());
125
- auto childInline(child.as<winrt::Inline>());
126
- span.Inlines().InsertAt(static_cast<uint32_t>(index), childInline);
127
- }
128
-
129
- void VirtualTextViewManager::RemoveAllChildren(const XamlView &parent) {
130
- auto span(parent.as<winrt::Span>());
131
- span.Inlines().Clear();
132
- }
133
-
134
- void VirtualTextViewManager::RemoveChildAt(const XamlView &parent, int64_t index) {
135
- auto span(parent.as<winrt::Span>());
136
- return span.Inlines().RemoveAt(static_cast<uint32_t>(index));
137
- }
138
-
139
- bool VirtualTextViewManager::RequiresYogaNode() const {
140
- return false;
141
- }
142
-
143
- } // namespace Microsoft::ReactNative