react-native-windows 0.73.11 → 0.74.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 (771) hide show
  1. package/.flowconfig +12 -7
  2. package/Chakra/ChakraUtils.cpp +5 -10
  3. package/Chakra/ChakraUtils.h +2 -2
  4. package/Common/packages.lock.json +3 -3
  5. package/Directory.Build.props +5 -5
  6. package/Folly/Folly.vcxproj +2 -2
  7. package/Folly/Folly.vcxproj.filters +7 -0
  8. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +22 -1
  9. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +4 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  12. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  13. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  14. package/Libraries/Alert/Alert.windows.js +2 -3
  15. package/Libraries/Alert/NativeAlertManager.js +4 -26
  16. package/Libraries/Animated/Animated.js +2 -2
  17. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  18. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  19. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  20. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  21. package/Libraries/Animated/animations/Animation.js +6 -22
  22. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  23. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  24. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  25. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  26. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  27. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  28. package/Libraries/Animated/useAnimatedProps.js +21 -1
  29. package/Libraries/AppState/NativeAppState.js +4 -24
  30. package/Libraries/AppTheme/NativeAppTheme.js +4 -25
  31. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  32. package/Libraries/Blob/Blob.js +1 -4
  33. package/Libraries/Blob/BlobManager.js +6 -8
  34. package/Libraries/Blob/File.js +1 -1
  35. package/Libraries/Blob/NativeBlobModule.js +4 -50
  36. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  37. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +3 -2
  42. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  44. package/Libraries/Components/Button.js +103 -107
  45. package/Libraries/Components/Button.windows.js +199 -206
  46. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  47. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  49. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -8
  50. package/Libraries/Components/Keyboard/KeyboardExt.js +27 -27
  51. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  52. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -17
  53. package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -7
  54. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  55. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  56. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
  57. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
  58. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
  59. package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.windows.js +1 -2
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  68. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  69. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  70. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  71. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  72. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/Switch.windows.js +0 -2
  80. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  81. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  82. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  83. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  84. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  85. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  86. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  87. package/Libraries/Components/TextInput/TextInput.js +65 -32
  88. package/Libraries/Components/TextInput/TextInput.windows.js +87 -38
  89. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +773 -9
  90. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  91. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  92. package/Libraries/Components/Touchable/Touchable.js +2 -3
  93. package/Libraries/Components/Touchable/Touchable.windows.js +2 -3
  94. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  95. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +4 -4
  96. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  97. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  98. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -2
  99. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  100. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  101. package/Libraries/Components/View/View.js +0 -11
  102. package/Libraries/Components/View/View.windows.js +19 -18
  103. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  104. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  105. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  106. package/Libraries/Components/View/ViewPropTypes.windows.js +36 -36
  107. package/Libraries/Core/InitializeCore.js +1 -1
  108. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  109. package/Libraries/Core/ReactNativeVersion.js +12 -6
  110. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  111. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  112. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  113. package/Libraries/Core/registerCallableModule.js +42 -0
  114. package/Libraries/Core/setUpPerformance.js +2 -2
  115. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  116. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  117. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  118. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  119. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  120. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  121. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  122. package/Libraries/Image/AssetSourceResolver.js +5 -5
  123. package/Libraries/Image/AssetUtils.js +4 -5
  124. package/Libraries/Image/Image.android.js +146 -174
  125. package/Libraries/Image/Image.d.ts +1 -1
  126. package/Libraries/Image/Image.ios.js +53 -79
  127. package/Libraries/Image/Image.windows.js +53 -79
  128. package/Libraries/Image/ImageBackground.js +2 -2
  129. package/Libraries/Image/ImageInjection.js +76 -18
  130. package/Libraries/Image/ImageTypes.flow.js +71 -0
  131. package/Libraries/Image/ImageUtils.js +1 -1
  132. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  133. package/Libraries/Image/NativeImageEditor.js +3 -42
  134. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  135. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  136. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  137. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  138. package/Libraries/Image/resolveAssetSource.js +59 -26
  139. package/Libraries/Image/resolveAssetSource.windows.js +148 -0
  140. package/Libraries/Inspector/ElementProperties.js +26 -52
  141. package/Libraries/Inspector/Inspector.js +122 -186
  142. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  143. package/Libraries/Inspector/InspectorPanel.js +3 -17
  144. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  145. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  146. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  147. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  148. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  149. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  150. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  151. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  152. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  153. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  154. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  155. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  156. package/Libraries/Lists/FillRateHelper.js +1 -1
  157. package/Libraries/Lists/FlatList.d.ts +2 -2
  158. package/Libraries/Lists/FlatList.js +6 -1
  159. package/Libraries/Lists/FlatList.windows.js +717 -0
  160. package/Libraries/Lists/SectionList.d.ts +6 -1
  161. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  162. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  163. package/Libraries/Lists/VirtualizedList.js +1 -1
  164. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  165. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  166. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  167. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  168. package/Libraries/Modal/Modal.js +43 -11
  169. package/Libraries/Modal/NativeModalManager.js +3 -11
  170. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  171. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  172. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  173. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  174. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  175. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  177. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  178. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  179. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  180. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  181. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  182. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  183. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  184. package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
  185. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  186. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  187. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  188. package/Libraries/Network/FormData.js +3 -1
  189. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  190. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  191. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +4 -2
  192. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +3 -1
  193. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  194. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  195. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  196. package/Libraries/Pressability/Pressability.js +12 -2
  197. package/Libraries/Pressability/Pressability.windows.js +13 -3
  198. package/Libraries/Pressability/usePressability.js +7 -0
  199. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  200. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  201. package/Libraries/ReactNative/AppContainer-dev.js +192 -0
  202. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  203. package/Libraries/ReactNative/AppContainer.js +6 -149
  204. package/Libraries/ReactNative/AppRegistry.js +3 -1
  205. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  206. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  207. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  208. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  209. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  210. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  211. package/Libraries/ReactNative/PaperUIManager.windows.js +29 -8
  212. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  213. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  214. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  215. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  216. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  217. package/Libraries/ReactNative/UIManager.js +2 -23
  218. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  219. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  220. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  221. package/Libraries/ReactNative/renderApplication.js +9 -6
  222. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  223. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  224. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  225. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  226. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  227. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  228. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  229. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  230. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  231. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  232. package/Libraries/Share/NativeShareModule.js +3 -13
  233. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +1 -1
  234. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  235. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  236. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
  237. package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
  238. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  239. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  240. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  241. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  242. package/Libraries/Text/Text.js +0 -6
  243. package/Libraries/Text/Text.windows.js +0 -6
  244. package/Libraries/Text/TextAncestor.js +2 -3
  245. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  246. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  247. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  248. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  249. package/Libraries/Utilities/Dimensions.js +8 -16
  250. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  251. package/Libraries/Utilities/NativeAppearance.js +3 -26
  252. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  253. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  254. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  255. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  256. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  257. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  258. package/Libraries/Utilities/Platform.android.js +4 -0
  259. package/Libraries/Utilities/Platform.d.ts +3 -0
  260. package/Libraries/Utilities/Platform.flow.js +7 -0
  261. package/Libraries/Utilities/Platform.flow.windows.js +9 -0
  262. package/Libraries/Utilities/Platform.ios.js +11 -0
  263. package/Libraries/Utilities/Platform.windows.js +6 -0
  264. package/Libraries/Utilities/binaryToBase64.js +1 -1
  265. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  266. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  267. package/Libraries/Utilities/useMergeRefs.js +5 -9
  268. package/Libraries/Vibration/NativeVibration.js +3 -14
  269. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  270. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  271. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  272. package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
  273. package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
  274. package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -0
  275. package/Microsoft.ReactNative/Base/CxxReactIncludes.h +1 -1
  276. package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
  277. package/Microsoft.ReactNative/ComponentView.idl +106 -0
  278. package/Microsoft.ReactNative/Composition.Input.idl +16 -2
  279. package/Microsoft.ReactNative/CompositionComponentView.idl +117 -0
  280. package/Microsoft.ReactNative/CompositionContext.idl +1 -1
  281. package/Microsoft.ReactNative/CompositionRootView.idl +8 -0
  282. package/Microsoft.ReactNative/CompositionSwitcher.idl +25 -14
  283. package/Microsoft.ReactNative/DevMenuControl.idl +0 -3
  284. package/Microsoft.ReactNative/DevMenuControl.xaml +0 -15
  285. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
  286. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
  287. package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
  288. package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
  289. package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
  290. package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
  291. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +48 -19
  292. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +8 -16
  293. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +97 -0
  294. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +39 -0
  295. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
  296. package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
  297. package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
  298. package/Microsoft.ReactNative/Fabric/ComponentView.h +130 -64
  299. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +48 -24
  300. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +18 -14
  301. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +42 -27
  302. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +3 -1
  303. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +123 -28
  304. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +69 -13
  305. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +651 -284
  306. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +7 -7
  307. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +9 -9
  308. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +120 -31
  309. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +12 -2
  310. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +308 -129
  311. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +34 -6
  312. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +2 -1
  313. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +61 -54
  314. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +0 -9
  315. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +99 -30
  316. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +4 -3
  317. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +273 -28
  318. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +28 -3
  319. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +7 -3
  320. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +4 -0
  321. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +479 -280
  322. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +133 -79
  323. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
  324. package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
  325. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +61 -41
  326. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +19 -14
  327. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
  328. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +343 -0
  329. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
  330. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
  331. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
  332. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +53 -186
  333. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +20 -12
  334. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +59 -150
  335. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +27 -76
  336. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +81 -32
  337. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +27 -14
  338. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +707 -64
  339. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +47 -26
  340. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +225 -125
  341. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +34 -21
  342. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
  343. package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
  344. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +110 -115
  345. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +228 -79
  346. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +43 -22
  347. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +18 -0
  348. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +12 -0
  349. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +5 -5
  350. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -1
  351. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +1 -2
  352. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +4 -44
  353. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +11 -9
  354. package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +550 -0
  355. package/Microsoft.ReactNative/Fabric/Composition/Theme.h +73 -0
  356. package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
  357. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +48 -26
  358. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +6 -2
  359. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +30 -65
  360. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +16 -25
  361. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +72 -88
  362. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +5 -2
  363. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +3 -2
  364. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +6 -6
  365. package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +2 -2
  366. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +12 -7
  367. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +28 -19
  368. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +5 -0
  369. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -2
  370. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
  371. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
  372. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
  373. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
  374. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
  375. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/{Color.cpp → PlatformColorUtils.cpp} +7 -77
  376. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
  377. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -0
  378. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
  379. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +6 -87
  380. package/Microsoft.ReactNative/IReactContext.idl +3 -0
  381. package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +71 -1
  382. package/Microsoft.ReactNative/JsiApi.cpp +17 -7
  383. package/Microsoft.ReactNative/JsiApi.h +2 -2
  384. package/Microsoft.ReactNative/JsiApi.idl +5 -4
  385. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -22
  386. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +6 -2
  387. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
  388. package/Microsoft.ReactNative/Modules/AlertModule.h +2 -2
  389. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +12 -8
  390. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +1 -1
  391. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  392. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -3
  393. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +4 -4
  394. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +10 -1
  395. package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
  396. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +71 -38
  397. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +5 -5
  398. package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
  399. package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
  400. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +11 -10
  401. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +8 -6
  402. package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -3
  403. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +5 -28
  404. package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
  405. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +8 -5
  406. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +3 -3
  407. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
  408. package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
  409. package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
  410. package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
  411. package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
  412. package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
  413. package/Microsoft.ReactNative/Modules/Timing.h +121 -0
  414. package/Microsoft.ReactNative/QuirkSettings.cpp +32 -0
  415. package/Microsoft.ReactNative/QuirkSettings.h +9 -0
  416. package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
  417. package/Microsoft.ReactNative/ReactCoreInjection.cpp +15 -0
  418. package/Microsoft.ReactNative/ReactCoreInjection.h +4 -0
  419. package/Microsoft.ReactNative/ReactCoreInjection.idl +8 -0
  420. package/Microsoft.ReactNative/ReactHost/IReactInstance.h +1 -1
  421. package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +1 -1
  422. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +556 -234
  423. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +36 -9
  424. package/Microsoft.ReactNative/ReactInstanceSettings.idl +3 -0
  425. package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +8 -0
  426. package/Microsoft.ReactNative/ReactPointerEventArgs.h +4 -0
  427. package/Microsoft.ReactNative/ReactPointerEventArgs.idl +12 -0
  428. package/Microsoft.ReactNative/SchedulerSettings.cpp +23 -0
  429. package/Microsoft.ReactNative/SchedulerSettings.h +9 -1
  430. package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
  431. package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
  432. package/Microsoft.ReactNative/Theme.idl +57 -0
  433. package/Microsoft.ReactNative/Timer.cpp +63 -0
  434. package/Microsoft.ReactNative/{CoreAppPage.h → Timer.h} +12 -5
  435. package/Microsoft.ReactNative/Timer.idl +34 -0
  436. package/Microsoft.ReactNative/TurboModulesProvider.cpp +4 -0
  437. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +37 -3
  438. package/Microsoft.ReactNative/Utils/ImageUtils.h +0 -1
  439. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +11 -12
  440. package/Microsoft.ReactNative/Utils/LocalBundleReader.h +3 -3
  441. package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
  442. package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
  443. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -5
  444. package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -3
  445. package/Microsoft.ReactNative/ViewProps.idl +17 -0
  446. package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +1 -0
  447. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
  448. package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
  449. package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -20
  450. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +157 -0
  451. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +5 -0
  452. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +20 -0
  453. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +4 -0
  454. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -5
  455. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +137 -0
  456. package/Microsoft.ReactNative/Views/ICompositionRootView.h +0 -1
  457. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -5
  458. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -5
  459. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +11 -0
  460. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -4
  461. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -6
  462. package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -11
  463. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  464. package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
  465. package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
  466. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +46 -0
  467. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  468. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +77 -2
  469. package/Microsoft.ReactNative/microsoft.reactnative.def +0 -3
  470. package/Microsoft.ReactNative/packages.lock.json +9 -6
  471. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/AutoDraw.h +2 -0
  472. package/{Shared/Composition → Microsoft.ReactNative.Cxx}/CompositionSwitcher.interop.h +4 -10
  473. package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -5
  474. package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +5 -0
  475. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +19 -10
  476. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +2 -0
  477. package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
  478. package/Microsoft.ReactNative.Cxx/JSValueReader.h +19 -0
  479. package/Microsoft.ReactNative.Cxx/JSValueXaml.h +1 -1
  480. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +6 -4
  481. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +0 -1
  482. package/Microsoft.ReactNative.Cxx/NativeModules.h +15 -15
  483. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +1 -1
  484. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
  485. package/Microsoft.ReactNative.Managed/packages.lock.json +6 -3
  486. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +0 -1
  487. package/Mso/future/details/executor.h +1 -1
  488. package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
  489. package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +8 -0
  490. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
  491. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
  492. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +1 -1
  493. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +2 -0
  494. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  495. package/PropertySheets/JSEngine.props +0 -8
  496. package/PropertySheets/React.Cpp.props +14 -3
  497. package/PropertySheets/ReactCommunity.cpp.props +2 -2
  498. package/PropertySheets/Release.props +0 -1
  499. package/PropertySheets/WinUI.props +21 -1
  500. package/PropertySheets/x64.props +3 -0
  501. package/PropertySheets/x86.props +3 -0
  502. package/ReactCommon/ReactCommon.vcxproj +13 -8
  503. package/ReactCommon/ReactCommon.vcxproj.filters +12 -1
  504. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +114 -19
  505. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
  506. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +114 -52
  507. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +13 -15
  508. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
  509. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +437 -0
  510. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
  511. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
  512. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +19 -24
  513. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +600 -980
  514. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +5 -11
  515. package/ReactCommon/cgmanifest.json +1 -1
  516. package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
  517. package/Scripts/IntegrationTests.ps1 +26 -15
  518. package/Scripts/Microsoft.ReactNative.targets +0 -6
  519. package/Scripts/OfficeReact.Win32.nuspec +1 -2
  520. package/Scripts/TestServers.ps1 +2 -28
  521. package/Scripts/Tfs/Start-TestServers.ps1 +1 -21
  522. package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
  523. package/Scripts/rnw-dependencies.ps1 +38 -67
  524. package/Shared/CreateInstance.h +25 -0
  525. package/Shared/DevServerHelper.h +0 -3
  526. package/Shared/DevSettings.h +9 -0
  527. package/Shared/HermesRuntimeHolder.cpp +17 -0
  528. package/Shared/HermesRuntimeHolder.h +17 -0
  529. package/Shared/HermesSamplingProfiler.cpp +12 -10
  530. package/Shared/HermesSamplingProfiler.h +5 -4
  531. package/Shared/IDevSupportManager.h +4 -2
  532. package/Shared/InstanceManager.cpp +13 -11
  533. package/Shared/InstanceManager.h +8 -18
  534. package/Shared/JSI/ChakraRuntime.cpp +66 -9
  535. package/Shared/JSI/ChakraRuntime.h +8 -0
  536. package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
  537. package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
  538. package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
  539. package/Shared/Modules/BlobModule.h +1 -1
  540. package/Shared/Modules/FileReaderModule.h +1 -1
  541. package/Shared/Modules/HttpModule.h +1 -1
  542. package/Shared/Modules/WebSocketTurboModule.h +1 -1
  543. package/Shared/OInstance.cpp +212 -165
  544. package/Shared/OInstance.h +19 -0
  545. package/Shared/Shared.vcxitems +134 -50
  546. package/Shared/Shared.vcxitems.filters +81 -24
  547. package/Shared/Utils.cpp +12 -10
  548. package/Shared/Utils.h +2 -2
  549. package/Shared/WebSocketJSExecutorFactory.h +1 -0
  550. package/codegen/NativeBugReportingSpec.g.h +0 -6
  551. package/codegen/NativeFrameRateLoggerSpec.g.h +0 -2
  552. package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -23
  553. package/codegen/NativePerformanceObserverSpec.g.h +6 -0
  554. package/codegen/NativePlatformConstantsIOSSpec.g.h +2 -0
  555. package/codegen/NativePlatformConstantsWinSpec.g.h +17 -0
  556. package/codegen/NativePushNotificationManagerIOSSpec.g.h +8 -6
  557. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +88 -0
  558. package/codegen/NativeUIManagerSpec.g.h +83 -95
  559. package/codegen/react/components/rnwcore/ComponentDescriptors.h +10 -7
  560. package/codegen/react/components/rnwcore/EventEmitters.cpp +40 -52
  561. package/codegen/react/components/rnwcore/EventEmitters.h +66 -84
  562. package/codegen/react/components/rnwcore/Props.cpp +60 -95
  563. package/codegen/react/components/rnwcore/Props.h +198 -239
  564. package/codegen/react/components/rnwcore/ShadowNodes.cpp +6 -7
  565. package/codegen/react/components/rnwcore/ShadowNodes.h +38 -29
  566. package/codegen/react/components/rnwcore/States.cpp +3 -5
  567. package/codegen/react/components/rnwcore/States.h +29 -16
  568. package/codegen/rnwcoreJSI-generated.cpp +1442 -1398
  569. package/codegen/rnwcoreJSI.h +6066 -3593
  570. package/index.js +66 -99
  571. package/index.windows.js +60 -102
  572. package/jest/assetFileTransformer.js +1 -1
  573. package/jest/local-setup.js +0 -5
  574. package/jest/mockModal.js +2 -1
  575. package/jest/mockScrollView.js +1 -2
  576. package/jest/renderer.js +1 -1
  577. package/jest/setup.js +6 -3
  578. package/just-task.js +1 -1
  579. package/package.json +30 -29
  580. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  581. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  582. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  583. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  584. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  585. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  586. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  587. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  588. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  589. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  590. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  591. package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
  592. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  593. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  594. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  595. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  596. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  597. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  598. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  599. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  600. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  601. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  602. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  603. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  604. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  605. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  606. package/src/private/specs/modules/NativeAppState.js +33 -0
  607. package/src/private/specs/modules/NativeAppTheme.js +33 -0
  608. package/src/private/specs/modules/NativeAppearance.js +36 -0
  609. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  610. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  611. package/src/private/specs/modules/NativeClipboard.js +21 -0
  612. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  613. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  614. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  615. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  616. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  617. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  618. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  619. package/{Libraries/Alert → src/private/specs/modules}/NativeDialogManagerWindows.js +5 -4
  620. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  621. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  622. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  623. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  624. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  625. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  626. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  627. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  628. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  629. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  630. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  631. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  632. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  633. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  634. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  635. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  636. package/src/private/specs/modules/NativeLogBox.js +20 -0
  637. package/src/private/specs/modules/NativeModalManager.js +21 -0
  638. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  639. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  640. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  641. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  642. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  643. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  644. package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
  645. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  646. package/src/private/specs/modules/NativeRedBox.js +20 -0
  647. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  648. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  649. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  650. package/src/private/specs/modules/NativeShareModule.js +23 -0
  651. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  652. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  653. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  654. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  655. package/src/private/specs/modules/NativeTiming.js +26 -0
  656. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  657. package/src/private/specs/modules/NativeUIManager.js +118 -0
  658. package/src/private/specs/modules/NativeVibration.js +24 -0
  659. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  660. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  661. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  662. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  663. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  664. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  665. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  666. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  667. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  668. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  669. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  670. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  671. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  672. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  673. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  674. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  675. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  676. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  677. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  678. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  679. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  680. package/template/cpp-app/src/App.cpp +2 -2
  681. package/template/cs-app/src/App.xaml.cs +2 -2
  682. package/templates/cpp-app/jest.config.windows.js +3 -0
  683. package/templates/cpp-app/metro.config.js +0 -2
  684. package/templates/cpp-app/template.config.js +24 -9
  685. package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -1
  686. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
  687. package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
  688. package/templates/cpp-app/windows/MyApp/MyApp.cpp +134 -249
  689. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +12 -11
  690. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +6 -3
  691. package/templates/cpp-app/windows/MyApp/pch.h +12 -9
  692. package/templates/cpp-app/windows/MyApp/resource.h +0 -1
  693. package/templates/cpp-app/windows/MyApp.sln +26 -26
  694. package/templates/cpp-lib/example/metro.config.js +74 -0
  695. package/templates/cpp-lib/template.config.js +235 -0
  696. package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
  697. package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
  698. package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
  699. package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
  700. package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
  701. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
  702. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
  703. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
  704. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
  705. package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
  706. package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
  707. package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
  708. package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
  709. package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
  710. package/templates/cpp-lib/windows/MyLib.sln +156 -0
  711. package/templates/cpp-lib/windows/_gitignore +41 -0
  712. package/templates/templateUtils.js +137 -0
  713. package/types/modules/globals.d.ts +1 -0
  714. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +0 -1016
  715. package/Libraries/Components/Button.flow.js +0 -265
  716. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
  717. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -14
  718. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -34
  719. package/Libraries/Components/ScrollView/ScrollView.windows.js +0 -1941
  720. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  721. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -45
  722. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  723. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  724. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  725. package/Libraries/Image/Image.flow.js +0 -64
  726. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  727. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  728. package/Libraries/Settings/Settings.windows.js +0 -28
  729. package/Microsoft.ReactNative/CoreApp.cpp +0 -303
  730. package/Microsoft.ReactNative/CoreAppPage.cpp +0 -21
  731. package/Microsoft.ReactNative/CoreAppPage.idl +0 -12
  732. package/Microsoft.ReactNative/CoreAppPage.xaml +0 -14
  733. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +0 -197
  734. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +0 -84
  735. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/EventEmitters.h +0 -5
  736. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/Props.h +0 -5
  737. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/ShadowNodes.h +0 -5
  738. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +0 -5
  739. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +0 -245
  740. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +0 -134
  741. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +0 -27
  742. package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -229
  743. package/Microsoft.ReactNative/Modules/TimingModule.h +0 -88
  744. package/Microsoft.ReactNative.Cxx/CoreApp.h +0 -60
  745. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +0 -60
  746. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +0 -60
  747. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +0 -63
  748. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +0 -1038
  749. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +0 -503
  750. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -895
  751. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -182
  752. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +0 -543
  753. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +0 -1505
  754. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +0 -67
  755. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -93
  756. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -88
  757. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -606
  758. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +0 -344
  759. package/ReactCommon/Yoga.cpp +0 -961
  760. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  761. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  762. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  763. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  764. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  765. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  766. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  767. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  768. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  769. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  770. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  771. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
@@ -3,6 +3,8 @@
3
3
 
4
4
  #pragma once
5
5
 
6
+ #include <JSI/ScriptStore.h>
7
+ #include <tuple>
6
8
  #include "IReactDispatcher.h"
7
9
  #include "IReactInstanceInternal.h"
8
10
  #include "MsoReactContext.h"
@@ -16,7 +18,9 @@
16
18
  #include <Views/ExpressionAnimationStore.h>
17
19
  #endif
18
20
 
19
- #include <tuple>
21
+ #ifdef USE_FABRIC
22
+ #include <react/runtime/ReactInstance.h>
23
+ #endif
20
24
 
21
25
  namespace winrt::Microsoft::ReactNative {
22
26
  class NativeModulesProvider;
@@ -95,6 +99,7 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
95
99
  Mso::Promise<void> &&whenLoaded,
96
100
  Mso::VoidFunctor &&updateUI) noexcept;
97
101
  void LoadModules(
102
+ const std::shared_ptr<facebook::react::DevSettings> &devSettings,
98
103
  const std::shared_ptr<winrt::Microsoft::ReactNative::NativeModulesProvider> &nativeModulesProvider,
99
104
  const std::shared_ptr<winrt::Microsoft::ReactNative::TurboModulesProvider> &turboModulesProvider) noexcept;
100
105
  void Initialize() noexcept override;
@@ -105,9 +110,25 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
105
110
  void InitJSMessageThread() noexcept;
106
111
  void InitNativeMessageThread() noexcept;
107
112
  void InitUIMessageThread() noexcept;
113
+ void SetupHMRClient() noexcept;
108
114
  #ifndef CORE_ABI
109
115
  void InitUIManager() noexcept;
110
116
  #endif
117
+
118
+ #ifdef USE_FABRIC
119
+ void InitializeBridgeless() noexcept;
120
+ void LoadJSBundlesBridgeless(std::shared_ptr<facebook::react::DevSettings> devSettings) noexcept;
121
+ #endif
122
+
123
+ void InitializeWithBridge() noexcept;
124
+ void InitUIQueue() noexcept;
125
+ void InitDevMenu() noexcept;
126
+ void InitUIDependentCalls() noexcept;
127
+ void FireInstanceCreatedCallback() noexcept;
128
+
129
+ std::shared_ptr<facebook::react::DevSettings> CreateDevSettings() noexcept;
130
+ std::unique_ptr<facebook::jsi::PreparedScriptStore> CreateHermesPreparedScriptStore() noexcept;
131
+
111
132
  std::string GetBytecodeFileName() noexcept;
112
133
  std::function<void()> GetLiveReloadCallback() noexcept;
113
134
  std::function<void(std::string)> GetErrorCallback() noexcept;
@@ -115,9 +136,13 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
115
136
  std::shared_ptr<Mso::React::IRedBoxHandler> GetRedBoxHandler() noexcept;
116
137
  std::function<void()> GetWaitingForDebuggerCallback() noexcept;
117
138
  std::function<void()> GetDebuggerAttachCallback() noexcept;
139
+ bool IsBridgeless() noexcept;
118
140
 
119
141
  void OnError(const Mso::ErrorCode &errorcode) noexcept;
120
142
  void OnErrorWithMessage(const std::string &errorMessage) noexcept;
143
+ #ifdef USE_FABRIC
144
+ void OnJSError(facebook::react::MapBuffer errorMap) noexcept;
145
+ #endif
121
146
  void OnLiveReload() noexcept;
122
147
  void OnWaitingForDebugger() noexcept;
123
148
  void OnDebuggerAttach() noexcept;
@@ -136,8 +161,6 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
136
161
  folly::dynamic Args;
137
162
  };
138
163
 
139
- static std::string getApplicationTempFolder();
140
-
141
164
  private: // immutable fields
142
165
  const Mso::WeakPtr<IReactHost> m_weakReactHost;
143
166
  const ReactOptions m_options;
@@ -162,8 +185,8 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
162
185
  private: // fields controlled by mutex
163
186
  mutable std::mutex m_mutex;
164
187
 
188
+ // !Bridgeless
165
189
  const Mso::ActiveReadableField<Mso::DispatchQueue> m_jsDispatchQueue{Queue(), m_mutex};
166
-
167
190
  const Mso::ActiveReadableField<std::shared_ptr<facebook::react::MessageQueueThread>> m_jsMessageThread{
168
191
  Queue(),
169
192
  m_mutex};
@@ -173,19 +196,23 @@ class ReactInstanceWin final : public Mso::ActiveObject<IReactInstanceInternal>
173
196
  const Mso::ActiveReadableField<std::shared_ptr<facebook::react::MessageQueueThread>> m_uiMessageThread{
174
197
  Queue(),
175
198
  m_mutex};
176
-
177
199
  const Mso::ActiveReadableField<std::shared_ptr<facebook::react::InstanceWrapper>> m_instanceWrapper{Queue(), m_mutex};
178
200
  const Mso::ActiveReadableField<std::shared_ptr<facebook::react::Instance>> m_instance{Queue(), m_mutex};
201
+ std::deque<JSCallEntry> m_jsCallQueue;
202
+ winrt::Microsoft::ReactNative::JsiRuntime m_jsiRuntime{nullptr};
203
+ std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> m_jsiRuntimeHolder;
204
+
205
+ #ifdef USE_FABRIC
206
+ // Bridgeless
207
+ std::unique_ptr<facebook::react::ReactInstance> m_bridgelessReactInstance;
208
+ #endif
209
+
179
210
  std::atomic<ReactInstanceState> m_state{ReactInstanceState::Loading};
180
211
 
181
212
  std::shared_ptr<facebook::react::MessageQueueThread> m_batchingUIThread;
182
213
 
183
214
  std::shared_ptr<IRedBoxHandler> m_redboxHandler;
184
215
  Mso::CntPtr<Mso::React::IDispatchQueue2> m_uiQueue;
185
- std::deque<JSCallEntry> m_jsCallQueue;
186
-
187
- std::shared_ptr<Microsoft::JSI::RuntimeHolderLazyInit> m_jsiRuntimeHolder;
188
- winrt::Microsoft::ReactNative::JsiRuntime m_jsiRuntime{nullptr};
189
216
 
190
217
  static std::mutex s_registryMutex; // protects access to s_instanceRegistry
191
218
  static std::vector<ReactInstanceWin *> s_instanceRegistry;
@@ -119,6 +119,9 @@ namespace Microsoft.ReactNative
119
119
  "Controls whether the instance JavaScript runs in a remote environment such as within a browser.\n"
120
120
  "By default, this is using a browser navigated to http://localhost:8081/debugger-ui served by Metro/Haul.\n"
121
121
  "Debugging will start as soon as the react native instance is loaded.")
122
+ [deprecated(
123
+ "Debugging should be done using DirectDebugging rather than WebDebugger. Web debugging changes the app behavior "
124
+ "and will be removed in a future version.", deprecate, 1)]
122
125
  Boolean UseWebDebugger { get; set; };
123
126
 
124
127
  DOC_STRING(
@@ -39,6 +39,14 @@ void ReactPointerEventArgs::Target(winrt::IInspectable const &target) noexcept {
39
39
  m_target = target;
40
40
  }
41
41
 
42
+ bool ReactPointerEventArgs::AllowUncaptured() const noexcept {
43
+ return m_allowUncaptured;
44
+ }
45
+
46
+ void ReactPointerEventArgs::AllowUncaptured(bool allowUncaptured) noexcept {
47
+ m_allowUncaptured = allowUncaptured;
48
+ }
49
+
42
50
  ReactPointerEventArgs::ReactPointerEventArgs(
43
51
  PointerEventKind kind,
44
52
  xaml::Input::PointerRoutedEventArgs const &args) noexcept
@@ -16,6 +16,9 @@ struct ReactPointerEventArgs : ReactPointerEventArgsT<ReactPointerEventArgs> {
16
16
  winrt::IInspectable Target() const noexcept;
17
17
  void Target(winrt::IInspectable const &target) noexcept;
18
18
 
19
+ bool AllowUncaptured() const noexcept;
20
+ void AllowUncaptured(bool allowUncaptured) noexcept;
21
+
19
22
  // Internal use
20
23
  ReactPointerEventArgs(PointerEventKind kind, xaml::Input::PointerRoutedEventArgs const &args) noexcept;
21
24
 
@@ -23,6 +26,7 @@ struct ReactPointerEventArgs : ReactPointerEventArgsT<ReactPointerEventArgs> {
23
26
  PointerEventKind m_kind;
24
27
  xaml::Input::PointerRoutedEventArgs const &m_args;
25
28
  winrt::IInspectable m_target{nullptr};
29
+ bool m_allowUncaptured{false};
26
30
  };
27
31
 
28
32
  } // namespace winrt::Microsoft::ReactNative::implementation
@@ -63,5 +63,17 @@ namespace Microsoft.ReactNative {
63
63
  get;
64
64
  set;
65
65
  };
66
+ DOC_STRING(
67
+ "Gets or sets a flag that allows the ReactRootView to handle pointer "
68
+ "events even when it does not capture the pointer. This is particularly "
69
+ "useful for view managers that seek to capture the pointer to handle "
70
+ "move events for a gesture (e.g., dragging), but conditionally may "
71
+ "allow the ReactRootView to emit events (e.g., if the "
72
+ "@PointerEventKind.End event is received before a drag threshold is hit."
73
+ )
74
+ Boolean AllowUncaptured {
75
+ get;
76
+ set;
77
+ };
66
78
  }
67
79
  } // namespace Microsoft.ReactNative
@@ -48,4 +48,27 @@ facebook::react::RuntimeExecutor &GetRuntimeExecutor(
48
48
  return properties.Get(RuntimeExecutorProperty()).Value();
49
49
  }
50
50
 
51
+ winrt::Microsoft::ReactNative::ReactPropertyId<
52
+ winrt::Microsoft::ReactNative::ReactNonAbiValue<std::shared_ptr<facebook::react::RuntimeScheduler>>>
53
+ RuntimeSchedulerProperty() noexcept {
54
+ winrt::Microsoft::ReactNative::ReactPropertyId<
55
+ winrt::Microsoft::ReactNative::ReactNonAbiValue<std::shared_ptr<facebook::react::RuntimeScheduler>>>
56
+ propId{L"ReactNative", L"RuntimeScheduler"};
57
+ return propId;
58
+ }
59
+
60
+ void SetRuntimeScheduler(
61
+ winrt::Microsoft::ReactNative::ReactPropertyBag properties,
62
+ const std::shared_ptr<facebook::react::RuntimeScheduler> &runtimeScheduler) noexcept {
63
+ properties.Set(RuntimeSchedulerProperty(), runtimeScheduler);
64
+ }
65
+
66
+ std::shared_ptr<facebook::react::RuntimeScheduler> RuntimeSchedulerFromProperties(
67
+ winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept {
68
+ auto runtimeScheduler = properties.Get(RuntimeSchedulerProperty());
69
+ if (!runtimeScheduler)
70
+ return nullptr;
71
+ return runtimeScheduler.Value();
72
+ }
73
+
51
74
  } // namespace Microsoft::ReactNative::SchedulerSettings
@@ -8,7 +8,8 @@
8
8
 
9
9
  namespace facebook::react {
10
10
  class MessageQueueThread;
11
- }
11
+ class RuntimeScheduler;
12
+ } // namespace facebook::react
12
13
 
13
14
  namespace Microsoft::ReactNative::SchedulerSettings {
14
15
 
@@ -24,4 +25,11 @@ void SetRuntimeExecutor(
24
25
  facebook::react::RuntimeExecutor &GetRuntimeExecutor(
25
26
  winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
26
27
 
28
+ void SetRuntimeScheduler(
29
+ winrt::Microsoft::ReactNative::ReactPropertyBag properties,
30
+ const std::shared_ptr<facebook::react::RuntimeScheduler> &runtimeScheduler) noexcept;
31
+
32
+ std::shared_ptr<facebook::react::RuntimeScheduler> RuntimeSchedulerFromProperties(
33
+ winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
34
+
27
35
  } // namespace Microsoft::ReactNative::SchedulerSettings
@@ -0,0 +1,41 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "SynchronousEventBeat.h"
5
+
6
+ namespace Microsoft::ReactNative {
7
+
8
+ SynchronousEventBeat::SynchronousEventBeat(
9
+ facebook::react::EventBeat::SharedOwnerBox const &ownerBox,
10
+ const winrt::Microsoft::ReactNative::ReactContext &context,
11
+ facebook::react::RuntimeExecutor runtimeExecutor,
12
+ std::shared_ptr<facebook::react::RuntimeScheduler> runtimeScheduler)
13
+ : EventBeat(ownerBox),
14
+ m_context(context),
15
+ m_runtimeExecutor(runtimeExecutor),
16
+ m_runtimeScheduler(std::move(runtimeScheduler)) {}
17
+
18
+ void SynchronousEventBeat::induce() const {
19
+ if (!isRequested_) {
20
+ return;
21
+ }
22
+
23
+ if (m_context.JSDispatcher().HasThreadAccess()) {
24
+ lockExecutorAndBeat();
25
+ }
26
+ }
27
+
28
+ void SynchronousEventBeat::lockExecutorAndBeat() const {
29
+ if (!this->isRequested_) {
30
+ return;
31
+ }
32
+
33
+ if (m_runtimeScheduler) {
34
+ m_runtimeScheduler->executeNowOnTheSameThread([this](facebook::jsi::Runtime &runtime) { beat(runtime); });
35
+ } else {
36
+ facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(
37
+ m_runtimeExecutor, [this](facebook::jsi::Runtime &runtime) { beat(runtime); });
38
+ }
39
+ }
40
+
41
+ } // namespace Microsoft::ReactNative
@@ -0,0 +1,29 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include <NativeModules.h>
5
+ #include <ReactCommon/RuntimeExecutor.h>
6
+ #include <react/renderer/core/EventBeat.h>
7
+ #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
8
+
9
+ namespace Microsoft::ReactNative {
10
+
11
+ class SynchronousEventBeat final : public facebook::react::EventBeat {
12
+ public:
13
+ SynchronousEventBeat(
14
+ facebook::react::EventBeat::SharedOwnerBox const &ownerBox,
15
+ const winrt::Microsoft::ReactNative::ReactContext &context,
16
+ facebook::react::RuntimeExecutor runtimeExecutor,
17
+ std::shared_ptr<facebook::react::RuntimeScheduler> runtimeScheduler);
18
+
19
+ void induce() const override;
20
+
21
+ void lockExecutorAndBeat() const;
22
+
23
+ private:
24
+ winrt::Microsoft::ReactNative::ReactContext m_context;
25
+ facebook::react::RuntimeExecutor m_runtimeExecutor;
26
+ std::shared_ptr<facebook::react::RuntimeScheduler> m_runtimeScheduler;
27
+ };
28
+
29
+ } // namespace Microsoft::ReactNative
@@ -0,0 +1,57 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "DocString.h"
5
+ import "CompositionSwitcher.idl";
6
+ import "IReactContext.idl";
7
+ import "IReactPropertyBag.idl";
8
+ import "ReactInstanceSettings.idl";
9
+
10
+ namespace Microsoft.ReactNative.Composition
11
+ {
12
+ [experimental]
13
+ [webhosthidden]
14
+ enum ResourceType {
15
+ DOC_STRING("Resource type for a @Windows.UI.Color")
16
+ Color
17
+ };
18
+
19
+ [webhosthidden]
20
+ [experimental]
21
+ runtimeclass CustomResourceResult {
22
+ Object Resource;
23
+ DOC_STRING("The value of this resource should resolve to the value of another ResourceId")
24
+ String AlternateResourceId;
25
+ };
26
+
27
+ [webhosthidden]
28
+ [experimental]
29
+ DOC_STRING("Applications can implement this interface to provide custom values for native platform colors.")
30
+ interface ICustomResourceLoader {
31
+ DOC_STRING("Called when a theme is queried for a specific resource. "
32
+ "resourceId will be the name of the platform color. "
33
+ "Implementations should return an empty result if the resource is not being overridden.")
34
+ void GetResource(String resourceId, ResourceType resourceType, CustomResourceResult result);
35
+
36
+ DOC_STRING("Implementations should raise this event if the platform colors will return new values")
37
+ event Windows.Foundation.EventHandler<Object> ResourcesChanged;
38
+ };
39
+
40
+ [webhosthidden]
41
+ [experimental]
42
+ runtimeclass Theme {
43
+ Theme(Microsoft.ReactNative.IReactContext reactContext, ICustomResourceLoader resourceLoader);
44
+
45
+ Microsoft.ReactNative.Composition.IBrush PlatformBrush(String platformColor);
46
+ Boolean TryGetPlatformColor(String platformColor, out Windows.UI.Color color);
47
+ DOC_STRING("An empty theme is used when the final theme is not yet known. It will generally return transparent colors.")
48
+ Boolean IsEmpty { get; };
49
+
50
+ event Windows.Foundation.EventHandler<Object> ThemeChanged;
51
+
52
+ static Theme GetDefaultTheme(Microsoft.ReactNative.IReactContext context);
53
+ static void SetDefaultTheme(Microsoft.ReactNative.ReactInstanceSettings settings, Theme theme);
54
+ static Microsoft.ReactNative.IReactPropertyName ThemeChangedEventName { get; };
55
+ };
56
+
57
+ } // namespace Microsoft.ReactNative
@@ -0,0 +1,63 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "pch.h"
5
+ #include "Timer.h"
6
+ #include "Timer.g.cpp"
7
+
8
+ #include <CppWinRTIncludes.h>
9
+ #include "ReactCoreInjection.h"
10
+
11
+ namespace winrt::Microsoft::ReactNative::implementation {
12
+
13
+ // Implementation of ITimer based on Windows' DispatcherQueue
14
+ struct ReactTimer : winrt::implements<ReactTimer, ITimer> {
15
+ ReactTimer(const IReactPropertyBag &properties) {
16
+ const auto queue = winrt::dispatching::DispatcherQueue::GetForCurrentThread();
17
+ m_dispatcherQueueTimer = queue.CreateTimer();
18
+ }
19
+
20
+ winrt::Windows::Foundation::TimeSpan Interval() noexcept {
21
+ return m_dispatcherQueueTimer.Interval();
22
+ }
23
+
24
+ void Interval(winrt::Windows::Foundation::TimeSpan value) noexcept {
25
+ m_dispatcherQueueTimer.Interval(value);
26
+ }
27
+
28
+ void Start() noexcept {
29
+ return m_dispatcherQueueTimer.Start();
30
+ }
31
+
32
+ void Stop() noexcept {
33
+ return m_dispatcherQueueTimer.Stop();
34
+ }
35
+
36
+ winrt::event_token Tick(const winrt::Windows::Foundation::EventHandler<IInspectable> &handler) {
37
+ return m_dispatcherQueueTimer.Tick([handler](auto sender, auto args) { handler(sender, args); });
38
+ }
39
+
40
+ void Tick(winrt::event_token const &token) {
41
+ m_dispatcherQueueTimer.Tick(token);
42
+ }
43
+
44
+ private:
45
+ winrt::dispatching::DispatcherQueueTimer m_dispatcherQueueTimer{nullptr};
46
+ };
47
+
48
+ Timer::Timer() noexcept {}
49
+
50
+ ITimer Timer::Create(const IReactPropertyBag &properties) {
51
+ auto dispatcher = properties.Get(ReactDispatcherHelper::UIDispatcherProperty()).try_as<IReactDispatcher>();
52
+ if (!dispatcher.HasThreadAccess()) {
53
+ throw winrt::hresult_wrong_thread();
54
+ }
55
+
56
+ if (auto customTimerFactory = implementation::ReactCoreInjection::GetTimerFactory(properties)) {
57
+ return customTimerFactory();
58
+ } else {
59
+ return winrt::make<ReactTimer>(properties);
60
+ }
61
+ }
62
+
63
+ } // namespace winrt::Microsoft::ReactNative::implementation
@@ -1,15 +1,22 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+
3
4
  #pragma once
4
- #include "CoreAppPage.g.h"
5
- #include <UI.Xaml.Markup.h>
5
+
6
+ #include "Timer.g.h"
7
+
8
+ #include "winrt/Microsoft.ReactNative.h"
6
9
 
7
10
  namespace winrt::Microsoft::ReactNative::implementation {
8
- struct CoreAppPage : CoreAppPageT<CoreAppPage> {
9
- CoreAppPage();
11
+
12
+ struct Timer : TimerT<Timer> {
13
+ Timer() noexcept;
14
+
15
+ static ITimer Create(const IReactPropertyBag &properties);
10
16
  };
17
+
11
18
  } // namespace winrt::Microsoft::ReactNative::implementation
12
19
 
13
20
  namespace winrt::Microsoft::ReactNative::factory_implementation {
14
- struct CoreAppPage : CoreAppPageT<CoreAppPage, implementation::CoreAppPage> {};
21
+ struct Timer : TimerT<Timer, implementation::Timer> {};
15
22
  } // namespace winrt::Microsoft::ReactNative::factory_implementation
@@ -0,0 +1,34 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "DocString.h"
5
+ import "IJSValueReader.idl";
6
+ import "IJSValueWriter.idl";
7
+ import "Theme.idl";
8
+
9
+ namespace Microsoft.ReactNative {
10
+
11
+ [webhosthidden]
12
+ interface ITimer
13
+ {
14
+ Windows.Foundation.TimeSpan Interval;
15
+ void Start();
16
+ void Stop();
17
+
18
+ event Windows.Foundation.EventHandler<Object> Tick;
19
+ }
20
+
21
+ [default_interface]
22
+ [webhosthidden]
23
+ DOC_STRING(
24
+ "Used to create timers.")
25
+ runtimeclass Timer
26
+ {
27
+ DOC_STRING(
28
+ "Creates a UI timer. Must be called on the UI thread. Using this rather than "
29
+ "System/Windows.DispatcherQueue.CreateTimer works when applications have provided "
30
+ "custom Timer implementations using @ReactCoreInjection.SetTimerFactory")
31
+ static ITimer Create(IReactPropertyBag properties);
32
+ }
33
+
34
+ } // namespace Microsoft.ReactNative
@@ -436,6 +436,10 @@ std::vector<std::string> TurboModulesProvider::getEagerInitModuleNames() noexcep
436
436
  if (it != m_moduleProviders.end()) {
437
437
  eagerModules.push_back("UIManager");
438
438
  }
439
+ it = m_moduleProviders.find("FabricUIManagerBinding");
440
+ if (it != m_moduleProviders.end()) {
441
+ eagerModules.push_back("FabricUIManagerBinding");
442
+ }
439
443
  return eagerModules;
440
444
  }
441
445
 
@@ -23,13 +23,47 @@ winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageStreamAsync(ReactImag
23
23
  try {
24
24
  co_await winrt::resume_background();
25
25
 
26
- auto httpMethod{
27
- source.method.empty() ? winrt::HttpMethod::Get() : winrt::HttpMethod{winrt::to_hstring(source.method)}};
28
-
29
26
  winrt::Uri uri = UriTryCreate(winrt::to_hstring(source.uri));
30
27
  if (!uri) {
31
28
  co_return nullptr;
32
29
  }
30
+
31
+ bool isFile = (uri.SchemeName() == L"file");
32
+ bool isAppx = (uri.SchemeName() == L"ms-appx");
33
+
34
+ if (isFile || isAppx) {
35
+ winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::StorageFile> getFileSync{nullptr};
36
+
37
+ if (isFile) {
38
+ getFileSync = winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(uri.AbsoluteCanonicalUri());
39
+ } else {
40
+ getFileSync = winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
41
+ }
42
+
43
+ co_await lessthrow_await_adapter<
44
+ winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::StorageFile>>{getFileSync};
45
+
46
+ if (FAILED(getFileSync.ErrorCode())) {
47
+ co_return nullptr;
48
+ }
49
+
50
+ winrt::Windows::Storage::StorageFile file{getFileSync.GetResults()};
51
+
52
+ auto openReadAsync = file.OpenReadAsync();
53
+ co_await lessthrow_await_adapter<winrt::Windows::Foundation::IAsyncOperation<
54
+ winrt::Windows::Storage::Streams::IRandomAccessStreamWithContentType>>{openReadAsync};
55
+
56
+ if (FAILED(openReadAsync.ErrorCode())) {
57
+ co_return nullptr;
58
+ }
59
+
60
+ winrt::Windows::Storage::Streams::IRandomAccessStreamWithContentType stream{openReadAsync.GetResults()};
61
+ co_return stream;
62
+ }
63
+
64
+ auto httpMethod{
65
+ source.method.empty() ? winrt::HttpMethod::Get() : winrt::HttpMethod{winrt::to_hstring(source.method)}};
66
+
33
67
  winrt::HttpRequestMessage request{httpMethod, uri};
34
68
 
35
69
  if (!source.headers.empty()) {
@@ -13,7 +13,6 @@ enum class ImageSourceFormat { Bitmap = 0, Svg = 1 };
13
13
  struct ReactImageSource {
14
14
  std::string uri;
15
15
  std::string method;
16
- std::string bundleRootPath;
17
16
  std::vector<std::pair<std::string, std::string>> headers;
18
17
  double width = 0;
19
18
  double height = 0;
@@ -15,8 +15,7 @@
15
15
 
16
16
  namespace Microsoft::ReactNative {
17
17
 
18
- std::string GetBundleFromEmbeddedResource(winrt::hstring str) {
19
- winrt::Windows::Foundation::Uri uri(str);
18
+ std::string GetBundleFromEmbeddedResource(const winrt::Windows::Foundation::Uri &uri) {
20
19
  auto moduleName = uri.Host();
21
20
  auto path = uri.Path();
22
21
  // skip past the leading / slash
@@ -54,21 +53,21 @@ std::string GetBundleFromEmbeddedResource(winrt::hstring str) {
54
53
  return std::string(start, start + size);
55
54
  }
56
55
 
57
- std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::string &bundleUri) {
58
- winrt::hstring str(Microsoft::Common::Unicode::Utf8ToUtf16(bundleUri));
59
-
56
+ std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::wstring bundleUri) {
60
57
  co_await winrt::resume_background();
61
58
 
62
59
  winrt::Windows::Storage::StorageFile file{nullptr};
63
60
 
64
61
  // Supports "ms-appx://" or "ms-appdata://"
65
- if (bundleUri._Starts_with("ms-app")) {
66
- winrt::Windows::Foundation::Uri uri(str);
62
+ // TODO: Replace call to private string function with C++ 20 `starts_with`
63
+ if (bundleUri._Starts_with(L"ms-app")) {
64
+ winrt::Windows::Foundation::Uri uri(bundleUri);
67
65
  file = co_await winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
68
- } else if (bundleUri._Starts_with("resource://")) {
69
- co_return GetBundleFromEmbeddedResource(str);
66
+ } else if (bundleUri._Starts_with(L"resource://")) {
67
+ winrt::Windows::Foundation::Uri uri(bundleUri);
68
+ co_return GetBundleFromEmbeddedResource(uri);
70
69
  } else {
71
- file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(str);
70
+ file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(bundleUri);
72
71
  }
73
72
 
74
73
  // Read the buffer manually to avoid a Utf8 -> Utf16 -> Utf8 encoding
@@ -90,11 +89,11 @@ std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::string &b
90
89
  co_return script;
91
90
  }
92
91
 
93
- std::string LocalBundleReader::LoadBundle(const std::string &bundlePath) {
92
+ std::string LocalBundleReader::LoadBundle(const std::wstring &bundlePath) {
94
93
  return LoadBundleAsync(bundlePath).get();
95
94
  }
96
95
 
97
- StorageFileBigString::StorageFileBigString(const std::string &path) {
96
+ StorageFileBigString::StorageFileBigString(const std::wstring &path) {
98
97
  m_futureBuffer = LocalBundleReader::LoadBundleAsync(path);
99
98
  }
100
99
 
@@ -10,13 +10,13 @@ namespace Microsoft::ReactNative {
10
10
 
11
11
  class LocalBundleReader {
12
12
  public:
13
- static std::future<std::string> LoadBundleAsync(const std::string &bundlePath);
14
- static std::string LoadBundle(const std::string &bundlePath);
13
+ static std::future<std::string> LoadBundleAsync(const std::wstring bundlePath);
14
+ static std::string LoadBundle(const std::wstring &bundlePath);
15
15
  };
16
16
 
17
17
  class StorageFileBigString : public facebook::react::JSBigString {
18
18
  public:
19
- StorageFileBigString(const std::string &path);
19
+ StorageFileBigString(const std::wstring &path);
20
20
  bool isAscii() const override;
21
21
  const char *c_str() const override;
22
22
  size_t size() const override;
@@ -0,0 +1,33 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "pch.h"
5
+ #include <Utils/ThemeUtils.h>
6
+
7
+ #include <winuser.h>
8
+
9
+ namespace Microsoft::ReactNative {
10
+
11
+ bool IsColorLight(const winrt::Windows::UI::Color &clr) noexcept {
12
+ return (((5 * clr.G) + (2 * clr.R) + clr.B) > (8 * 128));
13
+ }
14
+
15
+ bool IsInHighContrastWin32() noexcept {
16
+ BOOL fResult;
17
+ HIGHCONTRAST info;
18
+
19
+ fResult = SystemParametersInfo(
20
+ SPI_GETHIGHCONTRAST, // Get contrast information
21
+ 0, // Not used
22
+ &info, // Holds contrast information
23
+ 0); // Not used
24
+
25
+ // Double it.
26
+ if (fResult) {
27
+ return !!(info.dwFlags & HCF_HIGHCONTRASTON);
28
+ }
29
+
30
+ return false;
31
+ }
32
+
33
+ } // namespace Microsoft::ReactNative