react-native-windows 0.70.9 → 0.71.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (913) hide show
  1. package/.flowconfig +3 -6
  2. package/Directory.Build.props +2 -2
  3. package/Folly/Folly.vcxproj +4 -2
  4. package/Folly/Folly.vcxproj.filters +7 -3
  5. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +59 -43
  6. package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +192 -0
  7. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +7 -5
  8. package/Folly/cgmanifest.json +2 -1
  9. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
  10. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
  11. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  12. package/Libraries/Alert/Alert.d.ts +90 -0
  13. package/Libraries/Alert/Alert.js +7 -1
  14. package/Libraries/Alert/Alert.windows.js +2 -1
  15. package/Libraries/Alert/NativeAlertManager.js +2 -0
  16. package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
  17. package/Libraries/Animated/Animated.d.ts +587 -0
  18. package/Libraries/Animated/Animated.js +13 -11
  19. package/Libraries/Animated/AnimatedEvent.js +12 -17
  20. package/Libraries/Animated/AnimatedImplementation.js +21 -23
  21. package/Libraries/Animated/AnimatedMock.js +11 -13
  22. package/Libraries/Animated/AnimatedWeb.js +2 -2
  23. package/Libraries/Animated/Easing.d.ts +37 -0
  24. package/Libraries/Animated/Easing.js +2 -2
  25. package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
  26. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  27. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  28. package/Libraries/Animated/SpringConfig.js +2 -7
  29. package/Libraries/Animated/animations/Animation.js +3 -4
  30. package/Libraries/Animated/animations/DecayAnimation.js +5 -8
  31. package/Libraries/Animated/animations/SpringAnimation.js +9 -14
  32. package/Libraries/Animated/animations/TimingAnimation.js +9 -13
  33. package/Libraries/Animated/bezier.js +2 -2
  34. package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
  35. package/Libraries/Animated/components/AnimatedImage.js +5 -6
  36. package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
  37. package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
  38. package/Libraries/Animated/components/AnimatedText.js +5 -6
  39. package/Libraries/Animated/components/AnimatedView.js +5 -6
  40. package/Libraries/Animated/createAnimatedComponent.js +13 -20
  41. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
  42. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
  43. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  44. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
  45. package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
  46. package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
  47. package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
  48. package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
  49. package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
  50. package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
  51. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
  52. package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
  53. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
  54. package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
  55. package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
  56. package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
  57. package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
  58. package/Libraries/Animated/useAnimatedProps.js +8 -16
  59. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  60. package/Libraries/Animated/useAnimatedValue.js +25 -0
  61. package/Libraries/AppState/AppState.d.ts +58 -0
  62. package/Libraries/AppState/AppState.js +3 -7
  63. package/Libraries/AppState/NativeAppState.js +1 -0
  64. package/Libraries/BatchedBridge/MessageQueue.js +9 -5
  65. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  66. package/Libraries/BatchedBridge/NativeModules.js +1 -0
  67. package/Libraries/Blob/BlobManager.js +5 -3
  68. package/Libraries/Blob/File.js +2 -3
  69. package/Libraries/Blob/FileReader.js +6 -5
  70. package/Libraries/Blob/NativeBlobModule.js +1 -0
  71. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  72. package/Libraries/Blob/URL.js +11 -9
  73. package/Libraries/BugReporting/NativeBugReporting.js +1 -0
  74. package/Libraries/BugReporting/getReactData.js +1 -1
  75. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
  76. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
  77. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
  78. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +40 -8
  79. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
  80. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
  81. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  82. package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
  83. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
  84. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  85. package/Libraries/Components/Button.d.ts +42 -0
  86. package/Libraries/Components/Button.flow.js +265 -0
  87. package/Libraries/Components/Button.js +62 -18
  88. package/Libraries/Components/Button.windows.js +62 -18
  89. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  90. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
  91. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
  92. package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
  93. package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
  94. package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
  95. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
  96. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +4 -2
  97. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
  98. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
  99. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
  100. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
  101. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  102. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  103. package/Libraries/Components/Keyboard/Keyboard.js +35 -8
  104. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  105. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
  106. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
  107. package/Libraries/Components/Popup/PopupProps.d.ts +1 -0
  108. package/Libraries/Components/Popup/PopupProps.js.map +1 -1
  109. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  110. package/Libraries/Components/Pressable/Pressable.js +73 -15
  111. package/Libraries/Components/Pressable/Pressable.windows.js +78 -20
  112. package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
  113. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
  114. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  115. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  116. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  117. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
  118. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
  119. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +1 -1
  120. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
  121. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
  122. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
  123. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  124. package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
  125. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +4 -3
  126. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  127. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  128. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  129. package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
  130. package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
  131. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +5 -4
  132. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
  133. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
  134. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
  135. package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
  136. package/Libraries/Components/ScrollView/ScrollView.js +87 -52
  137. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  138. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
  139. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
  140. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
  141. package/Libraries/Components/Slider/Slider.d.ts +132 -0
  142. package/Libraries/Components/Slider/Slider.js +9 -9
  143. package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
  144. package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
  145. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
  146. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
  147. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  148. package/Libraries/Components/StatusBar/StatusBar.js +7 -7
  149. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
  150. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  151. package/Libraries/Components/Switch/Switch.js +7 -7
  152. package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
  153. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
  154. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  155. package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
  156. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  157. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
  158. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
  159. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  160. package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
  161. package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
  162. package/Libraries/Components/TextInput/TextInput.js +344 -38
  163. package/Libraries/Components/TextInput/TextInput.windows.js +348 -38
  164. package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
  165. package/Libraries/Components/TextInput/TextInputState.js +22 -5
  166. package/Libraries/Components/TextInput/TextInputState.windows.js +22 -5
  167. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
  168. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  169. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  170. package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
  171. package/Libraries/Components/Touchable/Touchable.js +12 -12
  172. package/Libraries/Components/Touchable/Touchable.windows.js +12 -12
  173. package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
  174. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
  175. package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
  176. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +32 -9
  177. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
  178. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
  179. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
  180. package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
  181. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +54 -16
  182. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
  183. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
  184. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +64 -10
  185. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  186. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  187. package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
  188. package/Libraries/Components/View/View.d.ts +29 -0
  189. package/Libraries/Components/View/View.js +91 -8
  190. package/Libraries/Components/View/View.windows.js +181 -94
  191. package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
  192. package/Libraries/Components/View/ViewAccessibility.js +70 -1
  193. package/Libraries/Components/View/ViewAccessibility.windows.js +69 -0
  194. package/Libraries/Components/View/ViewNativeComponent.js +3 -3
  195. package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
  196. package/Libraries/Components/View/ViewPropTypes.js +105 -13
  197. package/Libraries/Components/View/ViewPropTypes.windows.js +105 -13
  198. package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
  199. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  200. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  201. package/Libraries/Core/ExceptionsManager.js +8 -0
  202. package/Libraries/Core/ExtendedError.js +11 -8
  203. package/Libraries/Core/InitializeCore.js +2 -1
  204. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  205. package/Libraries/Core/RawEventEmitter.js +2 -1
  206. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  207. package/Libraries/Core/ReactNativeVersion.js +2 -2
  208. package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
  209. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  210. package/Libraries/Core/Timers/JSTimers.js +13 -11
  211. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  212. package/Libraries/Core/setUpBatchedBridge.js +1 -5
  213. package/Libraries/Core/setUpDeveloperTools.js +4 -6
  214. package/Libraries/Core/setUpReactDevTools.js +4 -1
  215. package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
  216. package/Libraries/Core/setUpTimers.js +1 -1
  217. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
  218. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
  219. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
  220. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  221. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  222. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
  223. package/Libraries/Events/EventPolyfill.js +1 -1
  224. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
  225. package/Libraries/Image/AssetSourceResolver.js +4 -6
  226. package/Libraries/Image/Image.android.js +63 -45
  227. package/Libraries/Image/Image.d.ts +322 -0
  228. package/Libraries/Image/Image.flow.js +64 -0
  229. package/Libraries/Image/Image.ios.js +55 -28
  230. package/Libraries/Image/Image.windows.js +56 -30
  231. package/Libraries/Image/ImageBackground.js +18 -7
  232. package/Libraries/Image/ImageInjection.js +2 -1
  233. package/Libraries/Image/ImageProps.js +88 -5
  234. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  235. package/Libraries/Image/ImageSource.d.ts +76 -0
  236. package/Libraries/Image/ImageSourceUtils.js +80 -0
  237. package/Libraries/Image/ImageUtils.js +21 -0
  238. package/Libraries/Image/ImageViewNativeComponent.js +8 -5
  239. package/Libraries/Image/NativeImageEditor.js +1 -0
  240. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  241. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  242. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  243. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  244. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
  245. package/Libraries/Image/nativeImageSource.js +2 -2
  246. package/Libraries/Image/resolveAssetSource.js +5 -5
  247. package/Libraries/Inspector/BorderBox.js +1 -1
  248. package/Libraries/Inspector/BoxInspector.js +3 -4
  249. package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
  250. package/Libraries/Inspector/ElementBox.js +4 -5
  251. package/Libraries/Inspector/ElementProperties.js +10 -11
  252. package/Libraries/Inspector/Inspector.js +22 -108
  253. package/Libraries/Inspector/InspectorOverlay.js +5 -5
  254. package/Libraries/Inspector/InspectorPanel.js +12 -10
  255. package/Libraries/Inspector/NetworkOverlay.js +7 -3
  256. package/Libraries/Inspector/PerformanceOverlay.js +3 -3
  257. package/Libraries/Inspector/StyleInspector.js +2 -2
  258. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
  259. package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
  260. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  261. package/Libraries/Interaction/InteractionManager.js +8 -8
  262. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  263. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  264. package/Libraries/Interaction/PanResponder.flow.js +257 -0
  265. package/Libraries/Interaction/PanResponder.js +4 -3
  266. package/Libraries/JSInspector/JSInspector.js +0 -3
  267. package/Libraries/JSInspector/NetworkAgent.js +3 -3
  268. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  269. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
  270. package/Libraries/Linking/Linking.d.ts +61 -0
  271. package/Libraries/Linking/Linking.js +3 -2
  272. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  273. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  274. package/Libraries/Lists/CellRenderMask.js +13 -3
  275. package/Libraries/Lists/ChildListCollection.js +72 -0
  276. package/Libraries/Lists/FillRateHelper.js +28 -17
  277. package/Libraries/Lists/FlatList.d.ts +292 -0
  278. package/Libraries/Lists/FlatList.js +70 -70
  279. package/Libraries/Lists/SectionList.d.ts +300 -0
  280. package/Libraries/Lists/SectionList.js +5 -5
  281. package/Libraries/Lists/SectionListModern.js +6 -6
  282. package/Libraries/Lists/StateSafePureComponent.js +85 -0
  283. package/Libraries/Lists/ViewabilityHelper.js +33 -12
  284. package/Libraries/Lists/VirtualizeUtils.js +17 -13
  285. package/Libraries/Lists/VirtualizedList.d.ts +317 -0
  286. package/Libraries/Lists/VirtualizedList.js +548 -890
  287. package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
  288. package/Libraries/Lists/VirtualizedListContext.js +7 -48
  289. package/Libraries/Lists/VirtualizedListProps.js +279 -0
  290. package/Libraries/Lists/VirtualizedSectionList.js +6 -3
  291. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  292. package/Libraries/LogBox/Data/LogBoxData.js +9 -8
  293. package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
  294. package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
  295. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
  296. package/Libraries/LogBox/LogBox.d.ts +28 -0
  297. package/Libraries/LogBox/LogBox.js +11 -11
  298. package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
  299. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  300. package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
  301. package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
  302. package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
  303. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
  304. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
  305. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
  306. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
  307. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
  308. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  309. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
  310. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
  311. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
  312. package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
  313. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
  314. package/Libraries/Modal/Modal.d.ts +104 -0
  315. package/Libraries/Modal/Modal.js +14 -14
  316. package/Libraries/Modal/NativeModalManager.js +1 -0
  317. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
  318. package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
  319. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
  320. package/Libraries/NativeComponent/BaseViewConfig.windows.js +8 -3
  321. package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
  322. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
  323. package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
  324. package/Libraries/NativeComponent/ViewConfig.js +1 -0
  325. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
  326. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  327. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  328. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  329. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  330. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
  331. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  332. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  333. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  334. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  335. package/Libraries/Network/RCTNetworking.android.js +4 -3
  336. package/Libraries/Network/RCTNetworking.ios.js +3 -2
  337. package/Libraries/Network/RCTNetworking.windows.js +1 -0
  338. package/Libraries/Network/convertRequestBody.js +1 -2
  339. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
  340. package/Libraries/NewAppScreen/components/Header.js +6 -2
  341. package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
  342. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
  343. package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
  344. package/Libraries/NewAppScreen/index.js +1 -1
  345. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
  346. package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
  347. package/Libraries/Performance/Systrace.d.ts +66 -0
  348. package/Libraries/Performance/Systrace.js +110 -195
  349. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  350. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
  351. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
  352. package/Libraries/Pressability/Pressability.js +12 -10
  353. package/Libraries/Pressability/Pressability.windows.js +21 -12
  354. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  355. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  356. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
  357. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
  358. package/Libraries/ReactNative/AppContainer.js +17 -7
  359. package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
  360. package/Libraries/ReactNative/AppRegistry.js +11 -14
  361. package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
  362. package/Libraries/ReactNative/FabricUIManager.js +3 -3
  363. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  364. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  365. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  366. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  367. package/Libraries/ReactNative/PaperUIManager.js +2 -2
  368. package/Libraries/ReactNative/PaperUIManager.windows.js +1 -1
  369. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
  370. package/Libraries/ReactNative/RendererImplementation.js +112 -0
  371. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  372. package/Libraries/ReactNative/RendererProxy.js +26 -0
  373. package/Libraries/ReactNative/RootTag.js +0 -1
  374. package/Libraries/ReactNative/UIManager.d.ts +157 -0
  375. package/Libraries/ReactNative/UIManager.js +1 -1
  376. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
  377. package/Libraries/ReactNative/renderApplication.js +38 -20
  378. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  379. package/Libraries/ReactNative/requireNativeComponent.js +2 -2
  380. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
  381. package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
  382. package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
  383. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
  384. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
  385. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
  386. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
  387. package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
  388. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  389. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  390. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  391. package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
  392. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
  393. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
  394. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  395. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  396. package/Libraries/Settings/Settings.d.ts +18 -0
  397. package/Libraries/Share/NativeShareModule.js +1 -0
  398. package/Libraries/Share/Share.d.ts +80 -0
  399. package/Libraries/Share/Share.js +7 -5
  400. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  401. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  402. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  403. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  404. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
  405. package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
  406. package/Libraries/StyleSheet/StyleSheet.js +15 -11
  407. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
  408. package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
  409. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
  410. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  411. package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
  412. package/Libraries/StyleSheet/processAspectRatio.js +53 -0
  413. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  414. package/Libraries/StyleSheet/processColor.js +3 -4
  415. package/Libraries/StyleSheet/processColorArray.js +1 -0
  416. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  417. package/Libraries/StyleSheet/processTransform.js +114 -105
  418. package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
  419. package/Libraries/Text/Text.d.ts +209 -0
  420. package/Libraries/Text/Text.js +94 -12
  421. package/Libraries/Text/Text.windows.js +87 -11
  422. package/Libraries/Text/TextNativeComponent.js +49 -41
  423. package/Libraries/Text/TextProps.js +64 -7
  424. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  425. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  426. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
  427. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  428. package/Libraries/Types/CoreEventTypes.d.ts +263 -0
  429. package/Libraries/Types/CoreEventTypes.js +2 -1
  430. package/Libraries/Types/CoreEventTypes.windows.js +2 -1
  431. package/Libraries/Utilities/AcessibilityMapping.js +154 -0
  432. package/Libraries/Utilities/Appearance.d.ts +43 -0
  433. package/Libraries/Utilities/Appearance.js +3 -3
  434. package/Libraries/Utilities/BackHandler.android.js +3 -5
  435. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  436. package/Libraries/Utilities/BackHandler.windows.js +3 -5
  437. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  438. package/Libraries/Utilities/DevSettings.js +4 -2
  439. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  440. package/Libraries/Utilities/Dimensions.js +2 -2
  441. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
  442. package/Libraries/Utilities/HMRClient.js +23 -8
  443. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  444. package/Libraries/Utilities/NativeAppearance.js +1 -0
  445. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  446. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
  447. package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
  448. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  449. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  450. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  451. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
  452. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  453. package/Libraries/Utilities/Platform.android.js +11 -5
  454. package/Libraries/Utilities/Platform.d.ts +102 -0
  455. package/Libraries/Utilities/Platform.ios.js +12 -5
  456. package/Libraries/Utilities/Platform.windows.js +11 -5
  457. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  458. package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
  459. package/Libraries/Utilities/codegenNativeCommands.js +1 -10
  460. package/Libraries/Utilities/codegenNativeComponent.js +4 -1
  461. package/Libraries/Utilities/createPerformanceLogger.js +7 -8
  462. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  463. package/Libraries/Utilities/groupByEveryN.js +1 -1
  464. package/Libraries/Utilities/stringifySafe.js +3 -1
  465. package/Libraries/Utilities/useColorScheme.js +3 -2
  466. package/Libraries/Utilities/useRefEffect.js +1 -1
  467. package/Libraries/Vibration/NativeVibration.js +1 -0
  468. package/Libraries/Vibration/Vibration.d.ts +43 -0
  469. package/Libraries/Vibration/Vibration.js +1 -0
  470. package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
  471. package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
  472. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  473. package/Libraries/WebSocket/WebSocket.js +11 -3
  474. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  475. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  476. package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
  477. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
  478. package/Libraries/__tests__/ViewWindows-test.js +16 -0
  479. package/Libraries/platform-types.d.ts +17 -0
  480. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  481. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  482. package/Microsoft.ReactNative/ABIViewManager.cpp +19 -1
  483. package/Microsoft.ReactNative/ABIViewManager.h +9 -0
  484. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -22
  485. package/Microsoft.ReactNative/Base/CoreNativeModules.h +0 -2
  486. package/Microsoft.ReactNative/CompositionContext.idl +31 -0
  487. package/Microsoft.ReactNative/CompositionHwndHost.idl +33 -0
  488. package/Microsoft.ReactNative/CompositionRootView.idl +45 -0
  489. package/Microsoft.ReactNative/CompositionSwitcher.idl +123 -0
  490. package/Microsoft.ReactNative/CompositionUIService.idl +24 -0
  491. package/Microsoft.ReactNative/Fabric/ComponentView.h +10 -0
  492. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +83 -0
  493. package/Microsoft.ReactNative/Fabric/{ComponentViewRegistry.h → Composition/ComponentViewRegistry.h} +9 -12
  494. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +816 -0
  495. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +33 -0
  496. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +833 -0
  497. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +116 -0
  498. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.cpp +137 -0
  499. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +44 -0
  500. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +145 -0
  501. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +49 -0
  502. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +359 -0
  503. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +81 -0
  504. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +27 -0
  505. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.h +23 -0
  506. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +1217 -0
  507. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +113 -0
  508. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +332 -0
  509. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +90 -0
  510. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +415 -0
  511. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +62 -0
  512. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +355 -0
  513. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +103 -0
  514. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +177 -0
  515. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1076 -0
  516. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +99 -0
  517. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputEventEmitter.cpp +0 -0
  518. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputEventEmitter.h +0 -0
  519. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputProps.cpp +1 -31
  520. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputProps.h +15 -28
  521. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputShadowNode.cpp +16 -14
  522. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputShadowNode.h +3 -3
  523. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputState.cpp +27 -10
  524. package/Microsoft.ReactNative/Fabric/{TextInput → Composition/TextInput}/WindowsTextInputState.h +5 -16
  525. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -157
  526. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +10 -9
  527. package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +34 -0
  528. package/Microsoft.ReactNative/Fabric/ImageManager.cpp +5 -7
  529. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +23 -8
  530. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +35 -0
  531. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +125 -0
  532. package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +20 -0
  533. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +5 -0
  534. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +5 -0
  535. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +4 -6
  536. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +17 -0
  537. package/Microsoft.ReactNative/INativeUIManager.h +1 -1
  538. package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -9
  539. package/Microsoft.ReactNative/IViewManager.idl +14 -0
  540. package/Microsoft.ReactNative/IViewManagerCore.idl +1 -0
  541. package/Microsoft.ReactNative/JsiApi.cpp +94 -0
  542. package/Microsoft.ReactNative/JsiApi.h +13 -0
  543. package/Microsoft.ReactNative/JsiApi.idl +13 -0
  544. package/Microsoft.ReactNative/LayoutService.cpp +51 -0
  545. package/Microsoft.ReactNative/LayoutService.h +32 -0
  546. package/Microsoft.ReactNative/LayoutService.idl +41 -0
  547. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +32 -20
  548. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +11 -1
  549. package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.cpp +33 -16
  550. package/Microsoft.ReactNative/Modules/Animated/AdditionAnimatedNode.h +3 -2
  551. package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.cpp +17 -2
  552. package/Microsoft.ReactNative/Modules/Animated/AnimatedNode.h +19 -1
  553. package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.cpp +23 -0
  554. package/Microsoft.ReactNative/Modules/Animated/AnimatedPlatformConfig.h +17 -0
  555. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.cpp +49 -18
  556. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.h +29 -7
  557. package/Microsoft.ReactNative/Modules/Animated/AnimationUtils.h +45 -0
  558. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.cpp +6 -5
  559. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.h +1 -3
  560. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.cpp +31 -5
  561. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.h +3 -1
  562. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.cpp +30 -15
  563. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.h +4 -2
  564. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.cpp +43 -20
  565. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.h +3 -2
  566. package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.cpp +2 -2
  567. package/Microsoft.ReactNative/Modules/Animated/EventAnimationDriver.h +1 -1
  568. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.cpp +45 -8
  569. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.h +7 -2
  570. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.cpp +76 -38
  571. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.h +6 -5
  572. package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.cpp +25 -13
  573. package/Microsoft.ReactNative/Modules/Animated/ModulusAnimatedNode.h +4 -2
  574. package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.cpp +33 -16
  575. package/Microsoft.ReactNative/Modules/Animated/MultiplicationAnimatedNode.h +3 -2
  576. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +245 -209
  577. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +91 -41
  578. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +336 -82
  579. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +33 -10
  580. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +185 -57
  581. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +28 -5
  582. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.cpp +72 -20
  583. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.h +8 -4
  584. package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.cpp +20 -5
  585. package/Microsoft.ReactNative/Modules/Animated/StyleAnimatedNode.h +3 -2
  586. package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.cpp +42 -20
  587. package/Microsoft.ReactNative/Modules/Animated/SubtractionAnimatedNode.h +3 -1
  588. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.cpp +20 -11
  589. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.h +5 -6
  590. package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.cpp +36 -9
  591. package/Microsoft.ReactNative/Modules/Animated/TransformAnimatedNode.h +5 -2
  592. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.cpp +60 -32
  593. package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +11 -4
  594. package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +58 -37
  595. package/Microsoft.ReactNative/Modules/AppearanceModule.h +25 -32
  596. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +3 -1
  597. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +42 -10
  598. package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +157 -39
  599. package/Microsoft.ReactNative/Modules/LogBoxModule.h +6 -0
  600. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +72 -85
  601. package/Microsoft.ReactNative/Modules/NativeUIManager.h +8 -4
  602. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +7 -19
  603. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +1 -0
  604. package/Microsoft.ReactNative/Modules/TimingModule.cpp +48 -87
  605. package/Microsoft.ReactNative/Modules/TimingModule.h +20 -30
  606. package/Microsoft.ReactNative/QuirkSettings.cpp +22 -0
  607. package/Microsoft.ReactNative/QuirkSettings.h +9 -0
  608. package/Microsoft.ReactNative/QuirkSettings.idl +7 -0
  609. package/Microsoft.ReactNative/ReactCoreInjection.cpp +7 -2
  610. package/Microsoft.ReactNative/ReactCoreInjection.h +4 -1
  611. package/Microsoft.ReactNative/ReactCoreInjection.idl +4 -1
  612. package/Microsoft.ReactNative/ReactHost/React.h +0 -3
  613. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +28 -23
  614. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -3
  615. package/Microsoft.ReactNative/ReactNativeHost.cpp +2 -1
  616. package/Microsoft.ReactNative/ReactPackageBuilder.cpp +8 -3
  617. package/Microsoft.ReactNative/ReactPackageBuilder.h +4 -3
  618. package/Microsoft.ReactNative/ReactRootView.cpp +3 -75
  619. package/Microsoft.ReactNative/ReactRootView.h +0 -6
  620. package/Microsoft.ReactNative/ReactRootView.idl +1 -9
  621. package/Microsoft.ReactNative/RedBox.cpp +69 -8
  622. package/Microsoft.ReactNative/RedBox.h +2 -0
  623. package/Microsoft.ReactNative/RedBoxHandler.cpp +3 -1
  624. package/Microsoft.ReactNative/Utils/Helpers.cpp +13 -0
  625. package/Microsoft.ReactNative/Utils/Helpers.h +1 -0
  626. package/Microsoft.ReactNative/Utils/ImageUtils.cpp +94 -0
  627. package/Microsoft.ReactNative/Utils/ImageUtils.h +35 -0
  628. package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +3 -2
  629. package/Microsoft.ReactNative/Utils/PropertyUtils.h +31 -9
  630. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +19 -0
  631. package/Microsoft.ReactNative/Views/ControlViewManager.h +7 -0
  632. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +8 -4
  633. package/Microsoft.ReactNative/Views/ICompositionRootView.h +19 -0
  634. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +14 -0
  635. package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +7 -0
  636. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +8 -76
  637. package/Microsoft.ReactNative/Views/Image/ReactImage.h +1 -23
  638. package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +16 -3
  639. package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -2
  640. package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +1 -3
  641. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +10 -1
  642. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +0 -12
  643. package/Microsoft.ReactNative/Views/ShadowNodeRegistry.h +2 -4
  644. package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -7
  645. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +58 -42
  646. package/Microsoft.ReactNative/Views/TextViewManager.cpp +47 -31
  647. package/Microsoft.ReactNative/Views/TextViewManager.h +2 -0
  648. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +22 -247
  649. package/Microsoft.ReactNative/Views/TouchEventHandler.h +1 -6
  650. package/Microsoft.ReactNative/Views/ViewControl.cpp +2 -2
  651. package/Microsoft.ReactNative/Views/ViewControl.h +1 -1
  652. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +25 -13
  653. package/Microsoft.ReactNative/Views/ViewManagerBase.h +4 -0
  654. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +74 -35
  655. package/Microsoft.ReactNative/Views/ViewViewManager.h +1 -0
  656. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +4 -4
  657. package/Microsoft.ReactNative/XamlHelper.cpp +13 -0
  658. package/Microsoft.ReactNative/XamlHelper.h +4 -0
  659. package/Microsoft.ReactNative/XamlHelper.idl +9 -0
  660. package/Microsoft.ReactNative/XamlUIService.cpp +16 -0
  661. package/Microsoft.ReactNative/XamlUIService.h +2 -0
  662. package/Microsoft.ReactNative/XamlUIService.idl +4 -0
  663. package/Microsoft.ReactNative/XamlView.cpp +10 -0
  664. package/Microsoft.ReactNative/XamlView.h +7 -2
  665. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +76 -0
  666. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +13 -0
  667. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +71 -2
  668. package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
  669. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +1 -2
  670. package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +14 -4
  671. package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +5 -2
  672. package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +2 -0
  673. package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +1 -2
  674. package/Microsoft.ReactNative.Managed/IReactPromise.cs +0 -20
  675. package/Microsoft.ReactNative.Managed/JSValue.cs +1 -1
  676. package/Microsoft.ReactNative.Managed/JSValueReader.cs +438 -444
  677. package/Microsoft.ReactNative.Managed/JSValueWriter.cs +8 -7
  678. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +22 -7
  679. package/Microsoft.ReactNative.Managed/ReactAttributes.cs +16 -0
  680. package/Microsoft.ReactNative.Managed/ReactConstantProvider.cs +5 -0
  681. package/Microsoft.ReactNative.Managed/ReactContext.cs +19 -2
  682. package/Microsoft.ReactNative.Managed/ReactDispatcher.cs +34 -0
  683. package/Microsoft.ReactNative.Managed/ReactError.cs +36 -0
  684. package/Microsoft.ReactNative.Managed/ReactNotificationArgsOf.cs +23 -0
  685. package/Microsoft.ReactNative.Managed/ReactNotificationHandlerOf.cs +7 -0
  686. package/Microsoft.ReactNative.Managed/ReactNotificationIdOf.cs +44 -0
  687. package/Microsoft.ReactNative.Managed/ReactNotificationService.cs +146 -0
  688. package/Microsoft.ReactNative.Managed/ReactNotificationSubscription.cs +43 -0
  689. package/Microsoft.ReactNative.Managed/ReactNotificationSubscriptionRevoker.cs +64 -0
  690. package/Microsoft.ReactNative.Managed/ReactPromise.cs +123 -81
  691. package/Microsoft.ReactNative.Managed/ReactPropertyBag.cs +91 -0
  692. package/Microsoft.ReactNative.Managed/ReactPropertyIdOf.cs +44 -0
  693. package/Microsoft.ReactNative.Managed/ReactPropertyName.cs +39 -0
  694. package/Microsoft.ReactNative.Managed/ReactPropertyNamespace.cs +26 -0
  695. package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +44 -0
  696. package/Microsoft.ReactNative.Managed/ReactTaskExtensions.cs +15 -4
  697. package/Microsoft.ReactNative.Managed/packages.lock.json +51 -2
  698. package/Microsoft.ReactNative.Managed.CodeGen/App.cs +1 -1
  699. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +793 -731
  700. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +81 -44
  701. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Serializers.cs +57 -18
  702. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +36 -4
  703. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +5 -5
  704. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactAssembly.cs +3 -3
  705. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactGetConstants.cs +17 -0
  706. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactMethod.cs +11 -2
  707. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactModule.cs +2 -0
  708. package/Microsoft.ReactNative.Managed.CodeGen/Model/ReactTypes.cs +10 -4
  709. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
  710. package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
  711. package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +29 -3
  712. package/Microsoft.ReactNative.Managed.CodeGen/SyntaxHelpers.cs +6 -0
  713. package/Mso/smartPtr/cntPtr.h +21 -21
  714. package/PropertySheets/Codegen.props +15 -0
  715. package/PropertySheets/Codegen.targets +19 -0
  716. package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
  717. package/PropertySheets/External/Microsoft.ReactNative.CSharp.Dependencies.props +17 -0
  718. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  719. package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +0 -3
  720. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.props +1 -0
  721. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +3 -0
  722. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpLib.targets +1 -0
  723. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.props +1 -0
  724. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +3 -0
  725. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.targets +1 -0
  726. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +11 -0
  727. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +1 -0
  728. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +51 -0
  729. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +10 -1
  730. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  731. package/PropertySheets/JSEngine.props +10 -3
  732. package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
  733. package/PropertySheets/NewAPIDeclarations.props +25 -0
  734. package/PropertySheets/React.Cpp.props +2 -2
  735. package/PropertySheets/WinUI.props +1 -1
  736. package/README.md +2 -2
  737. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +2 -1
  738. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +182 -0
  739. package/ReactCommon/Yoga.cpp +76 -29
  740. package/Scripts/IntegrationTests.ps1 +1 -1
  741. package/Scripts/JustMyXaml.ps1 +8 -8
  742. package/Scripts/Microsoft.ReactNative.Managed.nuspec +1 -1
  743. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +3 -3
  744. package/Scripts/OfficeReact.Win32.nuspec +2 -0
  745. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +31 -1
  746. package/Scripts/UnitTest.ps1 +1 -1
  747. package/Scripts/rnw-dependencies.ps1 +317 -162
  748. package/Shared/Composition/CompositionSwitcher.interop.h +39 -0
  749. package/Shared/HermesShim.h +1 -1
  750. package/Shared/JSI/ChakraRuntime.cpp +42 -0
  751. package/Shared/JSI/ChakraRuntime.h +13 -0
  752. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +0 -2
  753. package/Shared/Networking/IWebSocketResource.h +1 -0
  754. package/Shared/Networking/OriginPolicyHttpFilter.cpp +6 -6
  755. package/Shared/OInstance.cpp +2 -0
  756. package/Shared/Shared.vcxitems +34 -4
  757. package/Shared/Shared.vcxitems.filters +1 -12
  758. package/Shared/V8JSIRuntimeHolder.h +0 -2
  759. package/codegen/NativeAccessibilityInfoSpec.g.h +12 -12
  760. package/codegen/NativeAccessibilityManagerSpec.g.h +37 -31
  761. package/codegen/NativeActionSheetManagerSpec.g.h +6 -6
  762. package/codegen/NativeAlertManagerSpec.g.h +4 -2
  763. package/codegen/NativeAnimatedModuleSpec.g.h +48 -48
  764. package/codegen/NativeAnimatedTurboModuleSpec.g.h +48 -48
  765. package/codegen/NativeAnimationsDebugModuleSpec.g.h +4 -4
  766. package/codegen/NativeAppStateSpec.g.h +6 -6
  767. package/codegen/NativeAppearanceSpec.g.h +6 -6
  768. package/codegen/NativeBlobModuleSpec.g.h +12 -12
  769. package/codegen/NativeBugReportingSpec.g.h +6 -6
  770. package/codegen/NativeClipboardSpec.g.h +4 -4
  771. package/codegen/NativeDatePickerAndroidSpec.g.h +2 -2
  772. package/codegen/NativeDevLoadingViewSpec.g.h +4 -4
  773. package/codegen/NativeDevMenuSpec.g.h +10 -10
  774. package/codegen/NativeDevSettingsSpec.g.h +22 -22
  775. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +2 -2
  776. package/codegen/NativeDeviceEventManagerSpec.g.h +2 -2
  777. package/codegen/NativeDialogManagerAndroidSpec.g.h +2 -2
  778. package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -2
  779. package/codegen/NativeExceptionsManagerSpec.g.h +10 -10
  780. package/codegen/NativeFileReaderModuleSpec.g.h +4 -4
  781. package/codegen/NativeFrameRateLoggerSpec.g.h +8 -8
  782. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +4 -4
  783. package/codegen/NativeI18nManagerSpec.g.h +6 -6
  784. package/codegen/NativeImageEditorSpec.g.h +2 -2
  785. package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -10
  786. package/codegen/NativeImageLoaderIOSSpec.g.h +10 -10
  787. package/codegen/NativeImageStoreAndroidSpec.g.h +2 -2
  788. package/codegen/NativeImageStoreIOSSpec.g.h +8 -8
  789. package/codegen/NativeIntentAndroidSpec.g.h +10 -10
  790. package/codegen/NativeJSCHeapCaptureSpec.g.h +2 -2
  791. package/codegen/NativeJSCSamplingProfilerSpec.g.h +2 -2
  792. package/codegen/NativeKeyboardObserverSpec.g.h +4 -4
  793. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  794. package/codegen/NativeLogBoxSpec.g.h +4 -4
  795. package/codegen/NativeModalManagerSpec.g.h +4 -4
  796. package/codegen/NativeNetworkingAndroidSpec.g.h +10 -10
  797. package/codegen/NativeNetworkingIOSSpec.g.h +10 -10
  798. package/codegen/NativePerformanceObserverSpec.g.h +69 -0
  799. package/codegen/NativePermissionsAndroidSpec.g.h +8 -8
  800. package/codegen/NativePlatformConstantsAndroidSpec.g.h +2 -2
  801. package/codegen/NativePushNotificationManagerIOSSpec.g.h +36 -36
  802. package/codegen/NativeRedBoxSpec.g.h +4 -4
  803. package/codegen/NativeSampleTurboModuleSpec.g.h +22 -22
  804. package/codegen/NativeSegmentFetcherSpec.g.h +4 -4
  805. package/codegen/NativeSettingsManagerSpec.g.h +4 -4
  806. package/codegen/NativeShareModuleSpec.g.h +2 -2
  807. package/codegen/NativeSoundManagerSpec.g.h +2 -2
  808. package/codegen/NativeStatusBarManagerAndroidSpec.g.h +8 -8
  809. package/codegen/NativeStatusBarManagerIOSSpec.g.h +12 -12
  810. package/codegen/NativeTimingSpec.g.h +6 -6
  811. package/codegen/NativeToastAndroidSpec.g.h +6 -6
  812. package/codegen/NativeUIManagerSpec.g.h +50 -50
  813. package/codegen/NativeVibrationSpec.g.h +6 -6
  814. package/codegen/NativeWebSocketModuleSpec.g.h +14 -14
  815. package/codegen/react/components/rnwcore/ComponentDescriptors.h +3 -4
  816. package/codegen/react/components/rnwcore/EventEmitters.cpp +5 -4
  817. package/codegen/react/components/rnwcore/EventEmitters.h +21 -26
  818. package/codegen/react/components/rnwcore/Props.cpp +3 -10
  819. package/codegen/react/components/rnwcore/Props.h +19 -28
  820. package/codegen/react/components/rnwcore/ShadowNodes.cpp +3 -4
  821. package/codegen/react/components/rnwcore/ShadowNodes.h +36 -30
  822. package/codegen/react/components/rnwcore/States.cpp +18 -0
  823. package/codegen/react/components/rnwcore/States.h +156 -0
  824. package/codegen/rnwcoreJSI-generated.cpp +1670 -0
  825. package/codegen/rnwcoreJSI.h +5620 -0
  826. package/fmt/cgmanifest.json +1 -0
  827. package/fmt/fmt.vcxproj +2 -1
  828. package/index.js +89 -55
  829. package/index.windows.js +89 -55
  830. package/interface.js +8 -0
  831. package/jest/react-native-env.js +18 -0
  832. package/jest/renderer.js +2 -2
  833. package/jest/setup.js +7 -9
  834. package/just-task.js +5 -1
  835. package/package.json +37 -37
  836. package/template/cpp-app/proj/MyApp.sln +2 -2
  837. package/template/cpp-app/proj/MyApp.vcxproj +3 -3
  838. package/template/cpp-app/src/ReactPackageProvider.cpp +1 -1
  839. package/template/cpp-lib/proj/MyLib.sln +2 -2
  840. package/template/cpp-lib/proj/MyLib.vcxproj +3 -3
  841. package/template/cpp-lib/src/ReactPackageProvider.cpp +1 -1
  842. package/template/cs-app/proj/MyApp.csproj +10 -8
  843. package/template/cs-app/proj/MyApp.sln +2 -2
  844. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +3 -3
  845. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +2 -1
  846. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +19 -15
  847. package/template/cs-app-WinAppSDK/proj/MyApp.sln +2 -2
  848. package/template/cs-lib/proj/MyLib.csproj +14 -8
  849. package/template/cs-lib/proj/MyLib.sln +2 -2
  850. package/template/shared-app/proj/ExperimentalFeatures.props +2 -0
  851. package/template/shared-lib/proj/ExperimentalFeatures.props +2 -0
  852. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  853. package/Libraries/Components/MaskedView/MaskedViewIOS.windows.js +0 -9
  854. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  855. package/Libraries/Core/setUpSystrace.js +0 -21
  856. package/Libraries/Image/ImagePickerIOS.js +0 -103
  857. package/Libraries/Image/NativeImagePickerIOS.js +0 -38
  858. package/Libraries/Lists/VirtualizedList.windows.js +0 -9
  859. package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
  860. package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
  861. package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
  862. package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
  863. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
  864. package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
  865. package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
  866. package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
  867. package/Libraries/Storage/AsyncStorage.js +0 -385
  868. package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
  869. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
  870. package/Libraries/StyleSheet/processTransform.windows.js +0 -274
  871. package/Libraries/Utilities/JSDevSupportModule.js +0 -37
  872. package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
  873. package/Microsoft.ReactNative/Fabric/ActivityIndicatorComponentView.cpp +0 -81
  874. package/Microsoft.ReactNative/Fabric/ActivityIndicatorComponentView.h +0 -46
  875. package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +0 -118
  876. package/Microsoft.ReactNative/Fabric/ImageComponentView.cpp +0 -138
  877. package/Microsoft.ReactNative/Fabric/ImageComponentView.h +0 -49
  878. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +0 -160
  879. package/Microsoft.ReactNative/Fabric/ParagraphComponentView.h +0 -40
  880. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +0 -200
  881. package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.h +0 -62
  882. package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +0 -107
  883. package/Microsoft.ReactNative/Fabric/SliderComponentView.h +0 -51
  884. package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +0 -109
  885. package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +0 -52
  886. package/Microsoft.ReactNative/Fabric/TextComponentView.cpp +0 -98
  887. package/Microsoft.ReactNative/Fabric/TextComponentView.h +0 -39
  888. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +0 -197
  889. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +0 -308
  890. package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +0 -52
  891. package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +0 -229
  892. package/Microsoft.ReactNative/Fabric/ViewComponentView.h +0 -56
  893. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +0 -46
  894. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +0 -30
  895. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -145
  896. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -344
  897. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/BaseTextProps.cpp +0 -313
  898. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -455
  899. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/PropsMacros.h +0 -91
  900. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/CompactValue.h +0 -206
  901. package/codegen/NativeAsyncLocalStorageSpec.g.h +0 -111
  902. package/codegen/NativeAsyncSQLiteDBStorageSpec.g.h +0 -111
  903. package/codegen/NativeImagePickerIOSSpec.g.h +0 -79
  904. package/codegen/NativeJSDevSupportSpec.g.h +0 -57
  905. package/rntypes/BatchedBridge.d.ts +0 -23
  906. package/rntypes/Devtools.d.ts +0 -20
  907. package/rntypes/LaunchScreen.d.ts +0 -9
  908. package/rntypes/globals.d.ts +0 -497
  909. package/rntypes/index.d.ts +0 -9754
  910. package/rntypes/legacy-properties.d.ts +0 -238
  911. package/typings-index.d.ts +0 -19
  912. package/typings-index.js +0 -44
  913. package/typings-index.js.map +0 -1
@@ -0,0 +1,94 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "pch.h"
5
+ #include "ImageUtils.h"
6
+
7
+ #include <Shared/cdebug.h>
8
+ #include <winrt/Windows.Security.Cryptography.h>
9
+ #include <winrt/Windows.Web.Http.Headers.h>
10
+ #include <winrt/Windows.Web.Http.h>
11
+
12
+ namespace winrt {
13
+ using namespace Windows::Foundation;
14
+ using namespace Windows::Storage::Streams;
15
+ using namespace Windows::Web::Http;
16
+ } // namespace winrt
17
+
18
+ namespace Microsoft::ReactNative {
19
+
20
+ winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageStreamAsync(ReactImageSource source) {
21
+ try {
22
+ co_await winrt::resume_background();
23
+
24
+ auto httpMethod{
25
+ source.method.empty() ? winrt::HttpMethod::Get() : winrt::HttpMethod{winrt::to_hstring(source.method)}};
26
+
27
+ winrt::Uri uri{winrt::to_hstring(source.uri)};
28
+ winrt::HttpRequestMessage request{httpMethod, uri};
29
+
30
+ if (!source.headers.empty()) {
31
+ for (auto &header : source.headers) {
32
+ if (_stricmp(header.first.c_str(), "authorization") == 0) {
33
+ request.Headers().TryAppendWithoutValidation(
34
+ winrt::to_hstring(header.first), winrt::to_hstring(header.second));
35
+ } else {
36
+ request.Headers().Append(winrt::to_hstring(header.first), winrt::to_hstring(header.second));
37
+ }
38
+ }
39
+ }
40
+
41
+ winrt::HttpClient httpClient;
42
+ winrt::HttpResponseMessage response{co_await httpClient.SendRequestAsync(request)};
43
+
44
+ if (response && response.StatusCode() == winrt::HttpStatusCode::Ok) {
45
+ winrt::IInputStream inputStream{co_await response.Content().ReadAsInputStreamAsync()};
46
+ winrt::InMemoryRandomAccessStream memoryStream;
47
+ co_await winrt::RandomAccessStream::CopyAsync(inputStream, memoryStream);
48
+ memoryStream.Seek(0);
49
+
50
+ co_return memoryStream;
51
+ }
52
+ } catch (winrt::hresult_error const &e) {
53
+ DEBUG_HRESULT_ERROR(e);
54
+ }
55
+
56
+ co_return nullptr;
57
+ }
58
+
59
+ winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageInlineDataAsync(ReactImageSource source) {
60
+ size_t start = source.uri.find(',');
61
+ if (start == std::string::npos || start + 1 > source.uri.length())
62
+ co_return nullptr;
63
+
64
+ try {
65
+ co_await winrt::resume_background();
66
+
67
+ std::string_view base64String(source.uri.c_str() + start + 1, source.uri.length() - start - 1);
68
+ auto buffer = winrt::Windows::Security::Cryptography::CryptographicBuffer::DecodeFromBase64String(
69
+ winrt::to_hstring(base64String));
70
+
71
+ winrt::InMemoryRandomAccessStream memoryStream;
72
+ co_await memoryStream.WriteAsync(buffer);
73
+ memoryStream.Seek(0);
74
+
75
+ co_return memoryStream;
76
+ } catch (winrt::hresult_error const &) {
77
+ // Base64 decode failed
78
+ }
79
+
80
+ co_return nullptr;
81
+ }
82
+
83
+ winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageMemoryStreamAsync(ReactImageSource source) {
84
+ switch (source.sourceType) {
85
+ case ImageSourceType::Download:
86
+ co_return co_await GetImageStreamAsync(source);
87
+ case ImageSourceType::InlineData:
88
+ co_return co_await GetImageInlineDataAsync(source);
89
+ default: // ImageSourceType::Uri
90
+ co_return nullptr;
91
+ }
92
+ }
93
+
94
+ } // namespace Microsoft::ReactNative
@@ -0,0 +1,35 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+ #include <winrt/Windows.Storage.Streams.h>
6
+ #include <string>
7
+
8
+ namespace Microsoft::ReactNative {
9
+
10
+ enum class ImageSourceType { Uri = 0, Download = 1, InlineData = 2 };
11
+ enum class ImageSourceFormat { Bitmap = 0, Svg = 1 };
12
+
13
+ struct ReactImageSource {
14
+ std::string uri;
15
+ std::string method;
16
+ std::string bundleRootPath;
17
+ std::vector<std::pair<std::string, std::string>> headers;
18
+ double width = 0;
19
+ double height = 0;
20
+ double scale = 1.0;
21
+ bool packagerAsset = false;
22
+ ImageSourceType sourceType = ImageSourceType::Uri;
23
+ ImageSourceFormat sourceFormat = ImageSourceFormat::Bitmap;
24
+ };
25
+
26
+ winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IRandomAccessStream>
27
+ GetImageMemoryStreamAsync(ReactImageSource source);
28
+
29
+ winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IRandomAccessStream> GetImageStreamAsync(
30
+ ReactImageSource source);
31
+
32
+ winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IRandomAccessStream>
33
+ GetImageInlineDataAsync(ReactImageSource source);
34
+
35
+ } // namespace Microsoft::ReactNative
@@ -76,14 +76,15 @@ std::future<std::string> LocalBundleReader::LoadBundleAsync(const std::string &b
76
76
  auto fileBuffer{co_await winrt::Windows::Storage::FileIO::ReadBufferAsync(file)};
77
77
  auto dataReader{winrt::Windows::Storage::Streams::DataReader::FromBuffer(fileBuffer)};
78
78
 
79
- std::string script(fileBuffer.Length() + 1, '\0');
79
+ // No need to use length + 1, STL guarantees that string storage is null-terminated.
80
+ std::string script(fileBuffer.Length(), '\0');
80
81
 
81
82
  // Construct the array_view to slice into the first fileBuffer.Length bytes.
82
83
  // DataReader.ReadBytes will read as many bytes as are present in the
83
84
  // array_view. The backing string has fileBuffer.Length() + 1 bytes, without
84
85
  // an explicit end it will read 1 byte to many and throw.
85
86
  dataReader.ReadBytes(winrt::array_view<uint8_t>{
86
- reinterpret_cast<uint8_t *>(&script[0]), reinterpret_cast<uint8_t *>(&script[script.length() - 1])});
87
+ reinterpret_cast<uint8_t *>(&script[0]), reinterpret_cast<uint8_t *>(&script[script.length()])});
87
88
  dataReader.Close();
88
89
 
89
90
  co_return script;
@@ -20,6 +20,10 @@ static double DefaultOrOverride(double defaultValue, double x) {
20
20
  return x != c_UndefinedEdge ? x : defaultValue;
21
21
  };
22
22
 
23
+ static double DefaultOrOverrideWithClamp(double defaultValue, double x, double clamp) {
24
+ return std::min(DefaultOrOverride(defaultValue, x), clamp);
25
+ };
26
+
23
27
  static const std::unordered_map<std::string, ShadowEdges> edgeTypeMap = {
24
28
  {"borderLeftWidth", ShadowEdges::Left},
25
29
  {"borderTopWidth", ShadowEdges::Top},
@@ -56,7 +60,9 @@ inline xaml::Thickness GetThickness(double thicknesses[(int)ShadowEdges::CountEd
56
60
  return thickness;
57
61
  }
58
62
 
59
- inline xaml::CornerRadius GetCornerRadius(double cornerRadii[(int)ShadowCorners::CountCorners]) {
63
+ inline xaml::CornerRadius GetCornerRadius(
64
+ double cornerRadii[(int)ShadowCorners::CountCorners],
65
+ double maxCornerRadius) {
60
66
  xaml::CornerRadius cornerRadius;
61
67
  const double defaultRadius = std::max<double>(0, cornerRadii[(int)ShadowCorners::AllCorners]);
62
68
  double topStartRadius =
@@ -68,10 +74,15 @@ inline xaml::CornerRadius GetCornerRadius(double cornerRadii[(int)ShadowCorners:
68
74
  double bottomEndRadius =
69
75
  DefaultOrOverride(cornerRadii[(int)ShadowCorners::BottomRight], cornerRadii[(int)ShadowCorners::BottomEnd]);
70
76
 
71
- cornerRadius.TopLeft = DefaultOrOverride(defaultRadius, topStartRadius);
72
- cornerRadius.TopRight = DefaultOrOverride(defaultRadius, topEndRadius);
73
- cornerRadius.BottomLeft = DefaultOrOverride(defaultRadius, bottomStartRadius);
74
- cornerRadius.BottomRight = DefaultOrOverride(defaultRadius, bottomEndRadius);
77
+ // These values are clamped to 50% of the minimum of width or height
78
+ // dimension for cross-platform consistency with iOS, Android, and Web. We
79
+ // should revisit this clamping behavior if RN ever supports percentage
80
+ // values for the borderRadius prop as the default XAML behavior is
81
+ // consistent with Web behavior in this case.
82
+ cornerRadius.TopLeft = DefaultOrOverrideWithClamp(defaultRadius, topStartRadius, maxCornerRadius);
83
+ cornerRadius.TopRight = DefaultOrOverrideWithClamp(defaultRadius, topEndRadius, maxCornerRadius);
84
+ cornerRadius.BottomLeft = DefaultOrOverrideWithClamp(defaultRadius, bottomStartRadius, maxCornerRadius);
85
+ cornerRadius.BottomRight = DefaultOrOverrideWithClamp(defaultRadius, bottomEndRadius, maxCornerRadius);
75
86
 
76
87
  return cornerRadius;
77
88
  }
@@ -128,11 +139,22 @@ inline void UpdateCornerRadiusValueOnNode(
128
139
  }
129
140
 
130
141
  template <class T>
131
- void UpdateCornerRadiusOnElement(ShadowNodeBase *node, const T &element) {
132
- xaml::CornerRadius cornerRadius = GetCornerRadius(node->m_cornerRadius);
142
+ void UpdateCornerRadiusOnElement(ShadowNodeBase *node, const T &element, double maxCornerRadius) {
143
+ xaml::CornerRadius cornerRadius = GetCornerRadius(node->m_cornerRadius, maxCornerRadius);
133
144
  element.CornerRadius(cornerRadius);
134
145
  }
135
146
 
147
+ template <class T>
148
+ void UpdateCornerRadiusOnElement(ShadowNodeBase *node, const T &element) {
149
+ auto maxCornerRadius = std::numeric_limits<double>::max();
150
+ if (element.ReadLocalValue(xaml::FrameworkElement::WidthProperty()) != xaml::DependencyProperty::UnsetValue() &&
151
+ element.ReadLocalValue(xaml::FrameworkElement::HeightProperty()) != xaml::DependencyProperty::UnsetValue()) {
152
+ // Clamp CornerRadius to 50% of the minimum dimension between width and height.
153
+ maxCornerRadius = std::min(element.Width(), element.Height()) / 2;
154
+ }
155
+ UpdateCornerRadiusOnElement(node, element, maxCornerRadius);
156
+ }
157
+
136
158
  template <class T>
137
159
  bool TryUpdateForeground(
138
160
  const T &element,
@@ -534,9 +556,9 @@ inline bool TryUpdateMouseEvents(
534
556
  const std::string &propertyName,
535
557
  const winrt::Microsoft::ReactNative::JSValue &propertyValue) {
536
558
  if (propertyName == "onMouseEnter")
537
- node->m_onMouseEnterRegistered = !propertyValue.IsNull() && propertyValue.AsBoolean();
559
+ node->m_onMouseEnterRegistered = propertyValue.AsBoolean();
538
560
  else if (propertyName == "onMouseLeave")
539
- node->m_onMouseLeaveRegistered = !propertyValue.IsNull() && propertyValue.AsBoolean();
561
+ node->m_onMouseLeaveRegistered = propertyValue.AsBoolean();
540
562
  else
541
563
  return false;
542
564
 
@@ -105,13 +105,32 @@ bool ControlViewManager::UpdateProperty(
105
105
  return ret;
106
106
  }
107
107
 
108
+ void ControlViewManager::SetLayoutProps(
109
+ ShadowNodeBase &nodeToUpdate,
110
+ const XamlView &viewToUpdate,
111
+ float left,
112
+ float top,
113
+ float width,
114
+ float height) {
115
+ Super::SetLayoutProps(nodeToUpdate, viewToUpdate, left, top, width, height);
116
+ if (viewToUpdate.try_as<xaml::Controls::IControl7>() &&
117
+ viewToUpdate.ReadLocalValue(xaml::Controls::Control::CornerRadiusProperty()) !=
118
+ xaml::DependencyProperty::UnsetValue()) {
119
+ const auto maxCornerRadius = std::min(width, height) / 2;
120
+ UpdateCornerRadiusOnElement(&nodeToUpdate, viewToUpdate.as<xaml::Controls::Control>(), maxCornerRadius);
121
+ }
122
+ }
123
+
108
124
  void ControlViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
109
125
  auto control(node->GetView().as<xaml::Controls::Control>());
110
126
 
127
+ // If developer specifies either the accessible and focusable prop to be false
128
+ // remove accessibility and keyboard focus for component.
111
129
  if (IsAccessible() != IsFocusable()) {
112
130
  control.IsTabStop(false);
113
131
  xaml::Automation::AutomationProperties::SetAccessibilityView(
114
132
  control, xaml::Automation::Peers::AccessibilityView::Raw);
133
+ control.IsEnabled(false);
115
134
  }
116
135
  }
117
136
 
@@ -21,6 +21,13 @@ class REACTWINDOWS_EXPORT ControlViewManager : public FrameworkElementViewManage
21
21
  const std::string &propertyName,
22
22
  const winrt::Microsoft::ReactNative::JSValue &propertyValue) override;
23
23
  void TransferProperties(const XamlView &oldView, const XamlView &newView) override;
24
+ void SetLayoutProps(
25
+ ShadowNodeBase &nodeToUpdate,
26
+ const XamlView &viewToUpdate,
27
+ float left,
28
+ float top,
29
+ float width,
30
+ float height) override;
24
31
 
25
32
  protected:
26
33
  void OnViewCreated(XamlView view) override;
@@ -179,8 +179,7 @@ void FlyoutShadowNode::createView(const winrt::Microsoft::ReactNative::JSValueOb
179
179
  if (m_isFlyoutShowOptionsSupported)
180
180
  m_showOptions = winrt::FlyoutShowOptions();
181
181
 
182
- m_touchEventHanadler = std::make_unique<TouchEventHandler>(
183
- GetViewManager()->GetReactContext(), false /*Flyout not supported in fabric currently*/);
182
+ m_touchEventHanadler = std::make_unique<TouchEventHandler>(GetViewManager()->GetReactContext());
184
183
  m_previewKeyboardEventHandlerOnRoot =
185
184
  std::make_unique<PreviewKeyboardEventHandlerOnRoot>(GetViewManager()->GetReactContext());
186
185
 
@@ -405,9 +404,14 @@ winrt::Flyout FlyoutShadowNode::GetFlyout() {
405
404
  void FlyoutShadowNode::OnShowFlyout() {
406
405
  AdjustDefaultFlyoutStyle(50000, 50000);
407
406
  if (m_isFlyoutShowOptionsSupported) {
408
- if (!m_targetElement && m_targetTag > 0) {
407
+ if (!m_flyout.XamlRoot()) {
408
+ LogErrorAndClose("The target view window was closed before flyout could be shown.");
409
+ } else if (!m_targetElement && m_targetTag > 0) {
409
410
  LogErrorAndClose("The target view unmounted before flyout could be shown.");
410
- } else if (m_targetElement && m_flyout.XamlRoot() != m_targetElement.XamlRoot()) {
411
+ } else if (
412
+ m_targetElement &&
413
+ (m_flyout.XamlRoot() != m_targetElement.XamlRoot() ||
414
+ m_flyout.XamlRoot() != React::XamlUIService::GetXamlRoot(GetViewManager()->GetReactContext().Properties()))) {
411
415
  LogErrorAndClose("The target view window lost focus before flyout could be shown.");
412
416
  } else {
413
417
  m_flyout.ShowAt(m_targetElement, m_showOptions);
@@ -0,0 +1,19 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #include <Fabric/Composition/CompositionHelpers.h>
7
+ #include <IReactRootView.h>
8
+ #include <React.h>
9
+ #include <folly/dynamic.h>
10
+ #include <winrt/Windows.UI.Composition.h>
11
+
12
+ namespace Microsoft::ReactNative {
13
+
14
+ struct ICompositionRootView : public facebook::react::IReactRootView {
15
+ virtual winrt::Microsoft::ReactNative::Composition::IVisual GetVisual() const noexcept = 0;
16
+ virtual double ScaleFactor() noexcept = 0;
17
+ };
18
+
19
+ } // namespace Microsoft::ReactNative
@@ -189,6 +189,20 @@ void ImageViewManager::setSource(winrt::Grid grid, const winrt::Microsoft::React
189
189
  reactImage->Source(sources[0]);
190
190
  }
191
191
 
192
+ void ImageViewManager::SetLayoutProps(
193
+ ShadowNodeBase &nodeToUpdate,
194
+ const XamlView &viewToUpdate,
195
+ float left,
196
+ float top,
197
+ float width,
198
+ float height) {
199
+ Super::SetLayoutProps(nodeToUpdate, viewToUpdate, left, top, width, height);
200
+ if (viewToUpdate.ReadLocalValue(winrt::Grid::CornerRadiusProperty()) != xaml::DependencyProperty::UnsetValue()) {
201
+ const auto maxCornerRadius = std::min(width, height) / 2;
202
+ UpdateCornerRadiusOnElement(&nodeToUpdate, viewToUpdate.as<winrt::Grid>(), maxCornerRadius);
203
+ }
204
+ }
205
+
192
206
  void ImageViewManager::GetExportedCustomDirectEventTypeConstants(
193
207
  const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
194
208
  Super::GetExportedCustomDirectEventTypeConstants(writer);
@@ -19,6 +19,13 @@ class ImageViewManager : public FrameworkElementViewManager {
19
19
  void GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const override;
20
20
  ShadowNode *createShadow() const override;
21
21
  void EmitImageEvent(xaml::Controls::Grid grid, const char *eventName, ReactImageSource &source);
22
+ void SetLayoutProps(
23
+ ShadowNodeBase &nodeToUpdate,
24
+ const XamlView &viewToUpdate,
25
+ float left,
26
+ float top,
27
+ float width,
28
+ float height) override;
22
29
 
23
30
  protected:
24
31
  bool UpdateProperty(
@@ -171,16 +171,6 @@ void ReactImage::Source(ReactImageSource source) {
171
171
  }
172
172
  }
173
173
 
174
- winrt::IAsyncOperation<winrt::IRandomAccessStream> ReactImage::GetImageMemoryStreamAsync(ReactImageSource source) {
175
- switch (source.sourceType) {
176
- case ImageSourceType::Download:
177
- co_return co_await GetImageStreamAsync(source);
178
- case ImageSourceType::InlineData:
179
- co_return co_await GetImageInlineDataAsync(source);
180
- default: // ImageSourceType::Uri
181
- co_return nullptr;
182
- }
183
- }
184
174
  template <typename TImage>
185
175
  std::wstring GetUriFromImage(const TImage &image) {
186
176
  return image.UriSource() ? image.UriSource().ToString().c_str() : L"<no Uri available>";
@@ -228,14 +218,16 @@ winrt::fire_and_forget ReactImage::SetBackground(bool fireLoadEndEvent) {
228
218
  auto weak_this{get_weak()};
229
219
 
230
220
  try {
231
- memoryStream = co_await GetImageMemoryStreamAsync(source);
221
+ if (fromStream) {
222
+ memoryStream = co_await GetImageMemoryStreamAsync(source);
232
223
 
233
- // Fire failed load event if we're not loading from URI and the memory stream is null.
234
- if (fromStream && !memoryStream) {
235
- if (auto strong_this{weak_this.get()}) {
236
- strong_this->m_onLoadEndEvent(*strong_this, false);
224
+ // Fire failed load event if we're not loading from URI and the memory stream is null.
225
+ if (!memoryStream) {
226
+ if (auto strong_this{weak_this.get()}) {
227
+ strong_this->m_onLoadEndEvent(*strong_this, false);
228
+ }
229
+ co_return;
237
230
  }
238
- co_return;
239
231
  }
240
232
  } catch (winrt::hresult_error const &) {
241
233
  const auto strong_this{weak_this.get()};
@@ -442,64 +434,4 @@ winrt::fire_and_forget ReactImage::SetBackground(bool fireLoadEndEvent) {
442
434
  }
443
435
  }
444
436
 
445
- winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageStreamAsync(ReactImageSource source) {
446
- try {
447
- co_await winrt::resume_background();
448
-
449
- auto httpMethod{source.method.empty() ? winrt::HttpMethod::Get() : winrt::HttpMethod{Utf8ToUtf16(source.method)}};
450
-
451
- winrt::Uri uri{Utf8ToUtf16(source.uri)};
452
- winrt::HttpRequestMessage request{httpMethod, uri};
453
-
454
- if (!source.headers.empty()) {
455
- for (auto &header : source.headers) {
456
- if (_stricmp(header.first.c_str(), "authorization") == 0) {
457
- request.Headers().TryAppendWithoutValidation(Utf8ToUtf16(header.first), Utf8ToUtf16(header.second));
458
- } else {
459
- request.Headers().Append(Utf8ToUtf16(header.first), Utf8ToUtf16(header.second));
460
- }
461
- }
462
- }
463
-
464
- winrt::HttpClient httpClient;
465
- winrt::HttpResponseMessage response{co_await httpClient.SendRequestAsync(request)};
466
-
467
- if (response && response.StatusCode() == winrt::HttpStatusCode::Ok) {
468
- winrt::IInputStream inputStream{co_await response.Content().ReadAsInputStreamAsync()};
469
- winrt::InMemoryRandomAccessStream memoryStream;
470
- co_await winrt::RandomAccessStream::CopyAsync(inputStream, memoryStream);
471
- memoryStream.Seek(0);
472
-
473
- co_return memoryStream;
474
- }
475
- } catch (winrt::hresult_error const &e) {
476
- DEBUG_HRESULT_ERROR(e);
477
- }
478
-
479
- co_return nullptr;
480
- }
481
-
482
- winrt::IAsyncOperation<winrt::IRandomAccessStream> GetImageInlineDataAsync(ReactImageSource source) {
483
- size_t start = source.uri.find(',');
484
- if (start == std::string::npos || start + 1 > source.uri.length())
485
- co_return nullptr;
486
-
487
- try {
488
- co_await winrt::resume_background();
489
-
490
- std::string_view base64String(source.uri.c_str() + start + 1, source.uri.length() - start - 1);
491
- auto buffer =
492
- winrt::Windows::Security::Cryptography::CryptographicBuffer::DecodeFromBase64String(Utf8ToUtf16(base64String));
493
-
494
- winrt::InMemoryRandomAccessStream memoryStream;
495
- co_await memoryStream.WriteAsync(buffer);
496
- memoryStream.Seek(0);
497
-
498
- co_return memoryStream;
499
- } catch (winrt::hresult_error const &) {
500
- // Base64 decode failed
501
- }
502
-
503
- co_return nullptr;
504
- }
505
437
  } // namespace Microsoft::ReactNative
@@ -9,26 +9,11 @@
9
9
  #include <UI.Xaml.Controls.h>
10
10
 
11
11
  #include <JSValue.h>
12
+ #include <Utils/ImageUtils.h>
12
13
  #include <folly/dynamic.h>
13
14
 
14
15
  namespace Microsoft::ReactNative {
15
16
 
16
- enum class ImageSourceType { Uri = 0, Download = 1, InlineData = 2 };
17
- enum class ImageSourceFormat { Bitmap = 0, Svg = 1 };
18
-
19
- struct ReactImageSource {
20
- std::string uri;
21
- std::string method;
22
- std::string bundleRootPath;
23
- std::vector<std::pair<std::string, std::string>> headers;
24
- double width = 0;
25
- double height = 0;
26
- double scale = 1.0;
27
- bool packagerAsset = false;
28
- ImageSourceType sourceType = ImageSourceType::Uri;
29
- ImageSourceFormat sourceFormat = ImageSourceFormat::Bitmap;
30
- };
31
-
32
17
  struct ReactImage : xaml::Controls::GridT<ReactImage> {
33
18
  using Super = xaml::Controls::GridT<ReactImage>;
34
19
 
@@ -69,8 +54,6 @@ struct ReactImage : xaml::Controls::GridT<ReactImage> {
69
54
  private:
70
55
  xaml::Media::Stretch ResizeModeToStretch();
71
56
  xaml::Media::Stretch ResizeModeToStretch(winrt::Windows::Foundation::Size size);
72
- winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IRandomAccessStream>
73
- GetImageMemoryStreamAsync(ReactImageSource source);
74
57
  winrt::fire_and_forget SetBackground(bool fireLoadEndEvent);
75
58
 
76
59
  bool m_useCompositionBrush{false};
@@ -90,9 +73,4 @@ struct ReactImage : xaml::Controls::GridT<ReactImage> {
90
73
  xaml::Media::Imaging::SvgImageSource::OpenFailed_revoker m_svgImageSourceOpenFailedRevoker;
91
74
  };
92
75
 
93
- // Helper functions
94
- winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IRandomAccessStream> GetImageStreamAsync(
95
- ReactImageSource source);
96
- winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Storage::Streams::IRandomAccessStream>
97
- GetImageInlineDataAsync(ReactImageSource source);
98
76
  } // namespace Microsoft::ReactNative
@@ -10,6 +10,10 @@
10
10
  #include "Utils/PropertyHandlerUtils.h"
11
11
  #include "Views/KeyboardEventHandler.h"
12
12
 
13
+ #ifdef USE_WINUI3
14
+ #include <winrt/Microsoft.UI.Input.h>
15
+ #endif
16
+
13
17
  using namespace std::placeholders;
14
18
 
15
19
  static constexpr auto ALT_KEY = "altKey";
@@ -630,14 +634,23 @@ std::string KeyboardHelper::CodeFromVirtualKey(winrt::Windows::System::VirtualKe
630
634
  bool KeyboardHelper::IsModifiedKeyPressed(
631
635
  winrt::CoreWindow const &coreWindow,
632
636
  winrt::Windows::System::VirtualKey virtualKey) {
633
- return (coreWindow.GetKeyState(virtualKey) & winrt::CoreVirtualKeyStates::Down) == winrt::CoreVirtualKeyStates::Down;
637
+ #ifdef USE_WINUI3
638
+ auto const &keyState = winrt::Microsoft::UI::Input::InputKeyboardSource::GetKeyStateForCurrentThread(virtualKey);
639
+ #else
640
+ auto const &keyState = coreWindow.GetKeyState(virtualKey);
641
+ #endif // USE_WINUI3
642
+ return (keyState & winrt::CoreVirtualKeyStates::Down) == winrt::CoreVirtualKeyStates::Down;
634
643
  }
635
644
 
636
645
  bool KeyboardHelper::IsModifiedKeyLocked(
637
646
  winrt::CoreWindow const &coreWindow,
638
647
  winrt::Windows::System::VirtualKey virtualKey) {
639
- return (coreWindow.GetKeyState(virtualKey) & winrt::CoreVirtualKeyStates::Locked) ==
640
- winrt::CoreVirtualKeyStates::Locked;
648
+ #ifdef USE_WINUI3
649
+ auto const &keyState = winrt::Microsoft::UI::Input::InputKeyboardSource::GetKeyStateForCurrentThread(virtualKey);
650
+ #else
651
+ auto const &keyState = coreWindow.GetKeyState(virtualKey);
652
+ #endif // USE_WINUI3
653
+ return (keyState & winrt::CoreVirtualKeyStates::Locked) == winrt::CoreVirtualKeyStates::Locked;
641
654
  }
642
655
 
643
656
  } // namespace Microsoft::ReactNative
@@ -78,8 +78,7 @@ void PopupShadowNode::createView(const winrt::Microsoft::ReactNative::JSValueObj
78
78
 
79
79
  auto popup = GetView().as<winrt::Popup>();
80
80
  auto control = GetControl();
81
- m_touchEventHandler = std::make_unique<TouchEventHandler>(
82
- GetViewManager()->GetReactContext(), false /*Popup not supported in fabric currently*/);
81
+ m_touchEventHandler = std::make_unique<TouchEventHandler>(GetViewManager()->GetReactContext());
83
82
  m_previewKeyboardEventHandlerOnRoot =
84
83
  std::make_unique<PreviewKeyboardEventHandlerOnRoot>(GetViewManager()->GetReactContext());
85
84
 
@@ -90,8 +90,7 @@ void ScrollViewShadowNode::dispatchCommand(
90
90
  scrollViewer.ChangeView(x, y, nullptr, !animated /*disableAnimation*/);
91
91
  } else if (commandId == ScrollViewCommands::ScrollToEnd) {
92
92
  bool animated = commandArgs[0].AsBoolean();
93
- bool horiz = scrollViewer.HorizontalScrollMode() == winrt::ScrollMode::Auto;
94
- if (horiz)
93
+ if (m_isHorizontal)
95
94
  scrollViewer.ChangeView(scrollViewer.ScrollableWidth(), nullptr, nullptr, !animated /*disableAnimation*/);
96
95
  else
97
96
  scrollViewer.ChangeView(nullptr, scrollViewer.ScrollableHeight(), nullptr, !animated /*disableAnimation*/);
@@ -490,7 +489,6 @@ XamlView ScrollViewManager::CreateViewCore(int64_t /*tag*/, const winrt::Microso
490
489
  scrollViewer.VerticalSnapPointsAlignment(winrt::SnapPointsAlignment::Near);
491
490
  scrollViewer.VerticalSnapPointsType(winrt::SnapPointsType::Mandatory);
492
491
  scrollViewer.HorizontalSnapPointsType(winrt::SnapPointsType::Mandatory);
493
- scrollViewer.HorizontalScrollMode(winrt::ScrollMode::Disabled);
494
492
 
495
493
  const auto snapPointManager = SnapPointManagingContentControl::Create();
496
494
  scrollViewer.Content(*snapPointManager);
@@ -44,6 +44,13 @@ enum class ShadowCorners : uint8_t {
44
44
  CountCorners
45
45
  };
46
46
 
47
+ struct ShadowNodeLayout {
48
+ float Left;
49
+ float Top;
50
+ float Width;
51
+ float Height;
52
+ };
53
+
47
54
  extern const DECLSPEC_SELECTANY double c_UndefinedEdge = -1;
48
55
  #define INIT_UNDEFINED_EDGES \
49
56
  { \
@@ -103,7 +110,6 @@ struct REACTWINDOWS_EXPORT ShadowNodeBase : public ShadowNode {
103
110
  virtual bool IsExternalLayoutDirty() const {
104
111
  return false;
105
112
  }
106
- virtual void DoExtraLayoutPrep(YGNodeRef /*yogaNode*/) {}
107
113
 
108
114
  bool HasTransformPS() const {
109
115
  return m_transformPS != nullptr;
@@ -133,6 +139,9 @@ struct REACTWINDOWS_EXPORT ShadowNodeBase : public ShadowNode {
133
139
  // Pointer events
134
140
  PointerEventsKind m_pointerEvents = PointerEventsKind::Auto;
135
141
 
142
+ // Layout
143
+ ShadowNodeLayout m_layout;
144
+
136
145
  // Support Keyboard
137
146
  public:
138
147
  void UpdateHandledKeyboardEvents(
@@ -55,18 +55,6 @@ std::unordered_set<int64_t> &ShadowNodeRegistry::getAllRoots() {
55
55
  return m_roots;
56
56
  }
57
57
 
58
- // iterate its parent to get the root shadow node
59
- ShadowNode *ShadowNodeRegistry::getParentRootShadowNode(int64_t nodeTag) {
60
- auto node = findNode(nodeTag);
61
- while (node) {
62
- if (m_roots.find(node->m_tag) != m_roots.end()) {
63
- return node;
64
- }
65
- node = findNode(node->m_parent);
66
- }
67
- return nullptr;
68
- }
69
-
70
58
  void ShadowNodeRegistry::ForAllNodes(const Mso::FunctorRef<void(int64_t, shadow_ptr const &) noexcept> &fnDo) noexcept {
71
59
  for (auto &kvp : m_allNodes) {
72
60
  fnDo(kvp.first, kvp.second);
@@ -4,7 +4,7 @@
4
4
  #pragma once
5
5
  #include <Views/PaperShadowNode.h>
6
6
  #include <functional/functorref.h>
7
- #include <map>
7
+ #include <unordered_map>
8
8
 
9
9
  namespace Microsoft::ReactNative {
10
10
 
@@ -30,13 +30,11 @@ struct ShadowNodeRegistry {
30
30
 
31
31
  std::unordered_set<int64_t> &getAllRoots();
32
32
 
33
- ShadowNode *getParentRootShadowNode(int64_t nodeTag);
34
-
35
33
  void ForAllNodes(const Mso::FunctorRef<void(int64_t, shadow_ptr const &) noexcept> &fnDo) noexcept;
36
34
 
37
35
  private:
38
36
  std::unordered_set<int64_t> m_roots;
39
- std::map<int64_t, std::unique_ptr<ShadowNode, ShadowNodeDeleter>> m_allNodes;
37
+ std::unordered_map<int64_t, std::unique_ptr<ShadowNode, ShadowNodeDeleter>> m_allNodes;
40
38
  };
41
39
 
42
40
  } // namespace Microsoft::ReactNative