react-native-windows 0.79.2 → 0.80.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/.flowconfig +12 -3
  2. package/Directory.Build.props +5 -2
  3. package/Libraries/Alert/Alert.d.ts +4 -1
  4. package/Libraries/Alert/Alert.js +3 -0
  5. package/Libraries/Alert/Alert.windows.js +3 -0
  6. package/Libraries/Alert/RCTAlertManager.js +17 -0
  7. package/Libraries/Animated/Animated.js.flow +1 -3
  8. package/Libraries/Animated/AnimatedEvent.js +4 -3
  9. package/Libraries/Animated/AnimatedExports.js +2 -2
  10. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  11. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  12. package/Libraries/Animated/Easing.js +13 -15
  13. package/Libraries/Animated/animations/Animation.js +8 -4
  14. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  15. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  16. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  17. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  18. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  19. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  20. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  21. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  22. package/Libraries/AppState/AppState.js +7 -2
  23. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  24. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  25. package/Libraries/Blob/BlobManager.js +1 -0
  26. package/Libraries/Blob/FileReader.js +219 -8
  27. package/Libraries/Blob/URL.js +37 -12
  28. package/Libraries/Blob/URLSearchParams.js +106 -31
  29. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
  32. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  33. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  34. package/Libraries/Components/Button.d.ts +3 -0
  35. package/Libraries/Components/Button.js +1 -1
  36. package/Libraries/Components/Button.windows.js +27 -1
  37. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  38. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  40. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  42. package/Libraries/Components/Flyout/Flyout.js +11 -0
  43. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  45. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  46. package/Libraries/Components/Popup/Popup.js +11 -0
  47. package/Libraries/Components/Pressable/Pressable.js +20 -4
  48. package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
  49. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  51. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  52. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  53. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  54. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  55. package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
  56. package/Libraries/Components/StaticRenderer.js +1 -1
  57. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  58. package/Libraries/Components/Switch/Switch.js +8 -4
  59. package/Libraries/Components/Switch/Switch.windows.js +17 -4
  60. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  61. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  62. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  63. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  64. package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
  65. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  66. package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
  67. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  68. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  69. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
  70. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  71. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  72. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  73. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  74. package/Libraries/Components/Touchable/Touchable.js +5 -5
  75. package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
  76. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  77. package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
  78. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  79. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
  80. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
  84. package/Libraries/Components/View/View.js +18 -21
  85. package/Libraries/Components/View/View.windows.js +39 -41
  86. package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
  87. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  88. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
  91. package/Libraries/Core/ReactNativeVersion.js +1 -1
  92. package/Libraries/Core/setUpReactDevTools.js +5 -5
  93. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  94. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  95. package/Libraries/Image/AssetSourceResolver.js +17 -4
  96. package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
  97. package/Libraries/Image/Image.d.ts +26 -10
  98. package/Libraries/Image/Image.js +17 -0
  99. package/Libraries/Image/Image.js.flow +5 -5
  100. package/Libraries/Image/Image.windows.js +13 -1
  101. package/Libraries/Image/ImageBackground.js +2 -0
  102. package/Libraries/Image/ImageInjection.js +1 -1
  103. package/Libraries/Image/ImageProps.js +22 -17
  104. package/Libraries/Image/ImageSource.js +3 -1
  105. package/Libraries/Image/ImageSourceUtils.js +4 -2
  106. package/Libraries/Image/ImageTypes.flow.js +1 -1
  107. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  108. package/Libraries/Interaction/InteractionManager.js +1 -1
  109. package/Libraries/Interaction/PanResponder.js +3 -3
  110. package/Libraries/Interaction/TaskQueue.js +1 -0
  111. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  112. package/Libraries/Linking/Linking.js +1 -1
  113. package/Libraries/Lists/FlatList.d.ts +2 -2
  114. package/Libraries/Lists/FlatList.js +8 -11
  115. package/Libraries/Lists/SectionList.js +39 -42
  116. package/Libraries/Lists/SectionListModern.js +25 -34
  117. package/Libraries/Lists/VirtualizedList.js +1 -0
  118. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  119. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  120. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  121. package/Libraries/Modal/Modal.js +33 -7
  122. package/Libraries/Modal/Modal.windows.js +33 -10
  123. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  124. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  125. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  126. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  127. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  128. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  129. package/Libraries/Network/RCTNetworking.android.js +1 -1
  130. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  131. package/Libraries/Network/RCTNetworking.js +17 -0
  132. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  133. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  134. package/Libraries/Network/XMLHttpRequest.js +781 -10
  135. package/Libraries/Performance/Systrace.js +7 -7
  136. package/Libraries/Pressability/Pressability.js +1 -1
  137. package/Libraries/Pressability/Pressability.windows.js +1 -1
  138. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  139. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  140. package/Libraries/ReactNative/AppRegistry.js +2 -322
  141. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  142. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  143. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  144. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  145. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  146. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  147. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  148. package/Libraries/ReactNative/renderApplication.js +9 -0
  149. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  150. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  151. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  152. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  153. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  154. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  155. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  156. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  157. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  158. package/Libraries/Settings/Settings.ios.js +1 -0
  159. package/Libraries/Settings/Settings.js +13 -19
  160. package/Libraries/Settings/SettingsFallback.js +33 -0
  161. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  162. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  163. package/Libraries/StyleSheet/Rect.js +1 -0
  164. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  165. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  166. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  167. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  168. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  169. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  170. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  171. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  172. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  173. package/Libraries/Text/Text.d.ts +2 -5
  174. package/Libraries/Text/Text.js +3 -3
  175. package/Libraries/Text/Text.windows.js +3 -3
  176. package/Libraries/Text/TextNativeComponent.js +0 -4
  177. package/Libraries/Text/TextProps.js +5 -33
  178. package/Libraries/Text/TextProps.windows.js +5 -32
  179. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  180. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  181. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  182. package/Libraries/Types/CoreEventTypes.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.windows.js +1 -1
  184. package/Libraries/Utilities/Appearance.js +2 -0
  185. package/Libraries/Utilities/BackHandler.js +17 -0
  186. package/Libraries/Utilities/DeviceInfo.js +2 -0
  187. package/Libraries/Utilities/Dimensions.js +1 -1
  188. package/Libraries/Utilities/Platform.js +17 -0
  189. package/Libraries/Utilities/PlatformTypes.js +11 -3
  190. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  191. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  192. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  193. package/Libraries/WebSocket/WebSocket.js +313 -8
  194. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  195. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  196. package/Microsoft.ReactNative/CompositionSwitcher.idl +8 -0
  197. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
  198. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +197 -1
  199. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +34 -4
  200. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +12 -0
  201. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
  202. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +81 -0
  203. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +5 -0
  204. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +148 -14
  205. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
  206. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
  207. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
  208. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
  209. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +4 -0
  210. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  211. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
  212. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
  213. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
  214. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  215. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  216. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +34 -94
  217. package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
  218. package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
  219. package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
  220. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
  221. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  222. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  223. package/PropertySheets/React.Cpp.props +4 -0
  224. package/README.md +2 -2
  225. package/ReactCommon/ReactCommon.vcxproj +9 -4
  226. package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
  227. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
  228. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
  229. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
  230. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
  231. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  232. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
  233. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
  234. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +2 -1
  235. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  236. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
  237. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
  238. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
  239. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
  240. package/Scripts/creaternwapp.cmd +9 -3
  241. package/Shared/Shared.vcxitems +3 -2
  242. package/Shared/Shared.vcxitems.filters +2 -1
  243. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  244. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  245. package/codegen/NativePerformanceSpec.g.h +14 -0
  246. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
  247. package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
  248. package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
  249. package/codegen/rnwcoreJSI-generated.cpp +159 -129
  250. package/codegen/rnwcoreJSI.h +534 -408
  251. package/index.js +51 -331
  252. package/index.windows.js +70 -352
  253. package/interface.js +0 -4
  254. package/jest/resolver.js +31 -0
  255. package/jest/setup.js +6 -2
  256. package/package.json +29 -28
  257. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  258. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  259. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  260. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  261. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  262. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  263. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  264. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  265. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  266. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  267. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  268. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  269. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  270. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  271. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  272. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  273. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  274. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  275. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  276. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  277. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  278. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  279. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  280. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  281. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
  282. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  283. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  284. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  285. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  286. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
  287. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  288. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  289. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  290. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  291. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  292. package/src/private/styles/composeStyles.js +12 -5
  293. package/src/private/types/HostComponent.js +1 -1
  294. package/src/private/types/HostInstance.js +67 -1
  295. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  296. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  297. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  298. package/src/private/webapis/performance/Performance.js +1 -3
  299. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  300. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  301. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  302. package/src/types/globals.d.ts +42 -0
  303. package/stubs/double-conversion/double-conversion.h +3 -1
  304. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
  305. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
  306. package/types/index.d.ts +6 -3
  307. package/types/public/ReactNativeTypes.d.ts +2 -2
  308. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  309. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  310. package/Libraries/Blob/FileReader_new.js +0 -231
  311. package/Libraries/Blob/FileReader_old.js +0 -186
  312. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  313. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  314. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  315. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  316. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  317. package/Libraries/Events/CustomEvent.js +0 -32
  318. package/Libraries/Events/EventPolyfill.js +0 -239
  319. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  320. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  321. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  322. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  323. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  324. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
  325. package/Libraries/NewAppScreen/components/Header.js +0 -77
  326. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  327. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  328. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  329. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
  330. package/Libraries/NewAppScreen/components/logo.png +0 -0
  331. package/Libraries/NewAppScreen/index.js +0 -25
  332. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  333. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  334. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  335. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  336. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  337. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  338. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  339. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  340. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  341. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  342. package/jest/__tests__/setup-test.js +0 -18
  343. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  344. package/src/private/utilities/ensureInstance.js +0 -21
  345. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  346. package/types/modules/LaunchScreen.d.ts +0 -18
  347. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  348. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
package/.flowconfig CHANGED
@@ -4,6 +4,9 @@
4
4
  .*/*[.]ios.js
5
5
  .*/*[.]macos.js
6
6
 
7
+ ; Ignore fb_internal modules
8
+ <PROJECT_ROOT>/packages/react-native/src/fb_internal/.*
9
+
7
10
  ; These modules have base components and Windows versions.
8
11
  ; Ideally we'd delete the base versions of files that had .windows overrides as part of the
9
12
  ; initRNLibraries build step
@@ -27,8 +30,6 @@
27
30
  <PROJECT_ROOT>/Libraries/Image/Image.js
28
31
  <PROJECT_ROOT>/Libraries/Image/resolveAssetSource.js
29
32
  <PROJECT_ROOT>/Libraries/Network/RCTNetworking.js
30
- <PROJECT_ROOT>/Libraries/NewAppScreen/components/DebugInstructions.js
31
- <PROJECT_ROOT>/Libraries/NewAppScreen/components/ReloadInstructions.js
32
33
  <PROJECT_ROOT>/Libraries/Pressability/Pressability.js
33
34
  <PROJECT_ROOT>/Libraries/Text/TextProps.js
34
35
  <PROJECT_ROOT>/Libraries/Types/CoreEventTypes.js
@@ -38,6 +39,12 @@
38
39
  <PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js
39
40
  <PROJECT_ROOT>/Libraries/Utilities/Platform.flow.js
40
41
 
42
+ <PROJECT_ROOT>/IntegrationTests/ImageCachePolicyTest.js
43
+ <PROJECT_ROOT>/IntegrationTests/LayoutEventsTest.js
44
+ <PROJECT_ROOT>/IntegrationTests/IntegrationTestsApp.js
45
+ <PROJECT_ROOT>/ReactCopies/IntegrationTests/ImageCachePolicyTest.js
46
+ <PROJECT_ROOT>/ReactCopies/IntegrationTests/LayoutEventsTest.js
47
+ <PROJECT_ROOT>/ReactCopies/IntegrationTests/IntegrationTestsApp.js
41
48
 
42
49
  ; Ignore react-native files in node_modules since they are copied into project root
43
50
  .*/node_modules/react-native/.*
@@ -130,6 +137,8 @@ module.name_mapper='^react-native-windows/\(.*\)$' -> '<PROJECT_ROOT>/\1'
130
137
  module.name_mapper='^@react-native/dev-middleware$' -> '<PROJECT_ROOT>/\1'
131
138
  module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\|xml\)$' -> '<PROJECT_ROOT>/Libraries/Image/RelativeImageStub'
132
139
 
140
+ react.runtime=automatic
141
+
133
142
  suppress_type=$FlowIssue
134
143
  suppress_type=$FlowFixMe
135
144
  suppress_type=$FlowFixMeProps
@@ -160,4 +169,4 @@ untyped-import
160
169
  untyped-type-import
161
170
 
162
171
  [version]
163
- ^0.262.0
172
+ ^0.269.1
@@ -74,10 +74,13 @@
74
74
 
75
75
  <IntermediateOutputPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntDir)</IntermediateOutputPath>
76
76
  <OutputPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(OutDir)</OutputPath>
77
+ </PropertyGroup>
77
78
 
78
- <RestorePackagesWithLockFile Condition="'$(RestorePackagesWithLockFile)' == ''">true</RestorePackagesWithLockFile>
79
+ <PropertyGroup Condition="'$(BuildingInRnwRepo)' != 'true'">
80
+ <!-- Consumers of RNW outside of the repo don't need lock files unless they ask for it -->
81
+ <RestoreLockedMode Condition="'$(RestoreLockedMode)' == ''">false</RestoreLockedMode>
82
+ <RestorePackagesWithLockFile Condition="'$(RestorePackagesWithLockFile)' == ''">false</RestorePackagesWithLockFile>
79
83
  <RestoreForceEvaluate Condition="'$(RestoreForceEvaluate)' == ''">false</RestoreForceEvaluate>
80
-
81
84
  </PropertyGroup>
82
85
 
83
86
  <PropertyGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
@@ -12,7 +12,10 @@
12
12
  */
13
13
  export interface AlertButton {
14
14
  text?: string | undefined;
15
- onPress?: ((value?: string) => void) | undefined;
15
+ onPress?:
16
+ | ((value?: string) => void)
17
+ | ((value?: {login: string; password: string}) => void)
18
+ | undefined;
16
19
  isPreferred?: boolean | undefined;
17
20
  style?: 'default' | 'cancel' | 'destructive' | undefined;
18
21
  }
@@ -119,12 +119,15 @@ class Alert {
119
119
  if (action === constants.buttonClicked) {
120
120
  if (buttonKey === constants.buttonNeutral) {
121
121
  // $FlowFixMe[incompatible-type]
122
+ // $FlowFixMe[incompatible-use]
122
123
  buttonNeutral.onPress && buttonNeutral.onPress();
123
124
  } else if (buttonKey === constants.buttonNegative) {
124
125
  // $FlowFixMe[incompatible-type]
126
+ // $FlowFixMe[incompatible-use]
125
127
  buttonNegative.onPress && buttonNegative.onPress();
126
128
  } else if (buttonKey === constants.buttonPositive) {
127
129
  // $FlowFixMe[incompatible-type]
130
+ // $FlowFixMe[incompatible-use]
128
131
  buttonPositive.onPress && buttonPositive.onPress();
129
132
  }
130
133
  } else if (action === constants.dismissed) {
@@ -116,12 +116,15 @@ class Alert {
116
116
  if (action === constants.buttonClicked) {
117
117
  if (buttonKey === constants.buttonNeutral) {
118
118
  // $FlowFixMe[incompatible-type]
119
+ // $FlowFixMe[incompatible-use]
119
120
  buttonNeutral.onPress && buttonNeutral.onPress();
120
121
  } else if (buttonKey === constants.buttonNegative) {
121
122
  // $FlowFixMe[incompatible-type]
123
+ // $FlowFixMe[incompatible-use]
122
124
  buttonNegative.onPress && buttonNegative.onPress();
123
125
  } else if (buttonKey === constants.buttonPositive) {
124
126
  // $FlowFixMe[incompatible-type]
127
+ // $FlowFixMe[incompatible-use]
125
128
  buttonPositive.onPress && buttonPositive.onPress();
126
129
  }
127
130
  } else if (action === constants.dismissed) {
@@ -0,0 +1,17 @@
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 strict-local
8
+ * @format
9
+ */
10
+
11
+ // NOTE: This file supports backwards compatibility of subpath (deep) imports
12
+ // from 'react-native' with platform-specific extensions. It can be deleted
13
+ // once we remove the "./*" mapping from package.json "exports".
14
+
15
+ import RCTAlertManager from './RCTAlertManager';
16
+
17
+ export default RCTAlertManager;
@@ -9,7 +9,5 @@
9
9
  * @oncall react_native
10
10
  */
11
11
 
12
- import * as Animated from './AnimatedExports';
13
-
12
+ export * as default from './AnimatedExports';
14
13
  export type {CompositeAnimation, Numeric} from './AnimatedImplementation';
15
- export default Animated;
@@ -10,6 +10,7 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import type {NativeSyntheticEvent} from '../Types/CoreEventTypes';
13
14
  import type {PlatformConfig} from './AnimatedPlatformConfig';
14
15
 
15
16
  import NativeAnimatedHelper from '../../src/private/animated/NativeAnimatedHelper';
@@ -22,8 +23,8 @@ export type Mapping =
22
23
  | {[key: string]: Mapping, ...}
23
24
  | AnimatedValue
24
25
  | AnimatedValueXY;
25
- export type EventConfig = {
26
- listener?: ?Function,
26
+ export type EventConfig<T> = {
27
+ listener?: ?(NativeSyntheticEvent<T>) => mixed,
27
28
  useNativeDriver: boolean,
28
29
  platformConfig?: PlatformConfig,
29
30
  };
@@ -150,7 +151,7 @@ export class AnimatedEvent {
150
151
  __isNative: boolean;
151
152
  __platformConfig: ?PlatformConfig;
152
153
 
153
- constructor(argMapping: $ReadOnlyArray<?Mapping>, config: EventConfig) {
154
+ constructor(argMapping: $ReadOnlyArray<?Mapping>, config: EventConfig<any>) {
154
155
  this._argMapping = argMapping;
155
156
 
156
157
  if (config == null) {
@@ -25,7 +25,7 @@ const Animated: typeof AnimatedImplementation = Platform.isDisableAnimations
25
25
  : AnimatedImplementation;
26
26
 
27
27
  export default {
28
- get FlatList(): AnimatedFlatList {
28
+ get FlatList(): AnimatedFlatList<any> {
29
29
  return require('./components/AnimatedFlatList').default;
30
30
  },
31
31
  get Image(): AnimatedImage {
@@ -34,7 +34,7 @@ export default {
34
34
  get ScrollView(): AnimatedScrollView {
35
35
  return require('./components/AnimatedScrollView').default;
36
36
  },
37
- get SectionList(): AnimatedSectionList {
37
+ get SectionList(): AnimatedSectionList<any, any> {
38
38
  return require('./components/AnimatedSectionList').default;
39
39
  },
40
40
  get Text(): AnimatedText {
@@ -24,25 +24,165 @@ export {default as Node} from './nodes/AnimatedNode';
24
24
  export {default as Value} from './nodes/AnimatedValue';
25
25
  export {default as ValueXY} from './nodes/AnimatedValueXY';
26
26
 
27
+ /** @deprecated Use Animated.Interpolation instead */
28
+ export type {default as AnimatedInterpolation} from './nodes/AnimatedInterpolation';
29
+ /** @deprecated Use Animated.Color instead */
30
+ export type {default as AnimatedColor} from './nodes/AnimatedColor';
31
+
27
32
  export type {AnimatedValueConfig as AnimatedConfig} from './nodes/AnimatedValue';
33
+ export type {default as AnimatedNode} from './nodes/AnimatedNode';
34
+ export type {default as AnimatedAddition} from './nodes/AnimatedAddition';
35
+ export type {default as AnimatedDiffClamp} from './nodes/AnimatedDiffClamp';
36
+ export type {default as AnimatedDivision} from './nodes/AnimatedDivision';
37
+ export type {default as AnimatedModulo} from './nodes/AnimatedModulo';
38
+ export type {default as AnimatedMultiplication} from './nodes/AnimatedMultiplication';
39
+ export type {default as AnimatedSubtraction} from './nodes/AnimatedSubtraction';
40
+ export type {WithAnimatedValue, AnimatedProps} from './createAnimatedComponent';
41
+ export type {AnimatedComponentType as AnimatedComponent} from './createAnimatedComponent';
28
42
 
43
+ /**
44
+ * Creates a new Animated value composed from two Animated values added
45
+ * together.
46
+ *
47
+ * See https://reactnative.dev/docs/animated#add
48
+ */
29
49
  export const add = AnimatedImplementation.add;
50
+
51
+ /**
52
+ * Imperative API to attach an animated value to an event on a view. Prefer
53
+ * using `Animated.event` with `useNativeDrive: true` if possible.
54
+ *
55
+ * See https://reactnative.dev/docs/animated#attachnativeevent
56
+ */
30
57
  export const attachNativeEvent = AnimatedImplementation.attachNativeEvent;
58
+
59
+ /**
60
+ * Make any React component Animatable. Used to create `Animated.View`, etc.
61
+ *
62
+ * See https://reactnative.dev/docs/animated#createanimatedcomponent
63
+ */
31
64
  export const createAnimatedComponent =
32
65
  AnimatedImplementation.createAnimatedComponent;
66
+
67
+ /**
68
+ * Animates a value from an initial velocity to zero based on a decay
69
+ * coefficient.
70
+ *
71
+ * See https://reactnative.dev/docs/animated#decay
72
+ */
33
73
  export const decay = AnimatedImplementation.decay;
74
+
75
+ /**
76
+ * Starts an animation after the given delay.
77
+ *
78
+ * See https://reactnative.dev/docs/animated#delay
79
+ */
34
80
  export const delay = AnimatedImplementation.delay;
81
+
82
+ /**
83
+ * Create a new Animated value that is limited between 2 values. It uses the
84
+ * difference between the last value so even if the value is far from the
85
+ * bounds it will start changing when the value starts getting closer again.
86
+ *
87
+ * See https://reactnative.dev/docs/animated#diffclamp
88
+ */
35
89
  export const diffClamp = AnimatedImplementation.diffClamp;
90
+
91
+ /**
92
+ * Creates a new Animated value composed by dividing the first Animated value
93
+ * by the second Animated value.
94
+ *
95
+ * See https://reactnative.dev/docs/animated#divide
96
+ */
36
97
  export const divide = AnimatedImplementation.divide;
98
+
99
+ /**
100
+ * Takes an array of mappings and extracts values from each arg accordingly,
101
+ * then calls `setValue` on the mapped outputs.
102
+ *
103
+ * See https://reactnative.dev/docs/animated#event
104
+ */
37
105
  export const event = AnimatedImplementation.event;
106
+
107
+ /**
108
+ * Advanced imperative API for snooping on animated events that are passed in
109
+ * through props. Use values directly where possible.
110
+ *
111
+ * See https://reactnative.dev/docs/animated#forkevent
112
+ */
38
113
  export const forkEvent = AnimatedImplementation.forkEvent;
114
+
115
+ /**
116
+ * Loops a given animation continuously, so that each time it reaches the
117
+ * end, it resets and begins again from the start.
118
+ *
119
+ * See https://reactnative.dev/docs/animated#loop
120
+ */
39
121
  export const loop = AnimatedImplementation.loop;
122
+
123
+ /**
124
+ * Creates a new Animated value that is the (non-negative) modulo of the
125
+ * provided Animated value.
126
+ *
127
+ * See https://reactnative.dev/docs/animated#modulo
128
+ */
40
129
  export const modulo = AnimatedImplementation.modulo;
130
+
131
+ /**
132
+ * Creates a new Animated value composed from two Animated values multiplied
133
+ * together.
134
+ *
135
+ * See https://reactnative.dev/docs/animated#multiply
136
+ */
41
137
  export const multiply = AnimatedImplementation.multiply;
138
+
139
+ /**
140
+ * Starts an array of animations all at the same time. By default, if one
141
+ * of the animations is stopped, they will all be stopped. You can override
142
+ * this with the `stopTogether` flag.
143
+ *
144
+ * See https://reactnative.dev/docs/animated#parallel
145
+ */
42
146
  export const parallel = AnimatedImplementation.parallel;
147
+
148
+ /**
149
+ * Starts an array of animations in order, waiting for each to complete
150
+ * before starting the next. If the current running animation is stopped, no
151
+ * following animations will be started.
152
+ *
153
+ * See https://reactnative.dev/docs/animated#sequence
154
+ */
43
155
  export const sequence = AnimatedImplementation.sequence;
156
+
157
+ /**
158
+ * Animates a value according to an analytical spring model based on
159
+ * damped harmonic oscillation.
160
+ *
161
+ * See https://reactnative.dev/docs/animated#spring
162
+ */
44
163
  export const spring = AnimatedImplementation.spring;
164
+
165
+ /**
166
+ * Array of animations may run in parallel (overlap), but are started in
167
+ * sequence with successive delays. Nice for doing trailing effects.
168
+ *
169
+ * See https://reactnative.dev/docs/animated#stagger
170
+ */
45
171
  export const stagger = AnimatedImplementation.stagger;
172
+
173
+ /**
174
+ * Creates a new Animated value composed by subtracting the second Animated
175
+ * value from the first Animated value.
176
+ *
177
+ * See https://reactnative.dev/docs/animated#subtract
178
+ */
46
179
  export const subtract = AnimatedImplementation.subtract;
180
+
181
+ /**
182
+ * Animates a value along a timed easing curve. The Easing module has tons of
183
+ * predefined curves, or you can use your own function.
184
+ *
185
+ * See https://reactnative.dev/docs/animated#timing
186
+ */
47
187
  export const timing = AnimatedImplementation.timing;
48
188
  export const unforkEvent = AnimatedImplementation.unforkEvent;
@@ -540,9 +540,9 @@ function unforkEvent(
540
540
  }
541
541
  }
542
542
 
543
- const event = function (
543
+ const event = function <T>(
544
544
  argMapping: $ReadOnlyArray<?Mapping>,
545
- config: EventConfig,
545
+ config: EventConfig<T>,
546
546
  ): any {
547
547
  const animatedEvent = new AnimatedEvent(argMapping, config);
548
548
  if (animatedEvent.__isNative) {
@@ -606,144 +606,23 @@ export default {
606
606
  * See https://reactnative.dev/docs/animated#node
607
607
  */
608
608
  Node: AnimatedNode,
609
-
610
- /**
611
- * Animates a value from an initial velocity to zero based on a decay
612
- * coefficient.
613
- *
614
- * See https://reactnative.dev/docs/animated#decay
615
- */
616
609
  decay,
617
- /**
618
- * Animates a value along a timed easing curve. The Easing module has tons of
619
- * predefined curves, or you can use your own function.
620
- *
621
- * See https://reactnative.dev/docs/animated#timing
622
- */
623
610
  timing,
624
- /**
625
- * Animates a value according to an analytical spring model based on
626
- * damped harmonic oscillation.
627
- *
628
- * See https://reactnative.dev/docs/animated#spring
629
- */
630
611
  spring,
631
-
632
- /**
633
- * Creates a new Animated value composed from two Animated values added
634
- * together.
635
- *
636
- * See https://reactnative.dev/docs/animated#add
637
- */
638
612
  add,
639
-
640
- /**
641
- * Creates a new Animated value composed by subtracting the second Animated
642
- * value from the first Animated value.
643
- *
644
- * See https://reactnative.dev/docs/animated#subtract
645
- */
646
613
  subtract,
647
-
648
- /**
649
- * Creates a new Animated value composed by dividing the first Animated value
650
- * by the second Animated value.
651
- *
652
- * See https://reactnative.dev/docs/animated#divide
653
- */
654
614
  divide,
655
-
656
- /**
657
- * Creates a new Animated value composed from two Animated values multiplied
658
- * together.
659
- *
660
- * See https://reactnative.dev/docs/animated#multiply
661
- */
662
615
  multiply,
663
-
664
- /**
665
- * Creates a new Animated value that is the (non-negative) modulo of the
666
- * provided Animated value.
667
- *
668
- * See https://reactnative.dev/docs/animated#modulo
669
- */
670
616
  modulo,
671
-
672
- /**
673
- * Create a new Animated value that is limited between 2 values. It uses the
674
- * difference between the last value so even if the value is far from the
675
- * bounds it will start changing when the value starts getting closer again.
676
- *
677
- * See https://reactnative.dev/docs/animated#diffclamp
678
- */
679
617
  diffClamp,
680
-
681
- /**
682
- * Starts an animation after the given delay.
683
- *
684
- * See https://reactnative.dev/docs/animated#delay
685
- */
686
618
  delay,
687
- /**
688
- * Starts an array of animations in order, waiting for each to complete
689
- * before starting the next. If the current running animation is stopped, no
690
- * following animations will be started.
691
- *
692
- * See https://reactnative.dev/docs/animated#sequence
693
- */
694
619
  sequence,
695
- /**
696
- * Starts an array of animations all at the same time. By default, if one
697
- * of the animations is stopped, they will all be stopped. You can override
698
- * this with the `stopTogether` flag.
699
- *
700
- * See https://reactnative.dev/docs/animated#parallel
701
- */
702
620
  parallel,
703
- /**
704
- * Array of animations may run in parallel (overlap), but are started in
705
- * sequence with successive delays. Nice for doing trailing effects.
706
- *
707
- * See https://reactnative.dev/docs/animated#stagger
708
- */
709
621
  stagger,
710
- /**
711
- * Loops a given animation continuously, so that each time it reaches the
712
- * end, it resets and begins again from the start.
713
- *
714
- * See https://reactnative.dev/docs/animated#loop
715
- */
716
622
  loop,
717
-
718
- /**
719
- * Takes an array of mappings and extracts values from each arg accordingly,
720
- * then calls `setValue` on the mapped outputs.
721
- *
722
- * See https://reactnative.dev/docs/animated#event
723
- */
724
623
  event,
725
-
726
- /**
727
- * Make any React component Animatable. Used to create `Animated.View`, etc.
728
- *
729
- * See https://reactnative.dev/docs/animated#createanimatedcomponent
730
- */
731
624
  createAnimatedComponent,
732
-
733
- /**
734
- * Imperative API to attach an animated value to an event on a view. Prefer
735
- * using `Animated.event` with `useNativeDrive: true` if possible.
736
- *
737
- * See https://reactnative.dev/docs/animated#attachnativeevent
738
- */
739
625
  attachNativeEvent,
740
-
741
- /**
742
- * Advanced imperative API for snooping on animated events that are passed in
743
- * through props. Use values directly where possible.
744
- *
745
- * See https://reactnative.dev/docs/animated#forkevent
746
- */
747
626
  forkEvent,
748
627
  unforkEvent,
749
628
 
@@ -12,6 +12,8 @@
12
12
 
13
13
  let ease;
14
14
 
15
+ export type EasingFunction = (t: number) => number;
16
+
15
17
  /**
16
18
  * The `Easing` module implements common easing functions. This module is used
17
19
  * by [Animate.timing()](docs/animate.html#timing) to convey physically
@@ -57,7 +59,7 @@ let ease;
57
59
  * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical
58
60
  * - [`out`](docs/easing.html#out) runs an easing function backwards
59
61
  */
60
- const Easing = {
62
+ const EasingStatic = {
61
63
  /**
62
64
  * A stepping function, returns 1 for any positive value of `n`.
63
65
  */
@@ -90,7 +92,7 @@ const Easing = {
90
92
  */
91
93
  ease(t: number): number {
92
94
  if (!ease) {
93
- ease = Easing.bezier(0.42, 0, 1, 1);
95
+ ease = EasingStatic.bezier(0.42, 0, 1, 1);
94
96
  }
95
97
  return ease(t);
96
98
  },
@@ -121,7 +123,7 @@ const Easing = {
121
123
  * n = 4: http://easings.net/#easeInQuart
122
124
  * n = 5: http://easings.net/#easeInQuint
123
125
  */
124
- poly(n: number): (t: number) => number {
126
+ poly(n: number): EasingFunction {
125
127
  return (t: number) => Math.pow(t, n);
126
128
  },
127
129
 
@@ -162,7 +164,7 @@ const Easing = {
162
164
  *
163
165
  * http://easings.net/#easeInElastic
164
166
  */
165
- elastic(bounciness: number = 1): (t: number) => number {
167
+ elastic(bounciness: number = 1): EasingFunction {
166
168
  const p = bounciness * Math.PI;
167
169
  return t => 1 - Math.pow(Math.cos((t * Math.PI) / 2), 3) * Math.cos(t * p);
168
170
  },
@@ -173,7 +175,7 @@ const Easing = {
173
175
  *
174
176
  * https://easings.net/#easeInBack
175
177
  */
176
- back(s: number = 1.70158): (t: number) => number {
178
+ back(s: number = 1.70158): EasingFunction {
177
179
  return t => t * t * ((s + 1) * t - s);
178
180
  },
179
181
 
@@ -208,12 +210,7 @@ const Easing = {
208
210
  * A useful tool to visualize cubic bezier curves can be found at
209
211
  * http://cubic-bezier.com/
210
212
  */
211
- bezier(
212
- x1: number,
213
- y1: number,
214
- x2: number,
215
- y2: number,
216
- ): (t: number) => number {
213
+ bezier(x1: number, y1: number, x2: number, y2: number): EasingFunction {
217
214
  const _bezier = require('./bezier').default;
218
215
  return _bezier(x1, y1, x2, y2);
219
216
  },
@@ -221,14 +218,14 @@ const Easing = {
221
218
  /**
222
219
  * Runs an easing function forwards.
223
220
  */
224
- in(easing: (t: number) => number): (t: number) => number {
221
+ in(easing: EasingFunction): EasingFunction {
225
222
  return easing;
226
223
  },
227
224
 
228
225
  /**
229
226
  * Runs an easing function backwards.
230
227
  */
231
- out(easing: (t: number) => number): (t: number) => number {
228
+ out(easing: EasingFunction): EasingFunction {
232
229
  return t => 1 - easing(1 - t);
233
230
  },
234
231
 
@@ -237,7 +234,7 @@ const Easing = {
237
234
  * forwards for half of the duration, then backwards for the rest of the
238
235
  * duration.
239
236
  */
240
- inOut(easing: (t: number) => number): (t: number) => number {
237
+ inOut(easing: EasingFunction): EasingFunction {
241
238
  return t => {
242
239
  if (t < 0.5) {
243
240
  return easing(t * 2) / 2;
@@ -247,4 +244,5 @@ const Easing = {
247
244
  },
248
245
  };
249
246
 
250
- export default Easing;
247
+ export type Easing = typeof EasingStatic;
248
+ export default EasingStatic;
@@ -13,10 +13,14 @@ import type AnimatedNode from '../nodes/AnimatedNode';
13
13
  import type AnimatedValue from '../nodes/AnimatedValue';
14
14
 
15
15
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
16
- import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
17
16
  import AnimatedProps from '../nodes/AnimatedProps';
18
17
 
19
- export type EndResult = {finished: boolean, value?: number, ...};
18
+ export type EndResult = {
19
+ finished: boolean,
20
+ value?: number,
21
+ offset?: number,
22
+ ...
23
+ };
20
24
  export type EndCallback = (result: EndResult) => void;
21
25
 
22
26
  export type AnimationConfig = $ReadOnly<{
@@ -141,9 +145,9 @@ export default class Animation {
141
145
  // When using natively driven animations, once the animation completes,
142
146
  // we need to ensure that the JS side nodes are synced with the updated
143
147
  // values.
144
- const {value} = result;
148
+ const {value, offset} = result;
145
149
  if (value != null) {
146
- animatedValue.__onAnimatedValueUpdateReceived(value);
150
+ animatedValue.__onAnimatedValueUpdateReceived(value, offset);
147
151
 
148
152
  if (this.__isLooping === true) {
149
153
  return;
@@ -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
+ ));