react-native-windows 0.79.5 → 0.80.0-preview.10
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.
- package/.flowconfig +12 -3
- package/Directory.Build.props +11 -2
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -1
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Alert/Alert.windows.js +3 -0
- package/Libraries/Alert/RCTAlertManager.js +17 -0
- package/Libraries/Animated/Animated.js.flow +1 -3
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +2 -2
- package/Libraries/Animated/AnimatedExports.js.flow +140 -0
- package/Libraries/Animated/AnimatedImplementation.js +2 -123
- package/Libraries/Animated/Easing.js +13 -15
- package/Libraries/Animated/animations/Animation.js +8 -4
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/createAnimatedComponent.js +105 -57
- package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
- package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
- package/Libraries/AppState/AppState.js +7 -2
- package/Libraries/BatchedBridge/MessageQueue.js +2 -2
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/BlobManager.js +1 -0
- package/Libraries/Blob/FileReader.js +219 -8
- package/Libraries/Blob/URL.js +37 -12
- package/Libraries/Blob/URLSearchParams.js +106 -31
- package/Libraries/Blob/URLSearchParams.js.flow +12 -7
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
- package/Libraries/Components/Button.d.ts +3 -0
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Button.windows.js +27 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
- package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
- package/Libraries/Components/Flyout/Flyout.js +11 -0
- package/Libraries/Components/Keyboard/Keyboard.js +5 -3
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Popup/Popup.js +11 -0
- package/Libraries/Components/Pressable/Pressable.js +20 -4
- package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
- package/Libraries/Components/ScrollView/ScrollView.js +132 -122
- package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/Switch/Switch.d.ts +3 -0
- package/Libraries/Components/Switch/Switch.js +8 -4
- package/Libraries/Components/Switch/Switch.windows.js +17 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
- package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
- package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
- package/Libraries/Components/TextInput/TextInput.js +88 -1027
- package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
- package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
- package/Libraries/Components/Touchable/Touchable.js +5 -5
- package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
- package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
- package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
- package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
- package/Libraries/Components/View/View.js +18 -21
- package/Libraries/Components/View/View.windows.js +39 -41
- package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
- package/Libraries/Components/View/ViewAccessibility.js +25 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.js +49 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/setUpReactDevTools.js +5 -5
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
- package/Libraries/Image/AssetSourceResolver.js +17 -4
- package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
- package/Libraries/Image/Image.d.ts +26 -10
- package/Libraries/Image/Image.js +17 -0
- package/Libraries/Image/Image.js.flow +5 -5
- package/Libraries/Image/Image.windows.js +13 -1
- package/Libraries/Image/ImageBackground.js +2 -0
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageProps.js +22 -17
- package/Libraries/Image/ImageSource.js +3 -1
- package/Libraries/Image/ImageSourceUtils.js +4 -2
- package/Libraries/Image/ImageTypes.flow.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +13 -0
- package/Libraries/Interaction/InteractionManager.js +1 -1
- package/Libraries/Interaction/PanResponder.js +3 -3
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -2
- package/Libraries/Lists/FlatList.js +8 -11
- package/Libraries/Lists/SectionList.js +39 -42
- package/Libraries/Lists/SectionListModern.js +25 -34
- package/Libraries/Lists/VirtualizedList.js +1 -0
- package/Libraries/Lists/VirtualizedSectionList.js +1 -0
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/Modal/Modal.js +33 -7
- package/Libraries/Modal/Modal.windows.js +33 -10
- package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
- package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js +17 -0
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +781 -10
- package/Libraries/Performance/Systrace.js +7 -7
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.windows.js +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +5 -4
- package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -322
- package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
- package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
- package/Libraries/ReactNative/FabricUIManager.js +10 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
- package/Libraries/ReactNative/RendererImplementation.js +10 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +9 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
- package/Libraries/Settings/Settings.ios.js +1 -0
- package/Libraries/Settings/Settings.js +13 -19
- package/Libraries/Settings/SettingsFallback.js +33 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
- package/Libraries/StyleSheet/Rect.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.js +31 -200
- package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
- package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
- package/Libraries/StyleSheet/flattenStyle.js +14 -4
- package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
- package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
- package/Libraries/Text/Text.d.ts +2 -5
- package/Libraries/Text/Text.js +3 -3
- package/Libraries/Text/Text.windows.js +3 -3
- package/Libraries/Text/TextNativeComponent.js +0 -4
- package/Libraries/Text/TextProps.js +5 -33
- package/Libraries/Text/TextProps.windows.js +5 -32
- package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
- package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
- package/Libraries/Types/CoreEventTypes.d.ts +6 -1
- package/Libraries/Types/CoreEventTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.windows.js +1 -1
- package/Libraries/Utilities/Appearance.js +2 -0
- package/Libraries/Utilities/BackHandler.js +17 -0
- package/Libraries/Utilities/DeviceInfo.js +2 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Platform.js +17 -0
- package/Libraries/Utilities/PlatformTypes.js +11 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
- package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
- package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
- package/Libraries/WebSocket/WebSocket.js +313 -8
- package/Libraries/vendor/core/ErrorUtils.js +28 -2
- package/Libraries/vendor/emitter/EventEmitter.js +6 -2
- package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +248 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +55 -160
- package/Microsoft.ReactNative/Fabric/Composition/CompositionTextRangeProvider.cpp +30 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +36 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +22 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +37 -5
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +177 -25
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +225 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +23 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/ImageManager.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +64 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +11 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +36 -96
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.h +1 -1
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +29 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
- package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +49 -0
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +31 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +4 -0
- package/PropertySheets/Warnings.props +45 -0
- package/README.md +6 -2
- package/ReactCommon/ReactCommon.vcxproj +9 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
- package/Scripts/creaternwapp.cmd +9 -3
- package/Scripts/rnw-dependencies.ps1 +16 -3
- package/Shared/Shared.vcxitems +3 -2
- package/Shared/Shared.vcxitems.filters +2 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativePerformanceSpec.g.h +14 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
- package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
- package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
- package/codegen/rnwcoreJSI-generated.cpp +159 -129
- package/codegen/rnwcoreJSI.h +534 -408
- package/index.js +51 -331
- package/index.windows.js +70 -352
- package/interface.js +0 -4
- package/jest/resolver.js +31 -0
- package/jest/setup.js +6 -2
- package/package.json +29 -28
- package/src/private/animated/NativeAnimatedHelper.js +21 -8
- package/src/private/animated/createAnimatedPropsHook.js +11 -16
- package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
- package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
- package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
- package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
- package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
- package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
- package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
- package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
- package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
- package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
- package/src/private/styles/composeStyles.js +12 -5
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/types/HostInstance.js +67 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
- package/src/private/webapis/performance/Performance.js +1 -3
- package/src/private/webapis/performance/PerformanceEntry.js +6 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
- package/src/types/globals.d.ts +42 -0
- package/stubs/double-conversion/double-conversion.h +3 -1
- package/templates/cpp-app/template.config.js +2 -1
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
- package/templates/cpp-lib/example/metro.config.js +1 -1
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
- package/templates/old/generateWrapper.js +1 -1
- package/templates/old/uwp-cpp-app/template.config.js +1 -1
- package/types/index.d.ts +6 -3
- package/types/public/ReactNativeTypes.d.ts +2 -2
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
- package/Libraries/Blob/FileReader_new.js +0 -231
- package/Libraries/Blob/FileReader_old.js +0 -186
- package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
- package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
- package/Libraries/Events/CustomEvent.js +0 -32
- package/Libraries/Events/EventPolyfill.js +0 -239
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
- package/Libraries/Network/XMLHttpRequest_new.js +0 -794
- package/Libraries/Network/XMLHttpRequest_old.js +0 -701
- package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
- package/Libraries/NewAppScreen/components/Header.js +0 -77
- package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
- package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -25
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
- package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
- package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
- package/Libraries/WebSocket/WebSocketEvent.js +0 -30
- package/Libraries/WebSocket/WebSocket_new.js +0 -325
- package/Libraries/WebSocket/WebSocket_old.js +0 -297
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
- package/jest/__tests__/setup-test.js +0 -18
- package/src/private/components/VScrollViewNativeComponents.js +0 -25
- package/src/private/utilities/ensureInstance.js +0 -21
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
- package/types/modules/LaunchScreen.d.ts +0 -18
- /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
- /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.
|
|
172
|
+
^0.269.1
|
package/Directory.Build.props
CHANGED
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
-->
|
|
20
20
|
<EnableSourceLink Condition="'$(EnableSourceLink)' == '' AND '$(BuildingInRnwRepo)' == 'true'">true</EnableSourceLink>
|
|
21
21
|
<EnableSourceLink Condition="'$(EnableSourceLink)' == ''">false</EnableSourceLink>
|
|
22
|
+
|
|
23
|
+
<!-- Symbol Publishing Compliance (Work Item 59264834) - Generate PDB files for Release builds -->
|
|
24
|
+
<DebugSymbols Condition="'$(Configuration)' == 'Release'">true</DebugSymbols>
|
|
25
|
+
<DebugType Condition="'$(Configuration)' == 'Release'">pdbonly</DebugType>
|
|
26
|
+
<IncludeSymbols Condition="'$(Configuration)' == 'Release'">true</IncludeSymbols>
|
|
27
|
+
<IncludeSource Condition="'$(Configuration)' == 'Release'">false</IncludeSource>
|
|
22
28
|
<!-- When bumping the Folly version, be sure to bump the git hash of that version's commit, find the matching fastfloat dependency and build Folly.vcxproj (to update its cgmanifest.json) too. -->
|
|
23
29
|
<FollyVersion>2024.10.14.00</FollyVersion>
|
|
24
30
|
<FastFloatVersion>6.1.4</FastFloatVersion>
|
|
@@ -74,10 +80,13 @@
|
|
|
74
80
|
|
|
75
81
|
<IntermediateOutputPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(IntDir)</IntermediateOutputPath>
|
|
76
82
|
<OutputPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(OutDir)</OutputPath>
|
|
83
|
+
</PropertyGroup>
|
|
77
84
|
|
|
78
|
-
|
|
85
|
+
<PropertyGroup Condition="'$(BuildingInRnwRepo)' != 'true'">
|
|
86
|
+
<!-- Consumers of RNW outside of the repo don't need lock files unless they ask for it -->
|
|
87
|
+
<RestoreLockedMode Condition="'$(RestoreLockedMode)' == ''">false</RestoreLockedMode>
|
|
88
|
+
<RestorePackagesWithLockFile Condition="'$(RestorePackagesWithLockFile)' == ''">false</RestorePackagesWithLockFile>
|
|
79
89
|
<RestoreForceEvaluate Condition="'$(RestoreForceEvaluate)' == ''">false</RestoreForceEvaluate>
|
|
80
|
-
|
|
81
90
|
</PropertyGroup>
|
|
82
91
|
|
|
83
92
|
<PropertyGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
|
|
@@ -908,7 +908,7 @@ void escapeStringImpl(
|
|
|
908
908
|
|
|
909
909
|
if (encodeUnicode) {
|
|
910
910
|
// note that this if condition captures utf8 chars
|
|
911
|
-
// with value > 127, so size > 1 byte (or they are
|
|
911
|
+
// with value > 127, so size > 1 byte (or they are allowlisted for
|
|
912
912
|
// Unicode encoding).
|
|
913
913
|
// NOTE: char32_t / char16_t are both unsigned.
|
|
914
914
|
char32_t cp = utf8ToCodePoint(p, e, opts.skip_invalid_utf8);
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export interface AlertButton {
|
|
14
14
|
text?: string | undefined;
|
|
15
|
-
onPress?:
|
|
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
|
}
|
package/Libraries/Alert/Alert.js
CHANGED
|
@@ -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;
|
|
@@ -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?: ?
|
|
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
|
|
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 =
|
|
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):
|
|
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):
|
|
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):
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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 = {
|
|
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 {
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
FlatList<
|
|
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
|
+
));
|