react-native-windows 0.67.0 → 0.68.0-preview.3

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 (784) hide show
  1. package/.flowconfig +2 -3
  2. package/Directory.Build.props +26 -22
  3. package/Directory.Build.targets +14 -59
  4. package/Folly/Folly.vcxproj +4 -11
  5. package/Folly/Folly.vcxproj.filters +0 -3
  6. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -4
  7. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -1
  8. package/Libraries/Alert/Alert.js +4 -4
  9. package/Libraries/Alert/Alert.windows.js +5 -5
  10. package/Libraries/Alert/NativeAlertManager.js +1 -1
  11. package/Libraries/Alert/RCTAlertManager.android.js +2 -2
  12. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  13. package/Libraries/Animated/Animated.js +1 -1
  14. package/Libraries/Animated/AnimatedEvent.js +11 -6
  15. package/Libraries/Animated/AnimatedImplementation.js +116 -85
  16. package/Libraries/Animated/AnimatedMock.js +65 -22
  17. package/Libraries/{Components/Touchable/__mocks__/ensureComponentIsNative.js → Animated/AnimatedPlatformConfig.js} +3 -2
  18. package/Libraries/Animated/AnimatedWeb.js +1 -1
  19. package/Libraries/Animated/Easing.js +38 -40
  20. package/Libraries/Animated/NativeAnimatedHelper.js +24 -21
  21. package/Libraries/Animated/NativeAnimatedModule.js +1 -1
  22. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -1
  23. package/Libraries/Animated/SpringConfig.js +11 -11
  24. package/Libraries/Animated/animations/Animation.js +6 -4
  25. package/Libraries/Animated/animations/DecayAnimation.js +6 -1
  26. package/Libraries/Animated/animations/SpringAnimation.js +16 -1
  27. package/Libraries/Animated/animations/TimingAnimation.js +15 -2
  28. package/Libraries/Animated/bezier.js +20 -9
  29. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  30. package/Libraries/Animated/components/AnimatedImage.js +1 -1
  31. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  32. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  33. package/Libraries/Animated/components/AnimatedText.js +1 -1
  34. package/Libraries/Animated/components/AnimatedView.js +1 -1
  35. package/Libraries/Animated/createAnimatedComponent.js +4 -4
  36. package/Libraries/Animated/createAnimatedComponentInjection.js +1 -1
  37. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +1 -1
  38. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -5
  39. package/Libraries/Animated/nodes/AnimatedColor.js +266 -0
  40. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +5 -4
  41. package/Libraries/Animated/nodes/AnimatedDivision.js +6 -5
  42. package/Libraries/Animated/nodes/AnimatedInterpolation.js +8 -6
  43. package/Libraries/Animated/nodes/AnimatedModulo.js +5 -4
  44. package/Libraries/Animated/nodes/AnimatedMultiplication.js +6 -5
  45. package/Libraries/Animated/nodes/AnimatedNode.js +31 -18
  46. package/Libraries/Animated/nodes/AnimatedProps.js +12 -4
  47. package/Libraries/Animated/nodes/AnimatedStyle.js +9 -7
  48. package/Libraries/Animated/nodes/AnimatedSubtraction.js +6 -5
  49. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -6
  50. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -4
  51. package/Libraries/Animated/nodes/AnimatedValue.js +21 -12
  52. package/Libraries/Animated/nodes/AnimatedValueXY.js +14 -14
  53. package/Libraries/Animated/nodes/AnimatedWithChildren.js +6 -5
  54. package/Libraries/Animated/useAnimatedProps.js +1 -1
  55. package/Libraries/AppState/AppState.js +9 -8
  56. package/Libraries/AppState/NativeAppState.js +1 -1
  57. package/Libraries/AppTheme/AppTheme.js +83 -47
  58. package/Libraries/AppTheme/AppThemeTypes.d.ts +47 -22
  59. package/Libraries/AppTheme/NativeAppTheme.js +32 -0
  60. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  61. package/Libraries/BatchedBridge/MessageQueue.js +7 -9
  62. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  63. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
  64. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
  65. package/Libraries/Blob/Blob.js +1 -1
  66. package/Libraries/Blob/BlobManager.js +1 -1
  67. package/Libraries/Blob/BlobRegistry.js +1 -1
  68. package/Libraries/Blob/BlobTypes.js +1 -1
  69. package/Libraries/Blob/File.js +1 -1
  70. package/Libraries/Blob/FileReader.js +1 -1
  71. package/Libraries/Blob/NativeBlobModule.js +1 -1
  72. package/Libraries/Blob/NativeFileReaderModule.js +1 -1
  73. package/Libraries/Blob/URL.js +26 -21
  74. package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
  75. package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
  76. package/Libraries/BugReporting/BugReporting.js +1 -1
  77. package/Libraries/BugReporting/NativeBugReporting.js +1 -1
  78. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  79. package/Libraries/BugReporting/getReactData.js +15 -6
  80. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +89 -29
  81. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +95 -35
  82. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -1
  83. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -1
  84. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  85. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  86. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +1 -1
  87. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  88. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +5 -5
  89. package/Libraries/Components/Button.js +1 -1
  90. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  91. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -1
  92. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +1 -1
  93. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +18 -2
  94. package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +1 -1
  95. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -1
  96. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -1
  97. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -3
  98. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +5 -4
  99. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  100. package/Libraries/Components/Keyboard/Keyboard.js +7 -6
  101. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +11 -6
  102. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -1
  103. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +1 -1
  104. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +1 -1
  105. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +1 -1
  106. package/Libraries/Components/Pressable/Pressable.js +38 -2
  107. package/Libraries/Components/Pressable/Pressable.windows.js +1 -1
  108. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  109. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +6 -5
  110. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +1 -1
  111. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
  112. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  113. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +3 -2
  114. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +1 -1
  115. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +1 -1
  116. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -2
  117. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
  118. package/Libraries/Components/RefreshControl/RefreshControl.js +3 -8
  119. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +3 -8
  120. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -4
  121. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  122. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -3
  123. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +3 -3
  124. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -1
  125. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +16 -6
  126. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +4 -6
  127. package/Libraries/Components/ScrollView/ScrollView.js +22 -15
  128. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  129. package/Libraries/Components/ScrollView/ScrollViewContext.js +1 -1
  130. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +135 -71
  131. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -1
  132. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  133. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -1
  134. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  135. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +1 -1
  136. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +1 -1
  137. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +3 -9
  138. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +1 -1
  139. package/Libraries/Components/Slider/Slider.js +1 -1
  140. package/Libraries/Components/Slider/SliderNativeComponent.js +3 -3
  141. package/Libraries/Components/Sound/NativeSoundManager.js +1 -1
  142. package/Libraries/Components/Sound/SoundManager.js +2 -2
  143. package/Libraries/Components/StaticRenderer.js +1 -1
  144. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -1
  145. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -1
  146. package/Libraries/Components/StatusBar/StatusBar.js +1 -1
  147. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
  148. package/Libraries/Components/Switch/Switch.js +1 -1
  149. package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
  150. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +175 -14
  151. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  152. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  153. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +10 -5
  154. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -5
  155. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +32 -11
  156. package/Libraries/Components/TextInput/TextInput.js +131 -31
  157. package/Libraries/Components/TextInput/TextInput.windows.js +134 -34
  158. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  159. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  160. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  161. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -3
  162. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -1
  163. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +4 -4
  164. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +4 -4
  165. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +4 -4
  166. package/Libraries/Components/Touchable/BoundingDimensions.js +3 -3
  167. package/Libraries/Components/Touchable/PooledClass.js +12 -12
  168. package/Libraries/Components/Touchable/Position.js +2 -2
  169. package/Libraries/Components/Touchable/Touchable.js +27 -40
  170. package/Libraries/Components/Touchable/TouchableBounce.js +3 -6
  171. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -6
  172. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -6
  173. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -12
  174. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -7
  175. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -6
  176. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -6
  177. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -6
  178. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  179. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  180. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  181. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  182. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +59 -0
  183. package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -2
  184. package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +13 -2
  185. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +1 -1
  186. package/Libraries/Components/View/View.js +1 -1
  187. package/Libraries/Components/View/View.windows.js +2 -2
  188. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  189. package/Libraries/Components/View/ViewAccessibility.windows.js +1 -1
  190. package/Libraries/Components/View/ViewNativeComponent.js +4 -5
  191. package/Libraries/Components/View/ViewPropTypes.js +38 -31
  192. package/Libraries/Components/View/ViewPropTypes.windows.js +38 -31
  193. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  194. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  195. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  196. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  197. package/Libraries/Core/Devtools/parseHermesStack.js +3 -2
  198. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  199. package/Libraries/Core/ExceptionsManager.js +3 -3
  200. package/Libraries/Core/ExtendedError.js +1 -1
  201. package/Libraries/Core/InitializeCore.js +1 -3
  202. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  203. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  204. package/Libraries/Core/ReactNativeVersion.js +4 -4
  205. package/Libraries/Core/ReactNativeVersionCheck.js +12 -2
  206. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -1
  207. package/Libraries/Core/Timers/JSTimers.js +35 -42
  208. package/Libraries/Core/Timers/NativeTiming.js +1 -1
  209. package/Libraries/Core/Timers/immediateShim.js +1 -1
  210. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  211. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  212. package/Libraries/Core/checkNativeVersion.js +1 -1
  213. package/Libraries/Core/polyfillPromise.js +1 -1
  214. package/Libraries/Core/setUpAlert.js +2 -2
  215. package/Libraries/Core/setUpBatchedBridge.js +15 -3
  216. package/Libraries/Core/setUpDeveloperTools.js +2 -2
  217. package/Libraries/Core/setUpErrorHandling.js +2 -2
  218. package/Libraries/Core/setUpGlobals.js +1 -1
  219. package/Libraries/Core/setUpNavigator.js +1 -1
  220. package/Libraries/Core/setUpPerformance.js +2 -2
  221. package/Libraries/Core/setUpReactDevTools.js +1 -1
  222. package/Libraries/Core/setUpReactRefresh.js +1 -1
  223. package/Libraries/Core/setUpRegeneratorRuntime.js +2 -2
  224. package/Libraries/Core/setUpSegmentFetcher.js +5 -5
  225. package/Libraries/Core/setUpSystrace.js +1 -1
  226. package/Libraries/Core/setUpTimers.js +12 -2
  227. package/Libraries/Core/setUpXHR.js +1 -1
  228. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -2
  229. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  230. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  231. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  232. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  233. package/Libraries/HeapCapture/HeapCapture.js +2 -2
  234. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -1
  235. package/Libraries/Image/AssetRegistry.js +1 -1
  236. package/Libraries/Image/AssetSourceResolver.js +3 -5
  237. package/Libraries/Image/AssetUtils.js +1 -1
  238. package/Libraries/Image/Image.android.js +38 -30
  239. package/Libraries/Image/Image.ios.js +17 -20
  240. package/Libraries/Image/Image.windows.js +19 -22
  241. package/Libraries/Image/ImageAnalyticsTagContext.js +3 -4
  242. package/Libraries/Image/ImageBackground.js +11 -2
  243. package/Libraries/Image/ImageInjection.js +1 -1
  244. package/Libraries/Image/ImagePickerIOS.js +7 -7
  245. package/Libraries/Image/ImageProps.js +18 -18
  246. package/Libraries/Image/ImageResizeMode.js +1 -1
  247. package/Libraries/Image/ImageSource.js +1 -1
  248. package/Libraries/Image/ImageViewNativeComponent.js +96 -61
  249. package/Libraries/Image/NativeImageEditor.js +1 -1
  250. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -4
  251. package/Libraries/Image/NativeImageLoaderIOS.js +1 -1
  252. package/Libraries/Image/NativeImagePickerIOS.js +1 -1
  253. package/Libraries/Image/NativeImageStoreAndroid.js +1 -1
  254. package/Libraries/Image/NativeImageStoreIOS.js +1 -1
  255. package/Libraries/Image/RelativeImageStub.js +1 -1
  256. package/Libraries/Image/TextInlineImageNativeComponent.js +14 -74
  257. package/Libraries/Image/nativeImageSource.js +3 -3
  258. package/Libraries/Image/resolveAssetSource.js +1 -1
  259. package/Libraries/Inspector/BorderBox.js +1 -1
  260. package/Libraries/Inspector/BoxInspector.js +1 -1
  261. package/Libraries/Inspector/ElementBox.js +1 -1
  262. package/Libraries/Inspector/ElementProperties.js +1 -1
  263. package/Libraries/Inspector/Inspector.js +2 -2
  264. package/Libraries/Inspector/InspectorOverlay.js +1 -1
  265. package/Libraries/Inspector/InspectorPanel.js +1 -1
  266. package/Libraries/Inspector/NetworkOverlay.js +3 -6
  267. package/Libraries/Inspector/PerformanceOverlay.js +1 -1
  268. package/Libraries/Inspector/StyleInspector.js +1 -1
  269. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  270. package/Libraries/Interaction/Batchinator.js +1 -1
  271. package/Libraries/Interaction/BridgeSpyStallHandler.js +2 -2
  272. package/Libraries/Interaction/FrameRateLogger.js +3 -3
  273. package/Libraries/Interaction/InteractionManager.js +3 -5
  274. package/Libraries/Interaction/InteractionStallDebugger.js +1 -1
  275. package/Libraries/Interaction/JSEventLoopWatchdog.js +5 -5
  276. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -1
  277. package/Libraries/Interaction/PanResponder.js +4 -5
  278. package/Libraries/Interaction/TaskQueue.js +1 -1
  279. package/Libraries/Interaction/TouchHistoryMath.js +8 -8
  280. package/Libraries/JSInspector/InspectorAgent.js +1 -1
  281. package/Libraries/JSInspector/JSInspector.js +1 -1
  282. package/Libraries/JSInspector/NetworkAgent.js +2 -7
  283. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
  284. package/Libraries/Linking/Linking.js +8 -8
  285. package/Libraries/Linking/NativeIntentAndroid.js +1 -1
  286. package/Libraries/Linking/NativeLinkingManager.js +1 -1
  287. package/Libraries/Lists/CellRenderMask.js +1 -1
  288. package/Libraries/Lists/FillRateHelper.js +5 -4
  289. package/Libraries/Lists/FlatList.js +4 -5
  290. package/Libraries/Lists/SectionList.js +4 -4
  291. package/Libraries/Lists/SectionListModern.js +4 -4
  292. package/Libraries/Lists/ViewabilityHelper.js +5 -11
  293. package/Libraries/Lists/VirtualizeUtils.js +3 -7
  294. package/Libraries/Lists/VirtualizedList.js +23 -33
  295. package/Libraries/Lists/VirtualizedListContext.js +3 -4
  296. package/Libraries/Lists/VirtualizedSectionList.js +54 -63
  297. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  298. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  299. package/Libraries/Lists/__tests__/CellRenderMask-test.js +1 -1
  300. package/Libraries/Lists/__tests__/{FillRateHelper-test.js → FillRateHelper-test.windows.js} +8 -8
  301. package/Libraries/Lists/__tests__/{FlatList-test.js → FlatList-test.windows.js} +3 -3
  302. package/Libraries/Lists/__tests__/{SectionList-test.js → SectionList-test.windows.js} +15 -15
  303. package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +15 -15
  304. package/Libraries/Lists/__tests__/{VirtualizeUtils-test.js → VirtualizeUtils-test.windows.js} +19 -22
  305. package/Libraries/Lists/__tests__/{VirtualizedList-test.js → VirtualizedList-test.windows.js} +33 -33
  306. package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.js → VirtualizedSectionList-test.windows.js} +17 -15
  307. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  308. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  309. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  310. package/Libraries/LogBox/Data/parseLogBoxLog.js +13 -24
  311. package/Libraries/LogBox/LogBox.js +4 -4
  312. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  313. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  314. package/Libraries/LogBox/UI/AnsiHighlight.js +10 -5
  315. package/Libraries/LogBox/UI/LogBoxButton.js +1 -1
  316. package/Libraries/LogBox/UI/LogBoxInspector.js +4 -2
  317. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +1 -1
  318. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  319. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  320. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +1 -1
  321. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  322. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +1 -1
  323. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -2
  324. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  325. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  326. package/Libraries/LogBox/UI/LogBoxMessage.js +7 -3
  327. package/Libraries/LogBox/UI/LogBoxNotification.js +7 -4
  328. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -1
  329. package/Libraries/Modal/Modal.js +15 -14
  330. package/Libraries/Modal/ModalInjection.js +1 -1
  331. package/Libraries/Modal/NativeModalManager.js +1 -1
  332. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +12 -12
  333. package/Libraries/NativeComponent/NativeComponentRegistry.js +30 -33
  334. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +27 -0
  335. package/Libraries/NativeComponent/StaticViewConfigValidator.js +198 -0
  336. package/Libraries/NativeComponent/ViewConfig.js +1 -1
  337. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -1
  338. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -1
  339. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -1
  340. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -1
  341. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -1
  342. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -1
  343. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -1
  344. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -1
  345. package/Libraries/Network/FormData.js +1 -1
  346. package/Libraries/Network/NativeNetworkingAndroid.js +1 -1
  347. package/Libraries/Network/NativeNetworkingIOS.js +1 -1
  348. package/Libraries/Network/RCTNetworking.android.js +1 -1
  349. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  350. package/Libraries/Network/RCTNetworkingWinShared.js +2 -2
  351. package/Libraries/Network/XHRInterceptor.js +6 -7
  352. package/Libraries/Network/XMLHttpRequest.js +44 -8
  353. package/Libraries/Network/convertRequestBody.js +1 -1
  354. package/Libraries/Network/fetch.js +1 -1
  355. package/Libraries/NewAppScreen/components/Colors.js +1 -1
  356. package/Libraries/NewAppScreen/components/DebugInstructions.js +1 -1
  357. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +1 -1
  358. package/Libraries/NewAppScreen/components/Header.js +1 -1
  359. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  360. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +1 -1
  361. package/Libraries/NewAppScreen/components/ReloadInstructions.js +1 -1
  362. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +1 -1
  363. package/Libraries/NewAppScreen/index.js +1 -1
  364. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -1
  365. package/Libraries/Performance/PureComponentDebug.js +1 -1
  366. package/Libraries/Performance/QuickPerformanceLogger.js +18 -1
  367. package/Libraries/Performance/SamplingProfiler.js +4 -4
  368. package/Libraries/Performance/Systrace.js +9 -2
  369. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +7 -2
  370. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +20 -9
  371. package/Libraries/Pressability/HoverState.js +1 -1
  372. package/Libraries/Pressability/Pressability.js +3 -3
  373. package/Libraries/Pressability/Pressability.windows.js +7 -7
  374. package/Libraries/Pressability/PressabilityDebug.js +15 -12
  375. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +5 -3
  376. package/Libraries/Pressability/PressabilityTypes.js +1 -1
  377. package/Libraries/Pressability/usePressability.js +1 -1
  378. package/Libraries/Promise.js +1 -1
  379. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -1
  380. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +33 -32
  381. package/Libraries/ReactNative/AppContainer.js +3 -3
  382. package/Libraries/ReactNative/AppRegistry.js +15 -13
  383. package/Libraries/ReactNative/DisplayMode.js +1 -1
  384. package/Libraries/ReactNative/DummyUIManager.js +13 -6
  385. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  386. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -1
  387. package/Libraries/ReactNative/I18nManager.js +3 -6
  388. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -1
  389. package/Libraries/ReactNative/NativeI18nManager.js +1 -1
  390. package/Libraries/ReactNative/NativeUIManager.js +1 -1
  391. package/Libraries/ReactNative/PaperUIManager.js +3 -4
  392. package/Libraries/ReactNative/PaperUIManager.windows.js +8 -9
  393. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  394. package/Libraries/ReactNative/RootTag.js +3 -4
  395. package/Libraries/ReactNative/UIManager.js +5 -7
  396. package/Libraries/ReactNative/UIManagerInjection.js +4 -2
  397. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  398. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +4 -2
  399. package/Libraries/ReactNative/getNativeComponentAttributes.js +21 -9
  400. package/Libraries/ReactNative/renderApplication.js +1 -1
  401. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  402. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  403. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  404. package/Libraries/Reliability/UserFlow.js +1 -1
  405. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1134 -426
  406. package/Libraries/Renderer/implementations/ReactFabric-dev.js +1 -1
  407. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +265 -236
  408. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1 -1
  409. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +538 -302
  410. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1 -1
  411. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1084 -463
  412. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +1 -1
  413. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +251 -224
  414. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1 -1
  415. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +519 -281
  416. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1 -1
  417. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  418. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  419. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  420. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -2
  421. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -4
  422. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  423. package/Libraries/Settings/NativeSettingsManager.js +1 -1
  424. package/Libraries/Settings/Settings.android.js +1 -1
  425. package/Libraries/Settings/Settings.ios.js +1 -1
  426. package/Libraries/Share/NativeShareModule.js +1 -1
  427. package/Libraries/Share/Share.js +1 -1
  428. package/Libraries/Storage/AsyncStorage.js +34 -35
  429. package/Libraries/Storage/NativeAsyncLocalStorage.js +1 -1
  430. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +1 -1
  431. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  432. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  433. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  434. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  435. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  436. package/Libraries/StyleSheet/PointPropType.js +1 -1
  437. package/Libraries/StyleSheet/Rect.js +1 -1
  438. package/Libraries/StyleSheet/StyleSheet.js +3 -2
  439. package/Libraries/StyleSheet/StyleSheetTypes.js +2 -2
  440. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  441. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  442. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  443. package/Libraries/StyleSheet/processColor.js +3 -3
  444. package/Libraries/StyleSheet/processColorArray.js +1 -1
  445. package/Libraries/StyleSheet/processTransform.js +21 -2
  446. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  447. package/Libraries/StyleSheet/splitLayoutProps.js +2 -4
  448. package/Libraries/Text/Text.js +11 -12
  449. package/Libraries/Text/Text.windows.js +10 -13
  450. package/Libraries/Text/TextAncestor.js +1 -1
  451. package/Libraries/Text/TextNativeComponent.js +10 -8
  452. package/Libraries/Text/TextProps.js +19 -19
  453. package/Libraries/TurboModule/RCTExport.js +1 -1
  454. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  455. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -1
  456. package/Libraries/Types/CodegenTypes.js +1 -1
  457. package/Libraries/Types/CoreEventTypes.js +1 -1
  458. package/Libraries/Types/CoreEventTypes.windows.js +1 -1
  459. package/Libraries/Types/RootTagTypes.js +1 -1
  460. package/Libraries/UTFSequence.js +1 -1
  461. package/Libraries/Utilities/Appearance.js +7 -6
  462. package/Libraries/Utilities/BackHandler.android.js +5 -5
  463. package/Libraries/Utilities/BackHandler.ios.js +1 -1
  464. package/Libraries/Utilities/BackHandler.windows.js +5 -5
  465. package/Libraries/Utilities/DebugEnvironment.js +1 -1
  466. package/Libraries/Utilities/DevSettings.js +1 -1
  467. package/Libraries/Utilities/DeviceInfo.js +1 -1
  468. package/Libraries/Utilities/Dimensions.js +1 -1
  469. package/Libraries/Utilities/FeatureDetection.js +1 -1
  470. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  471. package/Libraries/Utilities/HMRClient.js +3 -3
  472. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  473. package/Libraries/Utilities/JSDevSupportModule.js +4 -5
  474. package/Libraries/Utilities/LoadingView.android.js +1 -1
  475. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  476. package/Libraries/Utilities/LoadingView.js +1 -1
  477. package/Libraries/Utilities/MatrixMath.js +20 -20
  478. package/Libraries/Utilities/NativeAppearance.js +1 -1
  479. package/Libraries/Utilities/NativeDevLoadingView.js +1 -1
  480. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -1
  481. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  482. package/Libraries/Utilities/NativeJSDevSupport.js +1 -1
  483. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -1
  484. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -1
  485. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -4
  486. package/Libraries/Utilities/PixelRatio.js +1 -1
  487. package/Libraries/Utilities/Platform.android.js +1 -1
  488. package/Libraries/Utilities/Platform.ios.js +1 -1
  489. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  490. package/Libraries/Utilities/RCTLog.js +1 -1
  491. package/Libraries/Utilities/ReactNativeTestTools.js +8 -12
  492. package/Libraries/Utilities/SceneTracker.js +5 -4
  493. package/Libraries/Utilities/__mocks__/BackHandler.js +4 -4
  494. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  495. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  496. package/Libraries/Utilities/binaryToBase64.js +1 -1
  497. package/Libraries/Utilities/buildStyleInterpolator.js +10 -10
  498. package/Libraries/Utilities/clamp.js +1 -1
  499. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  500. package/Libraries/Utilities/codegenNativeComponent.js +4 -3
  501. package/Libraries/Utilities/createPerformanceLogger.js +1 -1
  502. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  503. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  504. package/Libraries/Utilities/deprecatedPropType.js +1 -1
  505. package/Libraries/Utilities/differ/deepDiffer.js +2 -2
  506. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  507. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  508. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  509. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  510. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  511. package/Libraries/Utilities/groupByEveryN.js +1 -1
  512. package/Libraries/Utilities/infoLog.js +1 -1
  513. package/Libraries/Utilities/logError.js +2 -2
  514. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  515. package/Libraries/Utilities/mergeIntoFast.js +2 -2
  516. package/Libraries/Utilities/setAndForwardRef.js +1 -1
  517. package/Libraries/Utilities/stringifySafe.js +1 -1
  518. package/Libraries/Utilities/truncate.js +2 -2
  519. package/Libraries/Utilities/useColorScheme.js +1 -1
  520. package/Libraries/Utilities/useMergeRefs.js +1 -1
  521. package/Libraries/Utilities/useRefEffect.js +1 -1
  522. package/Libraries/Utilities/useWindowDimensions.js +6 -2
  523. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +4 -2
  524. package/Libraries/Utilities/warnOnce.js +1 -1
  525. package/Libraries/Vibration/NativeVibration.js +1 -1
  526. package/Libraries/Vibration/Vibration.js +6 -6
  527. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -1
  528. package/Libraries/WebSocket/WebSocket.js +1 -1
  529. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  530. package/Libraries/WebSocket/WebSocketInterceptor.js +7 -7
  531. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  532. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  533. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +1 -1
  534. package/Libraries/promiseRejectionTrackingOptions.js +2 -2
  535. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  536. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  537. package/Libraries/vendor/emitter/EventSubscription.js +1 -1
  538. package/Libraries/vendor/emitter/_EmitterSubscription.js +3 -2
  539. package/Libraries/vendor/emitter/_EventEmitter.js +3 -2
  540. package/Libraries/vendor/emitter/_EventSubscription.js +3 -2
  541. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +2 -2
  542. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +1 -1
  543. package/Microsoft.ReactNative/ABIViewManager.cpp +14 -1
  544. package/Microsoft.ReactNative/ABIViewManager.h +4 -0
  545. package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -11
  546. package/Microsoft.ReactNative/Base/CoreNativeModules.h +0 -2
  547. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +2 -2
  548. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -2
  549. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +2 -2
  550. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +1 -1
  551. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +13 -12
  552. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -3
  553. package/Microsoft.ReactNative/IViewManager.idl +7 -0
  554. package/Microsoft.ReactNative/JsiApi.cpp +3 -3
  555. package/Microsoft.ReactNative/JsiApi.h +4 -4
  556. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +39 -37
  557. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -1
  558. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +4 -0
  559. package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +6 -0
  560. package/Microsoft.ReactNative/Modules/AlertModule.cpp +5 -2
  561. package/Microsoft.ReactNative/Modules/AlertModule.h +1 -0
  562. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.cpp +26 -25
  563. package/Microsoft.ReactNative/Modules/Animated/AnimationDriver.h +4 -1
  564. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.cpp +7 -5
  565. package/Microsoft.ReactNative/Modules/Animated/CalculatedAnimationDriver.h +1 -1
  566. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.cpp +5 -15
  567. package/Microsoft.ReactNative/Modules/Animated/DecayAnimationDriver.h +1 -3
  568. package/Microsoft.ReactNative/Modules/Animated/DiffClampAnimatedNode.cpp +1 -1
  569. package/Microsoft.ReactNative/Modules/Animated/DivisionAnimatedNode.cpp +2 -2
  570. package/Microsoft.ReactNative/Modules/Animated/FrameAnimationDriver.cpp +1 -1
  571. package/Microsoft.ReactNative/Modules/Animated/InterpolationAnimatedNode.cpp +1 -1
  572. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +86 -12
  573. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +14 -2
  574. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.cpp +4 -1
  575. package/Microsoft.ReactNative/Modules/Animated/SpringAnimationDriver.h +1 -1
  576. package/Microsoft.ReactNative/Modules/Animated/TrackingAnimatedNode.cpp +3 -0
  577. package/Microsoft.ReactNative/Modules/AppStateModule.h +1 -0
  578. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +60 -45
  579. package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +22 -23
  580. package/Microsoft.ReactNative/Modules/ClipboardModule.h +3 -0
  581. package/Microsoft.ReactNative/Modules/DevSettingsModule.h +3 -0
  582. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +2 -0
  583. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +2 -0
  584. package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +2 -0
  585. package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +57 -72
  586. package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +35 -13
  587. package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -0
  588. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +1 -1
  589. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +6 -0
  590. package/Microsoft.ReactNative/ReactApplication.cpp +1 -1
  591. package/Microsoft.ReactNative/ReactCoreInjection.cpp +4 -11
  592. package/Microsoft.ReactNative/ReactHost/ReactContext.h +2 -2
  593. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +6 -1
  594. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +56 -76
  595. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +2 -4
  596. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.cpp +52 -20
  597. package/Microsoft.ReactNative/Utils/ResourceBrushUtils.h +10 -2
  598. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
  599. package/Microsoft.ReactNative/Utils/XamlIslandUtils.cpp +23 -2
  600. package/Microsoft.ReactNative/Utils/XamlIslandUtils.h +2 -0
  601. package/Microsoft.ReactNative/Views/FlyoutViewManager.h +0 -1
  602. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +0 -69
  603. package/Microsoft.ReactNative/Views/RawTextViewManager.cpp +1 -0
  604. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +1 -0
  605. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +64 -15
  606. package/Microsoft.ReactNative/Views/Text/TextHitTestVisitor.cpp +1 -1
  607. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +23 -5
  608. package/Microsoft.ReactNative/Views/TextViewManager.cpp +11 -0
  609. package/Microsoft.ReactNative/Views/TextViewManager.h +1 -0
  610. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -9
  611. package/Microsoft.ReactNative/Views/ViewManagerBase.h +3 -0
  612. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +2 -4
  613. package/Microsoft.ReactNative/Views/VirtualTextViewManager.cpp +18 -0
  614. package/Microsoft.ReactNative/Views/VirtualTextViewManager.h +2 -0
  615. package/Microsoft.ReactNative/XamlView.cpp +3 -10
  616. package/Microsoft.ReactNative/XamlView.h +1 -2
  617. package/Microsoft.ReactNative.Cxx/NativeModules.h +24 -5
  618. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +18 -1
  619. package/Microsoft.ReactNative.Managed/packages.lock.json +283 -0
  620. package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +1 -1
  621. package/Mso/comUtil/IUnknownShim.h +4 -0
  622. package/Mso/future/futureWinRT.h +7 -5
  623. package/PropertySheets/Appx.props +19 -0
  624. package/PropertySheets/Bundle.Common.targets +2 -2
  625. package/PropertySheets/Bundle.props +1 -1
  626. package/PropertySheets/External/Microsoft.ReactNative.Common.props +28 -3
  627. package/PropertySheets/External/Microsoft.ReactNative.Common.targets +34 -0
  628. package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +17 -0
  629. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.props +1 -0
  630. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpApp.targets +11 -4
  631. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CSharpLib.targets +7 -0
  632. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.SourceReferences.targets +18 -0
  633. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.props +1 -0
  634. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppApp.targets +11 -9
  635. package/PropertySheets/External/Microsoft.ReactNative.Uwp.CppLib.targets +7 -0
  636. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +5 -3
  637. package/PropertySheets/FastBuild.targets +64 -0
  638. package/PropertySheets/FixupRoslynCscWarnings.targets +38 -0
  639. package/PropertySheets/Generated/PackageVersion.g.props +2 -2
  640. package/PropertySheets/JSEngine.props +5 -3
  641. package/PropertySheets/React.Cpp.props +13 -4
  642. package/PropertySheets/WinUI.props +0 -3
  643. package/README.md +1 -1
  644. package/ReactCommon/ReactCommon.vcxproj +4 -10
  645. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  646. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +128 -0
  647. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.h +150 -0
  648. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +149 -0
  649. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.h +59 -0
  650. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/tests/MapBufferTest.cpp +167 -0
  651. package/ReactCommon/Yoga.cpp +1 -1
  652. package/Scripts/Analyze-Crash.ps1 +116 -0
  653. package/Scripts/Microsoft.ReactNative.Managed.nuspec +10 -8
  654. package/Scripts/Microsoft.ReactNative.ProjectReunion.nuspec +5 -5
  655. package/Scripts/Microsoft.ReactNative.nuspec +10 -8
  656. package/Scripts/OfficeReact.Win32.nuspec +2 -1
  657. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +102 -0
  658. package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +68 -0
  659. package/Scripts/Tfs/Make-AnyCPU-RefAssemblies.ps1 +39 -0
  660. package/Scripts/Tfs/Start-TestServers.ps1 +19 -11
  661. package/Scripts/copyRNLibraries.js +8 -8
  662. package/Scripts/just.js +1 -1
  663. package/Scripts/rnw-dependencies.ps1 +2 -10
  664. package/Scripts/run-desktop-integration-tests.js +6 -6
  665. package/Scripts/utils.js +1 -1
  666. package/Shared/ChakraRuntimeHolder.cpp +4 -0
  667. package/Shared/ChakraRuntimeHolder.h +2 -1
  668. package/Shared/CreateModules.h +0 -3
  669. package/Shared/DevSettings.h +3 -5
  670. package/Shared/HermesRuntimeHolder.cpp +4 -7
  671. package/Shared/HermesRuntimeHolder.h +2 -1
  672. package/Shared/JSI/NapiJsiV8RuntimeHolder.cpp +6 -2
  673. package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -1
  674. package/Shared/JSI/RuntimeHolder.h +5 -4
  675. package/Shared/Modules/AsyncStorageModule.cpp +0 -4
  676. package/Shared/OInstance.cpp +20 -96
  677. package/Shared/Shared.vcxitems +0 -1
  678. package/Shared/Shared.vcxitems.filters +0 -3
  679. package/Shared/V8JSIRuntimeHolder.cpp +4 -0
  680. package/Shared/V8JSIRuntimeHolder.h +2 -1
  681. package/codegen/NativeAccessibilityInfoSpec.g.h +11 -5
  682. package/codegen/NativeAccessibilityManagerSpec.g.h +30 -18
  683. package/codegen/NativeActionSheetManagerSpec.g.h +1 -1
  684. package/codegen/NativeAlertManagerSpec.g.h +1 -1
  685. package/codegen/NativeAnimatedModuleSpec.g.h +6 -6
  686. package/codegen/NativeAnimatedTurboModuleSpec.g.h +6 -6
  687. package/codegen/NativeAppStateSpec.g.h +3 -3
  688. package/codegen/NativeAppThemeSpec.g.h +57 -0
  689. package/codegen/NativeBlobModuleSpec.g.h +6 -6
  690. package/codegen/NativeBugReportingSpec.g.h +3 -3
  691. package/codegen/NativeClipboardSpec.g.h +3 -3
  692. package/codegen/NativeDatePickerAndroidSpec.g.h +3 -3
  693. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
  694. package/codegen/NativeExceptionsManagerSpec.g.h +1 -1
  695. package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
  696. package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
  697. package/codegen/NativeImageLoaderAndroidSpec.g.h +12 -12
  698. package/codegen/NativeImageLoaderIOSSpec.g.h +15 -15
  699. package/codegen/NativeIntentAndroidSpec.g.h +15 -15
  700. package/codegen/NativeLinkingManagerSpec.g.h +12 -12
  701. package/codegen/NativeNetworkingAndroidSpec.g.h +3 -3
  702. package/codegen/NativeNetworkingIOSSpec.g.h +2 -2
  703. package/codegen/NativePermissionsAndroidSpec.g.h +12 -12
  704. package/codegen/NativePushNotificationManagerIOSSpec.g.h +10 -10
  705. package/codegen/NativeRedBoxSpec.g.h +3 -3
  706. package/codegen/NativeSampleTurboModuleSpec.g.h +15 -15
  707. package/codegen/NativeSegmentFetcherSpec.g.h +6 -6
  708. package/codegen/NativeSettingsManagerSpec.g.h +4 -4
  709. package/codegen/NativeShareModuleSpec.g.h +3 -3
  710. package/codegen/NativeUIManagerSpec.g.h +27 -27
  711. package/codegen/NativeWebSocketModuleSpec.g.h +1 -1
  712. package/codegen/react/components/rnwcore/Props.cpp +2 -2
  713. package/codegen/react/components/rnwcore/Props.h +1 -1
  714. package/fmt/fmt.vcxproj +0 -3
  715. package/fmt/fmt.vcxproj.filters +0 -3
  716. package/index.js +26 -17
  717. package/index.windows.js +31 -22
  718. package/interface.js +1 -1
  719. package/jest/MockNativeMethods.js +1 -1
  720. package/jest/assetFileTransformer.js +3 -3
  721. package/jest/mockComponent.js +1 -1
  722. package/jest/mockModal.js +3 -3
  723. package/jest/mockNativeComponent.js +5 -1
  724. package/jest/mockScrollView.js +1 -1
  725. package/jest/preprocessor.js +3 -3
  726. package/jest/renderer.js +1 -1
  727. package/jest/setup.js +5 -4
  728. package/package.json +30 -29
  729. package/rn-get-polyfills.js +1 -1
  730. package/rntypes/globals.d.ts +6 -5
  731. package/rntypes/index.d.ts +89 -312
  732. package/rntypes/legacy-properties.d.ts +0 -28
  733. package/template/cpp-app/proj/MyApp.sln +2 -2
  734. package/template/cpp-app/proj/MyApp.vcxproj +9 -34
  735. package/template/cpp-app/proj/MyApp.vcxproj.filters +0 -1
  736. package/template/cpp-lib/proj/MyLib.sln +2 -2
  737. package/template/cpp-lib/proj/MyLib.vcxproj +9 -35
  738. package/template/cpp-lib/proj/MyLib.vcxproj.filters +0 -1
  739. package/template/cs-app/proj/Directory.Build.props +13 -0
  740. package/template/cs-app/proj/MyApp.csproj +5 -16
  741. package/template/cs-app/proj/MyApp.sln +2 -2
  742. package/template/cs-lib/proj/Directory.Build.props +13 -0
  743. package/template/cs-lib/proj/MyLib.csproj +5 -0
  744. package/template/cs-lib/proj/MyLib.sln +2 -2
  745. package/typings-index.d.ts +0 -1
  746. package/typings-index.js +0 -1
  747. package/typings-index.js.map +1 -1
  748. package/CHANGELOG.json +0 -14931
  749. package/CHANGELOG.md +0 -5568
  750. package/Folly/packages.config +0 -4
  751. package/Libraries/AppTheme/AppTheme.d.ts +0 -13
  752. package/Libraries/AppTheme/AppTheme.js.map +0 -1
  753. package/Libraries/AppTheme/AppThemeTypes.js +0 -8
  754. package/Libraries/AppTheme/AppThemeTypes.js.map +0 -1
  755. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -116
  756. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  757. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  758. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +0 -131
  759. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.ios.js +0 -82
  760. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.windows.js +0 -82
  761. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  762. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  763. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  764. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  765. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  766. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  767. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  768. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  769. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  770. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  771. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -46
  772. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.windows.js +0 -72
  773. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  774. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  775. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  776. package/Libraries/Text/TextNativeComponent.windows.js +0 -72
  777. package/Microsoft.ReactNative/packages.config +0 -12
  778. package/ReactCommon/packages.config +0 -4
  779. package/Scripts/Tfs/Install-VSFeatures.ps1 +0 -112
  780. package/Scripts/Tfs/Layout-Headers.ps1 +0 -165
  781. package/Shared/IUIManager.h +0 -90
  782. package/fmt/packages.config +0 -3
  783. package/template/cpp-app/proj/packages.config +0 -6
  784. package/template/cpp-lib/proj/packages.config +0 -6
@@ -120,10 +120,41 @@ void NativeAnimatedNodeManager::DisconnectAnimatedNode(int64_t parentNodeTag, in
120
120
  }
121
121
  }
122
122
 
123
- void NativeAnimatedNodeManager::StopAnimation(int64_t animationId) {
123
+ void NativeAnimatedNodeManager::StopAnimation(int64_t animationId, bool isTrackingAnimation) {
124
124
  if (m_activeAnimations.count(animationId)) {
125
- if (const auto animation = m_activeAnimations.at(animationId).get()) {
126
- animation->StopAnimation();
125
+ if (const auto animation = m_activeAnimations.at(animationId)) {
126
+ animation->StopAnimation(isTrackingAnimation);
127
+
128
+ // Insert the animation into the pending completion set to ensure it is
129
+ // not destroyed before the callback occurs. It's safe to assume the
130
+ // scoped batch completion callback has not run, since if it had, the
131
+ // animation would have been removed from the set of active animations.
132
+ m_pendingCompletionAnimations.insert({animationId, animation});
133
+
134
+ const auto nodeTag = animation->AnimatedValueTag();
135
+ if (nodeTag != -1) {
136
+ const auto deferredAnimation = m_deferredAnimationForValues.find(nodeTag);
137
+ if (deferredAnimation != m_deferredAnimationForValues.end()) {
138
+ // We can assume that the currently deferred animation is the one
139
+ // being stopped given the constraint that only one animation can
140
+ // be active for a given value node.
141
+ assert(deferredAnimation->second == animationId);
142
+ // If the animation is deferred, just remove the deferred animation
143
+ // entry as two animations cannot animate the same value concurrently.
144
+ m_deferredAnimationForValues.erase(nodeTag);
145
+ } else {
146
+ // Since only one animation can be active at a time, there shouldn't
147
+ // be any stopped animations for the value node if the animation has
148
+ // not been deferred.
149
+ assert(!m_valuesWithStoppedAnimation.count(nodeTag));
150
+ // In this case, add the value tag to the set of values with stopped
151
+ // animations. This is used to optimize the lookup when determining
152
+ // if an animation needs to be deferred (rather than iterating over
153
+ // the map of pending completion animations).
154
+ m_valuesWithStoppedAnimation.insert(nodeTag);
155
+ }
156
+ }
157
+
127
158
  m_activeAnimations.erase(animationId);
128
159
  }
129
160
  }
@@ -218,12 +249,12 @@ void NativeAnimatedNodeManager::StartAnimatingNode(
218
249
  case AnimationType::Decay:
219
250
  m_activeAnimations.emplace(
220
251
  animationId,
221
- std::make_unique<DecayAnimationDriver>(animationId, animatedNodeTag, endCallback, animationConfig, manager));
252
+ std::make_shared<DecayAnimationDriver>(animationId, animatedNodeTag, endCallback, animationConfig, manager));
222
253
  break;
223
254
  case AnimationType::Frames:
224
255
  m_activeAnimations.emplace(
225
256
  animationId,
226
- std::make_unique<FrameAnimationDriver>(animationId, animatedNodeTag, endCallback, animationConfig, manager));
257
+ std::make_shared<FrameAnimationDriver>(animationId, animatedNodeTag, endCallback, animationConfig, manager));
227
258
  break;
228
259
  case AnimationType::Spring: {
229
260
  folly::dynamic dynamicValues = [animationConfig]() {
@@ -232,7 +263,7 @@ void NativeAnimatedNodeManager::StartAnimatingNode(
232
263
  }();
233
264
  m_activeAnimations.emplace(
234
265
  animationId,
235
- std::make_unique<SpringAnimationDriver>(
266
+ std::make_shared<SpringAnimationDriver>(
236
267
  animationId, animatedNodeTag, endCallback, animationConfig, manager, dynamicValues));
237
268
  break;
238
269
  }
@@ -241,13 +272,17 @@ void NativeAnimatedNodeManager::StartAnimatingNode(
241
272
  break;
242
273
  }
243
274
 
275
+ // If the animated value node has any stopped animations, defer start until
276
+ // all stopped animations fire completion callback and have latest values.
244
277
  if (m_activeAnimations.count(animationId)) {
245
- m_activeAnimations.at(animationId)->StartAnimation();
246
-
247
- for (auto const &trackingAndLead : m_trackingAndLeadNodeTags) {
248
- if (std::get<1>(trackingAndLead) == animatedNodeTag) {
249
- RestartTrackingAnimatedNode(std::get<0>(trackingAndLead), std::get<1>(trackingAndLead), manager);
250
- }
278
+ if (m_valuesWithStoppedAnimation.count(animatedNodeTag)) {
279
+ // Since only one animation can be active per value at a time, there will
280
+ // not be any other deferred animations for the value node.
281
+ assert(!m_deferredAnimationForValues.count(animatedNodeTag));
282
+ // Add the animation to the deferred animation map for the value tag.
283
+ m_deferredAnimationForValues.insert({animatedNodeTag, animationId});
284
+ } else {
285
+ StartAnimationAndTrackingNodes(animationId, animatedNodeTag, manager);
251
286
  }
252
287
  }
253
288
  }
@@ -406,4 +441,43 @@ TrackingAnimatedNode *NativeAnimatedNodeManager::GetTrackingAnimatedNode(int64_t
406
441
  void NativeAnimatedNodeManager::RemoveActiveAnimation(int64_t tag) {
407
442
  m_activeAnimations.erase(tag);
408
443
  }
444
+
445
+ void NativeAnimatedNodeManager::RemoveStoppedAnimation(
446
+ int64_t tag,
447
+ const std::shared_ptr<NativeAnimatedNodeManager> &manager) {
448
+ if (m_pendingCompletionAnimations.count(tag)) {
449
+ // Remove stopped animation for value node entry
450
+ const auto animation = m_pendingCompletionAnimations.at(tag);
451
+ const auto nodeTag = animation->AnimatedValueTag();
452
+ // If the animation was stopped, attempt to start deferred animations.
453
+ if (m_valuesWithStoppedAnimation.erase(nodeTag)) {
454
+ StartDeferredAnimationsForValueNode(nodeTag, manager);
455
+ }
456
+ m_pendingCompletionAnimations.erase(tag);
457
+ }
458
+ }
459
+
460
+ void NativeAnimatedNodeManager::StartDeferredAnimationsForValueNode(
461
+ int64_t tag,
462
+ const std::shared_ptr<NativeAnimatedNodeManager> &manager) {
463
+ if (m_deferredAnimationForValues.count(tag)) {
464
+ const auto deferredAnimationTag = m_deferredAnimationForValues.at(tag);
465
+ StartAnimationAndTrackingNodes(deferredAnimationTag, tag, manager);
466
+ m_deferredAnimationForValues.erase(tag);
467
+ }
468
+ }
469
+
470
+ void NativeAnimatedNodeManager::StartAnimationAndTrackingNodes(
471
+ int64_t tag,
472
+ int64_t nodeTag,
473
+ const std::shared_ptr<NativeAnimatedNodeManager> &manager) {
474
+ if (m_activeAnimations.count(tag)) {
475
+ m_activeAnimations.at(tag)->StartAnimation();
476
+ for (auto const &trackingAndLead : m_trackingAndLeadNodeTags) {
477
+ if (std::get<1>(trackingAndLead) == nodeTag) {
478
+ RestartTrackingAnimatedNode(std::get<0>(trackingAndLead), std::get<1>(trackingAndLead), manager);
479
+ }
480
+ }
481
+ }
482
+ }
409
483
  } // namespace Microsoft::ReactNative
@@ -49,7 +49,7 @@ class NativeAnimatedNodeManager {
49
49
  void DisconnectAnimatedNodeToView(int64_t propsNodeTag, int64_t viewTag);
50
50
  void ConnectAnimatedNode(int64_t parentNodeTag, int64_t childNodeTag);
51
51
  void DisconnectAnimatedNode(int64_t parentNodeTag, int64_t childNodeTag);
52
- void StopAnimation(int64_t animationId);
52
+ void StopAnimation(int64_t animationId, bool isTrackingAnimation = false);
53
53
  void RestartTrackingAnimatedNode(
54
54
  int64_t animationId,
55
55
  int64_t animatedToValueTag,
@@ -88,7 +88,16 @@ class NativeAnimatedNodeManager {
88
88
  StyleAnimatedNode *GetStyleAnimatedNode(int64_t tag);
89
89
  TransformAnimatedNode *GetTransformAnimatedNode(int64_t tag);
90
90
  TrackingAnimatedNode *GetTrackingAnimatedNode(int64_t tag);
91
+
91
92
  void RemoveActiveAnimation(int64_t tag);
93
+ void RemoveStoppedAnimation(int64_t tag, const std::shared_ptr<NativeAnimatedNodeManager> &manager);
94
+ void StartDeferredAnimationsForValueNode(
95
+ int64_t valueNodeTag,
96
+ const std::shared_ptr<NativeAnimatedNodeManager> &manager);
97
+ void StartAnimationAndTrackingNodes(
98
+ int64_t tag,
99
+ int64_t nodeTag,
100
+ const std::shared_ptr<NativeAnimatedNodeManager> &manager);
92
101
 
93
102
  private:
94
103
  std::unordered_map<int64_t, std::unique_ptr<ValueAnimatedNode>> m_valueNodes{};
@@ -98,7 +107,10 @@ class NativeAnimatedNodeManager {
98
107
  std::unordered_map<int64_t, std::unique_ptr<TrackingAnimatedNode>> m_trackingNodes{};
99
108
  std::unordered_map<std::tuple<int64_t, std::string>, std::vector<std::unique_ptr<EventAnimationDriver>>>
100
109
  m_eventDrivers{};
101
- std::unordered_map<int64_t, std::unique_ptr<AnimationDriver>> m_activeAnimations{};
110
+ std::unordered_map<int64_t, std::shared_ptr<AnimationDriver>> m_activeAnimations{};
111
+ std::unordered_map<int64_t, std::shared_ptr<AnimationDriver>> m_pendingCompletionAnimations{};
112
+ std::unordered_set<int64_t> m_valuesWithStoppedAnimation{};
113
+ std::unordered_map<int64_t, int64_t> m_deferredAnimationForValues{};
102
114
  std::vector<std::tuple<int64_t, int64_t>> m_trackingAndLeadNodeTags{};
103
115
  std::vector<int64_t> m_delayedPropsNodes{};
104
116
 
@@ -29,7 +29,10 @@ SpringAnimationDriver::SpringAnimationDriver(
29
29
  m_iterations = static_cast<int>(config.find(s_iterationsParameterName).dereference().second.asDouble());
30
30
  }
31
31
 
32
- bool SpringAnimationDriver::IsAnimationDone(double currentValue, double currentVelocity) {
32
+ bool SpringAnimationDriver::IsAnimationDone(
33
+ double currentValue,
34
+ std::optional<double> /*previousValue*/,
35
+ double currentVelocity) {
33
36
  return (
34
37
  IsAtRest(currentVelocity, currentValue, m_endValue) ||
35
38
  (m_overshootClampingEnabled && IsOvershooting(currentValue)));
@@ -22,7 +22,7 @@ class SpringAnimationDriver : public CalculatedAnimationDriver {
22
22
 
23
23
  protected:
24
24
  std::tuple<float, double> GetValueAndVelocityForTime(double time) override;
25
- bool IsAnimationDone(double currentValue, double currentVelocity) override;
25
+ bool IsAnimationDone(double currentValue, std::optional<double> previousValue, double currentVelocity) override;
26
26
 
27
27
  private:
28
28
  bool IsAtRest(double currentVelocity, double currentPosition, double endValue);
@@ -27,6 +27,9 @@ void TrackingAnimatedNode::Update() {
27
27
  void TrackingAnimatedNode::StartAnimation() {
28
28
  if (auto const strongManager = m_manager.lock()) {
29
29
  if (auto const toValueNode = strongManager->GetValueAnimatedNode(m_toValueId)) {
30
+ // In case the animation is already running, we need to stop it to free up the
31
+ // animationId key in the active animations map in the animation manager.
32
+ strongManager->StopAnimation(m_animationId, true);
30
33
  toValueNode->AddActiveTrackingNode(m_tag);
31
34
  m_animationConfig.insert(static_cast<folly::StringPiece>(s_toValueIdName), toValueNode->Value());
32
35
  strongManager->StartTrackingAnimatedNode(
@@ -11,6 +11,7 @@ namespace Microsoft::ReactNative {
11
11
 
12
12
  REACT_MODULE(AppState)
13
13
  struct AppState : public std::enable_shared_from_this<AppState> {
14
+ using ModuleSpec = ReactNativeSpecs::AppStateSpec;
14
15
  using AppStateChangeArgs = ReactNativeSpecs::AppStateSpec_getCurrentAppState_success_appState;
15
16
 
16
17
  REACT_INIT(Initialize)
@@ -29,17 +29,20 @@ using namespace winrt::Microsoft::ReactNative;
29
29
 
30
30
  namespace Microsoft::ReactNative {
31
31
 
32
+ static const React::ReactPropertyId<React::ReactNonAbiValue<std::shared_ptr<AppThemeHolder>>>
33
+ &AppThemeHolderPropertyId() noexcept {
34
+ static const React::ReactPropertyId<React::ReactNonAbiValue<std::shared_ptr<AppThemeHolder>>> prop{
35
+ L"ReactNative.AppTheme", L"AppThemeHolder"};
36
+ return prop;
37
+ }
38
+
32
39
  //
33
- // AppTheme
40
+ // AppThemeHolder
34
41
  //
35
42
 
36
- AppTheme::AppTheme(
37
- const Mso::React::IReactContext &context,
38
- const std::shared_ptr<facebook::react::MessageQueueThread> &defaultQueueThread)
39
- : m_context(&context), m_queueThread(defaultQueueThread) {
43
+ AppThemeHolder::AppThemeHolder(const Mso::React::IReactContext &context) : m_context(&context) {
40
44
  if (auto currentApp = xaml::TryGetCurrentApplication()) {
41
- m_isHighContrast = getIsHighContrast();
42
- m_highContrastColors = getHighContrastColors();
45
+ NotifyHighContrastChanged();
43
46
 
44
47
  if (IsWinUI3Island()) {
45
48
  m_wmSubscription = SubscribeToWindowMessage(
@@ -53,57 +56,69 @@ AppTheme::AppTheme(
53
56
  }
54
57
  }
55
58
 
56
- bool AppTheme::getIsHighContrast() const {
57
- return m_accessibilitySettings.HighContrast();
59
+ ReactNativeSpecs::AppThemeSpec_AppThemeData AppThemeHolder::GetConstants() noexcept {
60
+ return m_appThemeData;
58
61
  }
59
62
 
60
- // Returns the RBG values for the 8 relevant High Contrast elements.
61
- folly::dynamic AppTheme::getHighContrastColors() const {
62
- winrt::Windows::UI::Color ButtonFaceColor = m_uiSettings.UIElementColor(winrt::UIElementType::ButtonFace);
63
- winrt::Windows::UI::Color ButtonTextColor = m_uiSettings.UIElementColor(winrt::UIElementType::ButtonText);
64
- winrt::Windows::UI::Color GrayTextColor = m_uiSettings.UIElementColor(winrt::UIElementType::GrayText);
65
- winrt::Windows::UI::Color HighlightColor = m_uiSettings.UIElementColor(winrt::UIElementType::Highlight);
66
- winrt::Windows::UI::Color HighlightTextColor = m_uiSettings.UIElementColor(winrt::UIElementType::HighlightText);
67
- winrt::Windows::UI::Color HotlightColor = m_uiSettings.UIElementColor(winrt::UIElementType::Hotlight);
68
- winrt::Windows::UI::Color WindowColor = m_uiSettings.UIElementColor(winrt::UIElementType::Window);
69
- winrt::Windows::UI::Color WindowTextColor = m_uiSettings.UIElementColor(winrt::UIElementType::WindowText);
70
-
71
- folly::dynamic rbgValues = folly::dynamic::object("ButtonFaceColor", formatRGB(ButtonFaceColor))(
72
- "ButtonTextColor", formatRGB(ButtonTextColor))("GrayTextColor", formatRGB(GrayTextColor))(
73
- "HighlightColor", formatRGB(HighlightColor))("HighlightTextColor", formatRGB(HighlightTextColor))(
74
- "HotlightColor", formatRGB(HotlightColor))("WindowColor", formatRGB(WindowColor))(
75
- "WindowTextColor", formatRGB(WindowTextColor));
76
- return rbgValues;
63
+ /*static*/ void AppThemeHolder::InitAppThemeHolder(const Mso::React::IReactContext &context) noexcept {
64
+ auto appThemeHolder = std::make_shared<AppThemeHolder>(context);
65
+ winrt::Microsoft::ReactNative::ReactPropertyBag pb{context.Properties()};
66
+ pb.Set(AppThemeHolderPropertyId(), std::move(appThemeHolder));
77
67
  }
78
68
 
79
- /*static*/ std::string AppTheme::formatRGB(winrt::Windows::UI::Color ElementColor) {
80
- char colorChars[8];
81
- sprintf_s(colorChars, "#%02x%02x%02x", ElementColor.R, ElementColor.G, ElementColor.B);
82
- return colorChars;
83
- }
69
+ void AppThemeHolder::SetCallback(
70
+ const React::ReactPropertyBag &propertyBag,
71
+ Mso::Functor<void(React::JSValueObject &&)> &&callback) noexcept {
72
+ auto holder = propertyBag.Get(AppThemeHolderPropertyId());
84
73
 
85
- void AppTheme::fireEvent(std::string const &eventName, folly::dynamic &&eventData) const {
86
- m_context->CallJSFunction("RCTDeviceEventEmitter", "emit", folly::dynamic::array(eventName, std::move(eventData)));
74
+ (*holder)->m_notifyCallback = std::move(callback);
87
75
  }
88
76
 
89
- void AppTheme::NotifyHighContrastChanged() const {
90
- folly::dynamic eventData =
91
- folly::dynamic::object("highContrastColors", getHighContrastColors())("isHighContrast", getIsHighContrast());
92
- this->
77
+ void AppThemeHolder::NotifyHighContrastChanged() noexcept {
78
+ m_appThemeData.isHighContrast = m_accessibilitySettings.HighContrast();
79
+ m_appThemeData.highContrastColors.ButtonFaceColor =
80
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::ButtonFace));
81
+ m_appThemeData.highContrastColors.ButtonTextColor =
82
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::ButtonText));
83
+ m_appThemeData.highContrastColors.GrayTextColor =
84
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::GrayText));
85
+ m_appThemeData.highContrastColors.HighlightColor =
86
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::Highlight));
87
+ m_appThemeData.highContrastColors.HighlightTextColor =
88
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::HighlightText));
89
+ m_appThemeData.highContrastColors.HotlightColor =
90
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::Hotlight));
91
+ m_appThemeData.highContrastColors.WindowColor = FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::Window));
92
+ m_appThemeData.highContrastColors.WindowTextColor =
93
+ FormatRGB(m_uiSettings.UIElementColor(winrt::UIElementType::WindowText));
94
+
95
+ if (m_notifyCallback) {
96
+ auto writer = MakeJSValueTreeWriter();
97
+ WriteValue(writer, m_appThemeData);
98
+ m_notifyCallback(TakeJSValue(writer).MoveObject());
99
+ }
100
+ }
93
101
 
94
- fireEvent("highContrastChanged", std::move(eventData));
102
+ /*static*/ std::string AppThemeHolder::FormatRGB(winrt::Windows::UI::Color ElementColor) {
103
+ char colorChars[8];
104
+ sprintf_s(colorChars, "#%02x%02x%02x", ElementColor.R, ElementColor.G, ElementColor.B);
105
+ return colorChars;
95
106
  }
96
107
 
97
- AppThemeModule::AppThemeModule(std::shared_ptr<AppTheme> &&appTheme) : m_appTheme(std::move(appTheme)) {}
108
+ void AppTheme::Initialize(React::ReactContext const &reactContext) noexcept {
109
+ m_context = reactContext;
98
110
 
99
- auto AppThemeModule::getConstants() -> std::map<std::string, folly::dynamic> {
100
- return {
101
- {"initialHighContrast", folly::dynamic{m_appTheme->getIsHighContrast()}},
102
- {"initialHighContrastColors", folly::dynamic{m_appTheme->getHighContrastColors()}}};
111
+ AppThemeHolder::SetCallback(
112
+ m_context.Properties(), [weakThis = weak_from_this()](React::JSValueObject &&appThemeInfo) {
113
+ if (auto strongThis = weakThis.lock()) {
114
+ strongThis->m_context.EmitJSEvent(L"RCTDeviceEventEmitter", L"highContrastChanged", appThemeInfo);
115
+ }
116
+ });
103
117
  }
104
118
 
105
- auto AppThemeModule::getMethods() -> std::vector<facebook::xplat::module::CxxModule::Method> {
106
- return {};
119
+ ReactNativeSpecs::AppThemeSpec_AppThemeData AppTheme::GetConstants() noexcept {
120
+ winrt::Microsoft::ReactNative::ReactPropertyBag pb{m_context.Properties()};
121
+ return (*pb.Get(AppThemeHolderPropertyId()))->GetConstants();
107
122
  }
108
123
 
109
124
  } // namespace Microsoft::ReactNative
@@ -9,48 +9,47 @@
9
9
  #include <cxxreact/MessageQueueThread.h>
10
10
  #include <winrt/Windows.UI.ViewManagement.h>
11
11
 
12
+ #include "../../codegen/NativeAppThemeSpec.g.h"
13
+ #include <NativeModules.h>
14
+
12
15
  namespace Microsoft::ReactNative {
13
16
 
14
- class AppTheme : public std::enable_shared_from_this<AppTheme> {
17
+ class AppThemeHolder {
15
18
  public:
16
- AppTheme(
17
- const Mso::React::IReactContext &reactContext,
18
- const std::shared_ptr<facebook::react::MessageQueueThread> &defaultQueueThread);
19
+ AppThemeHolder(const Mso::React::IReactContext &reactContext);
19
20
 
20
- bool getIsHighContrast() const;
21
- folly::dynamic getHighContrastColors() const;
21
+ static void InitAppThemeHolder(const Mso::React::IReactContext &context) noexcept;
22
+ ReactNativeSpecs::AppThemeSpec_AppThemeData GetConstants() noexcept;
23
+ static void SetCallback(
24
+ const React::ReactPropertyBag &propertyBag,
25
+ Mso::Functor<void(React::JSValueObject &&)> &&callback) noexcept;
22
26
 
23
27
  private:
24
28
  // High Contrast Color helper method
25
- static std::string formatRGB(winrt::Windows::UI::Color ElementColor);
26
- void NotifyHighContrastChanged() const;
27
- void fireEvent(std::string const &eventName, folly::dynamic &&eventData) const;
29
+ static std::string FormatRGB(winrt::Windows::UI::Color ElementColor);
30
+ void NotifyHighContrastChanged() noexcept;
28
31
 
29
32
  Mso::CntPtr<const Mso::React::IReactContext> m_context;
30
- std::shared_ptr<facebook::react::MessageQueueThread> m_queueThread;
31
- bool m_isHighContrast{false};
32
- folly::dynamic m_highContrastColors;
33
+ Mso::Functor<void(React::JSValueObject &&)> m_notifyCallback;
34
+ ReactNativeSpecs::AppThemeSpec_AppThemeData m_appThemeData;
33
35
  winrt::Windows::UI::ViewManagement::AccessibilitySettings m_accessibilitySettings{};
34
36
  winrt::Windows::UI::ViewManagement::AccessibilitySettings::HighContrastChanged_revoker m_highContrastChangedRevoker{};
35
37
  winrt::Windows::UI::ViewManagement::UISettings m_uiSettings{};
36
38
  winrt::Microsoft::ReactNative::ReactNotificationSubscription m_wmSubscription;
37
39
  };
38
40
 
39
- class AppThemeModule : public facebook::xplat::module::CxxModule {
40
- public:
41
- static constexpr const char *Name = "RTCAppTheme";
41
+ REACT_MODULE(AppTheme)
42
+ struct AppTheme : public std::enable_shared_from_this<AppTheme> {
43
+ using ModuleSpec = ReactNativeSpecs::AppThemeSpec;
42
44
 
43
- AppThemeModule(std::shared_ptr<AppTheme> &&appTheme);
45
+ REACT_GET_CONSTANTS(GetConstants)
46
+ ReactNativeSpecs::AppThemeSpec_AppThemeData GetConstants() noexcept;
44
47
 
45
- // CxxModule
46
- std::string getName() override {
47
- return Name;
48
- };
49
- auto getConstants() -> std::map<std::string, folly::dynamic> override;
50
- auto getMethods() -> std::vector<Method> override;
48
+ REACT_INIT(Initialize)
49
+ void Initialize(React::ReactContext const &reactContext) noexcept;
51
50
 
52
51
  private:
53
- std::shared_ptr<AppTheme> m_appTheme;
52
+ winrt::Microsoft::ReactNative::ReactContext m_context;
54
53
  };
55
54
 
56
55
  } // namespace Microsoft::ReactNative
@@ -2,12 +2,15 @@
2
2
  // Licensed under the MIT License.
3
3
  #pragma once
4
4
 
5
+ #include "../../codegen/NativeClipboardSpec.g.h"
5
6
  #include <NativeModules.h>
6
7
 
7
8
  namespace Microsoft::ReactNative {
8
9
 
9
10
  REACT_MODULE(Clipboard)
10
11
  struct Clipboard {
12
+ using ModuleSpec = ReactNativeSpecs::ClipboardSpec;
13
+
11
14
  REACT_INIT(Initialize)
12
15
  void Initialize(winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
13
16
 
@@ -5,6 +5,7 @@
5
5
  #include <cxxreact/CxxModule.h>
6
6
  #include <functional/functor.h>
7
7
 
8
+ #include "../../codegen/NativeDevSettingsSpec.g.h"
8
9
  #include <NativeModules.h>
9
10
  #include <ReactHost/React.h>
10
11
 
@@ -12,6 +13,8 @@ namespace Microsoft::ReactNative {
12
13
 
13
14
  REACT_MODULE(DevSettings)
14
15
  struct DevSettings {
16
+ using ModuleSpec = ReactNativeSpecs::DevSettingsSpec;
17
+
15
18
  REACT_INIT(Initialize) void Initialize(winrt::Microsoft::ReactNative::ReactContext const &reactContext) noexcept;
16
19
 
17
20
  REACT_METHOD(reload) void reload() noexcept;
@@ -50,6 +50,8 @@ struct DeviceInfoHolder {
50
50
 
51
51
  REACT_MODULE(DeviceInfo)
52
52
  struct DeviceInfo : public std::enable_shared_from_this<DeviceInfo> {
53
+ using ModuleSpec = ReactNativeSpecs::DeviceInfoSpec;
54
+
53
55
  REACT_INIT(Initialize)
54
56
  void Initialize(React::ReactContext const &reactContext) noexcept;
55
57
 
@@ -15,6 +15,8 @@ namespace Microsoft::ReactNative {
15
15
  // PropertyBag so that the I18nModule can return the constants synchronously.
16
16
  REACT_MODULE(I18nManager)
17
17
  struct I18nManager {
18
+ using ModuleSpec = ReactNativeSpecs::I18nManagerSpec;
19
+
18
20
  static void InitI18nInfo(const React::ReactPropertyBag &propertyBag) noexcept;
19
21
  static bool IsRTL(const React::ReactPropertyBag &propertyBag) noexcept;
20
22
 
@@ -13,6 +13,8 @@ namespace Microsoft::ReactNative {
13
13
 
14
14
  REACT_MODULE(ImageLoader)
15
15
  struct ImageLoader {
16
+ using ModuleSpec = ReactNativeSpecs::ImageLoaderIOSSpec;
17
+
16
18
  REACT_INIT(Initialize)
17
19
  void Initialize(React::ReactContext const &reactContext) noexcept;
18
20