react-native-windows 0.75.4 → 0.76.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) 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/KeyboardAvoidingView.js +17 -0
  33. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  34. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  35. package/Libraries/Components/ScrollView/ScrollView.js +131 -169
  36. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
  37. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +3 -0
  38. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  39. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  40. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  41. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  42. package/Libraries/Components/TextInput/TextInput.js +230 -94
  43. package/Libraries/Components/TextInput/TextInput.windows.js +230 -105
  44. package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
  45. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  46. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +2 -0
  47. package/Libraries/Components/View/View.windows.js +32 -30
  48. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  49. package/Libraries/Components/View/ViewNativeComponent.js +0 -1
  50. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  51. package/Libraries/Components/View/ViewPropTypes.windows.js +14 -0
  52. package/Libraries/Core/ExceptionsManager.js +2 -0
  53. package/Libraries/Core/InitializeCore.js +3 -1
  54. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  55. package/Libraries/Core/ReactNativeVersion.js +4 -4
  56. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  57. package/Libraries/Core/setUpErrorHandling.js +7 -1
  58. package/Libraries/Core/setUpGlobals.js +1 -0
  59. package/Libraries/Core/setUpReactRefresh.js +0 -4
  60. package/Libraries/Image/AssetSourceResolver.js +28 -1
  61. package/Libraries/Image/AssetSourceResolver.windows.js +28 -1
  62. package/Libraries/Image/Image.android.js +9 -14
  63. package/Libraries/Image/Image.ios.js +11 -22
  64. package/Libraries/Image/Image.windows.js +11 -22
  65. package/Libraries/Image/ImageBackground.js +1 -8
  66. package/Libraries/Image/ImageUtils.js +9 -9
  67. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  68. package/Libraries/Inspector/Inspector.js +3 -2
  69. package/Libraries/Inspector/InspectorPanel.js +16 -10
  70. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  71. package/Libraries/Interaction/TaskQueue.js +1 -0
  72. package/Libraries/Lists/FlatList.js +1 -1
  73. package/Libraries/Lists/SectionList.js +2 -2
  74. package/Libraries/Lists/SectionListModern.js +3 -3
  75. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  76. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  77. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  78. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +9 -8
  79. package/Libraries/Modal/Modal.js +0 -1
  80. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -1
  81. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
  82. package/Libraries/NativeComponent/BaseViewConfig.windows.js +17 -1
  83. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  84. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  85. package/Libraries/Network/XMLHttpRequest.js +4 -2
  86. package/Libraries/ReactNative/AppContainer-dev.js +1 -5
  87. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  88. package/Libraries/ReactNative/AppContainer.js +1 -2
  89. package/Libraries/ReactNative/AppRegistry.d.ts +0 -4
  90. package/Libraries/ReactNative/AppRegistry.js +1 -7
  91. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  92. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  93. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  94. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  95. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  96. package/Libraries/ReactNative/renderApplication.js +1 -3
  97. package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
  98. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  99. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
  100. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  101. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  102. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  103. package/Libraries/StyleSheet/processFilter.js +231 -42
  104. package/Libraries/Text/Text.js +394 -196
  105. package/Libraries/Text/Text.windows.js +476 -300
  106. package/Libraries/Text/TextNativeComponent.js +2 -1
  107. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  108. package/Libraries/Types/CodegenTypes.js +3 -1
  109. package/Libraries/Utilities/Appearance.js +108 -84
  110. package/Libraries/Utilities/DevLoadingView.js +2 -4
  111. package/Libraries/Utilities/HMRClient.js +8 -6
  112. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  113. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  114. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  115. package/Libraries/Utilities/useColorScheme.js +3 -3
  116. package/Libraries/WebSocket/WebSocket.js +1 -1
  117. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  118. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  119. package/Microsoft.ReactNative/ComponentView.idl +11 -0
  120. package/Microsoft.ReactNative/Composition.Input.idl +1 -0
  121. package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
  122. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +9 -9
  123. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +9 -9
  124. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +7 -9
  125. package/Microsoft.ReactNative/Fabric/ComponentView.h +5 -6
  126. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +4 -0
  127. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -0
  128. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +44 -13
  129. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +42 -5
  130. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +1 -0
  131. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +81 -63
  132. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +2 -3
  133. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +8 -6
  134. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +1 -2
  135. package/Microsoft.ReactNative/Fabric/Composition/FocusManager.cpp +20 -6
  136. package/Microsoft.ReactNative/Fabric/Composition/FocusManager.h +13 -6
  137. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +2 -3
  138. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +1 -2
  139. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +72 -54
  140. package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +14 -4
  141. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +26 -8
  142. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +5 -2
  143. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +18 -7
  144. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +1 -2
  145. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +6 -6
  146. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +1 -2
  147. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +97 -140
  148. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +8 -4
  149. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +18 -11
  150. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +5 -4
  151. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +0 -13
  152. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +0 -3
  153. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +29 -4
  154. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +2 -0
  155. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +1 -2
  156. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +1 -2
  157. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +28 -12
  158. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +33 -0
  159. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -9
  160. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +10 -4
  161. package/Microsoft.ReactNative/IReactModuleBuilder.cpp +5 -0
  162. package/Microsoft.ReactNative/IReactModuleBuilder.h +1 -0
  163. package/Microsoft.ReactNative/IReactModuleBuilder.idl +9 -0
  164. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +8 -1
  165. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +2 -0
  166. package/Microsoft.ReactNative/Modules/AlertModule.cpp +3 -1
  167. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -1
  168. package/Microsoft.ReactNative/Modules/AppearanceModule.h +7 -1
  169. package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +3 -3
  170. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -1
  171. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +2 -2
  172. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +1 -1
  173. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +9 -0
  174. package/Microsoft.ReactNative/Modules/LogBoxModule.h +2 -0
  175. package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +121 -0
  176. package/Microsoft.ReactNative/Modules/SampleTurboModule.h +90 -0
  177. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -7
  178. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -5
  179. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +5 -1
  180. package/Microsoft.ReactNative/ReactInstanceSettingsBuilder.cpp +59 -0
  181. package/Microsoft.ReactNative/ReactInstanceSettingsBuilder.h +23 -0
  182. package/Microsoft.ReactNative/ReactNativeAppBuilder.cpp +179 -0
  183. package/Microsoft.ReactNative/ReactNativeAppBuilder.h +35 -0
  184. package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +69 -0
  185. package/Microsoft.ReactNative/ReactNativeIsland.idl +2 -0
  186. package/Microsoft.ReactNative/ReactNativeWin32App.cpp +82 -0
  187. package/Microsoft.ReactNative/ReactNativeWin32App.h +38 -0
  188. package/Microsoft.ReactNative/TurboModulesProvider.cpp +45 -0
  189. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -1
  190. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +25 -16
  191. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +3 -4
  192. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  193. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +2 -2
  194. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +62 -4
  195. package/Microsoft.ReactNative.Cxx/NativeModules.h +131 -14
  196. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +10 -2
  197. package/PropertySheets/Autolink.props +1 -1
  198. package/PropertySheets/Bundle.props +1 -1
  199. package/PropertySheets/Codegen.props +1 -1
  200. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  201. package/PropertySheets/NuGet.LockFile.props +18 -0
  202. package/README.md +29 -29
  203. package/ReactCommon/ReactCommon.vcxproj +5 -1
  204. package/ReactCommon/ReactCommon.vcxproj.filters +11 -2
  205. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -7
  206. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +441 -0
  207. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +266 -0
  208. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +56 -0
  209. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +3 -1
  210. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -2
  211. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  212. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Convert.h +172 -0
  213. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +4 -5
  214. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +2 -2
  215. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +1 -1
  216. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +3 -2
  217. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  218. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/LayoutableShadowNode.cpp +363 -0
  219. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +22 -2
  220. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +118 -51
  221. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +8 -1
  222. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -2
  223. package/Shared/Modules/WebSocketModule.cpp +1 -2
  224. package/Shared/Networking/WinRTWebSocketResource.cpp +4 -1
  225. package/Shared/Shared.vcxitems +38 -2
  226. package/Shared/Shared.vcxitems.filters +6 -1
  227. package/Shared/TurboModuleManager.cpp +0 -3
  228. package/codegen/NativeLinkingManagerSpec.g.h +3 -3
  229. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +198 -54
  230. package/codegen/NativeSampleTurboModuleSpec.g.h +35 -0
  231. package/codegen/rnwcoreJSI-generated.cpp +245 -101
  232. package/codegen/rnwcoreJSI.h +847 -548
  233. package/index.js +3 -1
  234. package/index.windows.js +3 -1
  235. package/jest/mockComponent.js +4 -1
  236. package/jest/mockModal.js +1 -3
  237. package/jest/mockScrollView.js +1 -1
  238. package/jest/renderer.js +2 -2
  239. package/jest/setup.js +16 -13
  240. package/package.json +34 -30
  241. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  242. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  243. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  244. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +29 -0
  245. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  246. package/src/private/components/useSyncOnScroll.js +48 -0
  247. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  248. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  249. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  250. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  251. package/src/private/setup/setUpDOM.js +28 -0
  252. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  253. package/src/private/setup/setUpMutationObserver.js +26 -0
  254. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  255. package/src/private/specs/modules/NativeAppearance.js +3 -3
  256. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  257. package/src/private/specs/modules/NativePlatformConstantsWindows.js +7 -0
  258. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  259. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  260. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  261. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  262. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  263. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  264. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  265. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  266. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  267. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  268. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  269. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  270. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  271. package/src/private/webapis/performance/LongTasks.js +39 -0
  272. package/src/private/webapis/performance/Performance.js +22 -9
  273. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  274. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  275. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  276. package/src/private/webapis/performance/UserTiming.js +17 -12
  277. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  278. package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +1 -1
  279. package/template/cpp-app/src/AutolinkedNativeModules.g.h +1 -1
  280. package/template/cs-app/src/AutolinkedNativeModules.g.cs +1 -1
  281. package/template/index.windows.bundle +1 -1
  282. package/template/metro.config.js +2 -2
  283. package/template/shared-app/src/AutolinkedNativeModules.g.props +1 -1
  284. package/template/shared-app/src/AutolinkedNativeModules.g.targets +1 -1
  285. package/templates/cpp-app/metro.config.js +2 -2
  286. package/templates/cpp-app/template.config.js +5 -5
  287. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +1 -1
  288. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +1 -1
  289. package/templates/cpp-app/windows/MyApp/MyApp.cpp +2 -0
  290. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
  291. package/templates/cpp-lib/example/metro.config.js +2 -2
  292. package/templates/cpp-lib/template.config.js +3 -3
  293. package/templates/cpp-lib/windows/MyLib/MyLib.h +3 -3
  294. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
  295. package/types/experimental.d.ts +12 -98
  296. package/Common/packages.lock.json +0 -26
  297. package/Folly/packages.lock.json +0 -23
  298. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  299. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  300. package/Libraries/Core/setUpMutationObserver.js +0 -16
  301. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  302. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  303. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  304. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  305. package/Microsoft.ReactNative/packages.lock.json +0 -132
  306. package/Microsoft.ReactNative.Managed/packages.lock.json +0 -373
  307. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +0 -3197
  308. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2396
  309. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -136
  310. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
  311. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
  312. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
  313. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -388
  314. package/ReactCommon/packages.lock.json +0 -30
  315. package/fmt/packages.lock.json +0 -13
  316. package/src/private/core/setUpDOM.js +0 -18
  317. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  318. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <vector>
11
+
12
+ namespace facebook::react::jsinspector_modern {
13
+
14
+ /**
15
+ * Takes a vector of bytes representing a fragment of a UTF-8 string, and
16
+ * removes the minimum number (0-3) of trailing bytes so that the remainder is
17
+ * valid UTF-8. Useful for slicing binary data into UTF-8 strings.
18
+ *
19
+ * \param buffer Buffer to operate on - will be resized if necessary.
20
+ */
21
+ inline void truncateToValidUTF8(std::vector<char>& buffer) {
22
+ const auto length = buffer.size();
23
+ // Ensure we don't cut a UTF-8 code point in the middle by removing any
24
+ // trailing bytes representing an incomplete UTF-8 code point.
25
+
26
+ // If the last byte is a UTF-8 first byte or continuation byte (topmost bit
27
+ // is 1) (otherwise the last char is ASCII and we don't need to do
28
+ // anything).
29
+ if (length > 0 && (buffer[length - 1] & 0b10000000) == 0b10000000) {
30
+ size_t continuationBytes = 0; // [Windows #13587]
31
+ // Find the first byte of the UTF-8 code point (topmost bits 11) and count
32
+ // the number of continuation bytes following it.
33
+ while ((buffer[length - continuationBytes - 1] & 0b11000000) !=
34
+ 0b11000000) {
35
+ continuationBytes++;
36
+ if (continuationBytes > 3 || continuationBytes >= length - 1) {
37
+ throw std::runtime_error("Invalid UTF-8 sequence");
38
+ }
39
+ }
40
+ char firstByteOfSequence = buffer[length - continuationBytes - 1];
41
+ // Check for the special case that our original cut point was at the end
42
+ // of a UTF-8 code-point, and therefore already valid. This will be the
43
+ // case if the first byte indicates continuationBytes continuation bytes
44
+ // should follow, i.e. its top bits are (1+continuationBytes) 1's followed
45
+ // by a 0.
46
+ char mask = static_cast<char>(0b11111000 << (3 - continuationBytes));
47
+ char expectedBitsAfterMask = static_cast<char>(mask << 1);
48
+ if (continuationBytes == 0 ||
49
+ (firstByteOfSequence & mask) != expectedBitsAfterMask) {
50
+ // Remove the trailing continuation bytes, if any, and the first byte.
51
+ buffer.resize(length - (continuationBytes + 1));
52
+ }
53
+ }
54
+ }
55
+
56
+ } // namespace facebook::react::jsinspector_modern
@@ -5,10 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ // [Windows #13391]
9
+
8
10
  #pragma once
9
11
 
10
12
  #include <jsi/jsi.h>
11
- #include <Convert.h> // [Windows]
13
+ #include <Convert.h>
12
14
 
13
15
  #include <cstdint>
14
16
  #include <memory>
@@ -13,9 +13,9 @@
13
13
  #include <react/bridging/Class.h>
14
14
  // #include <react/bridging/Dynamic.h> // Line causes Error C1083 Cannot open include file: 'double-conversion/double-conversion.h' #11644
15
15
  #include <react/bridging/Error.h>
16
- #include <react/bridging/EventEmitter.h>
16
+ #include <react/bridging/EventEmitter.h> // [Windows #13391]
17
17
  #include <react/bridging/Function.h>
18
18
  #include <react/bridging/Number.h>
19
19
  #include <react/bridging/Object.h>
20
20
  #include <react/bridging/Promise.h>
21
- #include <react/bridging/Value.h>
21
+ #include <react/bridging/Value.h> // [Windows #13391]
@@ -11,7 +11,7 @@
11
11
 
12
12
  #include <memory>
13
13
 
14
- #include <LongLivedObject.h> // [Windows]
14
+ #include <LongLivedObject.h> // [Windows #13391]
15
15
 
16
16
  namespace facebook::react {
17
17
 
@@ -0,0 +1,172 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ // [Windows #13391]
9
+
10
+ #pragma once
11
+
12
+ #include <jsi/jsi.h>
13
+
14
+ #include <optional>
15
+ #include <type_traits>
16
+
17
+ namespace facebook::react::bridging {
18
+
19
+ // std::remove_cvref_t is not available until C++20.
20
+ template <typename T>
21
+ using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
22
+
23
+ template <typename T>
24
+ inline constexpr bool is_jsi_v =
25
+ std::is_same_v<jsi::Value, remove_cvref_t<T>> ||
26
+ std::is_same_v<jsi::String, remove_cvref_t<T>> ||
27
+ std::is_base_of_v<jsi::Object, remove_cvref_t<T>>;
28
+
29
+ template <typename>
30
+ struct is_optional : std::false_type {};
31
+
32
+ template <typename T>
33
+ struct is_optional<std::optional<T>> : std::true_type {};
34
+
35
+ template <typename T>
36
+ inline constexpr bool is_optional_v = is_optional<T>::value;
37
+
38
+ template <typename T, typename = void>
39
+ inline constexpr bool is_optional_jsi_v = false;
40
+
41
+ template <typename T>
42
+ inline constexpr bool
43
+ is_optional_jsi_v<T, typename std::enable_if_t<is_optional_v<T>>> =
44
+ is_jsi_v<typename T::value_type>;
45
+
46
+ template <typename T>
47
+ struct Converter;
48
+
49
+ template <typename T>
50
+ struct ConverterBase {
51
+ using BaseT = remove_cvref_t<T>;
52
+
53
+ ConverterBase(jsi::Runtime& rt, T&& value)
54
+ : rt_(rt), value_(std::forward<T>(value)) {}
55
+
56
+ operator BaseT() && {
57
+ if constexpr (std::is_lvalue_reference_v<T>) {
58
+ // Copy the reference into a Value that then can be moved from.
59
+ auto value = jsi::Value(rt_, value_);
60
+
61
+ if constexpr (std::is_same_v<BaseT, jsi::Value>) {
62
+ return std::move(value);
63
+ } else if constexpr (std::is_same_v<BaseT, jsi::String>) {
64
+ return std::move(value).getString(rt_);
65
+ } else if constexpr (std::is_same_v<BaseT, jsi::Object>) {
66
+ return std::move(value).getObject(rt_);
67
+ } else if constexpr (std::is_same_v<BaseT, jsi::Array>) {
68
+ return std::move(value).getObject(rt_).getArray(rt_);
69
+ } else if constexpr (std::is_same_v<BaseT, jsi::Function>) {
70
+ return std::move(value).getObject(rt_).getFunction(rt_);
71
+ }
72
+ } else {
73
+ return std::move(value_);
74
+ }
75
+ }
76
+
77
+ template <
78
+ typename U,
79
+ std::enable_if_t<
80
+ std::is_lvalue_reference_v<T> &&
81
+ // Ensure non-reference type can be converted to the desired type.
82
+ std::is_convertible_v<Converter<BaseT>, U>,
83
+ int> = 0>
84
+ operator U() && {
85
+ return Converter<BaseT>(rt_, std::move(*this).operator BaseT());
86
+ }
87
+
88
+ template <
89
+ typename U,
90
+ std::enable_if_t<is_jsi_v<T> && std::is_same_v<U, jsi::Value>, int> = 0>
91
+ operator U() && = delete; // Prevent unwanted upcasting of JSI values.
92
+
93
+ protected:
94
+ jsi::Runtime& rt_;
95
+ T value_;
96
+ };
97
+
98
+ template <typename T>
99
+ struct Converter : public ConverterBase<T> {
100
+ using ConverterBase<T>::ConverterBase;
101
+ };
102
+
103
+ template <>
104
+ struct Converter<jsi::Value> : public ConverterBase<jsi::Value> {
105
+ using ConverterBase<jsi::Value>::ConverterBase;
106
+
107
+ operator jsi::String() && {
108
+ return std::move(value_).asString(rt_);
109
+ }
110
+
111
+ operator jsi::Object() && {
112
+ return std::move(value_).asObject(rt_);
113
+ }
114
+
115
+ operator jsi::Array() && {
116
+ return std::move(value_).asObject(rt_).asArray(rt_);
117
+ }
118
+
119
+ operator jsi::Function() && {
120
+ return std::move(value_).asObject(rt_).asFunction(rt_);
121
+ }
122
+ };
123
+
124
+ template <>
125
+ struct Converter<jsi::Object> : public ConverterBase<jsi::Object> {
126
+ using ConverterBase<jsi::Object>::ConverterBase;
127
+
128
+ operator jsi::Array() && {
129
+ return std::move(value_).asArray(rt_);
130
+ }
131
+
132
+ operator jsi::Function() && {
133
+ return std::move(value_).asFunction(rt_);
134
+ }
135
+ };
136
+
137
+ template <typename T>
138
+ struct Converter<std::optional<T>> : public ConverterBase<jsi::Value> {
139
+ Converter(jsi::Runtime& rt, std::optional<T> value)
140
+ : ConverterBase(rt, value ? std::move(*value) : jsi::Value::null()) {}
141
+
142
+ operator std::optional<T>() && {
143
+ if (value_.isNull() || value_.isUndefined()) {
144
+ return {};
145
+ }
146
+ return std::move(value_);
147
+ }
148
+ };
149
+
150
+ template <typename T, std::enable_if_t<is_jsi_v<T>, int> = 0>
151
+ auto convert(jsi::Runtime& rt, T&& value) {
152
+ return Converter<T>(rt, std::forward<T>(value));
153
+ }
154
+
155
+ template <
156
+ typename T,
157
+ std::enable_if_t<is_jsi_v<T> || std::is_scalar_v<T>, int> = 0>
158
+ auto convert(jsi::Runtime& rt, std::optional<T> value) {
159
+ return Converter<std::optional<T>>(rt, std::move(value));
160
+ }
161
+
162
+ template <typename T, std::enable_if_t<std::is_scalar_v<T>, int> = 0>
163
+ auto convert(jsi::Runtime& rt, T&& value) {
164
+ return value;
165
+ }
166
+
167
+ template <typename T>
168
+ auto convert(jsi::Runtime& rt, Converter<T>&& converter) {
169
+ return std::move(converter);
170
+ }
171
+
172
+ } // namespace facebook::react::bridging
@@ -5,9 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ // [Windows #13391]
9
+
8
10
  #pragma once
9
11
 
10
- #include <Function.h> // [Windows]
12
+ #include <Function.h> // [Windows #13391]
11
13
  #include <functional>
12
14
  #include <memory>
13
15
  #include <mutex>
@@ -104,10 +106,7 @@ class AsyncEventEmitter : public IAsyncEventEmitter {
104
106
  jsi::Object get(
105
107
  jsi::Runtime& rt,
106
108
  const std::shared_ptr<CallInvoker>& jsInvoker) const override {
107
- auto result = jsi::Object(rt);
108
- result.setProperty(
109
- rt, "addListener", bridging::toJs(rt, listen_, jsInvoker));
110
- return result;
109
+ return bridging::toJs(rt, listen_, jsInvoker);
111
110
  }
112
111
 
113
112
  private:
@@ -7,8 +7,8 @@
7
7
 
8
8
  #pragma once
9
9
 
10
- #include <Base.h> // [Windows]
11
- #include <CallbackWrapper.h> // [Windows]
10
+ #include <Base.h> // [Windows #13391]
11
+ #include <CallbackWrapper.h> // [Windows #13391]
12
12
 
13
13
  #include <ReactCommon/CallInvoker.h>
14
14
  #include <ReactCommon/SchedulerPriority.h>
@@ -14,7 +14,7 @@
14
14
  #include <jsi/jsi.h>
15
15
 
16
16
  #include <ReactCommon/CallInvoker.h>
17
- #include <EventEmitter.h> // [Windows]
17
+ #include <EventEmitter.h> // [Windows #13391]
18
18
 
19
19
  namespace facebook::react {
20
20
 
@@ -11,8 +11,9 @@
11
11
  #include <string>
12
12
 
13
13
  #include <jsi/jsi.h>
14
- #include <CallbackWrapper.h> // [Windows]
15
- #include <LongLivedObject.h> // [Windows]
14
+ #include <LongLivedObject.h> // [Windows #13391]
15
+
16
+ #include <CallbackWrapper.h> // [Windows #13391]
16
17
 
17
18
  namespace facebook::react {
18
19
 
@@ -91,6 +91,15 @@ ScrollViewProps::ScrollViewProps(
91
91
  "automaticallyAdjustsScrollIndicatorInsets",
92
92
  sourceProps.automaticallyAdjustsScrollIndicatorInsets,
93
93
  true)),
94
+ automaticallyAdjustKeyboardInsets(
95
+ CoreFeatures::enablePropIteratorSetter
96
+ ? sourceProps.automaticallyAdjustKeyboardInsets
97
+ : convertRawProp(
98
+ context,
99
+ rawProps,
100
+ "automaticallyAdjustKeyboardInsets",
101
+ sourceProps.automaticallyAdjustKeyboardInsets,
102
+ false)),
94
103
  decelerationRate(
95
104
  CoreFeatures::enablePropIteratorSetter
96
105
  ? sourceProps.decelerationRate