react-native-windows 0.72.16 → 0.73.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 (586) hide show
  1. package/.flowconfig +16 -5
  2. package/Chakra/ChakraHelpers.cpp +1 -1
  3. package/Chakra/ChakraUtils.cpp +1 -1
  4. package/Chakra/ChakraValue.h +1 -1
  5. package/Common/packages.lock.json +13 -0
  6. package/Directory.Build.props +6 -2
  7. package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
  8. package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
  9. package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
  10. package/Folly/cgmanifest.json +1 -1
  11. package/Folly/packages.lock.json +23 -0
  12. package/Libraries/Animated/Animated.js +1 -1
  13. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  14. package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
  15. package/Libraries/Animated/NativeAnimatedModule.js +6 -2
  16. package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
  17. package/Libraries/Animated/animations/Animation.js +57 -3
  18. package/Libraries/Animated/animations/DecayAnimation.js +9 -0
  19. package/Libraries/Animated/animations/SpringAnimation.js +8 -0
  20. package/Libraries/Animated/animations/TimingAnimation.js +8 -0
  21. package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
  22. package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
  23. package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  25. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  27. package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
  28. package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
  29. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
  30. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  31. package/Libraries/Animated/useAnimatedProps.js +9 -10
  32. package/Libraries/AppState/AppState.d.ts +1 -1
  33. package/Libraries/AppState/NativeAppState.js +8 -4
  34. package/Libraries/AppTheme/AppTheme.js +5 -5
  35. package/Libraries/BatchedBridge/MessageQueue.js +45 -36
  36. package/Libraries/Blob/Blob.js +6 -2
  37. package/Libraries/Blob/BlobManager.js +9 -10
  38. package/Libraries/Blob/BlobRegistry.js +14 -9
  39. package/Libraries/Blob/File.js +1 -1
  40. package/Libraries/Blob/FileReader.js +1 -2
  41. package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
  43. package/Libraries/Components/Glyph/Glyph.js +1 -1
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
  45. package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
  46. package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
  47. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  48. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
  49. package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
  50. package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
  51. package/Libraries/Components/Pressable/Pressable.js +3 -2
  52. package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
  53. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
  56. package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
  57. package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
  58. package/Libraries/Components/ScrollView/ScrollView.js +3 -1
  59. package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
  60. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
  61. package/Libraries/Components/Switch/Switch.js +1 -0
  62. package/Libraries/Components/Switch/Switch.windows.js +259 -0
  63. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  64. package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
  65. package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
  66. package/Libraries/Components/TextInput/TextInput.js +62 -10
  67. package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
  68. package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
  70. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  71. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  72. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  74. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
  75. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  77. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
  78. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
  79. package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
  80. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  81. package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
  82. package/Libraries/Components/View/View.js +46 -32
  83. package/Libraries/Components/View/View.windows.js +23 -7
  84. package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
  85. package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
  86. package/Libraries/Components/View/ViewNativeComponent.js +1 -0
  87. package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
  88. package/Libraries/Components/View/ViewPropTypes.js +18 -3
  89. package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
  90. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  91. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
  92. package/Libraries/Core/ExceptionsManager.js +16 -7
  93. package/Libraries/Core/ExtendedError.js +12 -0
  94. package/Libraries/Core/ReactNativeVersion.js +3 -3
  95. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  96. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  97. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  98. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  99. package/Libraries/Core/setUpMutationObserver.js +16 -0
  100. package/Libraries/Core/setUpPerformance.js +6 -13
  101. package/Libraries/Core/setUpPerformanceObserver.js +16 -0
  102. package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
  103. package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
  104. package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
  105. package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
  106. package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
  107. package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
  108. package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
  109. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
  110. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
  111. package/Libraries/Image/Image.android.js +8 -2
  112. package/Libraries/Image/Image.d.ts +1 -1
  113. package/Libraries/Image/Image.ios.js +4 -1
  114. package/Libraries/Image/Image.windows.js +6 -3
  115. package/Libraries/Image/ImageBackground.js +3 -0
  116. package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
  117. package/Libraries/Inspector/NetworkOverlay.js +2 -2
  118. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
  119. package/Libraries/Interaction/PanResponder.js +1 -4
  120. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  121. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
  122. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
  123. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
  124. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
  125. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +2 -1
  127. package/Libraries/Lists/FlatList.js +15 -5
  128. package/Libraries/Lists/SectionList.js +4 -0
  129. package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
  130. package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
  131. package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
  134. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  135. package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
  136. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  137. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  138. package/Libraries/MutationObserver/MutationRecord.js +82 -0
  139. package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
  140. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  141. package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
  143. package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
  144. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
  145. package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
  146. package/Libraries/Network/RCTNetworking.android.js +2 -1
  147. package/Libraries/Network/XMLHttpRequest.js +1 -1
  148. package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
  149. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
  150. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
  151. package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
  152. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  153. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
  154. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
  155. package/Libraries/Pressability/Pressability.js +28 -3
  156. package/Libraries/Pressability/Pressability.windows.js +30 -5
  157. package/Libraries/ReactNative/AppContainer.js +2 -3
  158. package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
  159. package/Libraries/ReactNative/AppRegistry.js +66 -53
  160. package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
  161. package/Libraries/ReactNative/FabricUIManager.js +143 -34
  162. package/Libraries/ReactNative/I18nManager.js +5 -11
  163. package/Libraries/ReactNative/NativeI18nManager.js +7 -5
  164. package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
  165. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  166. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
  167. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  168. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
  169. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
  170. package/Libraries/ReactNative/UIManager.js +8 -0
  171. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
  173. package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
  174. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  175. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  176. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
  177. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
  178. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
  179. package/Libraries/Renderer/shims/ReactFabric.js +5 -6
  180. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
  181. package/Libraries/Renderer/shims/ReactNative.js +2 -3
  182. package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
  183. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
  184. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
  185. package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
  186. package/Libraries/Share/Share.d.ts +3 -9
  187. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
  188. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
  189. package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
  190. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  191. package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
  192. package/Libraries/StyleSheet/StyleSheet.js +3 -0
  193. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
  194. package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
  195. package/Libraries/StyleSheet/flattenStyle.js +4 -0
  196. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
  197. package/Libraries/StyleSheet/processColor.js +1 -2
  198. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  199. package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
  200. package/Libraries/Text/Text.d.ts +5 -5
  201. package/Libraries/Text/Text.js +17 -10
  202. package/Libraries/Text/Text.windows.js +53 -20
  203. package/Libraries/Text/TextProps.windows.js +275 -0
  204. package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
  205. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
  206. package/Libraries/Types/CoreEventTypes.d.ts +5 -2
  207. package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
  208. package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
  209. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
  210. package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
  211. package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
  212. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  213. package/Libraries/Utilities/Platform.android.js +12 -8
  214. package/Libraries/Utilities/Platform.d.ts +1 -0
  215. package/Libraries/Utilities/Platform.flow.js +84 -0
  216. package/Libraries/Utilities/Platform.flow.windows.js +111 -0
  217. package/Libraries/Utilities/Platform.ios.js +12 -8
  218. package/Libraries/Utilities/Platform.windows.js +12 -8
  219. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  220. package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
  221. package/Libraries/Utilities/SceneTracker.js +1 -1
  222. package/Libraries/Utilities/createPerformanceLogger.js +63 -32
  223. package/Libraries/Utilities/useColorScheme.js +7 -8
  224. package/Libraries/WebPerformance/MemoryInfo.js +1 -1
  225. package/Libraries/WebPerformance/NativePerformance.js +3 -8
  226. package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
  227. package/Libraries/WebPerformance/Performance.js +42 -15
  228. package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
  229. package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
  230. package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
  231. package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
  232. package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
  233. package/Libraries/__tests__/ViewWindows-test.js +3 -3
  234. package/Libraries/platform-types.d.ts +6 -2
  235. package/Libraries/promiseRejectionTrackingOptions.js +1 -3
  236. package/Libraries/vendor/emitter/EventEmitter.js +17 -17
  237. package/Microsoft.ReactNative/Composition.Input.idl +103 -0
  238. package/Microsoft.ReactNative/CompositionContext.idl +31 -8
  239. package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
  240. package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
  241. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
  242. package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
  243. package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
  244. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
  245. package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
  246. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
  247. package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
  248. package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
  249. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
  250. package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
  251. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
  252. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
  253. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
  254. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
  255. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
  256. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
  257. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
  258. package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
  259. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
  260. package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
  261. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
  262. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
  263. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
  264. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
  265. package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
  266. package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
  267. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
  268. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
  269. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
  270. package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
  271. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
  272. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
  273. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
  274. package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
  275. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
  276. package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
  277. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
  278. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
  279. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
  280. package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
  281. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
  282. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
  283. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
  284. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
  285. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
  286. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
  287. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
  288. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
  289. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
  290. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
  291. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
  292. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
  293. package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
  294. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
  295. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
  296. package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
  297. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
  298. package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
  299. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
  300. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
  301. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
  302. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
  303. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
  304. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
  305. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
  306. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
  307. package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
  308. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
  309. package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
  310. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  311. package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
  312. package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
  313. package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
  314. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
  315. package/Microsoft.ReactNative/IReactContext.cpp +1 -1
  316. package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
  317. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
  318. package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
  319. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
  320. package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
  321. package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
  322. package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
  323. package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
  324. package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
  325. package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
  326. package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
  327. package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
  328. package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
  329. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
  330. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
  331. package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
  332. package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
  333. package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
  334. package/Microsoft.ReactNative/ReactApplication.h +4 -4
  335. package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
  336. package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
  337. package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
  338. package/Microsoft.ReactNative/ReactHost/React.h +3 -6
  339. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
  340. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +5 -16
  341. package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
  342. package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
  343. package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
  344. package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
  345. package/Microsoft.ReactNative/ReactRootView.h +2 -2
  346. package/Microsoft.ReactNative/ReactSupport.h +1 -1
  347. package/Microsoft.ReactNative/RedBox.cpp +1 -1
  348. package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
  349. package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
  350. package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
  351. package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
  352. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
  353. package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
  354. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
  355. package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
  356. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
  357. package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
  358. package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
  359. package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
  360. package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
  361. package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
  362. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
  363. package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
  364. package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
  365. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
  366. package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
  367. package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
  368. package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
  369. package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
  370. package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
  371. package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
  372. package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
  373. package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
  374. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
  375. package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
  376. package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
  377. package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
  378. package/Microsoft.ReactNative/XamlHelper.h +1 -1
  379. package/Microsoft.ReactNative/packages.lock.json +128 -0
  380. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
  381. package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
  382. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
  383. package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
  384. package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
  385. package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
  386. package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
  387. package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
  388. package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
  389. package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
  390. package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
  391. package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
  392. package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
  393. package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
  394. package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
  395. package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
  396. package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
  397. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
  398. package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
  399. package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
  400. package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
  401. package/Mso/compilerAdapters/compilerFeatures.h +1 -1
  402. package/Mso/compilerAdapters/functionDecorations.h +6 -6
  403. package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
  404. package/Mso/dispatchQueue/dispatchQueue.h +3 -3
  405. package/Mso/motifCpp/motifCppTest.h +1 -1
  406. package/Mso/motifCpp/testCheck.h +1 -1
  407. package/Mso/oacr/oacr.h +1 -1
  408. package/Mso/smartPtr/smartPointerBase.h +1 -1
  409. package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
  410. package/Mso/src/dispatchQueue/queueService.cpp +1 -1
  411. package/Mso/src/dispatchQueue/taskQueue.h +1 -1
  412. package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
  413. package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
  414. package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
  415. package/Mso/src/future/futureImpl.cpp +5 -5
  416. package/Mso/src/future/futureImpl.h +1 -1
  417. package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
  418. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
  419. package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
  420. package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
  421. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
  422. package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
  423. package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
  424. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  425. package/PropertySheets/HybridCRT.props +34 -0
  426. package/PropertySheets/JSEngine.props +1 -2
  427. package/PropertySheets/React.Cpp.props +0 -1
  428. package/PropertySheets/Warnings.props +1 -1
  429. package/PropertySheets/WinUI.props +1 -1
  430. package/ReactCommon/ReactCommon.vcxproj +15 -9
  431. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  432. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
  433. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
  434. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
  435. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
  436. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
  437. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
  438. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
  439. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
  440. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
  441. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
  442. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
  443. package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
  444. package/ReactCommon/Yoga.cpp +497 -3895
  445. package/ReactCommon/packages.lock.json +30 -0
  446. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
  447. package/Scripts/OfficeReact.Win32.nuspec +1 -0
  448. package/Scripts/rnw-dependencies.ps1 +79 -26
  449. package/Shared/BaseScriptStoreImpl.cpp +42 -13
  450. package/Shared/BaseScriptStoreImpl.h +1 -1
  451. package/Shared/Composition/AutoDraw.h +36 -0
  452. package/Shared/CxxMessageQueue.cpp +1 -1
  453. package/Shared/DevSupportManager.h +1 -1
  454. package/Shared/Hasher.cpp +64 -0
  455. package/Shared/Hasher.h +24 -0
  456. package/Shared/HermesRuntimeHolder.cpp +6 -6
  457. package/Shared/IDevSupportManager.h +1 -1
  458. package/Shared/JSI/ChakraApi.cpp +1 -1
  459. package/Shared/JSI/ChakraRuntime.cpp +10 -10
  460. package/Shared/JSI/ChakraRuntime.h +6 -6
  461. package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
  462. package/Shared/Modules/IRequestBodyHandler.h +1 -1
  463. package/Shared/Modules/IUriHandler.h +1 -1
  464. package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
  465. package/Shared/Modules/WebSocketModule.cpp +1 -1
  466. package/Shared/Networking/DefaultBlobResource.cpp +2 -2
  467. package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
  468. package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
  469. package/Shared/OInstance.cpp +3 -21
  470. package/Shared/OInstance.h +1 -1
  471. package/Shared/PackagerConnection.h +1 -1
  472. package/Shared/SafeLoadLibrary.cpp +8 -44
  473. package/Shared/SafeLoadLibrary.h +1 -5
  474. package/Shared/Shared.vcxitems +49 -19
  475. package/Shared/Shared.vcxitems.filters +24 -17
  476. package/Shared/Threading/BatchingQueueThread.cpp +5 -5
  477. package/Shared/Threading/BatchingQueueThread.h +4 -4
  478. package/Shared/TurboModuleManager.cpp +1 -1
  479. package/Shared/Utils.cpp +1 -1
  480. package/Shared/tracing/fbsystrace.h +1 -1
  481. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  482. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  483. package/codegen/NativeAppStateSpec.g.h +11 -21
  484. package/codegen/NativeDeviceInfoSpec.g.h +4 -14
  485. package/codegen/NativeI18nManagerSpec.g.h +6 -16
  486. package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
  487. package/codegen/NativeMutationObserverSpec.g.h +90 -0
  488. package/codegen/NativePerformanceObserverSpec.g.h +19 -13
  489. package/codegen/NativePerformanceSpec.g.h +6 -23
  490. package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
  491. package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
  492. package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
  493. package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
  494. package/codegen/NativeSourceCodeSpec.g.h +3 -13
  495. package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
  496. package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
  497. package/codegen/react/components/rnwcore/Props.h +16 -17
  498. package/codegen/rnwcoreJSI-generated.cpp +1462 -319
  499. package/codegen/rnwcoreJSI.h +1609 -462
  500. package/fmt/packages.lock.json +13 -0
  501. package/index.windows.js +3 -3
  502. package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
  503. package/jest/__tests__/setup-test.js +18 -0
  504. package/jest/mockModal.js +6 -4
  505. package/jest/setup.js +61 -30
  506. package/just-task.js +1 -0
  507. package/package.json +37 -42
  508. package/template/cs-app/proj/MyApp.csproj +0 -1
  509. package/template/cs-lib/proj/MyLib.csproj +0 -1
  510. package/templates/.clang-format +4 -0
  511. package/templates/cpp-app/metro.config.js +51 -0
  512. package/templates/cpp-app/template.config.js +119 -0
  513. package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
  514. package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
  515. package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
  516. package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
  517. package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
  518. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
  519. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
  520. package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
  521. package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
  522. package/templates/cpp-app/windows/MyApp/pch.h +35 -0
  523. package/templates/cpp-app/windows/MyApp/resource.h +18 -0
  524. package/templates/cpp-app/windows/MyApp/small.ico +0 -0
  525. package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
  526. package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
  527. package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
  528. package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
  529. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
  530. package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
  531. package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
  532. package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
  533. package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
  534. package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
  535. package/templates/cpp-app/windows/MyApp.sln +176 -0
  536. package/templates/cpp-app/windows/_gitignore +41 -0
  537. package/templates/old/generateWrapper.js +67 -0
  538. package/templates/old/uwp-cpp-app/template.config.js +15 -0
  539. package/templates/old/uwp-cpp-lib/template.config.js +15 -0
  540. package/templates/old/uwp-cs-app/template.config.js +15 -0
  541. package/templates/old/uwp-cs-lib/template.config.js +15 -0
  542. package/types/experimental.d.ts +44 -0
  543. package/types/index.d.ts +2 -1
  544. package/types/modules/Devtools.d.ts +1 -0
  545. package/types/modules/globals.d.ts +16 -1
  546. package/Libraries/Components/View/ViewWindows.d.ts +0 -19
  547. package/Libraries/Components/View/ViewWindows.js +0 -22
  548. package/Libraries/Components/View/ViewWindows.js.map +0 -1
  549. package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
  550. package/Libraries/Components/View/ViewWindowsProps.js +0 -8
  551. package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
  552. package/Libraries/Utilities/AcessibilityMapping.js +0 -154
  553. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
  554. package/Libraries/Utilities/useColorScheme.windows.js +0 -26
  555. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
  556. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
  557. package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
  558. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
  559. package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
  560. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
  561. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
  562. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
  563. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
  564. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
  565. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
  566. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
  567. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
  568. package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
  569. package/Shared/V8JSIRuntimeHolder.cpp +0 -71
  570. package/Shared/V8JSIRuntimeHolder.h +0 -56
  571. package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
  572. package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
  573. package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
  574. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
  575. package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
  576. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
  577. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
  578. package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
  579. package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
  580. package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
  581. package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
  582. package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
  583. package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
  584. package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
  585. /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
  586. /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
@@ -30,7 +30,7 @@ namespace folly {
30
30
 
31
31
  // to_ascii_alphabet
32
32
  //
33
- // Used implicity by to_ascii_lower and to_ascii_upper below.
33
+ // Used implicitly by to_ascii_lower and to_ascii_upper below.
34
34
  //
35
35
  // This alphabet translates digits to 0-9,a-z or 0-9,A-Z. The largest supported
36
36
  // base is 36; operator() presumes an argument less than that.
@@ -6,7 +6,7 @@
6
6
  "Type": "git",
7
7
  "Git": {
8
8
  "RepositoryUrl": "https://github.com/facebook/folly",
9
- "CommitHash": "6ed36117cdc4831f3a3951e013ae76b405e88e15"
9
+ "CommitHash": "ce2b95715de229fcb51bd97410469a3ad4d2bfb2"
10
10
  }
11
11
  },
12
12
  "DevelopmentDependency": false
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": 1,
3
+ "dependencies": {
4
+ "native,Version=v0.0": {
5
+ "boost": {
6
+ "type": "Direct",
7
+ "requested": "[1.76.0, )",
8
+ "resolved": "1.76.0",
9
+ "contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
10
+ },
11
+ "fmt": {
12
+ "type": "Project"
13
+ }
14
+ },
15
+ "native,Version=v0.0/win10-arm": {},
16
+ "native,Version=v0.0/win10-arm-aot": {},
17
+ "native,Version=v0.0/win10-arm64-aot": {},
18
+ "native,Version=v0.0/win10-x64": {},
19
+ "native,Version=v0.0/win10-x64-aot": {},
20
+ "native,Version=v0.0/win10-x86": {},
21
+ "native,Version=v0.0/win10-x86-aot": {}
22
+ }
23
+ }
@@ -21,7 +21,7 @@ import Platform from '../Utilities/Platform';
21
21
  import AnimatedImplementation from './AnimatedImplementation';
22
22
  import AnimatedMock from './AnimatedMock';
23
23
 
24
- const Animated = ((Platform.isTesting
24
+ const Animated = ((Platform.isDisableAnimations
25
25
  ? AnimatedMock
26
26
  : AnimatedImplementation): typeof AnimatedImplementation);
27
27
 
@@ -378,7 +378,7 @@ const parallel = function (
378
378
  }
379
379
 
380
380
  animations.forEach((animation, idx) => {
381
- const cb = function (endResult: EndResult | {finished: boolean}) {
381
+ const cb = function (endResult: EndResult) {
382
382
  hasEnded[idx] = true;
383
383
  doneCount++;
384
384
  if (doneCount === animations.length) {
@@ -28,9 +28,7 @@ import invariant from 'invariant';
28
28
 
29
29
  // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
30
30
  const NativeAnimatedModule =
31
- Platform.OS === 'ios' && global.RN$Bridgeless === true
32
- ? NativeAnimatedTurboModule
33
- : NativeAnimatedNonTurboModule;
31
+ NativeAnimatedNonTurboModule ?? NativeAnimatedTurboModule;
34
32
 
35
33
  let __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */
36
34
  let __nativeAnimationIdCount = 1; /* used for started animations */
@@ -425,6 +423,9 @@ const SUPPORTED_TRANSFORMS = {
425
423
  rotateY: true,
426
424
  rotateZ: true,
427
425
  perspective: true,
426
+ skewX: true,
427
+ skewY: true,
428
+ matrix: ReactNativeFeatureFlags.shouldUseAnimatedObjectForTransform(),
428
429
  };
429
430
 
430
431
  const SUPPORTED_INTERPOLATION_PARAMS = {
@@ -451,19 +452,19 @@ function addWhitelistedInterpolationParam(param: string): void {
451
452
  }
452
453
 
453
454
  function isSupportedColorStyleProp(prop: string): boolean {
454
- return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);
455
+ return SUPPORTED_COLOR_STYLES[prop] === true;
455
456
  }
456
457
 
457
458
  function isSupportedStyleProp(prop: string): boolean {
458
- return SUPPORTED_STYLES.hasOwnProperty(prop);
459
+ return SUPPORTED_STYLES[prop] === true;
459
460
  }
460
461
 
461
462
  function isSupportedTransformProp(prop: string): boolean {
462
- return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);
463
+ return SUPPORTED_TRANSFORMS[prop] === true;
463
464
  }
464
465
 
465
466
  function isSupportedInterpolationParam(param: string): boolean {
466
- return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);
467
+ return SUPPORTED_INTERPOLATION_PARAMS[param] === true;
467
468
  }
468
469
 
469
470
  function validateTransform(
@@ -562,10 +563,13 @@ function transformDataType(value: number | string): number | string {
562
563
  if (typeof value !== 'string') {
563
564
  return value;
564
565
  }
565
- if (/deg$/.test(value)) {
566
+
567
+ // Normalize degrees and radians to a number expressed in radians
568
+ if (value.endsWith('deg')) {
566
569
  const degrees = parseFloat(value) || 0;
567
- const radians = (degrees * Math.PI) / 180.0;
568
- return radians;
570
+ return (degrees * Math.PI) / 180.0;
571
+ } else if (value.endsWith('rad')) {
572
+ return parseFloat(value) || 0;
569
573
  } else {
570
574
  return value;
571
575
  }
@@ -11,8 +11,9 @@
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
12
 
13
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
+ import shouldUseTurboAnimatedModule from './shouldUseTurboAnimatedModule';
14
15
 
15
- type EndResult = {finished: boolean, ...};
16
+ type EndResult = {finished: boolean, value?: number, ...};
16
17
  type EndCallback = (result: EndResult) => void;
17
18
  type SaveValueCallback = (value: number) => void;
18
19
 
@@ -70,4 +71,7 @@ export interface Spec extends TurboModule {
70
71
  +queueAndExecuteBatchedOperations?: (operationsAndArgs: Array<any>) => void;
71
72
  }
72
73
 
73
- export default (TurboModuleRegistry.get<Spec>('NativeAnimatedModule'): ?Spec);
74
+ const NativeModule: ?Spec = !shouldUseTurboAnimatedModule()
75
+ ? TurboModuleRegistry.get<Spec>('NativeAnimatedModule')
76
+ : null;
77
+ export default NativeModule;
@@ -11,8 +11,9 @@
11
11
  import type {TurboModule} from '../TurboModule/RCTExport';
12
12
 
13
13
  import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
14
+ import shouldUseTurboAnimatedModule from './shouldUseTurboAnimatedModule';
14
15
 
15
- type EndResult = {finished: boolean, ...};
16
+ type EndResult = {finished: boolean, value?: number, ...};
16
17
  type EndCallback = (result: EndResult) => void;
17
18
  type SaveValueCallback = (value: number) => void;
18
19
 
@@ -70,6 +71,8 @@ export interface Spec extends TurboModule {
70
71
  +queueAndExecuteBatchedOperations?: (operationsAndArgs: Array<any>) => void;
71
72
  }
72
73
 
73
- export default (TurboModuleRegistry.get<Spec>(
74
- 'NativeAnimatedTurboModule',
75
- ): ?Spec);
74
+ const NativeModule: ?Spec = shouldUseTurboAnimatedModule()
75
+ ? TurboModuleRegistry.get<Spec>('NativeAnimatedTurboModule')
76
+ : null;
77
+
78
+ export default NativeModule;
@@ -11,11 +11,16 @@
11
11
  'use strict';
12
12
 
13
13
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
14
+ import type AnimatedNode from '../nodes/AnimatedNode';
14
15
  import type AnimatedValue from '../nodes/AnimatedValue';
15
16
 
17
+ import Platform from '../../Utilities/Platform';
16
18
  import NativeAnimatedHelper from '../NativeAnimatedHelper';
19
+ import AnimatedColor from '../nodes/AnimatedColor';
20
+ import AnimatedProps from '../nodes/AnimatedProps';
21
+ import AnimatedValueXY from '../nodes/AnimatedValueXY';
17
22
 
18
- export type EndResult = {finished: boolean, ...};
23
+ export type EndResult = {finished: boolean, value?: number, ...};
19
24
  export type EndCallback = (result: EndResult) => void;
20
25
 
21
26
  export type AnimationConfig = {
@@ -37,6 +42,7 @@ export default class Animation {
37
42
  __nativeId: number;
38
43
  __onEnd: ?EndCallback;
39
44
  __iterations: number;
45
+
40
46
  start(
41
47
  fromValue: number,
42
48
  onUpdate: (value: number) => void,
@@ -44,22 +50,55 @@ export default class Animation {
44
50
  previousAnimation: ?Animation,
45
51
  animatedValue: AnimatedValue,
46
52
  ): void {}
53
+
47
54
  stop(): void {
48
55
  if (this.__nativeId) {
49
56
  NativeAnimatedHelper.API.stopAnimation(this.__nativeId);
50
57
  }
51
58
  }
59
+
52
60
  __getNativeAnimationConfig(): any {
53
61
  // Subclasses that have corresponding animation implementation done in native
54
62
  // should override this method
55
63
  throw new Error('This animation type cannot be offloaded to native');
56
64
  }
65
+
57
66
  // Helper function for subclasses to make sure onEnd is only called once.
58
67
  __debouncedOnEnd(result: EndResult): void {
59
68
  const onEnd = this.__onEnd;
60
69
  this.__onEnd = null;
61
70
  onEnd && onEnd(result);
62
71
  }
72
+
73
+ __findAnimatedPropsNodes(node: AnimatedNode): Array<AnimatedProps> {
74
+ const result = [];
75
+
76
+ if (node instanceof AnimatedProps) {
77
+ result.push(node);
78
+ return result;
79
+ }
80
+
81
+ // Vectorized animations (animations on AnimatedValueXY, AnimatedColor nodes)
82
+ // are split into multiple animations for each component that execute in parallel.
83
+ // Calling update() on AnimatedProps when each animation completes results in
84
+ // potential flickering as all animations that are part of the vectorized animation
85
+ // may not have completed yet. For example, only the animation for the red channel of
86
+ // an animating color may have been completed, resulting in a temporary red color
87
+ // being rendered. So, for now, ignore AnimatedProps that use a vectorized animation.
88
+ if (
89
+ Platform.OS === 'ios' &&
90
+ (node instanceof AnimatedValueXY || node instanceof AnimatedColor)
91
+ ) {
92
+ return result;
93
+ }
94
+
95
+ for (const child of node.__getChildren()) {
96
+ result.push(...this.__findAnimatedPropsNodes(child));
97
+ }
98
+
99
+ return result;
100
+ }
101
+
63
102
  __startNativeAnimation(animatedValue: AnimatedValue): void {
64
103
  const startNativeAnimationWaitId = `${startNativeAnimationNextId}:startAnimation`;
65
104
  startNativeAnimationNextId += 1;
@@ -74,8 +113,23 @@ export default class Animation {
74
113
  this.__nativeId,
75
114
  animatedValue.__getNativeTag(),
76
115
  config,
77
- // $FlowFixMe[method-unbinding] added when improving typing for this parameters
78
- this.__debouncedOnEnd.bind(this),
116
+ result => {
117
+ this.__debouncedOnEnd(result);
118
+
119
+ // When using natively driven animations, once the animation completes,
120
+ // we need to ensure that the JS side nodes are synced with the updated
121
+ // values.
122
+ const {value} = result;
123
+ if (value != null) {
124
+ animatedValue.__onAnimatedValueUpdateReceived(value);
125
+
126
+ // Once the JS side node is synced with the updated values, trigger an
127
+ // update on the AnimatedProps nodes to call any registered callbacks.
128
+ this.__findAnimatedPropsNodes(animatedValue).forEach(node =>
129
+ node.update(),
130
+ );
131
+ }
132
+ },
79
133
  );
80
134
  } catch (e) {
81
135
  throw e;
@@ -85,6 +85,15 @@ export default class DecayAnimation extends Animation {
85
85
  this._onUpdate = onUpdate;
86
86
  this.__onEnd = onEnd;
87
87
  this._startTime = Date.now();
88
+
89
+ if (!this._useNativeDriver && animatedValue.__isNative === true) {
90
+ throw new Error(
91
+ 'Attempting to run JS driven animation on animated node ' +
92
+ 'that has been moved to "native" earlier by starting an ' +
93
+ 'animation with `useNativeDriver: true`',
94
+ );
95
+ }
96
+
88
97
  if (this._useNativeDriver) {
89
98
  this.__startNativeAnimation(animatedValue);
90
99
  } else {
@@ -221,6 +221,14 @@ export default class SpringAnimation extends Animation {
221
221
  }
222
222
 
223
223
  const start = () => {
224
+ if (!this._useNativeDriver && animatedValue.__isNative === true) {
225
+ throw new Error(
226
+ 'Attempting to run JS driven animation on animated node ' +
227
+ 'that has been moved to "native" earlier by starting an ' +
228
+ 'animation with `useNativeDriver: true`',
229
+ );
230
+ }
231
+
224
232
  if (this._useNativeDriver) {
225
233
  this.__startNativeAnimation(animatedValue);
226
234
  } else {
@@ -112,6 +112,14 @@ export default class TimingAnimation extends Animation {
112
112
  this.__onEnd = onEnd;
113
113
 
114
114
  const start = () => {
115
+ if (!this._useNativeDriver && animatedValue.__isNative === true) {
116
+ throw new Error(
117
+ 'Attempting to run JS driven animation on animated node ' +
118
+ 'that has been moved to "native" earlier by starting an ' +
119
+ 'animation with `useNativeDriver: true`',
120
+ );
121
+ }
122
+
115
123
  // Animations that sometimes have 0 duration and sometimes do not
116
124
  // still need to use the native driver when duration is 0 so as to
117
125
  // not cause intermixed JS and native animations.
@@ -18,12 +18,13 @@ import * as React from 'react';
18
18
  * @see https://github.com/facebook/react-native/commit/b8c8562
19
19
  */
20
20
  const FlatListWithEventThrottle = React.forwardRef(
21
+ // $FlowFixMe[incompatible-call]
21
22
  (
22
23
  props: React.ElementConfig<typeof FlatList>,
23
24
  ref:
24
25
  | ((null | FlatList<mixed>) => mixed)
25
26
  | {current: null | FlatList<mixed>, ...},
26
- ) => <FlatList scrollEventThrottle={0.0001} {...props} ref={ref} />,
27
+ ) => <FlatList {...props} ref={ref} />,
27
28
  );
28
29
 
29
30
  export default (createAnimatedComponent(
@@ -61,6 +61,7 @@ const AnimatedScrollView: AnimatedComponentType<Props, Instance> =
61
61
  });
62
62
 
63
63
  const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
64
+ // $FlowFixMe[incompatible-call]
64
65
  (
65
66
  props: {
66
67
  ...React.ElementConfig<typeof ScrollView>,
@@ -76,6 +77,7 @@ const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
76
77
  const {intermediatePropsForRefreshControl, intermediatePropsForScrollView} =
77
78
  useMemo(() => {
78
79
  // $FlowFixMe[underconstrained-implicit-instantiation]
80
+ // $FlowFixMe[incompatible-call]
79
81
  const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
80
82
  return {
81
83
  intermediatePropsForRefreshControl: {style: outer},
@@ -19,6 +19,7 @@ import * as React from 'react';
19
19
  * @see https://github.com/facebook/react-native/commit/b8c8562
20
20
  */
21
21
  const SectionListWithEventThrottle = React.forwardRef(
22
+ // $FlowFixMe[incompatible-call]
22
23
  (
23
24
  props: React.ElementConfig<typeof SectionList>,
24
25
  ref:
@@ -27,7 +28,7 @@ const SectionListWithEventThrottle = React.forwardRef(
27
28
  current: null | SectionList<SectionBase<$FlowFixMe>>,
28
29
  ...
29
30
  },
30
- ) => <SectionList scrollEventThrottle={0.0001} {...props} ref={ref} />,
31
+ ) => <SectionList {...props} ref={ref} />,
31
32
  );
32
33
 
33
34
  export default (createAnimatedComponent(
@@ -37,6 +37,7 @@ export default function createAnimatedComponent<TProps: {...}, TInstance>(
37
37
  // $FlowFixMe[incompatible-call]
38
38
  props,
39
39
  );
40
+ // $FlowFixMe[incompatible-call]
40
41
  const ref = useMergeRefs<TInstance | null>(callbackRef, forwardedRef);
41
42
 
42
43
  // Some components require explicit passthrough values for animation
@@ -10,9 +10,9 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import type {NativeColorValue} from '../../StyleSheet/PlatformColorValueTypes';
14
13
  import type {ProcessedColorValue} from '../../StyleSheet/processColor';
15
14
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
15
+ import type {NativeColorValue} from '../../StyleSheet/StyleSheetTypes';
16
16
  import type {PlatformConfig} from '../AnimatedPlatformConfig';
17
17
 
18
18
  import normalizeColor from '../../StyleSheet/normalizeColor';
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow
8
+ * @format
9
+ * @oncall react_native
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ import type {PlatformConfig} from '../AnimatedPlatformConfig';
15
+
16
+ import AnimatedNode from './AnimatedNode';
17
+ import AnimatedWithChildren from './AnimatedWithChildren';
18
+ import * as React from 'react';
19
+
20
+ const MAX_DEPTH = 5;
21
+
22
+ function isPlainObject(value: any): boolean {
23
+ return (
24
+ value !== null &&
25
+ typeof value === 'object' &&
26
+ Object.getPrototypeOf(value).isPrototypeOf(Object)
27
+ );
28
+ }
29
+
30
+ // Recurse through values, executing fn for any AnimatedNodes
31
+ function visit(value: any, fn: any => void, depth: number = 0): void {
32
+ if (depth >= MAX_DEPTH) {
33
+ return;
34
+ }
35
+
36
+ if (value instanceof AnimatedNode) {
37
+ fn(value);
38
+ } else if (Array.isArray(value)) {
39
+ value.forEach(element => {
40
+ visit(element, fn, depth + 1);
41
+ });
42
+ } else if (isPlainObject(value)) {
43
+ Object.values(value).forEach(element => {
44
+ visit(element, fn, depth + 1);
45
+ });
46
+ }
47
+ }
48
+
49
+ // Returns a copy of value with a transformation fn applied to any AnimatedNodes
50
+ function mapAnimatedNodes(value: any, fn: any => any, depth: number = 0): any {
51
+ if (depth >= MAX_DEPTH) {
52
+ return value;
53
+ }
54
+
55
+ if (value instanceof AnimatedNode) {
56
+ return fn(value);
57
+ } else if (Array.isArray(value)) {
58
+ return value.map(element => mapAnimatedNodes(element, fn, depth + 1));
59
+ } else if (isPlainObject(value)) {
60
+ const result: {[string]: any} = {};
61
+ for (const key in value) {
62
+ result[key] = mapAnimatedNodes(value[key], fn, depth + 1);
63
+ }
64
+ return result;
65
+ } else {
66
+ return value;
67
+ }
68
+ }
69
+
70
+ export function hasAnimatedNode(value: any, depth: number = 0): boolean {
71
+ if (depth >= MAX_DEPTH) {
72
+ return false;
73
+ }
74
+
75
+ if (value instanceof AnimatedNode) {
76
+ return true;
77
+ } else if (Array.isArray(value)) {
78
+ for (const element of value) {
79
+ if (hasAnimatedNode(element, depth + 1)) {
80
+ return true;
81
+ }
82
+ }
83
+ } else if (isPlainObject(value)) {
84
+ // Don't consider React elements
85
+ if (React.isValidElement(value)) {
86
+ return false;
87
+ }
88
+ for (const key in value) {
89
+ if (hasAnimatedNode(value[key], depth + 1)) {
90
+ return true;
91
+ }
92
+ }
93
+ }
94
+ return false;
95
+ }
96
+
97
+ export default class AnimatedObject extends AnimatedWithChildren {
98
+ _value: any;
99
+
100
+ constructor(value: any) {
101
+ super();
102
+ this._value = value;
103
+ }
104
+
105
+ __getValue(): any {
106
+ return mapAnimatedNodes(this._value, node => {
107
+ return node.__getValue();
108
+ });
109
+ }
110
+
111
+ __getAnimatedValue(): any {
112
+ return mapAnimatedNodes(this._value, node => {
113
+ return node.__getAnimatedValue();
114
+ });
115
+ }
116
+
117
+ __attach(): void {
118
+ super.__attach();
119
+ visit(this._value, node => {
120
+ node.__addChild(this);
121
+ });
122
+ }
123
+
124
+ __detach(): void {
125
+ visit(this._value, node => {
126
+ node.__removeChild(this);
127
+ });
128
+ super.__detach();
129
+ }
130
+
131
+ __makeNative(platformConfig: ?PlatformConfig): void {
132
+ visit(this._value, value => {
133
+ value.__makeNative(platformConfig);
134
+ });
135
+ super.__makeNative(platformConfig);
136
+ }
137
+
138
+ __getNativeConfig(): any {
139
+ return {
140
+ type: 'object',
141
+ value: mapAnimatedNodes(this._value, node => {
142
+ return {nodeTag: node.__getNativeTag()};
143
+ }),
144
+ };
145
+ }
146
+ }
@@ -16,9 +16,27 @@ import {findNodeHandle} from '../../ReactNative/RendererProxy';
16
16
  import {AnimatedEvent} from '../AnimatedEvent';
17
17
  import NativeAnimatedHelper from '../NativeAnimatedHelper';
18
18
  import AnimatedNode from './AnimatedNode';
19
+ import AnimatedObject, {hasAnimatedNode} from './AnimatedObject';
19
20
  import AnimatedStyle from './AnimatedStyle';
20
21
  import invariant from 'invariant';
21
22
 
23
+ function createAnimatedProps(inputProps: Object): Object {
24
+ const props: Object = {};
25
+ for (const key in inputProps) {
26
+ const value = inputProps[key];
27
+ if (key === 'style') {
28
+ props[key] = new AnimatedStyle(value);
29
+ } else if (value instanceof AnimatedNode) {
30
+ props[key] = value;
31
+ } else if (hasAnimatedNode(value)) {
32
+ props[key] = new AnimatedObject(value);
33
+ } else {
34
+ props[key] = value;
35
+ }
36
+ }
37
+ return props;
38
+ }
39
+
22
40
  export default class AnimatedProps extends AnimatedNode {
23
41
  _props: Object;
24
42
  _animatedView: any;
@@ -26,13 +44,7 @@ export default class AnimatedProps extends AnimatedNode {
26
44
 
27
45
  constructor(props: Object, callback: () => void) {
28
46
  super();
29
- if (props.style) {
30
- props = {
31
- ...props,
32
- style: new AnimatedStyle(props.style),
33
- };
34
- }
35
- this._props = props;
47
+ this._props = createAnimatedProps(props);
36
48
  this._callback = callback;
37
49
  }
38
50