react-native-windows 0.68.1 → 0.69.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 (392) hide show
  1. package/.flowconfig +1 -3
  2. package/Chakra/ChakraHelpers.cpp +0 -1
  3. package/Directory.Build.props +3 -0
  4. package/Directory.Build.targets +1 -1
  5. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1411 -0
  6. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +336 -0
  7. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
  8. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
  9. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  10. package/Libraries/Alert/Alert.windows.js +2 -2
  11. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  12. package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
  13. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  14. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  15. package/Libraries/Animated/animations/TimingAnimation.js +6 -11
  16. package/Libraries/Animated/createAnimatedComponent.js +2 -2
  17. package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
  19. package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
  20. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  21. package/Libraries/AppState/AppState.js +1 -1
  22. package/Libraries/Blob/URL.js +7 -1
  23. package/Libraries/Components/Button.js +3 -0
  24. package/Libraries/Components/Button.windows.js +4 -0
  25. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
  26. package/Libraries/Components/Pressable/Pressable.js +3 -3
  27. package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
  28. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
  29. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
  30. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  31. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
  32. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
  33. package/Libraries/Components/Slider/Slider.js +0 -2
  34. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
  35. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  36. package/Libraries/Components/Switch/Switch.js +11 -1
  37. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
  38. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
  39. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
  40. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  41. package/Libraries/Components/TextInput/TextInput.js +1 -8
  42. package/Libraries/Components/TextInput/TextInput.windows.js +4 -9
  43. package/Libraries/Components/TextInput/TextInputState.js +10 -2
  44. package/Libraries/Components/TextInput/TextInputState.windows.js +10 -3
  45. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
  47. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
  48. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -5
  49. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  50. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
  51. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
  52. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
  53. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -0
  54. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  55. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  56. package/Libraries/Components/View/View.windows.js +33 -1
  57. package/Libraries/Components/View/ViewNativeComponent.js +68 -8
  58. package/Libraries/Components/View/ViewPropTypes.js +36 -4
  59. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -4
  60. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  61. package/Libraries/Core/ExceptionsManager.js +1 -1
  62. package/Libraries/Core/RawEventEmitter.js +38 -0
  63. package/Libraries/Core/ReactNativeVersion.js +2 -2
  64. package/Libraries/Core/polyfillPromise.js +32 -0
  65. package/Libraries/Core/setUpReactDevTools.js +3 -2
  66. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  67. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  68. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
  69. package/Libraries/Events/CustomEvent.js +32 -0
  70. package/Libraries/Events/EventPolyfill.js +239 -0
  71. package/Libraries/Image/Image.android.js +0 -6
  72. package/Libraries/Image/Image.ios.js +0 -6
  73. package/Libraries/Image/Image.windows.js +2 -8
  74. package/Libraries/Image/ImageViewNativeComponent.js +18 -3
  75. package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
  76. package/Libraries/Inspector/Inspector.js +2 -4
  77. package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
  78. package/Libraries/Interaction/InteractionManager.js +1 -12
  79. package/Libraries/Interaction/TaskQueue.js +5 -4
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
  81. package/Libraries/Linking/Linking.js +1 -1
  82. package/Libraries/Lists/FlatList.js +27 -6
  83. package/Libraries/Lists/VirtualizedList.js +71 -55
  84. package/Libraries/Lists/VirtualizedListContext.js +7 -3
  85. package/Libraries/Lists/VirtualizedSectionList.js +2 -2
  86. package/Libraries/Lists/__tests__/{FillRateHelper-test.windows.js → FillRateHelper-test.js} +2 -2
  87. package/Libraries/Lists/__tests__/{FlatList-test.windows.js → FlatList-test.js} +2 -2
  88. package/Libraries/Lists/__tests__/{SectionList-test.windows.js → SectionList-test.js} +14 -14
  89. package/Libraries/Lists/__tests__/{VirtualizeUtils-test.windows.js → VirtualizeUtils-test.js} +3 -3
  90. package/Libraries/Lists/__tests__/{VirtualizedList-test.windows.js → VirtualizedList-test.js} +91 -42
  91. package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.windows.js → VirtualizedSectionList-test.js} +13 -13
  92. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  93. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  94. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  95. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  96. package/Libraries/LogBox/LogBox.js +2 -21
  97. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
  98. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
  99. package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
  100. package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
  101. package/Libraries/NativeComponent/BaseViewConfig.windows.js +334 -0
  102. package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
  103. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
  104. package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
  105. package/Libraries/NativeComponent/ViewConfig.js +4 -4
  106. package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
  107. package/Libraries/Network/FormData.js +7 -1
  108. package/Libraries/Pressability/Pressability.js +115 -46
  109. package/Libraries/Pressability/Pressability.windows.js +190 -74
  110. package/Libraries/Pressability/PressabilityDebug.js +5 -9
  111. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  112. package/Libraries/ReactNative/AppContainer.js +1 -1
  113. package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
  114. package/Libraries/ReactNative/PaperUIManager.windows.js +5 -5
  115. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
  116. package/Libraries/ReactNative/UIManager.js +2 -3
  117. package/Libraries/ReactNative/renderApplication.js +4 -0
  118. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
  120. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
  121. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
  123. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
  124. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
  125. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  126. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
  127. package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
  128. package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
  129. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  130. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  131. package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
  132. package/Libraries/StyleSheet/processTransform.windows.js +272 -0
  133. package/Libraries/Text/Text.js +13 -7
  134. package/Libraries/Text/Text.windows.js +16 -7
  135. package/Libraries/Text/TextNativeComponent.js +2 -0
  136. package/Libraries/Text/TextProps.js +10 -0
  137. package/Libraries/Types/CoreEventTypes.js +13 -1
  138. package/Libraries/Types/CoreEventTypes.windows.js +26 -1
  139. package/Libraries/Utilities/Appearance.js +0 -8
  140. package/Libraries/Utilities/HMRClient.js +1 -1
  141. package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
  142. package/Libraries/Utilities/codegenNativeComponent.js +17 -6
  143. package/Libraries/Utilities/stringifySafe.js +4 -1
  144. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
  145. package/Libraries/WebSocket/WebSocket.js +1 -1
  146. package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
  147. package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
  148. package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
  149. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +1 -4
  150. package/Microsoft.ReactNative/DynamicReader.cpp +3 -3
  151. package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -0
  152. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +36 -2
  153. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.h +1 -0
  154. package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
  155. package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
  156. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -19
  157. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  158. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +36 -10
  159. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +2 -0
  160. package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +107 -0
  161. package/Microsoft.ReactNative/Fabric/SliderComponentView.h +51 -0
  162. package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +109 -0
  163. package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +52 -0
  164. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +197 -0
  165. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +308 -0
  166. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +52 -0
  167. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.cpp +31 -0
  168. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.h +33 -0
  169. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.cpp +81 -0
  170. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.h +132 -0
  171. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.cpp +193 -0
  172. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.h +85 -0
  173. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.cpp +76 -0
  174. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.h +99 -0
  175. package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +35 -3
  176. package/Microsoft.ReactNative/Fabric/ViewComponentView.h +1 -0
  177. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +5 -0
  178. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +5 -0
  179. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +46 -0
  180. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +30 -0
  181. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +2 -0
  182. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -9
  183. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -1
  184. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +119 -57
  185. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -1
  186. package/Microsoft.ReactNative/IViewManager.idl +3 -3
  187. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -107
  188. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +2 -2
  189. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -0
  190. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -0
  191. package/Microsoft.ReactNative/Modules/CreateModules.cpp +3 -3
  192. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -5
  193. package/Microsoft.ReactNative/Modules/TimingModule.cpp +2 -2
  194. package/Microsoft.ReactNative/Modules/TimingModule.h +2 -2
  195. package/Microsoft.ReactNative/ReactHost/{ReactContext.cpp → MsoReactContext.cpp} +1 -1
  196. package/Microsoft.ReactNative/ReactHost/{ReactContext.h → MsoReactContext.h} +0 -0
  197. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +15 -2
  198. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
  199. package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
  200. package/Microsoft.ReactNative/ReactInstanceSettings.idl +12 -2
  201. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +1 -1
  202. package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
  203. package/Microsoft.ReactNative/RedBox.cpp +3 -2
  204. package/Microsoft.ReactNative/TurboModulesProvider.cpp +3 -2
  205. package/Microsoft.ReactNative/TurboModulesProvider.h +4 -1
  206. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +41 -0
  207. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +3 -2
  208. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +32 -0
  209. package/Microsoft.ReactNative/Views/ControlViewManager.h +11 -0
  210. package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -2
  211. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +13 -2
  212. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +149 -22
  213. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  214. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +5 -11
  215. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +2 -1
  216. package/Microsoft.ReactNative/Views/SliderViewManager.cpp +12 -4
  217. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
  218. package/Microsoft.ReactNative/Views/TextViewManager.cpp +2 -2
  219. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +163 -37
  220. package/Microsoft.ReactNative/Views/TouchEventHandler.h +11 -4
  221. package/Microsoft.ReactNative/Views/ViewPanel.cpp +3 -23
  222. package/Microsoft.ReactNative/Views/ViewPanel.h +2 -3
  223. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +21 -0
  224. package/Microsoft.ReactNative/XamlUIService.cpp +1 -1
  225. package/Microsoft.ReactNative/XamlView.h +8 -3
  226. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
  227. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
  228. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +11 -2
  229. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -0
  230. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +19 -14
  231. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +4 -0
  232. package/Microsoft.ReactNative.Cxx/JSValueReader.h +2 -2
  233. package/Microsoft.ReactNative.Cxx/JSValueWriter.h +5 -5
  234. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -1
  235. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +2 -3
  236. package/Microsoft.ReactNative.Cxx/NativeModules.h +3 -3
  237. package/Microsoft.ReactNative.Cxx/ReactContext.h +3 -3
  238. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +3 -3
  239. package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
  240. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -6
  241. package/Mso/activeObject/activeObject.h +2 -2
  242. package/Mso/compilerAdapters/cppMacros.h +3 -5
  243. package/Mso/errorCode/errorProvider.h +2 -2
  244. package/Mso/errorCode/maybe.h +4 -4
  245. package/Mso/functional/functor.h +6 -6
  246. package/Mso/functional/functorRef.h +2 -2
  247. package/Mso/future/details/executor.h +2 -2
  248. package/Mso/future/details/futureFuncInl.h +4 -4
  249. package/Mso/future/details/ifuture.h +3 -3
  250. package/Mso/future/details/maybeInvoker.h +6 -6
  251. package/Mso/future/details/promiseGroupInl.h +4 -4
  252. package/Mso/future/details/promiseInl.h +4 -4
  253. package/Mso/future/details/resultTraits.h +4 -4
  254. package/Mso/future/details/whenAllInl.h +1 -1
  255. package/Mso/future/future.h +13 -13
  256. package/Mso/guid/msoGuidDetails.h +1 -1
  257. package/Mso/memoryApi/memoryApi.h +13 -7
  258. package/Mso/motifCpp/gTestAdapter.h +1 -1
  259. package/Mso/motifCpp/testInfo.h +7 -9
  260. package/Mso/object/make.h +8 -8
  261. package/Mso/object/objectRefCount.h +3 -5
  262. package/Mso/object/objectWithWeakRef.h +10 -14
  263. package/Mso/object/queryCast.h +4 -4
  264. package/Mso/object/refCountedObject.h +4 -4
  265. package/Mso/object/unknownObject.h +7 -7
  266. package/Mso/platformAdapters/windowsFirst.h +1 -1
  267. package/Mso/smartPtr/cntPtr.h +8 -8
  268. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +96 -4
  269. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -2
  270. package/Mso/src/future/futureImpl.h +1 -1
  271. package/Mso/src/memoryApi/memoryApi.cpp +4 -4
  272. package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
  273. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +26 -0
  274. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.Common.props +12 -0
  275. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  276. package/PropertySheets/JSEngine.props +1 -1
  277. package/PropertySheets/React.Cpp.props +13 -0
  278. package/PropertySheets/WinUI.props +3 -6
  279. package/ReactCommon/ReactCommon.vcxproj +2 -4
  280. package/ReactCommon/ReactCommon.vcxproj.filters +4 -1
  281. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/JSCRuntime.cpp +1480 -0
  282. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/decorator.h +753 -0
  283. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/jsi.h +1331 -0
  284. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1431 -0
  285. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
  286. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +87 -0
  287. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +61 -0
  288. package/ReactCommon/Yoga.cpp +1 -1
  289. package/Scripts/{Microsoft.ReactNative.ProjectReunion.nuspec → Microsoft.ReactNative.WindowsAppSDK.nuspec} +7 -9
  290. package/Scripts/OfficeReact.Win32.nuspec +1 -3
  291. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -1
  292. package/Scripts/copyRNLibraries.js +8 -8
  293. package/Scripts/just.js +1 -1
  294. package/Scripts/rnw-dependencies.ps1 +41 -10
  295. package/Scripts/run-desktop-integration-tests.js +6 -6
  296. package/Shared/AbiSafe.h +3 -3
  297. package/Shared/BaseScriptStoreImpl.cpp +1 -1
  298. package/Shared/CppRuntimeOptions.h +50 -0
  299. package/Shared/CreateModules.h +4 -0
  300. package/Shared/DevSupportManager.cpp +34 -33
  301. package/Shared/DevSupportManager.h +1 -2
  302. package/Shared/HermesRuntimeHolder.cpp +23 -14
  303. package/Shared/HermesRuntimeHolder.h +8 -2
  304. package/Shared/IDevSupportManager.h +1 -2
  305. package/Shared/InspectorPackagerConnection.cpp +7 -5
  306. package/Shared/InspectorPackagerConnection.h +2 -2
  307. package/Shared/JSI/ChakraApi.cpp +0 -1
  308. package/Shared/JSI/ChakraRuntime.cpp +1 -2
  309. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +1 -1
  310. package/Shared/JSI/RuntimeHolder.h +2 -0
  311. package/Shared/Modules/HttpModule.cpp +198 -0
  312. package/Shared/Modules/HttpModule.h +53 -0
  313. package/Shared/Modules/WebSocketModule.cpp +5 -1
  314. package/Shared/Modules/WebSocketModule.h +8 -5
  315. package/Shared/Networking/IHttpResource.h +53 -0
  316. package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +3 -3
  317. package/Shared/Networking/OriginPolicy.h +15 -0
  318. package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
  319. package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
  320. package/Shared/Networking/WinRTHttpResource.cpp +347 -0
  321. package/Shared/Networking/WinRTHttpResource.h +67 -0
  322. package/Shared/Networking/WinRTTypes.h +30 -0
  323. package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +31 -22
  324. package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
  325. package/Shared/OInstance.cpp +37 -11
  326. package/Shared/RuntimeOptions.cpp +93 -15
  327. package/Shared/RuntimeOptions.h +22 -9
  328. package/Shared/Shared.vcxitems +126 -5
  329. package/Shared/Shared.vcxitems.filters +55 -15
  330. package/Shared/Threading/BatchingQueueThread.cpp +1 -1
  331. package/Shared/Utils/WinRTConversions.cpp +22 -0
  332. package/Shared/Utils/WinRTConversions.h +15 -0
  333. package/Shared/tracing/fbsystrace.h +2 -2
  334. package/codegen/NativeActionSheetManagerSpec.g.h +6 -0
  335. package/codegen/NativeAnimatedModuleSpec.g.h +43 -37
  336. package/codegen/NativeAnimatedTurboModuleSpec.g.h +43 -37
  337. package/codegen/NativePushNotificationManagerIOSSpec.g.h +2 -0
  338. package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
  339. package/codegen/react/components/rnwcore/EventEmitters.cpp +133 -0
  340. package/codegen/react/components/rnwcore/EventEmitters.h +0 -18
  341. package/codegen/react/components/rnwcore/Props.cpp +0 -13
  342. package/codegen/react/components/rnwcore/Props.h +0 -16
  343. package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
  344. package/codegen/react/components/rnwcore/ShadowNodes.h +0 -10
  345. package/include/Shared/cdebug.h +9 -9
  346. package/index.js +30 -25
  347. package/index.windows.js +30 -25
  348. package/jest/preprocessor.js +24 -107
  349. package/jest/preprocessor_DO_NOT_USE.js +122 -0
  350. package/metro.config.js +3 -70
  351. package/package.json +29 -28
  352. package/react-native.config.js +40 -6
  353. package/rntypes/index.d.ts +19 -7
  354. package/stubs/glog/logging.h +1 -1
  355. package/template/cpp-app/src/App.h +0 -4
  356. package/template/cs-app/src/App.xaml.cs +0 -5
  357. package/template/cs-app/src/MainPage.xaml.cs +1 -10
  358. package/template/cs-app-WinAppSDK/MyApp/App.xaml +16 -0
  359. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +70 -0
  360. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +14 -0
  361. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +38 -0
  362. package/template/cs-app-WinAppSDK/MyApp/Package.appxmanifest +48 -0
  363. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +19 -0
  364. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +19 -0
  365. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +19 -0
  366. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +10 -0
  367. package/template/cs-app-WinAppSDK/MyApp/app.manifest +15 -0
  368. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +23 -0
  369. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +49 -0
  370. package/template/cs-app-WinAppSDK/proj/MyApp.sln +43 -0
  371. package/template/cs-app-WinAppSDK/proj/NuGet.Config +17 -0
  372. package/template/metro.devMode.config.js +2 -51
  373. package/typings-index.js +5 -1
  374. package/typings-index.js.map +1 -1
  375. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
  376. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
  377. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  378. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -45
  379. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
  380. package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -390
  381. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  382. package/Libraries/ReactNative/UIManagerInjection.js +0 -15
  383. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
  384. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
  385. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
  386. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
  387. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
  388. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
  389. package/PropertySheets/CppEnablePackageReferences.props +0 -13
  390. package/Shared/IHttpResource.h +0 -34
  391. package/Shared/cdebug.cpp +0 -6
  392. package/include/Shared/ViewManager.h +0 -34
@@ -12,6 +12,8 @@
12
12
  #include <JSValueWriter.h>
13
13
  #include <Utils/PropertyUtils.h>
14
14
 
15
+ #include <UI.Xaml.Automation.Peers.h>
16
+
15
17
  #ifdef USE_WINUI3
16
18
  #define TAB_INDEX_PROPERTY xaml::UIElement::TabIndexProperty
17
19
  #define TAB_STOP_PROPERTY xaml::UIElement::IsTabStopProperty
@@ -80,11 +82,18 @@ bool ControlViewManager::UpdateProperty(
80
82
  }
81
83
  } else if (propertyName == "focusable") {
82
84
  if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Boolean) {
85
+ IsFocusable(propertyValue.AsBoolean());
83
86
  control.IsTabStop(propertyValue.AsBoolean());
84
87
  } else if (propertyValue.IsNull()) {
85
88
  control.ClearValue(TAB_STOP_PROPERTY());
89
+ IsFocusable(false);
86
90
  }
87
91
  } else {
92
+ if (propertyName == "accessible") {
93
+ if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Boolean) {
94
+ IsAccessible(propertyValue.AsBoolean());
95
+ }
96
+ }
88
97
  ret = Super::UpdateProperty(nodeToUpdate, propertyName, propertyValue);
89
98
  }
90
99
  }
@@ -96,6 +105,16 @@ bool ControlViewManager::UpdateProperty(
96
105
  return ret;
97
106
  }
98
107
 
108
+ void ControlViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
109
+ auto control(node->GetView().as<xaml::Controls::Control>());
110
+
111
+ if (IsAccessible() != IsFocusable()) {
112
+ control.IsTabStop(false);
113
+ xaml::Automation::AutomationProperties::SetAccessibilityView(
114
+ control, xaml::Automation::Peers::AccessibilityView::Raw);
115
+ }
116
+ }
117
+
99
118
  void ControlViewManager::OnViewCreated(XamlView view) {
100
119
  // Set the default cornerRadius to 0 for Control: WinUI usually default cornerRadius to 2
101
120
  // Only works on >= RS5 because Control.CornerRadius is only supported >= RS5
@@ -104,4 +123,17 @@ void ControlViewManager::OnViewCreated(XamlView view) {
104
123
  }
105
124
  }
106
125
 
126
+ void ControlViewManager::IsAccessible(bool accessible) {
127
+ m_isAccessible = accessible;
128
+ }
129
+ bool ControlViewManager::IsAccessible() {
130
+ return m_isAccessible;
131
+ }
132
+ void ControlViewManager::IsFocusable(bool focusable) {
133
+ m_isFocusable = focusable;
134
+ }
135
+ bool ControlViewManager::IsFocusable() {
136
+ return m_isFocusable;
137
+ }
138
+
107
139
  } // namespace Microsoft::ReactNative
@@ -24,6 +24,17 @@ class REACTWINDOWS_EXPORT ControlViewManager : public FrameworkElementViewManage
24
24
 
25
25
  protected:
26
26
  void OnViewCreated(XamlView view) override;
27
+
28
+ void OnPropertiesUpdated(ShadowNodeBase *node) override;
29
+
30
+ private:
31
+ void IsAccessible(bool accessible);
32
+ bool IsAccessible();
33
+ void IsFocusable(bool focusable);
34
+ bool IsFocusable();
35
+
36
+ bool m_isAccessible = true;
37
+ bool m_isFocusable = true;
27
38
  };
28
39
 
29
40
  } // namespace Microsoft::ReactNative
@@ -205,8 +205,8 @@ void DevMenuManager::CreateAndShowUI() noexcept {
205
205
  if (Mso::React::ReactOptions::JsiEngine(m_context->Properties()) == Mso::React::JSIEngine::Hermes) {
206
206
  m_samplingProfilerRevoker = devMenu.SamplingProfiler().Click(
207
207
  winrt::auto_revoke,
208
- [wkThis = weak_from_this()](
209
- auto & /*sender*/, xaml::RoutedEventArgs const & /*args*/) noexcept -> winrt::fire_and_forget {
208
+ [wkThis = weak_from_this()](auto & /*sender*/, xaml::RoutedEventArgs const & /*args*/) noexcept
209
+ -> winrt::fire_and_forget {
210
210
  if (auto strongThis = wkThis.lock()) {
211
211
  strongThis->Hide();
212
212
  if (!Microsoft::ReactNative::HermesSamplingProfiler::IsStarted()) {
@@ -7,6 +7,7 @@
7
7
  #include <UI.Xaml.Controls.h>
8
8
  #include "DynamicAutomationProperties.h"
9
9
  #include "FrameworkElementTransferProperties.h"
10
+ #include "ViewPanel.h"
10
11
 
11
12
  namespace Microsoft::ReactNative {
12
13
 
@@ -45,8 +46,18 @@ void TransferFrameworkElementProperties(const xaml::DependencyObject &oldView, c
45
46
  TransferProperty(oldView, newView, xaml::FrameworkElement::MaxHeightProperty());
46
47
  TransferProperty(oldView, newView, xaml::FrameworkElement::FlowDirectionProperty());
47
48
  TransferProperty(oldView, newView, xaml::Controls::Canvas::ZIndexProperty());
48
- TransferProperty(oldView, newView, winrt::Microsoft::ReactNative::ViewPanel::LeftProperty());
49
- TransferProperty(oldView, newView, winrt::Microsoft::ReactNative::ViewPanel::TopProperty());
49
+
50
+ const auto oldUI = oldView.as<xaml::UIElement>();
51
+ const auto left = winrt::Microsoft::ReactNative::ViewPanel::GetLeft(oldUI);
52
+ const auto top = winrt::Microsoft::ReactNative::ViewPanel::GetTop(oldUI);
53
+ oldUI.ClearValue(winrt::Microsoft::ReactNative::ViewPanel::LeftProperty());
54
+ oldUI.ClearValue(winrt::Microsoft::ReactNative::ViewPanel::TopProperty());
55
+ winrt::Microsoft::ReactNative::implementation::ViewPanel::InvalidateForArrange(oldView);
56
+
57
+ const auto newUI = newView.as<xaml::UIElement>();
58
+ winrt::Microsoft::ReactNative::ViewPanel::SetLeft(newUI, left);
59
+ winrt::Microsoft::ReactNative::ViewPanel::SetTop(newUI, top);
60
+ // ViewPanel::SetLeft and SetTop already invalidate for arrange
50
61
 
51
62
  // Accessibility Properties
52
63
  TransferProperty(oldView, newView, xaml::Automation::AutomationProperties::AutomationIdProperty());
@@ -17,6 +17,7 @@
17
17
  #include <WindowsNumerics.h>
18
18
  #include <winrt/Windows.Foundation.h>
19
19
 
20
+ #include <UI.Xaml.Automation.Peers.h>
20
21
  #include <UI.Xaml.Automation.h>
21
22
  #include <UI.Xaml.Controls.h>
22
23
  #include "Utils/PropertyHandlerUtils.h"
@@ -99,6 +100,21 @@ static void GetAccessibilityValueProps(const winrt::Microsoft::ReactNative::IJSV
99
100
  writer.WriteObjectEnd();
100
101
  }
101
102
 
103
+ inline float ToRadians(const winrt::Microsoft::ReactNative::JSValue &value) {
104
+ if ((value.Type() == winrt::Microsoft::ReactNative::JSValueType::Double)) {
105
+ return value.AsSingle();
106
+ }
107
+ assert(value.Type() == winrt::Microsoft::ReactNative::JSValueType::String);
108
+
109
+ auto stringValue = value.AsString();
110
+ char *suffixStart;
111
+ double num = strtod(stringValue.c_str(), &suffixStart);
112
+ if (0 == strncmp(suffixStart, "deg", 3)) {
113
+ return static_cast<float>(num * M_PI / 180.0f);
114
+ }
115
+ return static_cast<float>(num); // assume suffix is "rad"
116
+ }
117
+
102
118
  void FrameworkElementViewManager::GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
103
119
  Super::GetNativeProps(writer);
104
120
 
@@ -139,27 +155,84 @@ bool FrameworkElementViewManager::UpdateProperty(
139
155
  if (element.try_as<xaml::IUIElement10>()) // Works on 19H1+
140
156
  {
141
157
  if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Array) {
142
- assert(propertyValue.AsArray().size() == 16);
143
- winrt::Windows::Foundation::Numerics::float4x4 transformMatrix;
144
- transformMatrix.m11 = static_cast<float>(propertyValue[0].AsDouble());
145
- transformMatrix.m12 = static_cast<float>(propertyValue[1].AsDouble());
146
- transformMatrix.m13 = static_cast<float>(propertyValue[2].AsDouble());
147
- transformMatrix.m14 = static_cast<float>(propertyValue[3].AsDouble());
148
- transformMatrix.m21 = static_cast<float>(propertyValue[4].AsDouble());
149
- transformMatrix.m22 = static_cast<float>(propertyValue[5].AsDouble());
150
- transformMatrix.m23 = static_cast<float>(propertyValue[6].AsDouble());
151
- transformMatrix.m24 = static_cast<float>(propertyValue[7].AsDouble());
152
- transformMatrix.m31 = static_cast<float>(propertyValue[8].AsDouble());
153
- transformMatrix.m32 = static_cast<float>(propertyValue[9].AsDouble());
154
- transformMatrix.m33 = static_cast<float>(propertyValue[10].AsDouble());
155
- transformMatrix.m34 = static_cast<float>(propertyValue[11].AsDouble());
156
- transformMatrix.m41 = static_cast<float>(propertyValue[12].AsDouble());
157
- transformMatrix.m42 = static_cast<float>(propertyValue[13].AsDouble());
158
- transformMatrix.m43 = static_cast<float>(propertyValue[14].AsDouble());
159
- transformMatrix.m44 = static_cast<float>(propertyValue[15].AsDouble());
158
+ winrt::Windows::Foundation::Numerics::float4x4 transformMatrix{
159
+ winrt::Windows::Foundation::Numerics::float4x4::identity()};
160
+ for (const auto &transform : propertyValue.AsArray()) {
161
+ for (const auto &operation : transform.AsObject()) {
162
+ const std::string &transformType = operation.first;
163
+ const auto &innerValue = operation.second;
164
+
165
+ if (transformType == "matrix") {
166
+ assert(innerValue.AsArray().size() == 16);
167
+ winrt::Windows::Foundation::Numerics::float4x4 innerMatrix;
168
+ innerMatrix.m11 = static_cast<float>(innerValue[0].AsDouble());
169
+ innerMatrix.m12 = static_cast<float>(innerValue[1].AsDouble());
170
+ innerMatrix.m13 = static_cast<float>(innerValue[2].AsDouble());
171
+ innerMatrix.m14 = static_cast<float>(innerValue[3].AsDouble());
172
+ innerMatrix.m21 = static_cast<float>(innerValue[4].AsDouble());
173
+ innerMatrix.m22 = static_cast<float>(innerValue[5].AsDouble());
174
+ innerMatrix.m23 = static_cast<float>(innerValue[6].AsDouble());
175
+ innerMatrix.m24 = static_cast<float>(innerValue[7].AsDouble());
176
+ innerMatrix.m31 = static_cast<float>(innerValue[8].AsDouble());
177
+ innerMatrix.m32 = static_cast<float>(innerValue[9].AsDouble());
178
+ innerMatrix.m33 = static_cast<float>(innerValue[10].AsDouble());
179
+ innerMatrix.m34 = static_cast<float>(innerValue[11].AsDouble());
180
+ innerMatrix.m41 = static_cast<float>(innerValue[12].AsDouble());
181
+ innerMatrix.m42 = static_cast<float>(innerValue[13].AsDouble());
182
+ innerMatrix.m43 = static_cast<float>(innerValue[14].AsDouble());
183
+ innerMatrix.m44 = static_cast<float>(innerValue[15].AsDouble());
184
+ transformMatrix = transformMatrix * innerMatrix;
185
+ } else if (transformType == "perspective") {
186
+ auto innerMatrix = winrt::Windows::Foundation::Numerics::float4x4::identity();
187
+ innerMatrix.m34 = -1 / innerValue.AsSingle();
188
+ transformMatrix = transformMatrix * innerMatrix;
189
+ } else if (transformType == "rotateX") {
190
+ transformMatrix = transformMatrix *
191
+ winrt::Windows::Foundation::Numerics::make_float4x4_rotation_x(ToRadians(innerValue));
192
+ } else if (transformType == "rotateY") {
193
+ transformMatrix = transformMatrix *
194
+ winrt::Windows::Foundation::Numerics::make_float4x4_rotation_y(ToRadians(innerValue));
195
+ } else if (transformType == "rotate" || transformType == "rotateZ") {
196
+ transformMatrix = transformMatrix *
197
+ winrt::Windows::Foundation::Numerics::make_float4x4_rotation_z(ToRadians(innerValue));
198
+ } else if (transformType == "scale") {
199
+ transformMatrix = transformMatrix *
200
+ winrt::Windows::Foundation::Numerics::make_float4x4_scale(
201
+ innerValue.AsSingle(), innerValue.AsSingle(), 1);
202
+ } else if (transformType == "scaleX") {
203
+ transformMatrix = transformMatrix *
204
+ winrt::Windows::Foundation::Numerics::make_float4x4_scale(innerValue.AsSingle(), 1, 1);
205
+ } else if (transformType == "scaleY") {
206
+ transformMatrix = transformMatrix *
207
+ winrt::Windows::Foundation::Numerics::make_float4x4_scale(1, innerValue.AsSingle(), 1);
208
+ } else if (transformType == "translate") {
209
+ auto &params = innerValue.AsArray();
210
+ transformMatrix =
211
+ transformMatrix *
212
+ winrt::Windows::Foundation::Numerics::make_float4x4_translation(
213
+ params[0].AsSingle(), params[1].AsSingle(), params.size() > 2 ? params[2].AsSingle() : 0.f);
214
+ } else if (transformType == "translateX") {
215
+ transformMatrix = transformMatrix *
216
+ winrt::Windows::Foundation::Numerics::make_float4x4_translation(innerValue.AsSingle(), 0.f, 0.f);
217
+ } else if (transformType == "translateY") {
218
+ transformMatrix = transformMatrix *
219
+ winrt::Windows::Foundation::Numerics::make_float4x4_translation(0.f, innerValue.AsSingle(), 0.f);
220
+ } else if (transformType == "skewX") {
221
+ transformMatrix =
222
+ transformMatrix *
223
+ winrt::Windows::Foundation::Numerics::float4x4(
224
+ winrt::Windows::Foundation::Numerics::make_float3x2_skew(innerValue.AsSingle(), 0.f));
225
+ } else if (transformType == "skewY") {
226
+ transformMatrix =
227
+ transformMatrix *
228
+ winrt::Windows::Foundation::Numerics::float4x4(
229
+ winrt::Windows::Foundation::Numerics::make_float3x2_skew(0.f, innerValue.AsSingle()));
230
+ }
231
+ }
232
+ }
160
233
 
161
234
  if (!element.IsLoaded()) {
162
- element.Loaded([=](auto sender, auto &&) -> auto {
235
+ element.Loaded([=](auto sender, auto &&) -> auto{
163
236
  ApplyTransformMatrix(sender.as<xaml::UIElement>(), nodeToUpdate, transformMatrix);
164
237
  });
165
238
  } else {
@@ -344,13 +417,30 @@ bool FrameworkElementViewManager::UpdateProperty(
344
417
  const std::string &innerName = pair.first;
345
418
  const auto &innerValue = pair.second;
346
419
 
347
- if (innerName == "selected")
420
+ auto peer = xaml::Automation::Peers::FrameworkElementAutomationPeer::FromElement(element);
421
+
422
+ if (innerName == "selected") {
348
423
  states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Selected)] =
349
424
  innerValue.AsBoolean();
350
- else if (innerName == "disabled")
425
+ const auto prevSelectedState = DynamicAutomationProperties::GetAccessibilityStateSelected(element);
426
+ if (peer != nullptr && prevSelectedState != innerValue.AsBoolean()) {
427
+ peer.RaisePropertyChangedEvent(
428
+ winrt::SelectionItemPatternIdentifiers::IsSelectedProperty(),
429
+ winrt::box_value(prevSelectedState),
430
+ winrt::box_value(innerValue.AsBoolean()));
431
+ }
432
+ } else if (innerName == "disabled") {
351
433
  states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Disabled)] =
352
434
  innerValue.AsBoolean();
353
- else if (innerName == "checked") {
435
+ const auto prevDisabledState = DynamicAutomationProperties::GetAccessibilityStateDisabled(element);
436
+
437
+ if (peer != nullptr && prevDisabledState != innerValue.AsBoolean()) {
438
+ peer.RaisePropertyChangedEvent(
439
+ winrt::AutomationElementIdentifiers::IsEnabledProperty(),
440
+ winrt::box_value(!prevDisabledState),
441
+ winrt::box_value(!innerValue.AsBoolean()));
442
+ }
443
+ } else if (innerName == "checked") {
354
444
  states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Checked)] =
355
445
  innerValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Boolean && innerValue.AsBoolean();
356
446
  states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Unchecked)] =
@@ -358,6 +448,30 @@ bool FrameworkElementViewManager::UpdateProperty(
358
448
  // If the state is "mixed" we'll just set both Checked and Unchecked to false,
359
449
  // then later in the IToggleProvider implementation it will return the Intermediate state
360
450
  // due to both being set to false (see DynamicAutomationPeer::ToggleState()).
451
+ const auto prevCheckedState = DynamicAutomationProperties::GetAccessibilityStateChecked(element);
452
+ const auto prevUncheckedState = DynamicAutomationProperties::GetAccessibilityStateUnchecked(element);
453
+
454
+ if (peer != nullptr) {
455
+ if (prevCheckedState !=
456
+ states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Checked)] ||
457
+ prevUncheckedState !=
458
+ states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Unchecked)]) {
459
+ // Checking if either state has changed here to catch changes involving "mixed" state.
460
+ const auto oldValue = prevCheckedState ? winrt::ToggleState::On : winrt::ToggleState::Off;
461
+ if (innerValue.Type() != winrt::Microsoft::ReactNative::JSValueType::Boolean) {
462
+ peer.RaisePropertyChangedEvent(
463
+ winrt::TogglePatternIdentifiers::ToggleStateProperty(),
464
+ winrt::box_value(oldValue),
465
+ winrt::box_value(winrt::ToggleState::Indeterminate));
466
+ } else {
467
+ const auto newValue = innerValue.AsBoolean() ? winrt::ToggleState::On : winrt::ToggleState::Off;
468
+ peer.RaisePropertyChangedEvent(
469
+ winrt::TogglePatternIdentifiers::ToggleStateProperty(),
470
+ winrt::box_value(oldValue),
471
+ winrt::box_value(newValue));
472
+ }
473
+ }
474
+ }
361
475
  } else if (innerName == "busy")
362
476
  states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Busy)] =
363
477
  !innerValue.IsNull() && innerValue.AsBoolean();
@@ -366,6 +480,19 @@ bool FrameworkElementViewManager::UpdateProperty(
366
480
  !innerValue.IsNull() && innerValue.AsBoolean();
367
481
  states[static_cast<int32_t>(winrt::Microsoft::ReactNative::AccessibilityStates::Collapsed)] =
368
482
  innerValue.IsNull() || !innerValue.AsBoolean();
483
+
484
+ const auto prevExpandedState = DynamicAutomationProperties::GetAccessibilityStateExpanded(element);
485
+
486
+ if (peer != nullptr && prevExpandedState != innerValue.AsBoolean()) {
487
+ const auto newValue =
488
+ innerValue.AsBoolean() ? winrt::ExpandCollapseState::Expanded : winrt::ExpandCollapseState::Collapsed;
489
+ const auto oldValue =
490
+ prevExpandedState ? winrt::ExpandCollapseState::Expanded : winrt::ExpandCollapseState::Collapsed;
491
+ peer.RaisePropertyChangedEvent(
492
+ winrt::ExpandCollapsePatternIdentifiers::ExpandCollapseStateProperty(),
493
+ winrt::box_value(oldValue),
494
+ winrt::box_value(newValue));
495
+ }
369
496
  }
370
497
  }
371
498
  }
@@ -167,7 +167,7 @@ bool ImageViewManager::UpdateProperty(
167
167
  }
168
168
 
169
169
  void ImageViewManager::EmitImageEvent(winrt::Grid grid, const char *eventName, ReactImageSource &source) {
170
- int64_t tag = grid.Tag().as<winrt::IPropertyValue>().GetInt64();
170
+ int64_t tag = GetTag(grid);
171
171
  folly::dynamic imageSource =
172
172
  folly::dynamic::object()("uri", source.uri)("width", source.width)("height", source.height);
173
173
 
@@ -141,14 +141,10 @@ class EffectBase : public winrt::implements<EffectBase, abi::IGraphicsEffectD2D1
141
141
 
142
142
  #pragma push_macro("DECLARE_SOURCE")
143
143
  #undef DECLARE_SOURCE
144
- #define DECLARE_SOURCE(Name) \
145
- winrt::IGraphicsEffectSource m_##Name; \
146
- winrt::IGraphicsEffectSource Name() { \
147
- return m_##Name; \
148
- } \
149
- void Name(winrt::IGraphicsEffectSource const &value) { \
150
- m_##Name = value; \
151
- }
144
+ #define DECLARE_SOURCE(Name) \
145
+ winrt::IGraphicsEffectSource m_##Name; \
146
+ winrt::IGraphicsEffectSource Name() { return m_##Name; } \
147
+ void Name(winrt::IGraphicsEffectSource const &value) { m_##Name = value; }
152
148
 
153
149
  #pragma push_macro("DECLARE_SINGLE_SOURCE")
154
150
  #undef DECLARE_SINGLE_SOURCE
@@ -192,9 +188,7 @@ class EffectBase : public winrt::implements<EffectBase, abi::IGraphicsEffectD2D1
192
188
  Type m_##Name = InitialValue; \
193
189
  \
194
190
  public: \
195
- Type Name() { \
196
- return m_##Name; \
197
- } \
191
+ Type Name() { return m_##Name; } \
198
192
  void Name(Type const &value) { \
199
193
  if (!(0, Condition)) { \
200
194
  throw winrt::hresult_invalid_argument(); \
@@ -259,7 +259,8 @@ winrt::fire_and_forget ReactImage::SetBackground(bool fireLoadEndEvent) {
259
259
  compositionBrush->TintColor(strong_this->m_tintColor);
260
260
 
261
261
  const auto surface = fromStream ? winrt::LoadedImageSurface::StartLoadFromStream(memoryStream)
262
- : uri ? winrt::LoadedImageSurface::StartLoadFromUri(uri) : nullptr;
262
+ : uri ? winrt::LoadedImageSurface::StartLoadFromUri(uri)
263
+ : nullptr;
263
264
 
264
265
  m_sizeChangedRevoker = strong_this->SizeChanged(
265
266
  winrt::auto_revoke, [compositionBrush](const auto &, const winrt::SizeChangedEventArgs &args) {
@@ -14,10 +14,6 @@
14
14
  #include <UI.Xaml.Controls.Primitives.h>
15
15
  #include <UI.Xaml.Controls.h>
16
16
 
17
- namespace winrt {
18
- using ToggleButton = xaml::Controls::Primitives::ToggleButton;
19
- }
20
-
21
17
  namespace Microsoft::ReactNative {
22
18
 
23
19
  class SliderShadowNode : public ShadowNodeBase {
@@ -80,6 +76,18 @@ bool SliderViewManager::UpdateProperty(
80
76
  slider.Value(propertyValue.AsDouble());
81
77
  else if (propertyValue.IsNull())
82
78
  slider.Value(0);
79
+ } else if (propertyName == "maximumValue") {
80
+ if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Double ||
81
+ propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Int64)
82
+ slider.Maximum(propertyValue.AsDouble());
83
+ else if (propertyValue.IsNull())
84
+ slider.Maximum(100);
85
+ } else if (propertyName == "minimumValue") {
86
+ if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Double ||
87
+ propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Int64)
88
+ slider.Minimum(propertyValue.AsDouble());
89
+ else if (propertyValue.IsNull())
90
+ slider.Minimum(0);
83
91
  } else {
84
92
  return Super::UpdateProperty(nodeToUpdate, propertyName, propertyValue);
85
93
  }
@@ -760,7 +760,7 @@ void TextInputShadowNode::dispatchCommand(
760
760
  TextInputViewManager::TextInputViewManager(const Mso::React::IReactContext &context) : Super(context) {}
761
761
 
762
762
  const wchar_t *TextInputViewManager::GetName() const {
763
- return L"RCTTextInput";
763
+ return L"WindowsTextInput";
764
764
  }
765
765
 
766
766
  void TextInputViewManager::GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
@@ -23,7 +23,7 @@
23
23
  #include <Utils/ValueUtils.h>
24
24
 
25
25
  #ifdef USE_WINUI3
26
- #include <winrt/Microsoft.UI.Input.Experimental.h>
26
+ #include <winrt/Microsoft.UI.Input.h>
27
27
  #endif
28
28
 
29
29
  namespace winrt {
@@ -357,7 +357,7 @@ void TextViewManager::OnPointerEvent(
357
357
  args.Target(nullptr);
358
358
 
359
359
  // Get the pointer point and hit test
360
- const auto point = args.Args().GetCurrentPoint(textBlock).RawPosition();
360
+ const auto point = args.Args().GetCurrentPoint(textBlock).Position();
361
361
  HitTest(node, args, point);
362
362
 
363
363
  // Set the target back to the current view if hit test failed