react-native-windows 0.75.4 → 0.76.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 (310) hide show
  1. package/.flowconfig +6 -4
  2. package/Directory.Build.props +4 -0
  3. package/Directory.Build.targets +5 -0
  4. package/Libraries/Alert/Alert.js +3 -0
  5. package/Libraries/Alert/Alert.windows.js +3 -0
  6. package/Libraries/Animated/AnimatedEvent.js +1 -1
  7. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  8. package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
  9. package/Libraries/Animated/animations/Animation.js +11 -1
  10. package/Libraries/Animated/animations/DecayAnimation.js +1 -1
  11. package/Libraries/Animated/animations/SpringAnimation.js +1 -1
  12. package/Libraries/Animated/animations/TimingAnimation.js +2 -1
  13. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  14. package/Libraries/Animated/createAnimatedComponent.js +10 -9
  15. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
  17. package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
  18. package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
  19. package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
  20. package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
  21. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  22. package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
  23. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  24. package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
  25. package/Libraries/Animated/useAnimatedProps.js +142 -7
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/FileReader.js +1 -1
  28. package/Libraries/Blob/URL.js +2 -62
  29. package/Libraries/Blob/URLSearchParams.js +71 -0
  30. package/Libraries/Components/Button.windows.js +0 -1
  31. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  32. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  33. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  34. package/Libraries/Components/ScrollView/ScrollView.js +131 -169
  35. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  36. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  37. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  38. package/Libraries/Components/TextInput/TextInput.js +230 -94
  39. package/Libraries/Components/TextInput/TextInput.windows.js +230 -105
  40. package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
  41. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  42. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +2 -0
  43. package/Libraries/Components/View/View.windows.js +32 -30
  44. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  45. package/Libraries/Components/View/ViewNativeComponent.js +0 -1
  46. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  47. package/Libraries/Components/View/ViewPropTypes.windows.js +14 -0
  48. package/Libraries/Core/ExceptionsManager.js +2 -0
  49. package/Libraries/Core/InitializeCore.js +3 -1
  50. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  51. package/Libraries/Core/ReactNativeVersion.js +4 -4
  52. package/Libraries/Core/setUpErrorHandling.js +7 -1
  53. package/Libraries/Core/setUpGlobals.js +1 -0
  54. package/Libraries/Core/setUpReactRefresh.js +0 -4
  55. package/Libraries/Image/AssetSourceResolver.js +28 -1
  56. package/Libraries/Image/AssetSourceResolver.windows.js +28 -1
  57. package/Libraries/Image/Image.android.js +9 -14
  58. package/Libraries/Image/Image.ios.js +11 -22
  59. package/Libraries/Image/Image.windows.js +11 -22
  60. package/Libraries/Image/ImageBackground.js +1 -8
  61. package/Libraries/Image/ImageUtils.js +9 -9
  62. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  63. package/Libraries/Inspector/Inspector.js +3 -2
  64. package/Libraries/Inspector/InspectorPanel.js +16 -10
  65. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  66. package/Libraries/Interaction/TaskQueue.js +1 -0
  67. package/Libraries/Lists/FlatList.js +1 -1
  68. package/Libraries/Lists/SectionList.js +2 -2
  69. package/Libraries/Lists/SectionListModern.js +3 -3
  70. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  71. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  72. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  73. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +9 -8
  74. package/Libraries/Modal/Modal.js +0 -1
  75. package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -0
  76. package/Libraries/NativeComponent/BaseViewConfig.ios.js +7 -0
  77. package/Libraries/NativeComponent/BaseViewConfig.windows.js +7 -0
  78. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  79. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  80. package/Libraries/Network/XMLHttpRequest.js +4 -2
  81. package/Libraries/ReactNative/AppContainer-dev.js +1 -5
  82. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  83. package/Libraries/ReactNative/AppContainer.js +1 -2
  84. package/Libraries/ReactNative/AppRegistry.d.ts +0 -4
  85. package/Libraries/ReactNative/AppRegistry.js +1 -7
  86. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  87. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  88. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  89. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  90. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
  91. package/Libraries/ReactNative/renderApplication.js +1 -3
  92. package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
  93. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  94. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +57 -0
  95. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  96. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  97. package/Libraries/StyleSheet/processBoxShadow.js +211 -0
  98. package/Libraries/StyleSheet/processFilter.js +231 -42
  99. package/Libraries/Text/Text.js +394 -196
  100. package/Libraries/Text/Text.windows.js +476 -300
  101. package/Libraries/Text/TextNativeComponent.js +2 -1
  102. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  103. package/Libraries/Types/CodegenTypes.js +3 -1
  104. package/Libraries/Utilities/Appearance.js +108 -84
  105. package/Libraries/Utilities/DevLoadingView.js +2 -4
  106. package/Libraries/Utilities/HMRClient.js +2 -1
  107. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  108. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  109. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  110. package/Libraries/Utilities/useColorScheme.js +3 -3
  111. package/Libraries/WebSocket/WebSocket.js +1 -1
  112. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  113. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  114. package/Microsoft.ReactNative/ComponentView.idl +11 -0
  115. package/Microsoft.ReactNative/Composition.Input.idl +1 -0
  116. package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
  117. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +9 -9
  118. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +9 -9
  119. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +7 -9
  120. package/Microsoft.ReactNative/Fabric/ComponentView.h +5 -6
  121. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +4 -0
  122. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -0
  123. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +44 -13
  124. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +42 -5
  125. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +1 -0
  126. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +81 -63
  127. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +2 -3
  128. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +8 -6
  129. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +1 -2
  130. package/Microsoft.ReactNative/Fabric/Composition/FocusManager.cpp +20 -6
  131. package/Microsoft.ReactNative/Fabric/Composition/FocusManager.h +13 -6
  132. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +2 -3
  133. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +1 -2
  134. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +72 -54
  135. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +14 -4
  136. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +26 -8
  137. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +5 -2
  138. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +18 -7
  139. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +1 -2
  140. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +6 -6
  141. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +1 -2
  142. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +97 -140
  143. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +8 -4
  144. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +18 -11
  145. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +5 -4
  146. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +0 -13
  147. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +0 -3
  148. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +29 -4
  149. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +2 -0
  150. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +1 -2
  151. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +1 -2
  152. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +28 -12
  153. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +33 -0
  154. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -9
  155. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +10 -4
  156. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +5 -0
  157. package/Microsoft.ReactNative/IReactModuleBuilder.h +1 -0
  158. package/Microsoft.ReactNative/IReactModuleBuilder.idl +9 -0
  159. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +8 -1
  160. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +2 -0
  161. package/Microsoft.ReactNative/Modules/AlertModule.cpp +3 -1
  162. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -1
  163. package/Microsoft.ReactNative/Modules/AppearanceModule.h +7 -1
  164. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +3 -3
  165. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -1
  166. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +2 -2
  167. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +1 -1
  168. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +9 -0
  169. package/Microsoft.ReactNative/Modules/LogBoxModule.h +2 -0
  170. package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +121 -0
  171. package/Microsoft.ReactNative/Modules/SampleTurboModule.h +90 -0
  172. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -7
  173. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -5
  174. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +5 -1
  175. package/Microsoft.ReactNative/ReactInstanceSettingsBuilder.cpp +59 -0
  176. package/Microsoft.ReactNative/ReactInstanceSettingsBuilder.h +23 -0
  177. package/Microsoft.ReactNative/ReactNativeAppBuilder.cpp +179 -0
  178. package/Microsoft.ReactNative/ReactNativeAppBuilder.h +35 -0
  179. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +69 -0
  180. package/Microsoft.ReactNative/ReactNativeIsland.idl +2 -0
  181. package/Microsoft.ReactNative/ReactNativeWin32App.cpp +82 -0
  182. package/Microsoft.ReactNative/ReactNativeWin32App.h +38 -0
  183. package/Microsoft.ReactNative/TurboModulesProvider.cpp +45 -0
  184. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -1
  185. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +25 -16
  186. package/Microsoft.ReactNative/packages.fabric.lock.json +159 -0
  187. package/Microsoft.ReactNative/packages.lock.json +11 -12
  188. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +3 -4
  189. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  190. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +2 -2
  191. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +62 -4
  192. package/Microsoft.ReactNative.Cxx/NativeModules.h +131 -14
  193. package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
  194. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +10 -2
  195. package/PropertySheets/Autolink.props +1 -1
  196. package/PropertySheets/Bundle.props +1 -1
  197. package/PropertySheets/Codegen.props +1 -1
  198. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  199. package/PropertySheets/NuGet.LockFile.props +18 -0
  200. package/README.md +29 -29
  201. package/ReactCommon/ReactCommon.vcxproj +5 -1
  202. package/ReactCommon/ReactCommon.vcxproj.filters +11 -2
  203. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -7
  204. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +441 -0
  205. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +266 -0
  206. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +56 -0
  207. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +3 -1
  208. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -2
  209. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  210. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Convert.h +172 -0
  211. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +4 -5
  212. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +2 -2
  213. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +1 -1
  214. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +3 -2
  215. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  216. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/LayoutableShadowNode.cpp +363 -0
  217. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +22 -2
  218. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +118 -51
  219. package/ReactCommon/packages.lock.json +2 -2
  220. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +8 -1
  221. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -2
  222. package/Shared/Modules/WebSocketModule.cpp +1 -2
  223. package/Shared/Networking/WinRTWebSocketResource.cpp +4 -1
  224. package/Shared/Shared.vcxitems +38 -2
  225. package/Shared/Shared.vcxitems.filters +6 -1
  226. package/Shared/TurboModuleManager.cpp +0 -3
  227. package/codegen/NativeLinkingManagerSpec.g.h +3 -3
  228. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +198 -54
  229. package/codegen/NativeSampleTurboModuleSpec.g.h +35 -0
  230. package/codegen/rnwcoreJSI-generated.cpp +245 -101
  231. package/codegen/rnwcoreJSI.h +847 -548
  232. package/index.js +3 -1
  233. package/index.windows.js +3 -1
  234. package/jest/mockComponent.js +4 -1
  235. package/jest/mockModal.js +1 -3
  236. package/jest/mockScrollView.js +1 -1
  237. package/jest/renderer.js +2 -2
  238. package/jest/setup.js +16 -13
  239. package/package.json +29 -29
  240. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  241. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  242. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  243. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
  244. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  245. package/src/private/components/useSyncOnScroll.js +48 -0
  246. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  247. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  248. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  249. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  250. package/src/private/setup/setUpDOM.js +28 -0
  251. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  252. package/src/private/setup/setUpMutationObserver.js +26 -0
  253. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  254. package/src/private/specs/modules/NativeAppearance.js +3 -3
  255. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  256. package/src/private/specs/modules/NativePlatformConstantsWindows.js +7 -0
  257. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  258. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  259. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  260. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  261. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  262. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  263. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  264. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  265. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  266. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  267. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  268. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  269. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  270. package/src/private/webapis/performance/LongTasks.js +39 -0
  271. package/src/private/webapis/performance/Performance.js +22 -9
  272. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  273. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  274. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  275. package/src/private/webapis/performance/UserTiming.js +17 -12
  276. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  277. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +1 -1
  278. package/template/cpp-app/src/AutolinkedNativeModules.g.h +1 -1
  279. package/template/cs-app/src/AutolinkedNativeModules.g.cs +1 -1
  280. package/template/index.windows.bundle +1 -1
  281. package/template/metro.config.js +2 -2
  282. package/template/shared-app/src/AutolinkedNativeModules.g.props +1 -1
  283. package/template/shared-app/src/AutolinkedNativeModules.g.targets +1 -1
  284. package/templates/cpp-app/metro.config.js +2 -2
  285. package/templates/cpp-app/template.config.js +5 -5
  286. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +1 -1
  287. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +1 -1
  288. package/templates/cpp-app/windows/MyApp/MyApp.cpp +2 -0
  289. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
  290. package/templates/cpp-lib/example/metro.config.js +2 -2
  291. package/templates/cpp-lib/template.config.js +3 -3
  292. package/templates/cpp-lib/windows/MyLib/MyLib.h +3 -3
  293. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  294. package/types/experimental.d.ts +20 -1
  295. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  296. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  297. package/Libraries/Core/setUpMutationObserver.js +0 -16
  298. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  299. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  300. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  301. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  302. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2396
  303. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -136
  304. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
  305. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
  306. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
  307. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -388
  308. package/src/private/core/setUpDOM.js +0 -18
  309. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  310. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -0,0 +1,82 @@
1
+ #include "pch.h"
2
+ #include "ReactNativeWin32App.h"
3
+ #include "ReactNativeWin32App.g.cpp"
4
+ #include "ReactNativeHost.h"
5
+ #include "winrt/Microsoft.UI.Composition.h"
6
+ #include "winrt/Microsoft.UI.Content.h"
7
+ #include "winrt/Microsoft.UI.Interop.h"
8
+ #include "winrt/Microsoft.UI.Windowing.h"
9
+
10
+ namespace winrt::Microsoft::ReactNative::implementation {
11
+ ReactNativeWin32App::ReactNativeWin32App() {}
12
+
13
+ ReactNativeWin32App::~ReactNativeWin32App() {
14
+ m_desktopChildSiteBridge = nullptr;
15
+
16
+ // Destroy all Composition objects
17
+ m_compositor.Close();
18
+ m_compositor = nullptr;
19
+ }
20
+
21
+ void ReactNativeWin32App::AppWindow(winrt::Microsoft::UI::Windowing::AppWindow const &appWindow) {
22
+ m_appWindow = appWindow;
23
+ }
24
+
25
+ winrt::Microsoft::UI::Windowing::AppWindow ReactNativeWin32App::AppWindow() {
26
+ return m_appWindow;
27
+ }
28
+
29
+ void ReactNativeWin32App::Compositor(winrt::Microsoft::UI::Composition::Compositor const &compositor) {
30
+ m_compositor = compositor;
31
+ }
32
+
33
+ winrt::Microsoft::UI::Composition::Compositor ReactNativeWin32App::Compositor() {
34
+ return m_compositor;
35
+ }
36
+
37
+ winrt::Microsoft::ReactNative::ReactNativeIsland ReactNativeWin32App::ReactNativeIsland() {
38
+ return m_reactNativeIsland;
39
+ }
40
+
41
+ void ReactNativeWin32App::ReactNativeIsland(winrt::Microsoft::ReactNative::ReactNativeIsland const &reactNativeIsland) {
42
+ m_reactNativeIsland = reactNativeIsland;
43
+ }
44
+
45
+ winrt::Microsoft::UI::Content::DesktopChildSiteBridge ReactNativeWin32App::DesktopChildSiteBridge() {
46
+ return m_desktopChildSiteBridge;
47
+ }
48
+
49
+ void ReactNativeWin32App::DesktopChildSiteBridge(
50
+ winrt::Microsoft::UI::Content::DesktopChildSiteBridge const &desktopChildSiteBridge) {
51
+ m_desktopChildSiteBridge = desktopChildSiteBridge;
52
+ }
53
+
54
+ winrt::Microsoft::ReactNative::ReactNativeHost ReactNativeWin32App::ReactNativeHost() {
55
+ if (m_host == nullptr) {
56
+ m_host = winrt::make<winrt::Microsoft::ReactNative::implementation::ReactNativeHost>();
57
+ }
58
+ return m_host;
59
+ }
60
+
61
+ void ReactNativeWin32App::ReactNativeHost(winrt::Microsoft::ReactNative::ReactNativeHost const &host) {
62
+ m_host = host;
63
+ }
64
+
65
+ void ReactNativeWin32App::DispatchQueueController(
66
+ winrt::Microsoft::UI::Dispatching::DispatcherQueueController const &dispatcherQueueController) {
67
+ m_dispatcherQueueController = dispatcherQueueController;
68
+ }
69
+
70
+ void ReactNativeWin32App::Start() {
71
+ m_desktopChildSiteBridge.Show();
72
+
73
+ // Run the main application event loop
74
+ m_dispatcherQueueController.DispatcherQueue().RunEventLoop();
75
+
76
+ // Rundown the DispatcherQueue. This drains the queue and raises events to let components
77
+ // know the message loop has finished.
78
+ m_dispatcherQueueController.ShutdownQueue();
79
+
80
+ m_desktopChildSiteBridge.Close();
81
+ }
82
+ } // namespace winrt::Microsoft::ReactNative::implementation
@@ -0,0 +1,38 @@
1
+ #pragma once
2
+ #include "ReactNativeWin32App.g.h"
3
+ #include "winrt/Microsoft.UI.Dispatching.h"
4
+
5
+ namespace winrt::Microsoft::ReactNative::implementation {
6
+ struct ReactNativeWin32App : ReactNativeWin32AppT<ReactNativeWin32App> {
7
+ ReactNativeWin32App();
8
+ ~ReactNativeWin32App();
9
+
10
+ void AppWindow(winrt::Microsoft::UI::Windowing::AppWindow const &appWindow);
11
+ winrt::Microsoft::UI::Windowing::AppWindow AppWindow();
12
+
13
+ winrt::Microsoft::UI::Composition::Compositor Compositor();
14
+ void Compositor(winrt::Microsoft::UI::Composition::Compositor const &compositor);
15
+
16
+ winrt::Microsoft::ReactNative::ReactNativeIsland ReactNativeIsland();
17
+ void ReactNativeIsland(winrt::Microsoft::ReactNative::ReactNativeIsland const &reactNativeIsland);
18
+
19
+ winrt::Microsoft::UI::Content::DesktopChildSiteBridge DesktopChildSiteBridge();
20
+ void DesktopChildSiteBridge(winrt::Microsoft::UI::Content::DesktopChildSiteBridge const &desktopChildSiteBridge);
21
+
22
+ void DispatchQueueController(
23
+ winrt::Microsoft::UI::Dispatching::DispatcherQueueController const &dispatcherQueueController);
24
+
25
+ winrt::Microsoft::ReactNative::ReactNativeHost ReactNativeHost();
26
+ void ReactNativeHost(winrt::Microsoft::ReactNative::ReactNativeHost const &host);
27
+
28
+ void Start();
29
+
30
+ private:
31
+ winrt::Microsoft::UI::Windowing::AppWindow m_appWindow{nullptr};
32
+ winrt::Microsoft::UI::Composition::Compositor m_compositor{nullptr};
33
+ winrt::Microsoft::UI::Dispatching::DispatcherQueueController m_dispatcherQueueController{nullptr};
34
+ winrt::Microsoft::ReactNative::ReactNativeHost m_host{nullptr};
35
+ winrt::Microsoft::ReactNative::ReactNativeIsland m_reactNativeIsland{nullptr};
36
+ winrt::Microsoft::UI::Content::DesktopChildSiteBridge m_desktopChildSiteBridge{nullptr};
37
+ };
38
+ } // namespace winrt::Microsoft::ReactNative::implementation
@@ -8,7 +8,9 @@
8
8
  #include "pch.h"
9
9
  #include "TurboModulesProvider.h"
10
10
  #include <ReactCommon/TurboModuleUtils.h>
11
+ #include <react/bridging/EventEmitter.h>
11
12
  #include "JSDispatcherWriter.h"
13
+ #include "JSValueWriter.h"
12
14
  #include "JsiApi.h"
13
15
  #include "JsiReader.h"
14
16
  #include "JsiWriter.h"
@@ -51,6 +53,12 @@ struct TurboModuleBuilder : winrt::implements<TurboModuleBuilder, IReactModuleBu
51
53
  m_methods.insert({key, {returnType, method}});
52
54
  }
53
55
 
56
+ void AddEventEmitter(hstring const &name, EventEmitterInitializerDelegate const &emitter) noexcept {
57
+ auto key = to_string(name);
58
+ EnsureMemberNotSet(key, true);
59
+ m_eventEmitters.insert({key, emitter});
60
+ }
61
+
54
62
  void AddSyncMethod(hstring const &name, SyncMethodDelegate const &method) noexcept {
55
63
  auto key = to_string(name);
56
64
  EnsureMemberNotSet(key, true);
@@ -70,10 +78,15 @@ struct TurboModuleBuilder : winrt::implements<TurboModuleBuilder, IReactModuleBu
70
78
  return m_constantProviders;
71
79
  }
72
80
 
81
+ const std::unordered_map<std::string, EventEmitterInitializerDelegate> &EventEmitters() const noexcept {
82
+ return m_eventEmitters;
83
+ }
84
+
73
85
  private:
74
86
  void EnsureMemberNotSet(const std::string &key, bool checkingMethod) noexcept {
75
87
  VerifyElseCrash(m_methods.find(key) == m_methods.end());
76
88
  VerifyElseCrash(m_syncMethods.find(key) == m_syncMethods.end());
89
+ VerifyElseCrash(m_eventEmitters.find(key) == m_eventEmitters.end());
77
90
  if (checkingMethod && key == "getConstants") {
78
91
  VerifyElseCrash(m_constantProviders.size() == 0);
79
92
  }
@@ -81,6 +94,7 @@ struct TurboModuleBuilder : winrt::implements<TurboModuleBuilder, IReactModuleBu
81
94
 
82
95
  private:
83
96
  IReactContext m_reactContext;
97
+ std::unordered_map<std::string, EventEmitterInitializerDelegate> m_eventEmitters;
84
98
  std::unordered_map<std::string, TurboModuleMethodInfo> m_methods;
85
99
  std::unordered_map<std::string, SyncMethodDelegate> m_syncMethods;
86
100
  std::vector<ConstantProviderDelegate> m_constantProviders;
@@ -373,6 +387,36 @@ class TurboModuleImpl : public facebook::react::TurboModule {
373
387
  }
374
388
  }
375
389
 
390
+ {
391
+ // try to find an event
392
+ auto it = m_moduleBuilder->EventEmitters().find(key);
393
+ if (it != m_moduleBuilder->EventEmitters().end()) {
394
+ // See if we have an existing eventEmitter
395
+ auto itEmitter = m_eventEmitters.find(key);
396
+ if (itEmitter == m_eventEmitters.end()) {
397
+ m_eventEmitters[key] = std::make_shared<facebook::react::AsyncEventEmitter<facebook::jsi::Value>>();
398
+
399
+ itEmitter = m_eventEmitters.find(key);
400
+
401
+ it->second([emitter = std::static_pointer_cast<facebook::react::AsyncEventEmitter<facebook::jsi::Value>>(
402
+ itEmitter->second),
403
+ jsInvoker = jsInvoker_](const JSValueArgWriter &eventDelegate) {
404
+ auto argWriter = MakeJSValueTreeWriter();
405
+ eventDelegate(argWriter);
406
+ emitter->emit(
407
+ [jsInvoker, eventDelegate, jsValue = std::make_shared<JSValue>(TakeJSValue(argWriter))](
408
+ facebook::jsi::Runtime &rt) -> facebook::jsi::Value {
409
+ auto argWriter = winrt::make<JsiWriter>(rt);
410
+ WriteValue(argWriter, *jsValue);
411
+ return argWriter.as<JsiWriter>()->MoveResult();
412
+ });
413
+ });
414
+ }
415
+
416
+ return itEmitter->second->get(runtime, jsInvoker_);
417
+ }
418
+ }
419
+
376
420
  // returns undefined if the expected member is not found
377
421
  return facebook::jsi::Value::undefined();
378
422
  }
@@ -408,6 +452,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
408
452
  IReactContext m_reactContext;
409
453
  winrt::com_ptr<TurboModuleBuilder> m_moduleBuilder;
410
454
  IInspectable m_providedModule;
455
+ std::unordered_map<std::string, std::shared_ptr<facebook::react::IAsyncEventEmitter>> m_eventEmitters;
411
456
  std::shared_ptr<implementation::HostObjectWrapper> m_hostObjectWrapper;
412
457
  std::weak_ptr<facebook::react::LongLivedObjectCollection> m_longLivedObjectCollection;
413
458
  };
@@ -257,7 +257,8 @@ winrt::IInspectable DynamicAutomationPeer::GetPatternCore(winrt::PatternInterfac
257
257
  if (patternInterface == winrt::PatternInterface::Invoke &&
258
258
  (accessibilityRole == winrt::Microsoft::ReactNative::AccessibilityRoles::Button ||
259
259
  accessibilityRole == winrt::Microsoft::ReactNative::AccessibilityRoles::ImageButton ||
260
- accessibilityRole == winrt::Microsoft::ReactNative::AccessibilityRoles::Radio)) {
260
+ accessibilityRole == winrt::Microsoft::ReactNative::AccessibilityRoles::Radio ||
261
+ accessibilityRole == winrt::Microsoft::ReactNative::AccessibilityRoles::Link)) {
261
262
  return *this;
262
263
  } else if (
263
264
  (patternInterface == winrt::PatternInterface::Selection ||
@@ -200,7 +200,10 @@ void FlyoutShadowNode::createView(const winrt::Microsoft::ReactNative::JSValueOb
200
200
  }
201
201
 
202
202
  OnFlyoutClosed(GetViewManager()->GetReactContext(), m_tag, false);
203
- m_xamlRootChangedRevoker.revoke();
203
+
204
+ if (Is19H1OrHigher()) {
205
+ m_xamlRootChangedRevoker.revoke();
206
+ }
204
207
  }
205
208
  });
206
209
 
@@ -262,15 +265,17 @@ void FlyoutShadowNode::createView(const winrt::Microsoft::ReactNative::JSValueOb
262
265
  });
263
266
 
264
267
  // Set XamlRoot on the Flyout to handle XamlIsland/AppWindow scenarios.
265
- if (auto flyoutBase6 = m_flyout.try_as<winrt::IFlyoutBase6>()) {
266
- if (auto uiManager = GetNativeUIManager(GetViewManager()->GetReactContext()).lock()) {
267
- if (auto xamlRoot = uiManager->tryGetXamlRoot(m_rootTag)) {
268
- flyoutBase6.XamlRoot(xamlRoot);
269
- m_xamlRootChangedRevoker = xamlRoot.Changed(winrt::auto_revoke, [this](auto &&, auto &&) {
270
- if (m_isLightDismissEnabled) {
271
- onDropViewInstance();
272
- }
273
- });
268
+ if (Is19H1OrHigher()) {
269
+ if (auto flyoutBase6 = m_flyout.try_as<winrt::IFlyoutBase6>()) {
270
+ if (auto uiManager = GetNativeUIManager(GetViewManager()->GetReactContext()).lock()) {
271
+ if (auto xamlRoot = uiManager->tryGetXamlRoot(m_rootTag)) {
272
+ flyoutBase6.XamlRoot(xamlRoot);
273
+ m_xamlRootChangedRevoker = xamlRoot.Changed(winrt::auto_revoke, [this](auto &&, auto &&) {
274
+ if (m_isLightDismissEnabled) {
275
+ onDropViewInstance();
276
+ }
277
+ });
278
+ }
274
279
  }
275
280
  }
276
281
  }
@@ -403,12 +408,16 @@ winrt::Flyout FlyoutShadowNode::GetFlyout() {
403
408
  void FlyoutShadowNode::OnShowFlyout() {
404
409
  AdjustDefaultFlyoutStyle(50000, 50000);
405
410
  if (m_isFlyoutShowOptionsSupported) {
406
- if (!m_flyout.XamlRoot()) {
407
- LogErrorAndClose("The target view window was closed before flyout could be shown.");
408
- } else if (!m_targetElement && m_targetTag > 0) {
409
- LogErrorAndClose("The target view unmounted before flyout could be shown.");
410
- } else if (m_targetElement && m_flyout.XamlRoot() != m_targetElement.XamlRoot()) {
411
- LogErrorAndClose("The target view window lost focus before flyout could be shown.");
411
+ if (Is19H1OrHigher()) {
412
+ if (!m_flyout.XamlRoot()) {
413
+ LogErrorAndClose("The target view window was closed before flyout could be shown.");
414
+ } else if (!m_targetElement && m_targetTag > 0) {
415
+ LogErrorAndClose("The target view unmounted before flyout could be shown.");
416
+ } else if (m_targetElement && m_flyout.XamlRoot() != m_targetElement.XamlRoot()) {
417
+ LogErrorAndClose("The target view window lost focus before flyout could be shown.");
418
+ } else {
419
+ m_flyout.ShowAt(m_targetElement, m_showOptions);
420
+ }
412
421
  } else {
413
422
  m_flyout.ShowAt(m_targetElement, m_showOptions);
414
423
  }
@@ -0,0 +1,159 @@
1
+ {
2
+ "version": 1,
3
+ "dependencies": {
4
+ "native,Version=v0.0": {
5
+ "boost": {
6
+ "type": "Direct",
7
+ "requested": "[1.83.0, )",
8
+ "resolved": "1.83.0",
9
+ "contentHash": "cy53VNMzysEMvhBixDe8ujPk67Fcj3v6FPHQnH91NYJNLHpc6jxa2xq9ruCaaJjE4M3YrGSHDi4uUSTGBWw6EQ=="
10
+ },
11
+ "Microsoft.JavaScript.Hermes": {
12
+ "type": "Direct",
13
+ "requested": "[0.1.23, )",
14
+ "resolved": "0.1.23",
15
+ "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
16
+ },
17
+ "Microsoft.SourceLink.GitHub": {
18
+ "type": "Direct",
19
+ "requested": "[1.1.1, )",
20
+ "resolved": "1.1.1",
21
+ "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
22
+ "dependencies": {
23
+ "Microsoft.Build.Tasks.Git": "1.1.1",
24
+ "Microsoft.SourceLink.Common": "1.1.1"
25
+ }
26
+ },
27
+ "Microsoft.Windows.CppWinRT": {
28
+ "type": "Direct",
29
+ "requested": "[2.0.230706.1, )",
30
+ "resolved": "2.0.230706.1",
31
+ "contentHash": "l0D7oCw/5X+xIKHqZTi62TtV+1qeSz7KVluNFdrJ9hXsst4ghvqQ/Yhura7JqRdZWBXAuDS0G0KwALptdoxweQ=="
32
+ },
33
+ "Microsoft.WindowsAppSDK": {
34
+ "type": "Direct",
35
+ "requested": "[1.5.240227000, )",
36
+ "resolved": "1.5.240227000",
37
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
38
+ "dependencies": {
39
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
40
+ }
41
+ },
42
+ "Microsoft.Build.Tasks.Git": {
43
+ "type": "Transitive",
44
+ "resolved": "1.1.1",
45
+ "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
46
+ },
47
+ "Microsoft.SourceLink.Common": {
48
+ "type": "Transitive",
49
+ "resolved": "1.1.1",
50
+ "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
51
+ },
52
+ "Microsoft.Windows.SDK.BuildTools": {
53
+ "type": "Transitive",
54
+ "resolved": "10.0.22621.756",
55
+ "contentHash": "7ZL2sFSioYm1Ry067Kw1hg0SCcW5kuVezC2SwjGbcPE61Nn+gTbH86T73G3LcEOVj0S3IZzNuE/29gZvOLS7VA=="
56
+ },
57
+ "common": {
58
+ "type": "Project",
59
+ "dependencies": {
60
+ "boost": "[1.83.0, )"
61
+ }
62
+ },
63
+ "fmt": {
64
+ "type": "Project"
65
+ },
66
+ "folly": {
67
+ "type": "Project",
68
+ "dependencies": {
69
+ "boost": "[1.83.0, )",
70
+ "fmt": "[1.0.0, )"
71
+ }
72
+ },
73
+ "reactcommon": {
74
+ "type": "Project",
75
+ "dependencies": {
76
+ "Folly": "[1.0.0, )",
77
+ "boost": "[1.83.0, )"
78
+ }
79
+ }
80
+ },
81
+ "native,Version=v0.0/win10-arm": {
82
+ "Microsoft.WindowsAppSDK": {
83
+ "type": "Direct",
84
+ "requested": "[1.5.240227000, )",
85
+ "resolved": "1.5.240227000",
86
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
87
+ "dependencies": {
88
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
89
+ }
90
+ }
91
+ },
92
+ "native,Version=v0.0/win10-arm-aot": {
93
+ "Microsoft.WindowsAppSDK": {
94
+ "type": "Direct",
95
+ "requested": "[1.5.240227000, )",
96
+ "resolved": "1.5.240227000",
97
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
98
+ "dependencies": {
99
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
100
+ }
101
+ }
102
+ },
103
+ "native,Version=v0.0/win10-arm64-aot": {
104
+ "Microsoft.WindowsAppSDK": {
105
+ "type": "Direct",
106
+ "requested": "[1.5.240227000, )",
107
+ "resolved": "1.5.240227000",
108
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
109
+ "dependencies": {
110
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
111
+ }
112
+ }
113
+ },
114
+ "native,Version=v0.0/win10-x64": {
115
+ "Microsoft.WindowsAppSDK": {
116
+ "type": "Direct",
117
+ "requested": "[1.5.240227000, )",
118
+ "resolved": "1.5.240227000",
119
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
120
+ "dependencies": {
121
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
122
+ }
123
+ }
124
+ },
125
+ "native,Version=v0.0/win10-x64-aot": {
126
+ "Microsoft.WindowsAppSDK": {
127
+ "type": "Direct",
128
+ "requested": "[1.5.240227000, )",
129
+ "resolved": "1.5.240227000",
130
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
131
+ "dependencies": {
132
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
133
+ }
134
+ }
135
+ },
136
+ "native,Version=v0.0/win10-x86": {
137
+ "Microsoft.WindowsAppSDK": {
138
+ "type": "Direct",
139
+ "requested": "[1.5.240227000, )",
140
+ "resolved": "1.5.240227000",
141
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
142
+ "dependencies": {
143
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
144
+ }
145
+ }
146
+ },
147
+ "native,Version=v0.0/win10-x86-aot": {
148
+ "Microsoft.WindowsAppSDK": {
149
+ "type": "Direct",
150
+ "requested": "[1.5.240227000, )",
151
+ "resolved": "1.5.240227000",
152
+ "contentHash": "6rESOsREi8534J7IDpNfFYPvxQaSleXKt4A7ZYPeQyckNMQ0o1W0jZ420bJbEMz9Cw/S/8IbpPftLLZ9w/GTCQ==",
153
+ "dependencies": {
154
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
@@ -1,19 +1,18 @@
1
-
2
1
  {
3
2
  "version": 1,
4
3
  "dependencies": {
5
4
  "native,Version=v0.0": {
6
5
  "boost": {
7
6
  "type": "Direct",
8
- "requested": "[1.76.0, )",
9
- "resolved": "1.76.0",
10
- "contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
7
+ "requested": "[1.83.0, )",
8
+ "resolved": "1.83.0",
9
+ "contentHash": "cy53VNMzysEMvhBixDe8ujPk67Fcj3v6FPHQnH91NYJNLHpc6jxa2xq9ruCaaJjE4M3YrGSHDi4uUSTGBWw6EQ=="
11
10
  },
12
11
  "Microsoft.JavaScript.Hermes": {
13
12
  "type": "Direct",
14
- "requested": "[0.1.21, )",
15
- "resolved": "0.1.21",
16
- "contentHash": "5njCh+3eXTLOv7+8nOnp6nJ5C0r6it5ze54c0nuWleeDptuK8t3dEDB79XTU4D5DKNvAPlqJpgXRDOak5nYIug=="
13
+ "requested": "[0.1.23, )",
14
+ "resolved": "0.1.23",
15
+ "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
17
16
  },
18
17
  "Microsoft.SourceLink.GitHub": {
19
18
  "type": "Direct",
@@ -58,7 +57,7 @@
58
57
  "common": {
59
58
  "type": "Project",
60
59
  "dependencies": {
61
- "boost": "[1.76.0, )"
60
+ "boost": "[1.83.0, )"
62
61
  }
63
62
  },
64
63
  "fmt": {
@@ -67,15 +66,15 @@
67
66
  "folly": {
68
67
  "type": "Project",
69
68
  "dependencies": {
70
- "Fmt": "[1.0.0, )",
71
- "boost": "[1.76.0, )"
69
+ "boost": "[1.83.0, )",
70
+ "fmt": "[1.0.0, )"
72
71
  }
73
72
  },
74
73
  "reactcommon": {
75
74
  "type": "Project",
76
75
  "dependencies": {
77
76
  "Folly": "[1.0.0, )",
78
- "boost": "[1.76.0, )"
77
+ "boost": "[1.83.0, )"
79
78
  }
80
79
  }
81
80
  },
@@ -129,4 +128,4 @@
129
128
  }
130
129
  }
131
130
  }
132
- }
131
+ }
@@ -17,10 +17,6 @@
17
17
  <TurboModule_SourcePath Condition="'$(TurboModule_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\TurboModule.h')">$(MSBuildThisFileDirectory)</TurboModule_SourcePath>
18
18
  <Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND '$(ReactNativeDir)' != ''">$(ReactNativeDir)\ReactCommon\react\bridging</Bridging_SourcePath>
19
19
  <Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\CallbackWrapper.h')">$(MSBuildThisFileDirectory)ReactCommon</Bridging_SourcePath>
20
- <Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\EventEmitter.h')">$(MSBuildThisFileDirectory)ReactCommon</Bridging_SourcePath>
21
- <Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\Function.h')">$(MSBuildThisFileDirectory)ReactCommon</Bridging_SourcePath>
22
- <Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\Base.h')">$(MSBuildThisFileDirectory)ReactCommon</Bridging_SourcePath>
23
- <Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)ReactCommon\Convert.h')">$(MSBuildThisFileDirectory)ReactCommon</Bridging_SourcePath>
24
20
 
25
21
  <NodeApiJsiCommitHash>83cfef428a97627c9185c73da097e42742de56eb</NodeApiJsiCommitHash>
26
22
  <NodeApiJsiLocal Condition="Exists('$(MSBuildThisFileDirectory)NodeApiJsiRuntime.cpp')">true</NodeApiJsiLocal>
@@ -65,6 +61,9 @@
65
61
  <ClInclude Include="$(TurboModule_SourcePath)\ReactCommon\LongLivedObject.h" />
66
62
  <ClInclude Include="$(Bridging_SourcePath)\CallbackWrapper.h" />
67
63
  <ClInclude Include="$(Bridging_SourcePath)\EventEmitter.h" />
64
+ <ClInclude Include="$(Bridging_SourcePath)\Function.h" />
65
+ <ClInclude Include="$(Bridging_SourcePath)\Base.h" />
66
+ <ClInclude Include="$(Bridging_SourcePath)\Convert.h" />
68
67
  <ClInclude Include="$(TurboModule_SourcePath)\ReactCommon\TurboModule.h" />
69
68
  <ClInclude Include="$(TurboModule_SourcePath)\ReactCommon\TurboModuleUtils.h" />
70
69
  <ClInclude Include="$(MSBuildThisFileDirectory)CppWinRTIncludes.h" />
@@ -161,6 +161,9 @@
161
161
  </ClInclude>
162
162
  <ClInclude Include="$(Bridging_SourcePath)\CallbackWrapper.h" />
163
163
  <ClInclude Include="$(Bridging_SourcePath)\EventEmitter.h" />
164
+ <ClInclude Include="$(Bridging_SourcePath)\Function.h" />
165
+ <ClInclude Include="$(Bridging_SourcePath)\Base.h" />
166
+ <ClInclude Include="$(Bridging_SourcePath)\Convert.h" />
164
167
  <ClInclude Include="$(MSBuildThisFileDirectory)JSI\LongLivedJsiValue.h">
165
168
  <Filter>TurboModule</Filter>
166
169
  </ClInclude>
@@ -17,7 +17,7 @@ ModuleRegistration::ModuleRegistration(wchar_t const *moduleName) noexcept : m_m
17
17
 
18
18
  void AddAttributedModules(IReactPackageBuilder const &packageBuilder, bool useTurboModules) noexcept {
19
19
  for (auto const *reg = ModuleRegistration::Head(); reg != nullptr; reg = reg->Next()) {
20
- if (useTurboModules)
20
+ if (useTurboModules || reg->ShouldRegisterAsTurboModule())
21
21
  packageBuilder.AddTurboModule(reg->ModuleName(), reg->MakeModuleProvider());
22
22
  else
23
23
  packageBuilder.AddModule(reg->ModuleName(), reg->MakeModuleProvider());
@@ -30,7 +30,7 @@ bool TryAddAttributedModule(
30
30
  bool useTurboModule) noexcept {
31
31
  for (auto const *reg = ModuleRegistration::Head(); reg != nullptr; reg = reg->Next()) {
32
32
  if (moduleName == reg->ModuleName()) {
33
- if (useTurboModule) {
33
+ if (useTurboModule || reg->ShouldRegisterAsTurboModule()) {
34
34
  packageBuilder.AddTurboModule(moduleName, reg->MakeModuleProvider());
35
35
  } else {
36
36
  packageBuilder.AddModule(moduleName, reg->MakeModuleProvider());