react-native-windows 0.71.7 → 0.72.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 (620) hide show
  1. package/.flowconfig +13 -3
  2. package/Directory.Build.props +19 -19
  3. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
  4. package/Libraries/Alert/Alert.d.ts +4 -4
  5. package/Libraries/Alert/Alert.windows.js +2 -0
  6. package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
  7. package/Libraries/Animated/Animated.d.ts +17 -6
  8. package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
  9. package/Libraries/Animated/bezier.js +1 -1
  10. package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
  11. package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
  12. package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +26 -239
  14. package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
  16. package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
  17. package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
  20. package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  22. package/Libraries/Animated/useAnimatedProps.js +7 -10
  23. package/Libraries/AppTheme/AppTheme.js +1 -0
  24. package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -1
  26. package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
  27. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  28. package/Libraries/Blob/Blob.js +4 -0
  29. package/Libraries/Blob/FileReader.js +30 -2
  30. package/Libraries/Blob/URL.js +3 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
  34. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
  35. package/Libraries/Components/Button.js +3 -2
  36. package/Libraries/Components/Button.windows.js +3 -2
  37. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
  39. package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
  40. package/Libraries/Components/Flyout/Flyout.js +110 -51
  41. package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
  42. package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
  43. package/Libraries/Components/Glyph/Glyph.js +43 -30
  44. package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
  45. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
  46. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
  47. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  48. package/Libraries/Components/Popup/Popup.d.ts +41 -19
  49. package/Libraries/Components/Popup/Popup.js +86 -52
  50. package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
  51. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  52. package/Libraries/Components/Pressable/Pressable.js +1 -1
  53. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
  54. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
  55. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
  57. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
  58. package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.js +149 -91
  60. package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
  61. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
  62. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
  63. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
  64. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
  65. package/Libraries/Components/StatusBar/StatusBar.js +3 -0
  66. package/Libraries/Components/Switch/Switch.js +3 -1
  67. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
  68. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
  70. package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
  71. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  72. package/Libraries/Components/TextInput/TextInput.js +130 -103
  73. package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
  74. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
  75. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  76. package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
  77. package/Libraries/Components/Touchable/Touchable.js +6 -3
  78. package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
  79. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  80. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  86. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
  87. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
  88. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
  89. package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
  90. package/Libraries/Components/View/View.js +71 -45
  91. package/Libraries/Components/View/View.windows.js +40 -16
  92. package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
  93. package/Libraries/Components/View/ViewAccessibility.js +10 -1
  94. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
  95. package/Libraries/Components/View/ViewNativeComponent.js +32 -8
  96. package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
  97. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  98. package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
  99. package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
  100. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
  101. package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
  102. package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
  103. package/Libraries/Core/ExceptionsManager.js +2 -2
  104. package/Libraries/Core/InitializeCore.js +2 -1
  105. package/Libraries/Core/ReactNativeVersion.js +3 -3
  106. package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
  107. package/Libraries/Core/Timers/JSTimers.js +1 -1
  108. package/Libraries/Core/Timers/immediateShim.js +1 -0
  109. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  110. package/Libraries/Core/setUpAlert.js +1 -1
  111. package/Libraries/Core/setUpDOM.js +18 -0
  112. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  113. package/Libraries/Core/setUpGlobals.js +5 -2
  114. package/Libraries/Core/setUpNavigator.js +6 -5
  115. package/Libraries/Core/setUpPerformance.js +23 -13
  116. package/Libraries/Core/setUpReactDevTools.js +2 -0
  117. package/Libraries/Core/setUpSegmentFetcher.js +0 -41
  118. package/Libraries/Core/setUpTimers.js +2 -2
  119. package/Libraries/DOM/Geometry/DOMRect.js +82 -0
  120. package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
  121. package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
  122. package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
  123. package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
  124. package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
  125. package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
  126. package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
  127. package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
  128. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  129. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  130. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  131. package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
  132. package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
  133. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
  134. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
  135. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
  136. package/Libraries/Events/EventPolyfill.js +1 -1
  137. package/Libraries/Image/AssetRegistry.js +1 -1
  138. package/Libraries/Image/AssetSourceResolver.js +3 -3
  139. package/Libraries/Image/Image.android.js +4 -1
  140. package/Libraries/Image/Image.d.ts +63 -2
  141. package/Libraries/Image/Image.ios.js +3 -0
  142. package/Libraries/Image/Image.windows.js +3 -0
  143. package/Libraries/Image/ImageBackground.js +1 -0
  144. package/Libraries/Image/ImageProps.js +1 -1
  145. package/Libraries/Image/ImageViewNativeComponent.js +4 -4
  146. package/Libraries/Image/RelativeImageStub.js +1 -1
  147. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  148. package/Libraries/Image/resolveAssetSource.js +1 -1
  149. package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
  150. package/Libraries/Inspector/ElementBox.js +4 -1
  151. package/Libraries/Inspector/Inspector.js +5 -6
  152. package/Libraries/Inspector/InspectorOverlay.js +3 -3
  153. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  154. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  155. package/Libraries/Interaction/PanResponder.js +5 -6
  156. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
  157. package/Libraries/Linking/Linking.js +1 -4
  158. package/Libraries/Lists/FillRateHelper.js +4 -238
  159. package/Libraries/Lists/FlatList.d.ts +15 -22
  160. package/Libraries/Lists/FlatList.js +9 -6
  161. package/Libraries/Lists/SectionList.d.ts +10 -6
  162. package/Libraries/Lists/SectionList.js +5 -3
  163. package/Libraries/Lists/SectionListModern.js +3 -3
  164. package/Libraries/Lists/ViewabilityHelper.js +8 -344
  165. package/Libraries/Lists/VirtualizeUtils.js +4 -244
  166. package/Libraries/Lists/VirtualizedList.js +10 -1867
  167. package/Libraries/Lists/VirtualizedListContext.js +6 -104
  168. package/Libraries/Lists/VirtualizedSectionList.js +9 -602
  169. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
  170. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  171. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  172. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  173. package/Libraries/LogBox/LogBox.js +1 -1
  174. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
  175. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
  176. package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
  177. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
  178. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  179. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  180. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
  181. package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
  182. package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
  183. package/Libraries/Modal/Modal.js +2 -2
  184. package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
  185. package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
  186. package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
  187. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
  188. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  189. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
  190. package/Libraries/Network/RCTNetworking.android.js +2 -2
  191. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  192. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  193. package/Libraries/Network/XMLHttpRequest.js +1 -1
  194. package/Libraries/Pressability/Pressability.js +11 -5
  195. package/Libraries/Pressability/Pressability.windows.js +11 -4
  196. package/Libraries/ReactNative/AppContainer.js +7 -1
  197. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  198. package/Libraries/ReactNative/AppRegistry.js +10 -13
  199. package/Libraries/ReactNative/FabricUIManager.js +24 -8
  200. package/Libraries/ReactNative/NativeUIManager.js +5 -5
  201. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
  202. package/Libraries/ReactNative/UIManager.js +142 -1
  203. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
  204. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  205. package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
  206. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
  208. package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
  209. package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
  210. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
  211. package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
  212. package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
  213. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
  214. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  215. package/Libraries/Share/Share.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  217. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  218. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
  219. package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
  220. package/Libraries/StyleSheet/flattenStyle.js +2 -0
  221. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  222. package/Libraries/StyleSheet/processColor.js +1 -1
  223. package/Libraries/Text/Text.d.ts +12 -2
  224. package/Libraries/Text/Text.js +50 -41
  225. package/Libraries/Text/Text.windows.js +48 -38
  226. package/Libraries/Text/TextProps.js +3 -4
  227. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  228. package/Libraries/Types/CodegenTypes.js +1 -0
  229. package/Libraries/UTFSequence.js +3 -1
  230. package/Libraries/Utilities/Appearance.d.ts +10 -0
  231. package/Libraries/Utilities/Appearance.js +13 -0
  232. package/Libraries/Utilities/Dimensions.js +1 -1
  233. package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
  234. package/Libraries/Utilities/HMRClient.js +16 -10
  235. package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
  236. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  237. package/Libraries/Utilities/LoadingView.android.js +28 -11
  238. package/Libraries/Utilities/NativeAppearance.js +1 -0
  239. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
  240. package/Libraries/Utilities/PixelRatio.js +2 -2
  241. package/Libraries/Utilities/Platform.windows.js +1 -1
  242. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  243. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  244. package/Libraries/Utilities/codegenNativeCommands.js +2 -0
  245. package/Libraries/Utilities/createPerformanceLogger.js +55 -43
  246. package/Libraries/Utilities/stringifySafe.js +2 -7
  247. package/Libraries/Utilities/useColorScheme.js +1 -1
  248. package/Libraries/Utilities/useWindowDimensions.js +3 -3
  249. package/Libraries/WebPerformance/EventCounts.js +78 -0
  250. package/Libraries/WebPerformance/MemoryInfo.js +54 -0
  251. package/Libraries/WebPerformance/NativePerformance.js +38 -0
  252. package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
  253. package/Libraries/WebPerformance/Performance.js +312 -0
  254. package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
  255. package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
  256. package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
  257. package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
  258. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
  259. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
  260. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
  261. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  262. package/Libraries/platform-types.d.ts +3 -5
  263. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  264. package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
  265. package/Libraries/vendor/emitter/EventEmitter.js +9 -1
  266. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
  267. package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
  268. package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
  269. package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
  270. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
  271. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
  272. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
  273. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
  274. package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
  276. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
  277. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
  278. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
  279. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
  280. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
  281. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
  282. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
  283. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
  284. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
  285. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
  286. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
  287. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
  288. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
  289. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
  290. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
  291. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
  292. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
  293. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
  294. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
  295. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
  296. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
  297. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
  298. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
  299. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
  300. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
  301. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
  302. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
  303. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
  304. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
  305. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
  306. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
  307. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
  308. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
  309. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
  310. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
  311. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
  312. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
  313. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
  314. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
  315. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
  316. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
  317. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
  318. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
  319. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
  320. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
  321. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
  322. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
  323. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
  324. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
  325. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
  326. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
  327. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
  328. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
  329. package/Microsoft.ReactNative/IReactContext.cpp +4 -0
  330. package/Microsoft.ReactNative/IReactContext.h +1 -0
  331. package/Microsoft.ReactNative/IReactContext.idl +5 -0
  332. package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
  333. package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
  334. package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
  335. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
  336. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
  337. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
  338. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
  339. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  340. package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
  341. package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
  342. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
  343. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
  344. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
  345. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
  346. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
  347. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
  348. package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
  349. package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
  350. package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
  351. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
  352. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
  353. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
  354. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
  355. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
  356. package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
  357. package/Microsoft.ReactNative/QuirkSettings.h +5 -0
  358. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  359. package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
  360. package/Microsoft.ReactNative/ReactApplication.h +3 -0
  361. package/Microsoft.ReactNative/ReactApplication.idl +3 -0
  362. package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
  363. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
  364. package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
  365. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
  366. package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
  367. package/Microsoft.ReactNative/ReactHost/React.h +2 -0
  368. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
  369. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
  370. package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
  371. package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
  372. package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
  373. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
  374. package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
  375. package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
  376. package/Microsoft.ReactNative/RedBox.cpp +2 -1
  377. package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
  378. package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
  379. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
  380. package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
  381. package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
  382. package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
  383. package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
  384. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
  385. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
  386. package/Microsoft.ReactNative/ViewProps.idl +30 -0
  387. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
  388. package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
  389. package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
  390. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
  391. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
  392. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
  393. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
  394. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
  395. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
  396. package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
  397. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
  398. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
  399. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
  400. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
  401. package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
  402. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
  403. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
  404. package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
  405. package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
  406. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
  407. package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
  408. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
  409. package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
  410. package/Microsoft.ReactNative/XamlHelper.h +27 -0
  411. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
  412. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
  413. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  414. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
  415. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  416. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
  417. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
  418. package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
  419. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  420. package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
  421. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
  422. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  423. package/PropertySheets/JSEngine.props +2 -3
  424. package/PropertySheets/Warnings.props +1 -1
  425. package/ReactCommon/ReactCommon.vcxproj +2 -4
  426. package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
  427. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
  428. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
  429. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
  430. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
  431. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
  442. package/ReactCommon/Yoga.cpp +60 -127
  443. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  444. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
  445. package/Scripts/rnw-dependencies.ps1 +12 -4
  446. package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
  447. package/Shared/DevServerHelper.h +11 -2
  448. package/Shared/DevSettings.h +1 -0
  449. package/Shared/DevSupportManager.cpp +11 -1
  450. package/Shared/DevSupportManager.h +1 -0
  451. package/Shared/HermesRuntimeHolder.cpp +53 -30
  452. package/Shared/HermesRuntimeHolder.h +26 -11
  453. package/Shared/HermesSamplingProfiler.cpp +61 -8
  454. package/Shared/HermesSamplingProfiler.h +6 -3
  455. package/Shared/HermesShim.cpp +86 -82
  456. package/Shared/HermesShim.h +28 -8
  457. package/Shared/JSI/ChakraRuntime.cpp +7 -4
  458. package/Shared/JSI/ChakraRuntime.h +4 -4
  459. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
  460. package/Shared/JSI/RuntimeHolder.h +2 -2
  461. package/Shared/Logging.cpp +1 -1
  462. package/Shared/Modules/BlobModule.cpp +3 -4
  463. package/Shared/Modules/BlobModule.h +0 -4
  464. package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
  465. package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
  466. package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
  467. package/Shared/OInstance.cpp +9 -2
  468. package/Shared/Shared.vcxitems +265 -58
  469. package/Shared/Shared.vcxitems.filters +312 -42
  470. package/Shared/V8JSIRuntimeHolder.cpp +1 -0
  471. package/Shared/V8JSIRuntimeHolder.h +7 -2
  472. package/codegen/NativeAppearanceSpec.g.h +9 -3
  473. package/codegen/NativeClipboardSpec.g.h +3 -3
  474. package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
  475. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
  476. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  477. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  478. package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
  479. package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
  480. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  481. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  482. package/codegen/NativePerformanceObserverSpec.g.h +48 -10
  483. package/codegen/NativePerformanceSpec.g.h +63 -0
  484. package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
  485. package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
  486. package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
  487. package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
  488. package/codegen/NativeShareModuleSpec.g.h +9 -3
  489. package/codegen/NativeUIManagerSpec.g.h +12 -12
  490. package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
  491. package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
  492. package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
  493. package/codegen/react/components/rnwcore/Props.cpp +47 -48
  494. package/codegen/react/components/rnwcore/Props.h +59 -166
  495. package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
  496. package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
  497. package/codegen/react/components/rnwcore/States.h +15 -30
  498. package/codegen/rnwcoreJSI-generated.cpp +87 -25
  499. package/codegen/rnwcoreJSI.h +1077 -417
  500. package/generate.js +6 -1
  501. package/include/Include.vcxitems +0 -1
  502. package/include/Include.vcxitems.filters +0 -3
  503. package/index.js +56 -42
  504. package/index.windows.js +56 -42
  505. package/interface.js +1 -1
  506. package/jest/local-setup.js +33 -0
  507. package/jest/mockComponent.js +4 -2
  508. package/jest/mockNativeComponent.js +1 -1
  509. package/jest/mockScrollView.js +2 -1
  510. package/jest/react-native-env.js +1 -3
  511. package/jest/setup.js +11 -8
  512. package/just-task.js +12 -5
  513. package/package.json +32 -29
  514. package/rn-get-polyfills.js +1 -1
  515. package/template/metro.config.js +2 -0
  516. package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
  517. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
  518. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
  519. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
  520. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
  521. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
  522. package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
  523. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
  524. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
  525. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
  526. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  527. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
  528. package/Libraries/Components/Flyout/Flyout.js.map +0 -1
  529. package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
  530. package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
  531. package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
  532. package/Libraries/Components/Glyph/Glyph.js.map +0 -1
  533. package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
  534. package/Libraries/Components/Glyph/GlyphProps.js +0 -8
  535. package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
  536. package/Libraries/Components/Popup/Popup.js.map +0 -1
  537. package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
  538. package/Libraries/Components/Popup/PopupProps.js +0 -8
  539. package/Libraries/Components/Popup/PopupProps.js.map +0 -1
  540. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
  541. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
  542. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
  543. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
  544. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
  545. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
  546. package/Libraries/Components/Slider/Slider.d.ts +0 -132
  547. package/Libraries/Components/Slider/Slider.js +0 -282
  548. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
  549. package/Libraries/Interaction/Batchinator.js +0 -76
  550. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
  551. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  552. package/Libraries/Interaction/PanResponder.flow.js +0 -257
  553. package/Libraries/Lists/CellRenderMask.js +0 -155
  554. package/Libraries/Lists/ChildListCollection.js +0 -72
  555. package/Libraries/Lists/StateSafePureComponent.js +0 -85
  556. package/Libraries/Lists/VirtualizedList.d.ts +0 -347
  557. package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
  558. package/Libraries/Lists/VirtualizedListProps.js +0 -279
  559. package/Libraries/Performance/PureComponentDebug.js +0 -74
  560. package/Libraries/Reliability/UserFlow.js +0 -158
  561. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
  562. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
  563. package/Libraries/Utilities/MatrixMath.js +0 -748
  564. package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
  565. package/Libraries/Utilities/clamp.js +0 -23
  566. package/Libraries/Utilities/deprecatedPropType.js +0 -36
  567. package/Libraries/Utilities/groupByEveryN.js +0 -51
  568. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  569. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  570. package/Libraries/Utilities/truncate.js +0 -51
  571. package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
  572. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
  573. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
  574. package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
  575. package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
  576. package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
  577. package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
  578. package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
  579. package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
  580. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
  581. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
  582. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
  583. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
  584. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
  585. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
  586. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
  587. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
  588. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
  589. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
  590. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
  591. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
  592. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
  593. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
  594. package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
  595. package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
  596. package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
  597. package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
  598. package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
  599. package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
  600. package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
  601. package/Shared/AsyncStorage/StorageFileIO.h +0 -40
  602. package/Shared/AsyncStorageModule.h +0 -25
  603. package/Shared/Modules/AsyncStorageModule.cpp +0 -87
  604. package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
  605. package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
  606. package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
  607. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
  608. package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
  609. package/types/index.d.ts +0 -216
  610. package/types/modules/BatchedBridge.d.ts +0 -32
  611. package/types/modules/Codegen.d.ts +0 -74
  612. package/types/modules/Devtools.d.ts +0 -31
  613. package/types/modules/LaunchScreen.d.ts +0 -18
  614. package/types/modules/globals.d.ts +0 -577
  615. package/types/private/TimerMixin.d.ts +0 -19
  616. package/types/private/Utilities.d.ts +0 -10
  617. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
  618. package/types/public/Insets.d.ts +0 -15
  619. package/types/public/ReactNativeRenderer.d.ts +0 -149
  620. package/types/public/ReactNativeTypes.d.ts +0 -143
@@ -181,10 +181,6 @@ YOGA_EXPORT bool YGNodeIsDirty(YGNodeRef node) {
181
181
  return node->isDirty();
182
182
  }
183
183
 
184
- YOGA_EXPORT bool YGNodeLayoutGetDidUseLegacyFlag(const YGNodeRef node) {
185
- return node->didUseLegacyFlag();
186
- }
187
-
188
184
  YOGA_EXPORT void YGNodeMarkDirtyAndPropogateToDescendants(
189
185
  const YGNodeRef node) {
190
186
  return node->markDirtyAndPropogateDownwards();
@@ -194,6 +190,7 @@ int32_t gConfigInstanceCount = 0;
194
190
 
195
191
  YOGA_EXPORT WIN_EXPORT YGNodeRef YGNodeNewWithConfig(const YGConfigRef config) {
196
192
  const YGNodeRef node = new YGNode{config};
193
+ YGAssert(config != nullptr, "Tried to construct YGNode with null config");
197
194
  YGAssertWithConfig(
198
195
  config, node != nullptr, "Could not allocate memory for node");
199
196
  Event::publish<Event::NodeAllocation>(node, {config});
@@ -221,32 +218,6 @@ YOGA_EXPORT YGNodeRef YGNodeClone(YGNodeRef oldNode) {
221
218
  return node;
222
219
  }
223
220
 
224
- static YGConfigRef YGConfigClone(const YGConfig &oldConfig) {
225
- const YGConfigRef config = new YGConfig(oldConfig);
226
- YGAssert(config != nullptr, "Could not allocate memory for config");
227
- gConfigInstanceCount++;
228
- return config;
229
- }
230
-
231
- static YGNodeRef YGNodeDeepClone(YGNodeRef oldNode) {
232
- auto config = YGConfigClone(*oldNode->getConfig());
233
- auto node = new YGNode{*oldNode, config};
234
- node->setOwner(nullptr);
235
- Event::publish<Event::NodeAllocation>(node, {node->getConfig()});
236
-
237
- YGVector vec = YGVector();
238
- vec.reserve(oldNode->getChildren().size());
239
- YGNodeRef childNode = nullptr;
240
- for (auto *item : oldNode->getChildren()) {
241
- childNode = YGNodeDeepClone(item);
242
- childNode->setOwner(node);
243
- vec.push_back(childNode);
244
- }
245
- node->setChildren(vec);
246
-
247
- return node;
248
- }
249
-
250
221
  YOGA_EXPORT void YGNodeFree(const YGNodeRef node) {
251
222
  if (YGNodeRef owner = node->getOwner()) {
252
223
  owner->removeChild(node);
@@ -264,17 +235,6 @@ YOGA_EXPORT void YGNodeFree(const YGNodeRef node) {
264
235
  delete node;
265
236
  }
266
237
 
267
- static void YGConfigFreeRecursive(const YGNodeRef root) {
268
- if (root->getConfig() != nullptr) {
269
- gConfigInstanceCount--;
270
- delete root->getConfig();
271
- }
272
- // Delete configs recursively for childrens
273
- for (auto *child : root->getChildren()) {
274
- YGConfigFreeRecursive(child);
275
- }
276
- }
277
-
278
238
  YOGA_EXPORT void YGNodeFreeRecursiveWithCleanupFunc(
279
239
  const YGNodeRef root,
280
240
  YGNodeCleanupFunc cleanup) {
@@ -994,11 +954,6 @@ YG_NODE_LAYOUT_RESOLVED_PROPERTY_IMPL(float, Margin, margin);
994
954
  YG_NODE_LAYOUT_RESOLVED_PROPERTY_IMPL(float, Border, border);
995
955
  YG_NODE_LAYOUT_RESOLVED_PROPERTY_IMPL(float, Padding, padding);
996
956
 
997
- YOGA_EXPORT bool YGNodeLayoutGetDidLegacyStretchFlagAffectLayout(
998
- const YGNodeRef node) {
999
- return node->getLayout().doesLegacyStretchFlagAffectsLayout();
1000
- }
1001
-
1002
957
  std::atomic<uint32_t> gCurrentGenerationCount(0);
1003
958
 
1004
959
  bool YGLayoutNodeInternal(
@@ -1595,13 +1550,21 @@ static void YGNodeAbsoluteLayoutChild(
1595
1550
  depth,
1596
1551
  generationCount);
1597
1552
 
1553
+ auto trailingMarginOuterSize =
1554
+ YGConfigIsExperimentalFeatureEnabled(
1555
+ node->getConfig(),
1556
+ YGExperimentalFeatureFixAbsoluteTrailingColumnMargin)
1557
+ ? isMainAxisRow ? height : width
1558
+ : width;
1559
+
1598
1560
  if (child->isTrailingPosDefined(mainAxis) &&
1599
1561
  !child->isLeadingPositionDefined(mainAxis)) {
1600
1562
  child->setLayoutPosition(
1601
1563
  node->getLayout().measuredDimensions[dim[mainAxis]] -
1602
1564
  child->getLayout().measuredDimensions[dim[mainAxis]] -
1603
1565
  node->getTrailingBorder(mainAxis) -
1604
- child->getTrailingMargin(mainAxis, width).unwrap() -
1566
+ child->getTrailingMargin(mainAxis, trailingMarginOuterSize)
1567
+ .unwrap() -
1605
1568
  child->getTrailingPosition(mainAxis, isMainAxisRow ? width : height)
1606
1569
  .unwrap(),
1607
1570
  leading[mainAxis]);
@@ -1620,6 +1583,22 @@ static void YGNodeAbsoluteLayoutChild(
1620
1583
  (node->getLayout().measuredDimensions[dim[mainAxis]] -
1621
1584
  child->getLayout().measuredDimensions[dim[mainAxis]]),
1622
1585
  leading[mainAxis]);
1586
+ } else if (
1587
+ YGConfigIsExperimentalFeatureEnabled(
1588
+ node->getConfig(),
1589
+ YGExperimentalFeatureAbsolutePercentageAgainstPaddingEdge) &&
1590
+ child->isLeadingPositionDefined(mainAxis)) {
1591
+ child->setLayoutPosition(
1592
+ child->getLeadingPosition(
1593
+ mainAxis, node->getLayout().measuredDimensions[dim[mainAxis]])
1594
+ .unwrap() +
1595
+ node->getLeadingBorder(mainAxis) +
1596
+ child
1597
+ ->getLeadingMargin(
1598
+ mainAxis,
1599
+ node->getLayout().measuredDimensions[dim[mainAxis]])
1600
+ .unwrap(),
1601
+ leading[mainAxis]);
1623
1602
  }
1624
1603
 
1625
1604
  if (child->isTrailingPosDefined(crossAxis) &&
@@ -1628,7 +1607,8 @@ static void YGNodeAbsoluteLayoutChild(
1628
1607
  node->getLayout().measuredDimensions[dim[crossAxis]] -
1629
1608
  child->getLayout().measuredDimensions[dim[crossAxis]] -
1630
1609
  node->getTrailingBorder(crossAxis) -
1631
- child->getTrailingMargin(crossAxis, width).unwrap() -
1610
+ child->getTrailingMargin(crossAxis, trailingMarginOuterSize)
1611
+ .unwrap() -
1632
1612
  child
1633
1613
  ->getTrailingPosition(crossAxis, isMainAxisRow ? height : width)
1634
1614
  .unwrap(),
@@ -1650,6 +1630,23 @@ static void YGNodeAbsoluteLayoutChild(
1650
1630
  (node->getLayout().measuredDimensions[dim[crossAxis]] -
1651
1631
  child->getLayout().measuredDimensions[dim[crossAxis]]),
1652
1632
  leading[crossAxis]);
1633
+ } else if (
1634
+ YGConfigIsExperimentalFeatureEnabled(
1635
+ node->getConfig(),
1636
+ YGExperimentalFeatureAbsolutePercentageAgainstPaddingEdge) &&
1637
+ child->isLeadingPositionDefined(crossAxis)) {
1638
+ child->setLayoutPosition(
1639
+ child->getLeadingPosition(
1640
+ crossAxis,
1641
+ node->getLayout().measuredDimensions[dim[crossAxis]])
1642
+ .unwrap() +
1643
+ node->getLeadingBorder(crossAxis) +
1644
+ child
1645
+ ->getLeadingMargin(
1646
+ crossAxis,
1647
+ node->getLayout().measuredDimensions[dim[crossAxis]])
1648
+ .unwrap(),
1649
+ leading[crossAxis]);
1653
1650
  }
1654
1651
  }
1655
1652
 
@@ -2540,6 +2537,11 @@ static void YGJustifyMainAxis(
2540
2537
  const YGNodeRef child = node->getChild(i);
2541
2538
  const YGStyle &childStyle = child->getStyle();
2542
2539
  const YGLayout childLayout = child->getLayout();
2540
+ const bool isLastChild = i == collectedFlexItemsValues.endOfLineIndex - 1;
2541
+ // remove the gap if it is the last element of the line
2542
+ if (isLastChild) {
2543
+ betweenMainDim -= gap;
2544
+ }
2543
2545
  if (childStyle.display() == YGDisplayNone) {
2544
2546
  continue;
2545
2547
  }
@@ -3004,9 +3006,6 @@ static void YGNodelayoutImpl(
3004
3006
  collectedFlexItemsValues.sizeConsumedOnCurrentLine;
3005
3007
  }
3006
3008
 
3007
- if (node->getConfig()->useLegacyStretchBehaviour) {
3008
- node->setLayoutDidUseLegacyFlag(true);
3009
- }
3010
3009
  sizeBasedOnContent = !node->getConfig()->useLegacyStretchBehaviour;
3011
3010
  }
3012
3011
  }
@@ -3564,9 +3563,17 @@ static void YGNodelayoutImpl(
3564
3563
  YGNodeAbsoluteLayoutChild(
3565
3564
  node,
3566
3565
  child,
3567
- availableInnerWidth,
3566
+ YGConfigIsExperimentalFeatureEnabled(
3567
+ node->getConfig(),
3568
+ YGExperimentalFeatureAbsolutePercentageAgainstPaddingEdge)
3569
+ ? node->getLayout().measuredDimensions[YGDimensionWidth]
3570
+ : availableInnerWidth,
3568
3571
  isMainAxisRow ? measureModeMainDim : measureModeCrossDim,
3569
- availableInnerHeight,
3572
+ YGConfigIsExperimentalFeatureEnabled(
3573
+ node->getConfig(),
3574
+ YGExperimentalFeatureAbsolutePercentageAgainstPaddingEdge)
3575
+ ? node->getLayout().measuredDimensions[YGDimensionHeight]
3576
+ : availableInnerHeight,
3570
3577
  direction,
3571
3578
  config,
3572
3579
  layoutMarkerData,
@@ -4150,13 +4157,6 @@ static void YGRoundToPixelGrid(
4150
4157
  }
4151
4158
  }
4152
4159
 
4153
- static void unsetUseLegacyFlagRecursively(YGNodeRef node) {
4154
- node->getConfig()->useLegacyStretchBehaviour = false;
4155
- for (auto child : node->getChildren()) {
4156
- unsetUseLegacyFlagRecursively(child);
4157
- }
4158
- }
4159
-
4160
4160
  YOGA_EXPORT void YGNodeCalculateLayoutWithContext(
4161
4161
  const YGNodeRef node,
4162
4162
  const float ownerWidth,
@@ -4241,67 +4241,6 @@ YOGA_EXPORT void YGNodeCalculateLayoutWithContext(
4241
4241
  }
4242
4242
 
4243
4243
  Event::publish<Event::LayoutPassEnd>(node, {layoutContext, &markerData});
4244
-
4245
- // We want to get rid off `useLegacyStretchBehaviour` from YGConfig. But we
4246
- // aren't sure whether client's of yoga have gotten rid off this flag or not.
4247
- // So logging this in YGLayout would help to find out the call sites depending
4248
- // on this flag. This check would be removed once we are sure no one is
4249
- // dependent on this flag anymore. The flag
4250
- // `shouldDiffLayoutWithoutLegacyStretchBehaviour` in YGConfig will help to
4251
- // run experiments.
4252
- if (node->getConfig()->shouldDiffLayoutWithoutLegacyStretchBehaviour &&
4253
- node->didUseLegacyFlag()) {
4254
- const YGNodeRef nodeWithoutLegacyFlag = YGNodeDeepClone(node);
4255
- nodeWithoutLegacyFlag->resolveDimension();
4256
- // Recursively mark nodes as dirty
4257
- nodeWithoutLegacyFlag->markDirtyAndPropogateDownwards();
4258
- gCurrentGenerationCount.fetch_add(1, std::memory_order_relaxed);
4259
- // Rerun the layout, and calculate the diff
4260
- unsetUseLegacyFlagRecursively(nodeWithoutLegacyFlag);
4261
- LayoutData layoutMarkerData = {};
4262
- if (YGLayoutNodeInternal(
4263
- nodeWithoutLegacyFlag,
4264
- width,
4265
- height,
4266
- ownerDirection,
4267
- widthMeasureMode,
4268
- heightMeasureMode,
4269
- ownerWidth,
4270
- ownerHeight,
4271
- true,
4272
- LayoutPassReason::kInitial,
4273
- nodeWithoutLegacyFlag->getConfig(),
4274
- layoutMarkerData,
4275
- layoutContext,
4276
- 0, // tree root
4277
- gCurrentGenerationCount.load(std::memory_order_relaxed))) {
4278
- nodeWithoutLegacyFlag->setPosition(
4279
- nodeWithoutLegacyFlag->getLayout().direction(),
4280
- ownerWidth,
4281
- ownerHeight,
4282
- ownerWidth);
4283
- YGRoundToPixelGrid(
4284
- nodeWithoutLegacyFlag,
4285
- nodeWithoutLegacyFlag->getConfig()->pointScaleFactor,
4286
- 0.0f,
4287
- 0.0f);
4288
-
4289
- // Set whether the two layouts are different or not.
4290
- auto neededLegacyStretchBehaviour =
4291
- !nodeWithoutLegacyFlag->isLayoutTreeEqualToNode(*node);
4292
- node->setLayoutDoesLegacyFlagAffectsLayout(neededLegacyStretchBehaviour);
4293
-
4294
- #ifdef DEBUG
4295
- if (nodeWithoutLegacyFlag->getConfig()->printTree) {
4296
- YGNodePrint(
4297
- nodeWithoutLegacyFlag,
4298
- (YGPrintOptions) (YGPrintOptionsLayout | YGPrintOptionsChildren | YGPrintOptionsStyle));
4299
- }
4300
- #endif
4301
- }
4302
- YGConfigFreeRecursive(nodeWithoutLegacyFlag);
4303
- YGNodeFreeRecursive(nodeWithoutLegacyFlag);
4304
- }
4305
4244
  }
4306
4245
 
4307
4246
  YOGA_EXPORT void YGNodeCalculateLayout(
@@ -4325,12 +4264,6 @@ YOGA_EXPORT void YGConfigSetLogger(const YGConfigRef config, YGLogger logger) {
4325
4264
  }
4326
4265
  }
4327
4266
 
4328
- YOGA_EXPORT void YGConfigSetShouldDiffLayoutWithoutLegacyStretchBehaviour(
4329
- const YGConfigRef config,
4330
- const bool shouldDiffLayout) {
4331
- config->shouldDiffLayoutWithoutLegacyStretchBehaviour = shouldDiffLayout;
4332
- }
4333
-
4334
4267
  void YGAssert(const bool condition, const char *message) {
4335
4268
  if (!condition) {
4336
4269
  Log::log(YGNodeRef{nullptr}, YGLogLevelFatal, nullptr, "%s\n", message);
@@ -36,6 +36,7 @@
36
36
  <file src="$nugetroot$\ARM64\Release\React.Windows.Desktop.Test.DLL\React.Windows.Desktop.Test.**" target="lib\ship\ARM64" exclude="**\*.iobj;**\*.ipdb;**\*.exp;**\*.ilk" />
37
37
 
38
38
  <file src="$nugetroot$\inc\callinvoker\ReactCommon\CallInvoker.h" target="inc\ReactCommon"/>
39
+ <file src="$nugetroot$\inc\callinvoker\ReactCommon\SchedulerPriority.h" target="inc\ReactCommon"/>
39
40
  <file src="$nugetroot$\inc\runtimeexecutor\ReactCommon\RuntimeExecutor.h" target="inc\ReactCommon"/>
40
41
  <file src="$nugetroot$\inc\cxxreact\*" target="inc\cxxreact"/>
41
42
  <file src="$nugetroot$\inc\jsi\**\*.*" target="inc\jsi"/>
@@ -42,6 +42,7 @@ Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\jsi\jsi\threadsafe.h -Destin
42
42
  # Microsoft.ReactNative.CXX project TurboModule files
43
43
  New-Item -ItemType Directory -Path $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon -Force
44
44
  Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\callinvoker\ReactCommon\CallInvoker.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
45
+ Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\callinvoker\ReactCommon\SchedulerPriority.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
45
46
  Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\bridging\CallbackWrapper.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
46
47
  Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\bridging\LongLivedObject.cpp -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
47
48
  Copy-Item -Force -Path $ReactNativeRoot\ReactCommon\react\bridging\LongLivedObject.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\ReactCommon\
@@ -12,7 +12,12 @@ param(
12
12
  [switch]$Enterprise = $false
13
13
  )
14
14
 
15
- $Verbose = $PSCmdlet.MyInvocation.BoundParameters["Verbose"].IsPresent;
15
+ $ShellInvocation = ($PSCmdlet.MyInvocation.BoundParameters -ne $null);
16
+
17
+ $Verbose = $false
18
+ if ($ShellInvocation) {
19
+ $Verbose = $PSCmdlet.MyInvocation.BoundParameters["Verbose"].IsPresent;
20
+ }
16
21
 
17
22
  enum CheckId {
18
23
  All
@@ -496,7 +501,7 @@ function EnsureChocoForInstall {
496
501
  Write-Verbose "Checking for Choco...";
497
502
  try {
498
503
  $chocoCmd = (Get-Command choco -ErrorAction Stop);
499
- if (chocoCmd -ne $null) {
504
+ if ($chocoCmd -ne $null) {
500
505
  Write-Verbose "Choco found.";
501
506
  return;
502
507
  }
@@ -519,8 +524,9 @@ function IsElevated {
519
524
  }
520
525
 
521
526
  if (!($NoPrompt) -and !(IsElevated)) {
522
- Write-Host "rnw-dependencies - this script must run elevated. Exiting.";
523
- exit 1;
527
+ Write-Host "rnw-dependencies - this script must run elevated.";
528
+ if (!$ShellInvocation) { Read-Host 'Press Enter to exit' }
529
+ exit 1
524
530
  }
525
531
 
526
532
  $NeedsRerun = 0;
@@ -631,9 +637,11 @@ if ($NeedsRerun -ne 0) {
631
637
  } else {
632
638
  Write-Warning "Some dependencies are not met. Re-run with -Verbose for details, or use -Install to install them.";
633
639
  }
640
+ if (!$ShellInvocation) { Read-Host 'Press Enter to exit' }
634
641
  exit 1;
635
642
  } else {
636
643
  Write-Host "All mandatory requirements met.";
637
644
  $Tags | Out-File $MarkerFile;
645
+ if (!$ShellInvocation) { Read-Host 'Press Enter to exit' }
638
646
  exit 0;
639
647
  }
@@ -10,6 +10,7 @@
10
10
  #include <d2d1_1.h>
11
11
  #include <d3d11.h>
12
12
  #include <d3d11_4.h>
13
+ #include <guid/msoGuid.h>
13
14
  #include <winrt/Microsoft.ReactNative.Composition.h>
14
15
  #include <winrt/Windows.Graphics.DirectX.Direct3D11.h>
15
16
 
@@ -31,6 +31,7 @@ class DevServerHelper {
31
31
  const uint16_t sourceBundlePort,
32
32
  const std::string &jsbundle,
33
33
  const std::string &platform,
34
+ const std::string &bundleAppId,
34
35
  bool dev,
35
36
  bool hot,
36
37
  bool inlineSourceMap,
@@ -41,6 +42,12 @@ class DevServerHelper {
41
42
  hermesBytecodeVersionQuery = string_format(HermesBytecodeVersionQueryFormat, hermesBytecodeVersion);
42
43
  }
43
44
 
45
+ std::string appIdQuery;
46
+ if (bundleAppId.size() > 0) {
47
+ static constexpr const char AppIdQueryFormat[] = "&app=%s";
48
+ appIdQuery = string_format(AppIdQueryFormat, bundleAppId.c_str());
49
+ }
50
+
44
51
  return string_format(
45
52
  BundleUrlFormat,
46
53
  GetDeviceLocalHost(sourceBundleHost, sourceBundlePort).c_str(),
@@ -49,7 +56,8 @@ class DevServerHelper {
49
56
  dev ? "true" : "false",
50
57
  hot ? "true" : "false",
51
58
  inlineSourceMap ? "true" : "false",
52
- hermesBytecodeVersionQuery.c_str());
59
+ hermesBytecodeVersionQuery.c_str(),
60
+ appIdQuery.c_str());
53
61
  }
54
62
 
55
63
  static std::string get_OnChangeEndpointUrl(const std::string &sourceBundleHost, const uint16_t sourceBundlePort) {
@@ -91,7 +99,8 @@ class DevServerHelper {
91
99
  }
92
100
 
93
101
  static constexpr const char DeviceLocalHostFormat[] = "%s:%d";
94
- static constexpr const char BundleUrlFormat[] = "http://%s/%s.bundle?platform=%s&dev=%s&hot=%s&inlineSourceMap=%s%s";
102
+ static constexpr const char BundleUrlFormat[] =
103
+ "http://%s/%s.bundle?platform=%s&dev=%s&hot=%s&inlineSourceMap=%s%s%s";
95
104
  static constexpr const char SourceMapUrlFormat[] = "http://%s/%s.map?platform=%s&dev=%s&hot=%s";
96
105
  static constexpr const char LaunchDevToolsCommandUrlFormat[] = "http://%s/launch-js-devtools";
97
106
  static constexpr const char OnChangeEndpointUrlFormat[] = "http://%s/onchange";
@@ -43,6 +43,7 @@ struct DevSettings {
43
43
  std::string sourceBundleHost;
44
44
  std::string debugBundlePath;
45
45
  std::string platformName{STRING(RN_PLATFORM)};
46
+ std::string bundleAppId;
46
47
  std::function<void()> liveReloadCallback;
47
48
  std::function<void(std::string)> errorCallback;
48
49
  std::function<void()> waitingForDebuggerCallback;
@@ -246,6 +246,7 @@ void DevSupportManager::EnsureHermesInspector(
246
246
  #ifdef HERMES_ENABLE_DEBUGGER
247
247
  static std::once_flag once;
248
248
  std::call_once(once, [this, &packagerHost, packagerPort]() {
249
+ // TODO: should we use the bundleAppId as the app param if available?
249
250
  std::string packageName("RNW");
250
251
  wchar_t fullName[PACKAGE_FULL_NAME_MAX_LENGTH]{};
251
252
  UINT32 size = ARRAYSIZE(fullName);
@@ -280,12 +281,21 @@ std::pair<std::string, bool> GetJavaScriptFromServer(
280
281
  const uint16_t sourceBundlePort,
281
282
  const std::string &jsBundleName,
282
283
  const std::string &platform,
284
+ const std::string &bundleAppId,
283
285
  bool dev,
284
286
  bool hot,
285
287
  bool inlineSourceMap,
286
288
  const uint32_t hermesBytecodeVersion) {
287
289
  auto bundleUrl = facebook::react::DevServerHelper::get_BundleUrl(
288
- sourceBundleHost, sourceBundlePort, jsBundleName, platform, dev, hot, inlineSourceMap, hermesBytecodeVersion);
290
+ sourceBundleHost,
291
+ sourceBundlePort,
292
+ jsBundleName,
293
+ platform,
294
+ bundleAppId,
295
+ dev,
296
+ hot,
297
+ inlineSourceMap,
298
+ hermesBytecodeVersion);
289
299
  try {
290
300
  return GetJavaScriptFromServerAsync(bundleUrl).get();
291
301
  } catch (winrt::hresult_error const &e) {
@@ -31,6 +31,7 @@ std::pair<std::string, bool> GetJavaScriptFromServer(
31
31
  const uint16_t sourceBundlePort,
32
32
  const std::string &jsBundleName,
33
33
  const std::string &platform,
34
+ const std::string &bundleAppId,
34
35
  bool dev,
35
36
  bool hot,
36
37
  bool inlineSourceMap,
@@ -3,38 +3,40 @@
3
3
 
4
4
  #include "pch.h"
5
5
 
6
- #include <memory>
7
- #include <mutex>
6
+ #include "HermesRuntimeHolder.h"
8
7
 
9
8
  #include <JSI/decorator.h>
9
+ #include <crash/verifyElseCrash.h>
10
10
  #include <cxxreact/MessageQueueThread.h>
11
11
  #include <cxxreact/SystraceSection.h>
12
12
  #include <hermes/hermes.h>
13
- #include "HermesRuntimeHolder.h"
14
13
  #include "HermesShim.h"
15
14
 
16
15
  #if defined(HERMES_ENABLE_DEBUGGER)
17
16
  #include <hermes/inspector/chrome/Registration.h>
18
17
  #endif
19
18
 
19
+ #include <memory>
20
+ #include <mutex>
21
+
20
22
  using namespace facebook;
21
23
  using namespace Microsoft::ReactNative;
22
24
 
23
- namespace facebook {
24
- namespace react {
25
+ namespace React {
26
+ using namespace winrt::Microsoft::ReactNative;
27
+ }
25
28
 
26
- namespace {
29
+ namespace facebook::react {
27
30
 
28
- std::unique_ptr<facebook::hermes::HermesRuntime> makeHermesRuntimeSystraced(bool enableDefaultCrashHandler) {
29
- SystraceSection s("HermesExecutorFactory::makeHermesRuntimeSystraced");
30
- if (enableDefaultCrashHandler) {
31
- return HermesShim::makeHermesRuntimeWithWER();
32
- } else {
33
- auto runtimeConfig = ::hermes::vm::RuntimeConfig();
34
- return HermesShim::makeHermesRuntime(runtimeConfig);
35
- }
31
+ React::ReactPropertyId<React::ReactNonAbiValue<std::shared_ptr<HermesRuntimeHolder>>>
32
+ HermesRuntimeHolderProperty() noexcept {
33
+ static React::ReactPropertyId<React::ReactNonAbiValue<std::shared_ptr<HermesRuntimeHolder>>> propId{
34
+ L"ReactNative.HermesRuntimeHolder", L"HermesRuntimeHolder"};
35
+ return propId;
36
36
  }
37
37
 
38
+ namespace {
39
+
38
40
  #ifdef HERMES_ENABLE_DEBUGGER
39
41
  class HermesExecutorRuntimeAdapter final : public facebook::hermes::inspector::RuntimeAdapter {
40
42
  public:
@@ -71,10 +73,19 @@ class HermesExecutorRuntimeAdapter final : public facebook::hermes::inspector::R
71
73
  };
72
74
  #endif
73
75
 
76
+ std::shared_ptr<HermesShim> makeHermesShimSystraced(bool enableDefaultCrashHandler) {
77
+ SystraceSection s("HermesExecutorFactory::makeHermesRuntimeSystraced");
78
+ if (enableDefaultCrashHandler) {
79
+ return HermesShim::makeWithWER();
80
+ } else {
81
+ return HermesShim::make();
82
+ }
83
+ }
84
+
74
85
  } // namespace
75
86
 
76
87
  void HermesRuntimeHolder::crashHandler(int fileDescriptor) noexcept {
77
- HermesShim::hermesCrashHandler(*m_hermesRuntime, fileDescriptor);
88
+ m_hermesShim->dumpCrashData(fileDescriptor);
78
89
  }
79
90
 
80
91
  void HermesRuntimeHolder::teardown() noexcept {
@@ -90,15 +101,9 @@ facebook::react::JSIEngineOverride HermesRuntimeHolder::getRuntimeType() noexcep
90
101
  }
91
102
 
92
103
  std::shared_ptr<jsi::Runtime> HermesRuntimeHolder::getRuntime() noexcept {
93
- std::call_once(m_once_flag, [this]() { initRuntime(); });
94
-
95
- if (!m_hermesRuntime)
96
- std::terminate();
97
-
98
- // Make sure that the runtime instance is not consumed from multiple threads.
99
- if (m_own_thread_id != std::this_thread::get_id())
100
- std::terminate();
101
-
104
+ std::call_once(m_onceFlag, [this]() { initRuntime(); });
105
+ VerifyElseCrash(m_hermesRuntime);
106
+ VerifyElseCrashSz(m_ownThreadId == std::this_thread::get_id(), "Must be accessed from JS thread.");
102
107
  return m_hermesRuntime;
103
108
  }
104
109
 
@@ -109,11 +114,11 @@ HermesRuntimeHolder::HermesRuntimeHolder(
109
114
 
110
115
  void HermesRuntimeHolder::initRuntime() noexcept {
111
116
  auto devSettings = m_weakDevSettings.lock();
112
- if (!devSettings)
113
- std::terminate();
117
+ VerifyElseCrash(devSettings);
114
118
 
115
- m_hermesRuntime = makeHermesRuntimeSystraced(devSettings->enableDefaultCrashHandler);
116
- m_own_thread_id = std::this_thread::get_id();
119
+ m_hermesShim = makeHermesShimSystraced(devSettings->enableDefaultCrashHandler);
120
+ m_hermesRuntime = m_hermesShim->getRuntime();
121
+ m_ownThreadId = std::this_thread::get_id();
117
122
 
118
123
  #ifdef HERMES_ENABLE_DEBUGGER
119
124
  if (devSettings->useDirectDebugger) {
@@ -132,5 +137,23 @@ void HermesRuntimeHolder::initRuntime() noexcept {
132
137
  errorPrototype.setProperty(*m_hermesRuntime, "jsEngine", "hermes");
133
138
  }
134
139
 
135
- } // namespace react
136
- } // namespace facebook
140
+ std::shared_ptr<HermesRuntimeHolder> HermesRuntimeHolder::loadFrom(
141
+ React::ReactPropertyBag const &propertyBag) noexcept {
142
+ return *(propertyBag.Get(HermesRuntimeHolderProperty()));
143
+ }
144
+
145
+ void HermesRuntimeHolder::storeTo(
146
+ React::ReactPropertyBag const &propertyBag,
147
+ std::shared_ptr<HermesRuntimeHolder> const &holder) noexcept {
148
+ propertyBag.Set(HermesRuntimeHolderProperty(), holder);
149
+ }
150
+
151
+ void HermesRuntimeHolder::addToProfiling() const noexcept {
152
+ m_hermesShim->addToProfiling();
153
+ }
154
+
155
+ void HermesRuntimeHolder::removeFromProfiling() const noexcept {
156
+ m_hermesShim->removeFromProfiling();
157
+ }
158
+
159
+ } // namespace facebook::react
@@ -8,37 +8,52 @@
8
8
  #include <thread>
9
9
 
10
10
  #include <DevSettings.h>
11
+ #include <ReactPropertyBag.h>
11
12
 
12
13
  namespace facebook::hermes {
13
14
  class HermesRuntime;
14
15
  }
15
16
 
16
- namespace facebook {
17
- namespace react {
17
+ namespace Microsoft::ReactNative {
18
+ class HermesShim;
19
+ }
20
+
21
+ namespace facebook::react {
22
+
23
+ class MessageQueueThread;
18
24
 
19
25
  class HermesRuntimeHolder : public Microsoft::JSI::RuntimeHolderLazyInit {
20
- public:
26
+ public: // RuntimeHolderLazyInit implementation.
21
27
  std::shared_ptr<facebook::jsi::Runtime> getRuntime() noexcept override;
22
28
  facebook::react::JSIEngineOverride getRuntimeType() noexcept override;
23
-
24
29
  void crashHandler(int fileDescriptor) noexcept override;
25
-
26
30
  void teardown() noexcept override;
27
31
 
32
+ public:
28
33
  HermesRuntimeHolder(
29
34
  std::shared_ptr<facebook::react::DevSettings> devSettings,
30
35
  std::shared_ptr<facebook::react::MessageQueueThread> jsQueue) noexcept;
31
36
 
37
+ static std::shared_ptr<HermesRuntimeHolder> loadFrom(
38
+ winrt::Microsoft::ReactNative::ReactPropertyBag const &propertyBag) noexcept;
39
+
40
+ static void storeTo(
41
+ winrt::Microsoft::ReactNative::ReactPropertyBag const &propertyBag,
42
+ std::shared_ptr<HermesRuntimeHolder> const &holder) noexcept;
43
+
44
+ void addToProfiling() const noexcept;
45
+ void removeFromProfiling() const noexcept;
46
+
32
47
  private:
33
48
  void initRuntime() noexcept;
34
- std::shared_ptr<facebook::hermes::HermesRuntime> m_hermesRuntime;
35
-
36
- std::once_flag m_once_flag;
37
- std::thread::id m_own_thread_id;
38
49
 
50
+ private:
51
+ std::shared_ptr<Microsoft::ReactNative::HermesShim> m_hermesShim;
52
+ std::shared_ptr<facebook::hermes::HermesRuntime> m_hermesRuntime;
53
+ std::once_flag m_onceFlag{};
54
+ std::thread::id m_ownThreadId{};
39
55
  std::weak_ptr<facebook::react::DevSettings> m_weakDevSettings;
40
56
  std::shared_ptr<facebook::react::MessageQueueThread> m_jsQueue;
41
57
  };
42
58
 
43
- } // namespace react
44
- } // namespace facebook
59
+ } // namespace facebook::react