@office-iss/react-native-win32 0.0.0-canary.297 → 0.0.0-canary.299

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 (456) hide show
  1. package/.flowconfig +8 -4
  2. package/CHANGELOG.json +55 -1
  3. package/CHANGELOG.md +25 -5
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/AnimatedEvent.js +4 -3
  27. package/Libraries/Animated/AnimatedExports.js +2 -2
  28. package/Libraries/Animated/AnimatedExports.js.flow +5 -0
  29. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  30. package/Libraries/Animated/AnimatedMock.js +2 -2
  31. package/Libraries/Animated/Easing.js +1 -1
  32. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  33. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  34. package/Libraries/Animated/SpringConfig.js +1 -1
  35. package/Libraries/Animated/animations/Animation.js +6 -1
  36. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  37. package/Libraries/Animated/components/AnimatedScrollView.js +6 -5
  38. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +2 -4
  42. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  43. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  44. package/Libraries/AppState/NativeAppState.js +1 -0
  45. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  46. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  47. package/Libraries/Blob/BlobManager.js +4 -0
  48. package/Libraries/Blob/NativeBlobModule.js +1 -0
  49. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  50. package/Libraries/Blob/URL.js +1 -1
  51. package/Libraries/Blob/URLSearchParams.js +5 -1
  52. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  53. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  54. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  57. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  60. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  61. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  62. package/Libraries/Components/Button.js +8 -5
  63. package/Libraries/Components/Button.win32.js +8 -5
  64. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  65. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  66. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  67. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  68. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  72. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  73. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  74. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  75. package/Libraries/Components/Pressable/Pressable.js +8 -2
  76. package/Libraries/Components/Pressable/Pressable.win32.js +8 -8
  77. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  78. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  79. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  80. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  81. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  82. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  83. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  84. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  85. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  86. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  87. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  88. package/Libraries/Components/ScrollView/ScrollView.d.ts +24 -1
  89. package/Libraries/Components/ScrollView/ScrollView.js +7 -3
  90. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  91. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  92. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  93. package/Libraries/Components/Sound/SoundManager.js +1 -1
  94. package/Libraries/Components/StaticRenderer.js +1 -1
  95. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  96. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  97. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  98. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  99. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  100. package/Libraries/Components/Switch/Switch.js +2 -1
  101. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  102. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -19
  103. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  104. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  105. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  106. package/Libraries/Components/TextInput/TextInput.flow.js +12 -10
  107. package/Libraries/Components/TextInput/TextInput.flow.win32.js +11 -9
  108. package/Libraries/Components/TextInput/TextInput.js +16 -14
  109. package/Libraries/Components/TextInput/TextInput.win32.js +42 -13
  110. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  111. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  112. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  113. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  114. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  115. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  116. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  117. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  118. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  119. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  120. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  121. package/Libraries/Components/Touchable/Position.js +1 -1
  122. package/Libraries/Components/Touchable/Touchable.js +17 -3
  123. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  124. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
  125. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -2
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +3 -2
  127. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  128. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -2
  129. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  130. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  131. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  132. package/Libraries/Components/View/View.js +18 -19
  133. package/Libraries/Components/View/View.win32.js +17 -3
  134. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  135. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  136. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  137. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  138. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  139. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  140. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  141. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  142. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  143. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  144. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  145. package/Libraries/Core/ExceptionsManager.js +29 -16
  146. package/Libraries/Core/InitializeCore.js +1 -1
  147. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  148. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  149. package/Libraries/Core/ReactNativeVersion.js +1 -1
  150. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  151. package/Libraries/Core/Timers/JSTimers.js +1 -1
  152. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  153. package/Libraries/Core/Timers/immediateShim.js +1 -1
  154. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  155. package/Libraries/Core/checkNativeVersion.js +1 -0
  156. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  157. package/Libraries/Core/setUpReactDevTools.js +21 -4
  158. package/Libraries/Debugging/DebuggingOverlay.js +6 -6
  159. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  160. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  161. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  162. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  163. package/Libraries/Image/Image.android.js +3 -3
  164. package/Libraries/Image/ImageInjection.js +1 -1
  165. package/Libraries/Image/ImageSource.d.ts +5 -0
  166. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  167. package/Libraries/Image/NativeImageEditor.js +1 -0
  168. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  169. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  170. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  171. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  172. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  173. package/Libraries/Image/RelativeImageStub.js +2 -2
  174. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  175. package/Libraries/Image/resolveAssetSource.js +1 -1
  176. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  177. package/Libraries/Interaction/InteractionManager.js +68 -54
  178. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  179. package/Libraries/Interaction/TaskQueue.js +22 -9
  180. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  181. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  182. package/Libraries/Linking/Linking.js +1 -1
  183. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  184. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  185. package/Libraries/Lists/FlatList.js +5 -6
  186. package/Libraries/Lists/SectionList.js +4 -4
  187. package/Libraries/Lists/VirtualizedList.js +3 -2
  188. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  189. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  190. package/Libraries/LogBox/LogBox.js +72 -99
  191. package/Libraries/Modal/Modal.d.ts +8 -2
  192. package/Libraries/Modal/Modal.js +24 -3
  193. package/Libraries/Modal/NativeModalManager.js +1 -0
  194. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  196. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  197. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  198. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  199. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  200. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  208. package/Libraries/Network/FormData.js +1 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  210. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  211. package/Libraries/Network/RCTNetworking.android.js +2 -2
  212. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  213. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  214. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  215. package/Libraries/Network/XMLHttpRequest.js +5 -3
  216. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  217. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  218. package/Libraries/Pressability/Pressability.js +1 -1
  219. package/Libraries/Pressability/Pressability.win32.js +1 -1
  220. package/Libraries/Promise.js +1 -1
  221. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  222. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  223. package/Libraries/ReactNative/AppContainer.js +1 -1
  224. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  225. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  226. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  227. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  228. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  229. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  230. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  231. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  232. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  233. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  234. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  235. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  236. package/Libraries/ReactNative/RendererProxy.js +1 -1
  237. package/Libraries/ReactNative/renderApplication.js +1 -1
  238. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  239. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -2
  240. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  241. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  242. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  243. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  244. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -12
  245. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -12
  246. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  247. package/Libraries/Settings/Settings.ios.js +1 -1
  248. package/Libraries/Settings/Settings.js +1 -1
  249. package/Libraries/Settings/SettingsFallback.js +1 -1
  250. package/Libraries/Share/NativeShareModule.js +1 -0
  251. package/Libraries/Share/Share.js +1 -1
  252. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  253. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  254. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  255. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  256. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  257. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  258. package/Libraries/StyleSheet/PointPropType.js +1 -1
  259. package/Libraries/StyleSheet/Rect.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  261. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  262. package/Libraries/StyleSheet/processAspectRatio.js +3 -1
  263. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  264. package/Libraries/StyleSheet/processColor.js +1 -1
  265. package/Libraries/StyleSheet/processColorArray.js +1 -1
  266. package/Libraries/StyleSheet/processFilter.js +1 -1
  267. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  268. package/Libraries/StyleSheet/processTransform.js +1 -1
  269. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  270. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  271. package/Libraries/Text/Text.js +5 -7
  272. package/Libraries/Text/Text.win32.js +1 -1
  273. package/Libraries/Text/TextAncestor.js +3 -10
  274. package/Libraries/Text/TextAncestorContext.js +23 -0
  275. package/Libraries/Text/TextNativeComponent.js +4 -0
  276. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  277. package/Libraries/Text/TextProps.js +2 -2
  278. package/Libraries/Text/TextProps.win32.js +2 -2
  279. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  280. package/Libraries/Types/CodegenTypes.js +1 -1
  281. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  282. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  283. package/Libraries/Utilities/Appearance.js +1 -1
  284. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  285. package/Libraries/Utilities/DevLoadingView.js +1 -1
  286. package/Libraries/Utilities/DeviceInfo.js +1 -1
  287. package/Libraries/Utilities/Dimensions.js +1 -1
  288. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  289. package/Libraries/Utilities/HMRClient.js +13 -3
  290. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  291. package/Libraries/Utilities/NativeAppearance.js +1 -0
  292. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  293. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  294. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  295. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  296. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  297. package/Libraries/Utilities/PixelRatio.js +1 -1
  298. package/Libraries/Utilities/Platform.android.js +2 -5
  299. package/Libraries/Utilities/Platform.ios.js +2 -5
  300. package/Libraries/Utilities/Platform.js +1 -1
  301. package/Libraries/Utilities/Platform.js.flow +2 -2
  302. package/Libraries/Utilities/Platform.win32.js +2 -5
  303. package/Libraries/Utilities/PlatformTypes.js +1 -1
  304. package/Libraries/Utilities/RCTLog.js +1 -1
  305. package/Libraries/Utilities/SceneTracker.js +1 -1
  306. package/Libraries/Utilities/binaryToBase64.js +1 -1
  307. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  308. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  309. package/Libraries/Utilities/createPerformanceLogger.js +59 -20
  310. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  311. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  312. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  313. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  314. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  315. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  316. package/Libraries/Utilities/logError.js +1 -1
  317. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  318. package/Libraries/Utilities/stringifySafe.js +1 -1
  319. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  320. package/Libraries/Utilities/useColorScheme.js +1 -1
  321. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  322. package/Libraries/Utilities/warnOnce.js +1 -1
  323. package/Libraries/Vibration/NativeVibration.js +1 -0
  324. package/Libraries/Vibration/Vibration.js +1 -2
  325. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  326. package/Libraries/WebSocket/WebSocket.js +1 -1
  327. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  328. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  329. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  330. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  331. package/index.js +22 -1
  332. package/index.win32.js +15 -2
  333. package/interface.js +1 -1
  334. package/jest/MockNativeMethods.js +9 -3
  335. package/jest/RefreshControlMock.js +32 -0
  336. package/jest/assetFileTransformer.js +1 -0
  337. package/jest/local-setup.js +4 -3
  338. package/jest/mock.js +39 -0
  339. package/jest/mockComponent.js +47 -17
  340. package/jest/mockNativeComponent.js +24 -14
  341. package/jest/mocks/AccessibilityInfo.js +62 -0
  342. package/jest/mocks/ActivityIndicator.js +23 -0
  343. package/jest/mocks/AppState.js +19 -0
  344. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  345. package/jest/mocks/Image.js +23 -0
  346. package/jest/mocks/InitializeCore.js +9 -0
  347. package/jest/mocks/Linking.js +28 -0
  348. package/jest/mocks/Modal.js +33 -0
  349. package/jest/mocks/NativeComponentRegistry.js +30 -0
  350. package/jest/mocks/NativeModules.js +239 -0
  351. package/jest/mocks/RefreshControl.js +31 -0
  352. package/jest/mocks/RendererProxy.js +45 -0
  353. package/jest/mocks/ScrollView.js +58 -0
  354. package/jest/mocks/Text.js +27 -0
  355. package/jest/mocks/TextInput.js +32 -0
  356. package/jest/mocks/UIManager.js +60 -0
  357. package/jest/mocks/Vibration.js +16 -0
  358. package/jest/mocks/View.js +27 -0
  359. package/jest/mocks/ViewNativeComponent.js +23 -0
  360. package/jest/mocks/requireNativeComponent.js +22 -0
  361. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  362. package/jest/react-native-env.js +1 -0
  363. package/jest/renderer.js +1 -1
  364. package/jest/resolver.js +1 -0
  365. package/jest/setup.js +64 -445
  366. package/overrides.json +38 -38
  367. package/package.json +14 -14
  368. package/src/private/animated/NativeAnimatedHelper.js +2 -0
  369. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -0
  370. package/src/private/animated/createAnimatedPropsHook.js +4 -1
  371. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -2
  372. package/src/private/components/virtualview/VirtualView.js +145 -0
  373. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  374. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  375. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  376. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  377. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  378. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  379. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  380. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  381. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  382. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  383. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  384. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  385. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  386. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  387. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  388. package/src/private/featureflags/ReactNativeFeatureFlags.js +75 -30
  389. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  390. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -5
  391. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  392. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  393. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  394. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  395. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  396. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  397. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  398. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  399. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  400. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  401. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  402. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  403. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  404. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  405. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  406. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  407. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  408. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  409. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  410. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  411. package/src/private/styles/composeStyles.js +5 -12
  412. package/src/private/types/HostInstance.js +1 -1
  413. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  414. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  415. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  416. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  417. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +1 -1
  418. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  419. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  420. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  421. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  422. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  423. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  424. package/src/private/webapis/dom/oldstylecollections/NodeList.js +1 -1
  425. package/src/private/webapis/errors/DOMException.js +1 -1
  426. package/src/private/webapis/geometry/DOMRectList.js +1 -1
  427. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  428. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +4 -1
  429. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -1
  430. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -17
  431. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +19 -73
  432. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -7
  433. package/src/private/webapis/performance/EventTiming.js +1 -1
  434. package/src/private/webapis/performance/LongTasks.js +1 -1
  435. package/src/private/webapis/performance/Performance.js +165 -62
  436. package/src/private/webapis/performance/PerformanceEntry.js +21 -17
  437. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  438. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  439. package/src/private/webapis/performance/UserTiming.js +61 -9
  440. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +48 -33
  441. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  442. package/src/private/webapis/performance/specs/NativePerformance.js +13 -1
  443. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  444. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  445. package/types/modules/Devtools.d.ts +23 -9
  446. package/Libraries/BugReporting/BugReporting.js +0 -140
  447. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  448. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  449. package/Libraries/BugReporting/getReactData.js +0 -187
  450. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  451. package/flow/HermesInternalType.js +0 -114
  452. package/flow/console.js +0 -49
  453. package/flow/global.js +0 -88
  454. package/jest/mockModal.js +0 -32
  455. package/jest/mockScrollView.js +0 -35
  456. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -20,7 +20,7 @@ import type {DecayAnimationConfig} from './animations/DecayAnimation';
20
20
  import type {SpringAnimationConfig} from './animations/SpringAnimation';
21
21
  import type {TimingAnimationConfig} from './animations/TimingAnimation';
22
22
 
23
- import {AnimatedEvent, attachNativeEvent} from './AnimatedEvent';
23
+ import {AnimatedEvent, attachNativeEventImpl} from './AnimatedEvent';
24
24
  import DecayAnimation from './animations/DecayAnimation';
25
25
  import SpringAnimation from './animations/SpringAnimation';
26
26
  import TimingAnimation from './animations/TimingAnimation';
@@ -47,39 +47,39 @@ export type CompositeAnimation = {
47
47
  ...
48
48
  };
49
49
 
50
- const add = function (
50
+ const addImpl = function (
51
51
  a: AnimatedNode | number,
52
52
  b: AnimatedNode | number,
53
53
  ): AnimatedAddition {
54
54
  return new AnimatedAddition(a, b);
55
55
  };
56
56
 
57
- const subtract = function (
57
+ const subtractImpl = function (
58
58
  a: AnimatedNode | number,
59
59
  b: AnimatedNode | number,
60
60
  ): AnimatedSubtraction {
61
61
  return new AnimatedSubtraction(a, b);
62
62
  };
63
63
 
64
- const divide = function (
64
+ const divideImpl = function (
65
65
  a: AnimatedNode | number,
66
66
  b: AnimatedNode | number,
67
67
  ): AnimatedDivision {
68
68
  return new AnimatedDivision(a, b);
69
69
  };
70
70
 
71
- const multiply = function (
71
+ const multiplyImpl = function (
72
72
  a: AnimatedNode | number,
73
73
  b: AnimatedNode | number,
74
74
  ): AnimatedMultiplication {
75
75
  return new AnimatedMultiplication(a, b);
76
76
  };
77
77
 
78
- const modulo = function (a: AnimatedNode, modulus: number): AnimatedModulo {
78
+ const moduloImpl = function (a: AnimatedNode, modulus: number): AnimatedModulo {
79
79
  return new AnimatedModulo(a, modulus);
80
80
  };
81
81
 
82
- const diffClamp = function (
82
+ const diffClampImpl = function (
83
83
  a: AnimatedNode,
84
84
  min: number,
85
85
  max: number,
@@ -120,7 +120,7 @@ const maybeVectorAnim = function (
120
120
  const aY = anim((value: AnimatedValueXY).y, configY);
121
121
  // We use `stopTogether: false` here because otherwise tracking will break
122
122
  // because the second animation will get stopped before it can update.
123
- return parallel([aX, aY], {stopTogether: false});
123
+ return parallelImpl([aX, aY], {stopTogether: false});
124
124
  } else if (value instanceof AnimatedColor) {
125
125
  const configR = {...config};
126
126
  const configG = {...config};
@@ -146,12 +146,12 @@ const maybeVectorAnim = function (
146
146
  const aA = anim((value: AnimatedColor).a, configA);
147
147
  // We use `stopTogether: false` here because otherwise tracking will break
148
148
  // because the second animation will get stopped before it can update.
149
- return parallel([aR, aG, aB, aA], {stopTogether: false});
149
+ return parallelImpl([aR, aG, aB, aA], {stopTogether: false});
150
150
  }
151
151
  return null;
152
152
  };
153
153
 
154
- const spring = function (
154
+ const springImpl = function (
155
155
  value: AnimatedValue | AnimatedValueXY | AnimatedColor,
156
156
  config: SpringAnimationConfig,
157
157
  ): CompositeAnimation {
@@ -179,7 +179,7 @@ const spring = function (
179
179
  }
180
180
  };
181
181
  return (
182
- maybeVectorAnim(value, config, spring) || {
182
+ maybeVectorAnim(value, config, springImpl) || {
183
183
  start: function (callback?: ?EndCallback): void {
184
184
  start(value, config, callback);
185
185
  },
@@ -204,7 +204,7 @@ const spring = function (
204
204
  );
205
205
  };
206
206
 
207
- const timing = function (
207
+ const timingImpl = function (
208
208
  value: AnimatedValue | AnimatedValueXY | AnimatedColor,
209
209
  config: TimingAnimationConfig,
210
210
  ): CompositeAnimation {
@@ -233,7 +233,7 @@ const timing = function (
233
233
  };
234
234
 
235
235
  return (
236
- maybeVectorAnim(value, config, timing) || {
236
+ maybeVectorAnim(value, config, timingImpl) || {
237
237
  start: function (callback?: ?EndCallback, isLooping?: boolean): void {
238
238
  start(value, {...config, isLooping}, callback);
239
239
  },
@@ -258,7 +258,7 @@ const timing = function (
258
258
  );
259
259
  };
260
260
 
261
- const decay = function (
261
+ const decayImpl = function (
262
262
  value: AnimatedValue | AnimatedValueXY | AnimatedColor,
263
263
  config: DecayAnimationConfig,
264
264
  ): CompositeAnimation {
@@ -275,7 +275,7 @@ const decay = function (
275
275
  };
276
276
 
277
277
  return (
278
- maybeVectorAnim(value, config, decay) || {
278
+ maybeVectorAnim(value, config, decayImpl) || {
279
279
  start: function (callback?: ?EndCallback): void {
280
280
  start(value, config, callback);
281
281
  },
@@ -300,7 +300,7 @@ const decay = function (
300
300
  );
301
301
  };
302
302
 
303
- const sequence = function (
303
+ const sequenceImpl = function (
304
304
  animations: Array<CompositeAnimation>,
305
305
  ): CompositeAnimation {
306
306
  let current = 0;
@@ -363,7 +363,7 @@ type ParallelConfig = {
363
363
  stopTogether?: boolean,
364
364
  ...
365
365
  };
366
- const parallel = function (
366
+ const parallelImpl = function (
367
367
  animations: Array<CompositeAnimation>,
368
368
  config?: ?ParallelConfig,
369
369
  ): CompositeAnimation {
@@ -431,9 +431,9 @@ const parallel = function (
431
431
  return result;
432
432
  };
433
433
 
434
- const delay = function (time: number): CompositeAnimation {
434
+ const delayImpl = function (time: number): CompositeAnimation {
435
435
  // Would be nice to make a specialized implementation
436
- return timing(new AnimatedValue(0), {
436
+ return timingImpl(new AnimatedValue(0), {
437
437
  toValue: 0,
438
438
  delay: time,
439
439
  duration: 0,
@@ -441,13 +441,13 @@ const delay = function (time: number): CompositeAnimation {
441
441
  });
442
442
  };
443
443
 
444
- const stagger = function (
444
+ const staggerImpl = function (
445
445
  time: number,
446
446
  animations: Array<CompositeAnimation>,
447
447
  ): CompositeAnimation {
448
- return parallel(
448
+ return parallelImpl(
449
449
  animations.map((animation, i) => {
450
- return sequence([delay(time * i), animation]);
450
+ return sequenceImpl([delayImpl(time * i), animation]);
451
451
  }),
452
452
  );
453
453
  };
@@ -458,7 +458,7 @@ type LoopAnimationConfig = {
458
458
  ...
459
459
  };
460
460
 
461
- const loop = function (
461
+ const loopImpl = function (
462
462
  animation: CompositeAnimation,
463
463
  // $FlowFixMe[prop-missing]
464
464
  {iterations = -1, resetBeforeIteration = true}: LoopAnimationConfig = {},
@@ -514,7 +514,7 @@ const loop = function (
514
514
  };
515
515
  };
516
516
 
517
- function forkEvent(
517
+ function forkEventImpl(
518
518
  event: ?AnimatedEvent | ?Function,
519
519
  listener: Function,
520
520
  ): AnimatedEvent | Function {
@@ -531,7 +531,7 @@ function forkEvent(
531
531
  }
532
532
  }
533
533
 
534
- function unforkEvent(
534
+ function unforkEventImpl(
535
535
  event: ?AnimatedEvent | ?Function,
536
536
  listener: Function,
537
537
  ): void {
@@ -540,7 +540,7 @@ function unforkEvent(
540
540
  }
541
541
  }
542
542
 
543
- const event = function <T>(
543
+ const eventImpl = function <T>(
544
544
  argMapping: $ReadOnlyArray<?Mapping>,
545
545
  config: EventConfig<T>,
546
546
  ): any {
@@ -606,25 +606,25 @@ export default {
606
606
  * See https://reactnative.dev/docs/animated#node
607
607
  */
608
608
  Node: AnimatedNode,
609
- decay,
610
- timing,
611
- spring,
612
- add,
613
- subtract,
614
- divide,
615
- multiply,
616
- modulo,
617
- diffClamp,
618
- delay,
619
- sequence,
620
- parallel,
621
- stagger,
622
- loop,
623
- event,
609
+ decay: decayImpl,
610
+ timing: timingImpl,
611
+ spring: springImpl,
612
+ add: addImpl,
613
+ subtract: subtractImpl,
614
+ divide: divideImpl,
615
+ multiply: multiplyImpl,
616
+ modulo: moduloImpl,
617
+ diffClamp: diffClampImpl,
618
+ delay: delayImpl,
619
+ sequence: sequenceImpl,
620
+ parallel: parallelImpl,
621
+ stagger: staggerImpl,
622
+ loop: loopImpl,
623
+ event: eventImpl,
624
624
  createAnimatedComponent,
625
- attachNativeEvent,
626
- forkEvent,
627
- unforkEvent,
625
+ attachNativeEvent: attachNativeEventImpl,
626
+ forkEvent: forkEventImpl,
627
+ unforkEvent: unforkEventImpl,
628
628
 
629
629
  /**
630
630
  * Expose Event class, so it can be used as a type for type checkers.
@@ -17,7 +17,7 @@ import type {DecayAnimationConfig} from './animations/DecayAnimation';
17
17
  import type {SpringAnimationConfig} from './animations/SpringAnimation';
18
18
  import type {TimingAnimationConfig} from './animations/TimingAnimation';
19
19
 
20
- import {AnimatedEvent, attachNativeEvent} from './AnimatedEvent';
20
+ import {AnimatedEvent, attachNativeEventImpl} from './AnimatedEvent';
21
21
  import AnimatedImplementation from './AnimatedImplementation';
22
22
  import createAnimatedComponent from './createAnimatedComponent';
23
23
  import AnimatedColor from './nodes/AnimatedColor';
@@ -188,7 +188,7 @@ export default {
188
188
  loop,
189
189
  event: AnimatedImplementation.event,
190
190
  createAnimatedComponent,
191
- attachNativeEvent,
191
+ attachNativeEvent: attachNativeEventImpl,
192
192
  forkEvent: AnimatedImplementation.forkEvent,
193
193
  unforkEvent: AnimatedImplementation.unforkEvent,
194
194
  Event: AnimatedEvent,
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedModule';
12
12
  import NativeAnimatedModule from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedModule';
13
+
13
14
  export default NativeAnimatedModule;
@@ -10,4 +10,5 @@
10
10
 
11
11
  export * from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule';
12
12
  import NativeAnimatedTurboModule from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule';
13
+
13
14
  export default NativeAnimatedTurboModule;
@@ -4,8 +4,8 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @format
8
7
  * @flow strict
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -150,7 +150,12 @@ export default class Animation {
150
150
  if (value != null) {
151
151
  animatedValue.__onAnimatedValueUpdateReceived(value, offset);
152
152
 
153
- if (!ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()) {
153
+ if (
154
+ !(
155
+ ReactNativeFeatureFlags.cxxNativeAnimatedEnabled() &&
156
+ ReactNativeFeatureFlags.cxxNativeAnimatedRemoveJsSync()
157
+ )
158
+ ) {
154
159
  if (this.__isLooping === true) {
155
160
  return;
156
161
  }
@@ -8,13 +8,14 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {AnimatedComponentType} from '../createAnimatedComponent';
11
+ import type {AnimatedProps} from '../createAnimatedComponent';
12
12
 
13
- import FlatList from '../../Lists/FlatList';
13
+ import FlatList, {type FlatListProps} from '../../Lists/FlatList';
14
14
  import createAnimatedComponent from '../createAnimatedComponent';
15
15
  import * as React from 'react';
16
16
 
17
- export default (createAnimatedComponent(FlatList): AnimatedComponentType<
18
- React.ElementConfig<typeof FlatList>,
19
- FlatList<mixed>,
20
- >);
17
+ // $FlowExpectedError[unclear-type]
18
+ export default (createAnimatedComponent(FlatList): component<ItemT = any>(
19
+ ref?: React.RefSetter<FlatList<ItemT>>,
20
+ ...props: AnimatedProps<FlatListProps<ItemT>>
21
+ ));
@@ -15,7 +15,9 @@ import type {
15
15
  } from '../createAnimatedComponent';
16
16
 
17
17
  import RefreshControl from '../../Components/RefreshControl/RefreshControl';
18
- import ScrollView from '../../Components/ScrollView/ScrollView';
18
+ import ScrollView, {
19
+ type ScrollViewProps,
20
+ } from '../../Components/ScrollView/ScrollView';
19
21
  import flattenStyle from '../../StyleSheet/flattenStyle';
20
22
  import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
21
23
  import StyleSheet from '../../StyleSheet/StyleSheet';
@@ -26,21 +28,20 @@ import useAnimatedProps from '../useAnimatedProps';
26
28
  import * as React from 'react';
27
29
  import {cloneElement, useMemo} from 'react';
28
30
 
29
- type AnimatedScrollViewProps = React.ElementConfig<typeof ScrollView>;
30
31
  type AnimatedScrollViewInstance = React.ElementRef<typeof ScrollView>;
31
32
 
32
33
  /**
33
34
  * @see https://github.com/facebook/react-native/commit/b8c8562
34
35
  */
35
36
  const AnimatedScrollView: AnimatedComponentType<
36
- AnimatedScrollViewProps,
37
+ ScrollViewProps,
37
38
  AnimatedScrollViewInstance,
38
39
  > = function AnimatedScrollViewWithOrWithoutInvertedRefreshControl({
39
40
  ref: forwardedRef,
40
41
  ...props
41
42
  }: {
42
43
  ref?: React.RefSetter<AnimatedScrollViewInstance>,
43
- ...AnimatedProps<AnimatedScrollViewProps>,
44
+ ...AnimatedProps<ScrollViewProps>,
44
45
  }) {
45
46
  // (Android only) When a ScrollView has a RefreshControl and
46
47
  // any `style` property set with an Animated.Value, the CSS
@@ -111,7 +112,7 @@ const AnimatedScrollViewWithInvertedRefreshControl =
111
112
 
112
113
  // Handle animated props on `NativeDirectionalScrollView`.
113
114
  const [scrollViewAnimatedProps, scrollViewRef] = useAnimatedProps<
114
- AnimatedScrollViewProps,
115
+ ScrollViewProps,
115
116
  AnimatedScrollViewInstance,
116
117
  >(intermediatePropsForScrollView);
117
118
  const ref = useMergeRefs<AnimatedScrollViewInstance>(
@@ -8,15 +8,19 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {SectionBase} from '../../Lists/SectionList';
12
- import type {AnimatedComponentType} from '../createAnimatedComponent';
11
+ import type {AnimatedProps} from '../createAnimatedComponent';
13
12
 
14
- import SectionList from '../../Lists/SectionList';
13
+ import SectionList, {type SectionListProps} from '../../Lists/SectionList';
15
14
  import createAnimatedComponent from '../createAnimatedComponent';
16
15
  import * as React from 'react';
17
16
 
18
- export default (createAnimatedComponent(SectionList): AnimatedComponentType<
19
- React.ElementConfig<typeof SectionList>,
17
+ // $FlowFixMe
18
+ export default (createAnimatedComponent(SectionList): component<
20
19
  // $FlowExpectedError[unclear-type]
21
- SectionList<any, SectionBase<any>>,
22
- >);
20
+ ItemT = any,
21
+ // $FlowExpectedError[unclear-type]
22
+ SectionT = any,
23
+ >(
24
+ ref?: React.RefSetter<SectionList<ItemT, SectionT>>,
25
+ ...props: AnimatedProps<SectionListProps<ItemT, SectionT>>
26
+ ));
@@ -10,13 +10,10 @@
10
10
 
11
11
  import type {AnimatedComponentType} from '../createAnimatedComponent';
12
12
 
13
- import Text from '../../Text/Text';
13
+ import Text, {type TextProps} from '../../Text/Text';
14
14
  import createAnimatedComponent from '../createAnimatedComponent';
15
15
  import * as React from 'react';
16
16
 
17
17
  export default (createAnimatedComponent(
18
18
  (Text: $FlowFixMe),
19
- ): AnimatedComponentType<
20
- React.ElementConfig<typeof Text>,
21
- React.ElementRef<typeof Text>,
22
- >);
19
+ ): AnimatedComponentType<TextProps, React.ElementRef<typeof Text>>);
@@ -8,6 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import type {ViewProps} from '../../Components/View/ViewPropTypes';
11
12
  import type {AnimatedComponentType} from '../createAnimatedComponent';
12
13
 
13
14
  import View from '../../Components/View/View';
@@ -15,6 +16,6 @@ import createAnimatedComponent from '../createAnimatedComponent';
15
16
  import * as React from 'react';
16
17
 
17
18
  export default (createAnimatedComponent(View): AnimatedComponentType<
18
- React.ElementConfig<typeof View>,
19
+ ViewProps,
19
20
  React.ElementRef<typeof View>,
20
21
  >);
@@ -21,7 +21,7 @@ import type AnimatedValue from './nodes/AnimatedValue';
21
21
 
22
22
  import createAnimatedPropsHook from '../../src/private/animated/createAnimatedPropsHook';
23
23
  import composeStyles from '../../src/private/styles/composeStyles';
24
- import View from '../Components/View/View';
24
+ import {type ViewProps} from '../Components/View/ViewPropTypes';
25
25
  import useMergeRefs from '../Utilities/useMergeRefs';
26
26
  import * as React from 'react';
27
27
  import {useMemo} from 'react';
@@ -60,9 +60,7 @@ type NonAnimatedProps =
60
60
  | 'disabled'
61
61
  | 'accessibilityLabel';
62
62
  type PassThroughProps = $ReadOnly<{
63
- passthroughAnimatedPropExplicitValues?: React.ElementConfig<
64
- typeof View,
65
- > | null,
63
+ passthroughAnimatedPropExplicitValues?: ViewProps | null,
66
64
  }>;
67
65
 
68
66
  export type AnimatedProps<Props: {...}> = {
@@ -14,6 +14,7 @@ import type {AnimatedStyleAllowlist} from './AnimatedStyle';
14
14
 
15
15
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
16
16
  import {findNodeHandle} from '../../ReactNative/RendererProxy';
17
+ import flattenStyle from '../../StyleSheet/flattenStyle';
17
18
  import {AnimatedEvent} from '../AnimatedEvent';
18
19
  import AnimatedNode from './AnimatedNode';
19
20
  import AnimatedObject from './AnimatedObject';
@@ -43,18 +44,28 @@ function createAnimatedProps(
43
44
  for (let ii = 0, length = keys.length; ii < length; ii++) {
44
45
  const key = keys[ii];
45
46
  const value = inputProps[key];
47
+ let staticValue = value;
46
48
 
47
49
  if (allowlist == null || hasOwn(allowlist, key)) {
48
50
  let node;
49
51
  if (key === 'style') {
50
- node = AnimatedStyle.from(value, allowlist?.style);
52
+ // Ignore `style` if it is not an object (or array).
53
+ if (typeof value === 'object' && value != null) {
54
+ // Even if we do not find any `AnimatedNode` values in `style`, we
55
+ // still need to use the flattened `style` object because static
56
+ // values can shadow `AnimatedNode` values. We need to make sure that
57
+ // we propagate the flattened `style` object to the `props` object.
58
+ const flatStyle = flattenStyle(value as $FlowFixMe);
59
+ node = AnimatedStyle.from(flatStyle, allowlist?.style, value);
60
+ staticValue = flatStyle;
61
+ }
51
62
  } else if (value instanceof AnimatedNode) {
52
63
  node = value;
53
64
  } else {
54
65
  node = AnimatedObject.from(value);
55
66
  }
56
67
  if (node == null) {
57
- props[key] = value;
68
+ props[key] = staticValue;
58
69
  } else {
59
70
  nodeKeys.push(key);
60
71
  nodes.push(node);
@@ -134,8 +145,24 @@ export default class AnimatedProps extends AnimatedNode {
134
145
  const key = keys[ii];
135
146
  const maybeNode = this.#props[key];
136
147
 
137
- if (key === 'style' && maybeNode instanceof AnimatedStyle) {
138
- props[key] = maybeNode.__getValueWithStaticStyle(staticProps.style);
148
+ if (key === 'style') {
149
+ const staticStyle = staticProps.style;
150
+ const flatStaticStyle = flattenStyle(staticStyle);
151
+ if (maybeNode instanceof AnimatedStyle) {
152
+ const mutableStyle: {[string]: mixed} =
153
+ flatStaticStyle == null
154
+ ? {}
155
+ : flatStaticStyle === staticStyle
156
+ ? // Copy the input style, since we'll mutate it below.
157
+ {...flatStaticStyle}
158
+ : // Reuse `flatStaticStyle` if it is a newly created object.
159
+ flatStaticStyle;
160
+
161
+ maybeNode.__replaceAnimatedNodeWithValues(mutableStyle);
162
+ props[key] = maybeNode.__getValueForStyle(mutableStyle);
163
+ } else {
164
+ props[key] = flatStaticStyle;
165
+ }
139
166
  } else if (maybeNode instanceof AnimatedNode) {
140
167
  props[key] = maybeNode.__getValue();
141
168
  } else if (maybeNode instanceof AnimatedEvent) {