@office-iss/react-native-win32 0.80.0-preview.1 → 0.81.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.
- package/.flowconfig +10 -4
- package/CHANGELOG.json +135 -6
- package/CHANGELOG.md +53 -4
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +1 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageCachePolicyTest.js +2 -2
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/LoggingTestModule.js +16 -20
- package/IntegrationTests/PromiseTest.js +1 -1
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +2 -1
- package/IntegrationTests/WebSocketTest.js +2 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.js +3 -3
- package/Libraries/Alert/Alert.win32.js +1 -1
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Alert/RCTAlertManager.android.js +19 -13
- package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
- package/Libraries/Alert/RCTAlertManager.js +1 -3
- package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
- package/Libraries/Animated/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +0 -1
- package/Libraries/Animated/AnimatedExports.js.flow +5 -1
- package/Libraries/Animated/AnimatedImplementation.js +44 -44
- package/Libraries/Animated/AnimatedMock.js +2 -2
- package/Libraries/Animated/Easing.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +1 -1
- package/Libraries/Animated/animations/Animation.js +10 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
- package/Libraries/Animated/components/AnimatedText.js +2 -5
- package/Libraries/Animated/components/AnimatedView.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +39 -37
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +4 -0
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +5 -1
- package/Libraries/Blob/URLSearchParams.js.flow +2 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.js +10 -7
- package/Libraries/Components/Button.win32.js +10 -7
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +17 -8
- package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
- package/Libraries/Components/ScrollView/ScrollView.js +25 -15
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
- package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
- package/Libraries/Components/Switch/Switch.js +10 -3
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
- package/Libraries/Components/TextInput/TextInput.js +42 -39
- package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +17 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
- package/Libraries/Components/View/View.js +114 -29
- package/Libraries/Components/View/View.win32.js +17 -3
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/Libraries/Components/View/ViewAccessibility.js +1 -8
- package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
- package/Libraries/Components/View/ViewPropTypes.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +27 -16
- package/Libraries/Core/InitializeCore.js +2 -23
- package/Libraries/Core/NativeExceptionsManager.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/checkNativeVersion.js +1 -0
- package/Libraries/Core/setUpDeveloperTools.js +13 -11
- package/Libraries/Core/setUpReactDevTools.js +21 -4
- package/Libraries/Debugging/DebuggingOverlay.js +12 -14
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/AssetRegistry.js +4 -10
- package/Libraries/Image/Image.android.js +113 -107
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.win32.js +11 -3
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageSource.d.ts +5 -0
- package/Libraries/Image/ImageViewNativeComponent.js +3 -3
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RelativeImageStub.js +2 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +64 -54
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/TaskQueue.js +8 -9
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/FlatList.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +6 -7
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/SectionListModern.js +9 -3
- package/Libraries/Lists/VirtualizedList.js +3 -2
- package/Libraries/LogBox/Data/LogBoxData.js +7 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
- package/Libraries/LogBox/LogBox.js +72 -99
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/Modal/Modal.d.ts +8 -2
- package/Libraries/Modal/Modal.js +24 -3
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.win32.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
- package/Libraries/ReactNative/AppContainer-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/RendererProxy.js +1 -1
- package/Libraries/ReactNative/RootTag.js +2 -2
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/SettingsFallback.js +1 -1
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
- package/Libraries/StyleSheet/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +1 -2
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +7 -0
- package/Libraries/Text/Text.js +255 -246
- package/Libraries/Text/Text.win32.js +294 -285
- package/Libraries/Text/TextAncestor.js +3 -9
- package/Libraries/Text/TextAncestorContext.js +23 -0
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextNativeComponent.win32.js +4 -0
- package/Libraries/Text/TextProps.js +2 -5
- package/Libraries/Text/TextProps.win32.js +2 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CodegenTypesNamespace.js +2 -1
- package/Libraries/Types/CoreEventTypes.d.ts +4 -0
- package/Libraries/Types/ReactDevToolsTypes.js +0 -1
- package/Libraries/Utilities/Appearance.js +1 -1
- package/Libraries/Utilities/BackHandler.js.flow +1 -1
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/HMRClient.js +13 -3
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +2 -5
- package/Libraries/Utilities/Platform.ios.js +2 -5
- package/Libraries/Utilities/Platform.js +1 -1
- package/Libraries/Utilities/Platform.js.flow +2 -2
- package/Libraries/Utilities/Platform.win32.js +2 -5
- package/Libraries/Utilities/PlatformTypes.js +2 -2
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +5 -3
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/createPerformanceLogger.js +27 -20
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
- package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/stringifyViewConfig.js +1 -1
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +1 -1
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.js +1 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/index.js +22 -2
- package/index.win32.js +15 -2
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +9 -3
- package/jest/RefreshControlMock.js +32 -0
- package/jest/assetFileTransformer.js +1 -0
- package/jest/local-setup.js +4 -3
- package/jest/mock.js +39 -0
- package/jest/mockComponent.js +47 -17
- package/jest/mockNativeComponent.js +26 -15
- package/jest/mocks/AccessibilityInfo.js +62 -0
- package/jest/mocks/ActivityIndicator.js +23 -0
- package/jest/mocks/AppState.js +19 -0
- package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
- package/jest/mocks/Image.js +23 -0
- package/jest/mocks/InitializeCore.js +9 -0
- package/jest/mocks/Linking.js +28 -0
- package/jest/mocks/Modal.js +33 -0
- package/jest/mocks/NativeComponentRegistry.js +30 -0
- package/jest/mocks/NativeModules.js +239 -0
- package/jest/mocks/RefreshControl.js +31 -0
- package/jest/mocks/RendererProxy.js +45 -0
- package/jest/mocks/ScrollView.js +58 -0
- package/jest/mocks/Text.js +27 -0
- package/jest/mocks/TextInput.js +32 -0
- package/jest/mocks/UIManager.js +60 -0
- package/jest/mocks/Vibration.js +16 -0
- package/jest/mocks/View.js +27 -0
- package/jest/mocks/ViewNativeComponent.js +23 -0
- package/jest/mocks/requireNativeComponent.js +22 -0
- package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
- package/jest/react-native-env.js +1 -0
- package/jest/renderer.js +1 -2
- package/jest/resolver.js +1 -0
- package/jest/setup.js +64 -445
- package/overrides.json +49 -42
- package/package.json +18 -18
- package/src/private/animated/NativeAnimatedHelper.js +8 -1
- package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
- package/src/private/animated/createAnimatedPropsHook.js +14 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- package/src/private/components/virtualview/VirtualView.js +145 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- package/src/private/setup/setUpPerformanceObserver.js +7 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
- package/src/private/styles/composeStyles.js +5 -12
- package/src/private/types/HostInstance.js +1 -1
- package/src/private/webapis/dom/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/LongTasks.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +20 -9
- package/src/private/webapis/performance/PerformanceEntry.js +5 -1
- package/src/private/webapis/performance/PerformanceObserver.js +32 -28
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/ResourceTiming.js +108 -0
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
- package/src-win/Libraries/Text/Text.d.ts +7 -0
- package/types/modules/Devtools.d.ts +23 -9
- package/Libraries/BugReporting/BugReporting.js +0 -140
- package/Libraries/BugReporting/NativeBugReporting.js +0 -13
- package/Libraries/BugReporting/dumpReactTree.js +0 -151
- package/Libraries/BugReporting/getReactData.js +0 -187
- package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
- package/flow/HermesInternalType.js +0 -114
- package/flow/console.js +0 -49
- package/flow/global.js +0 -88
- package/jest/mockModal.js +0 -32
- package/jest/mockScrollView.js +0 -35
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
|
@@ -21,7 +21,7 @@ import type AnimatedValue from './nodes/AnimatedValue';
|
|
|
21
21
|
|
|
22
22
|
import createAnimatedPropsHook from '../../src/private/animated/createAnimatedPropsHook';
|
|
23
23
|
import composeStyles from '../../src/private/styles/composeStyles';
|
|
24
|
-
import
|
|
24
|
+
import {type ViewProps} from '../Components/View/ViewPropTypes';
|
|
25
25
|
import useMergeRefs from '../Utilities/useMergeRefs';
|
|
26
26
|
import * as React from 'react';
|
|
27
27
|
import {useMemo} from 'react';
|
|
@@ -60,9 +60,7 @@ type NonAnimatedProps =
|
|
|
60
60
|
| 'disabled'
|
|
61
61
|
| 'accessibilityLabel';
|
|
62
62
|
type PassThroughProps = $ReadOnly<{
|
|
63
|
-
passthroughAnimatedPropExplicitValues?:
|
|
64
|
-
typeof View,
|
|
65
|
-
> | null,
|
|
63
|
+
passthroughAnimatedPropExplicitValues?: ViewProps | null,
|
|
66
64
|
}>;
|
|
67
65
|
|
|
68
66
|
export type AnimatedProps<Props: {...}> = {
|
|
@@ -105,41 +103,45 @@ export function unstable_createAnimatedComponentWithAllowlist<
|
|
|
105
103
|
const AnimatedComponent: AnimatedComponentType<
|
|
106
104
|
TProps,
|
|
107
105
|
React.ElementRef<TInstance>,
|
|
108
|
-
> =
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
106
|
+
> = ({
|
|
107
|
+
ref: forwardedRef,
|
|
108
|
+
...props
|
|
109
|
+
}: {
|
|
110
|
+
ref?: React.RefSetter<React.ElementRef<TInstance>>,
|
|
111
|
+
...AnimatedProps<TProps>,
|
|
112
|
+
}) => {
|
|
113
|
+
const [reducedProps, callbackRef] = useAnimatedProps<
|
|
114
|
+
TProps,
|
|
115
|
+
React.ElementRef<TInstance>,
|
|
116
|
+
>(props);
|
|
117
|
+
const ref = useMergeRefs<React.ElementRef<TInstance>>(
|
|
118
|
+
callbackRef,
|
|
119
|
+
forwardedRef,
|
|
120
|
+
);
|
|
118
121
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
// Some components require explicit passthrough values for animation
|
|
123
|
+
// to work properly. For example, if an animated component is
|
|
124
|
+
// transformed and Pressable, onPress will not work after transform
|
|
125
|
+
// without these passthrough values.
|
|
126
|
+
// $FlowFixMe[prop-missing]
|
|
127
|
+
const {passthroughAnimatedPropExplicitValues, style} = reducedProps;
|
|
128
|
+
const passthroughStyle = passthroughAnimatedPropExplicitValues?.style;
|
|
129
|
+
const mergedStyle = useMemo(
|
|
130
|
+
() => composeStyles(style, passthroughStyle),
|
|
131
|
+
[passthroughStyle, style],
|
|
132
|
+
);
|
|
130
133
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
);
|
|
134
|
+
// NOTE: It is important that `passthroughAnimatedPropExplicitValues` is
|
|
135
|
+
// spread after `reducedProps` but before `style`.
|
|
136
|
+
return (
|
|
137
|
+
<Component
|
|
138
|
+
{...reducedProps}
|
|
139
|
+
{...passthroughAnimatedPropExplicitValues}
|
|
140
|
+
style={mergedStyle}
|
|
141
|
+
ref={ref}
|
|
142
|
+
/>
|
|
143
|
+
);
|
|
144
|
+
};
|
|
143
145
|
|
|
144
146
|
AnimatedComponent.displayName = `Animated(${
|
|
145
147
|
Component.displayName || 'Anonymous'
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @flow
|
|
8
8
|
* @format
|
|
9
|
-
* @oncall react_native
|
|
10
9
|
*/
|
|
11
10
|
|
|
12
11
|
'use strict';
|
|
@@ -16,7 +15,7 @@ import type {AnimatedNodeConfig} from './AnimatedNode';
|
|
|
16
15
|
|
|
17
16
|
import AnimatedNode from './AnimatedNode';
|
|
18
17
|
import AnimatedWithChildren from './AnimatedWithChildren';
|
|
19
|
-
import
|
|
18
|
+
import {isValidElement} from 'react';
|
|
20
19
|
|
|
21
20
|
const MAX_DEPTH = 5;
|
|
22
21
|
|
|
@@ -30,7 +29,7 @@ export function isPlainObject(
|
|
|
30
29
|
value !== null &&
|
|
31
30
|
typeof value === 'object' &&
|
|
32
31
|
Object.getPrototypeOf(value).isPrototypeOf(Object) &&
|
|
33
|
-
!
|
|
32
|
+
!isValidElement(value)
|
|
34
33
|
);
|
|
35
34
|
}
|
|
36
35
|
|
|
@@ -14,6 +14,7 @@ import type {AnimatedStyleAllowlist} from './AnimatedStyle';
|
|
|
14
14
|
|
|
15
15
|
import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
|
|
16
16
|
import {findNodeHandle} from '../../ReactNative/RendererProxy';
|
|
17
|
+
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
17
18
|
import {AnimatedEvent} from '../AnimatedEvent';
|
|
18
19
|
import AnimatedNode from './AnimatedNode';
|
|
19
20
|
import AnimatedObject from './AnimatedObject';
|
|
@@ -43,18 +44,28 @@ function createAnimatedProps(
|
|
|
43
44
|
for (let ii = 0, length = keys.length; ii < length; ii++) {
|
|
44
45
|
const key = keys[ii];
|
|
45
46
|
const value = inputProps[key];
|
|
47
|
+
let staticValue = value;
|
|
46
48
|
|
|
47
49
|
if (allowlist == null || hasOwn(allowlist, key)) {
|
|
48
50
|
let node;
|
|
49
51
|
if (key === 'style') {
|
|
50
|
-
|
|
52
|
+
// Ignore `style` if it is not an object (or array).
|
|
53
|
+
if (typeof value === 'object' && value != null) {
|
|
54
|
+
// Even if we do not find any `AnimatedNode` values in `style`, we
|
|
55
|
+
// still need to use the flattened `style` object because static
|
|
56
|
+
// values can shadow `AnimatedNode` values. We need to make sure that
|
|
57
|
+
// we propagate the flattened `style` object to the `props` object.
|
|
58
|
+
const flatStyle = flattenStyle(value as $FlowFixMe);
|
|
59
|
+
node = AnimatedStyle.from(flatStyle, allowlist?.style, value);
|
|
60
|
+
staticValue = flatStyle;
|
|
61
|
+
}
|
|
51
62
|
} else if (value instanceof AnimatedNode) {
|
|
52
63
|
node = value;
|
|
53
64
|
} else {
|
|
54
65
|
node = AnimatedObject.from(value);
|
|
55
66
|
}
|
|
56
67
|
if (node == null) {
|
|
57
|
-
props[key] =
|
|
68
|
+
props[key] = staticValue;
|
|
58
69
|
} else {
|
|
59
70
|
nodeKeys.push(key);
|
|
60
71
|
nodes.push(node);
|
|
@@ -134,8 +145,24 @@ export default class AnimatedProps extends AnimatedNode {
|
|
|
134
145
|
const key = keys[ii];
|
|
135
146
|
const maybeNode = this.#props[key];
|
|
136
147
|
|
|
137
|
-
if (key === 'style'
|
|
138
|
-
|
|
148
|
+
if (key === 'style') {
|
|
149
|
+
const staticStyle = staticProps.style;
|
|
150
|
+
const flatStaticStyle = flattenStyle(staticStyle);
|
|
151
|
+
if (maybeNode instanceof AnimatedStyle) {
|
|
152
|
+
const mutableStyle: {[string]: mixed} =
|
|
153
|
+
flatStaticStyle == null
|
|
154
|
+
? {}
|
|
155
|
+
: flatStaticStyle === staticStyle
|
|
156
|
+
? // Copy the input style, since we'll mutate it below.
|
|
157
|
+
{...flatStaticStyle}
|
|
158
|
+
: // Reuse `flatStaticStyle` if it is a newly created object.
|
|
159
|
+
flatStaticStyle;
|
|
160
|
+
|
|
161
|
+
maybeNode.__replaceAnimatedNodeWithValues(mutableStyle);
|
|
162
|
+
props[key] = maybeNode.__getValueForStyle(mutableStyle);
|
|
163
|
+
} else {
|
|
164
|
+
props[key] = flatStaticStyle;
|
|
165
|
+
}
|
|
139
166
|
} else if (maybeNode instanceof AnimatedNode) {
|
|
140
167
|
props[key] = maybeNode.__getValue();
|
|
141
168
|
} else if (maybeNode instanceof AnimatedEvent) {
|
|
@@ -13,7 +13,6 @@ import type {AnimatedNodeConfig} from './AnimatedNode';
|
|
|
13
13
|
|
|
14
14
|
import {validateStyles} from '../../../src/private/animated/NativeAnimatedValidation';
|
|
15
15
|
import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
16
|
-
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
17
16
|
import Platform from '../../Utilities/Platform';
|
|
18
17
|
import AnimatedNode from './AnimatedNode';
|
|
19
18
|
import AnimatedObject from './AnimatedObject';
|
|
@@ -22,8 +21,11 @@ import AnimatedWithChildren from './AnimatedWithChildren';
|
|
|
22
21
|
|
|
23
22
|
export type AnimatedStyleAllowlist = $ReadOnly<{[string]: true}>;
|
|
24
23
|
|
|
24
|
+
type FlatStyle = {[string]: mixed};
|
|
25
|
+
type FlatStyleForWeb<TStyle: FlatStyle> = [mixed, TStyle];
|
|
26
|
+
|
|
25
27
|
function createAnimatedStyle(
|
|
26
|
-
|
|
28
|
+
flatStyle: FlatStyle,
|
|
27
29
|
allowlist: ?AnimatedStyleAllowlist,
|
|
28
30
|
keepUnanimatedValues: boolean,
|
|
29
31
|
): [$ReadOnlyArray<string>, $ReadOnlyArray<AnimatedNode>, {[string]: mixed}] {
|
|
@@ -31,10 +33,10 @@ function createAnimatedStyle(
|
|
|
31
33
|
const nodes: Array<AnimatedNode> = [];
|
|
32
34
|
const style: {[string]: mixed} = {};
|
|
33
35
|
|
|
34
|
-
const keys = Object.keys(
|
|
36
|
+
const keys = Object.keys(flatStyle);
|
|
35
37
|
for (let ii = 0, length = keys.length; ii < length; ii++) {
|
|
36
38
|
const key = keys[ii];
|
|
37
|
-
const value =
|
|
39
|
+
const value = flatStyle[key];
|
|
38
40
|
|
|
39
41
|
if (allowlist == null || hasOwn(allowlist, key)) {
|
|
40
42
|
let node;
|
|
@@ -62,10 +64,10 @@ function createAnimatedStyle(
|
|
|
62
64
|
// WARNING: This is a potentially expensive check that we should only
|
|
63
65
|
// do in development. Without this check in development, it might be
|
|
64
66
|
// difficult to identify which styles need to be allowlisted.
|
|
65
|
-
if (AnimatedObject.from(
|
|
67
|
+
if (AnimatedObject.from(flatStyle[key]) != null) {
|
|
66
68
|
console.error(
|
|
67
|
-
`AnimatedStyle: ${key} is not allowlisted for animation, but
|
|
68
|
-
'contains AnimatedNode values; styles allowing animation: ',
|
|
69
|
+
`AnimatedStyle: ${key} is not allowlisted for animation, but ` +
|
|
70
|
+
'it contains AnimatedNode values; styles allowing animation: ',
|
|
69
71
|
allowlist,
|
|
70
72
|
);
|
|
71
73
|
}
|
|
@@ -80,7 +82,7 @@ function createAnimatedStyle(
|
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
export default class AnimatedStyle extends AnimatedWithChildren {
|
|
83
|
-
#
|
|
85
|
+
#originalStyleForWeb: ?mixed;
|
|
84
86
|
#nodeKeys: $ReadOnlyArray<string>;
|
|
85
87
|
#nodes: $ReadOnlyArray<AnimatedNode>;
|
|
86
88
|
#style: {[string]: mixed};
|
|
@@ -90,10 +92,10 @@ export default class AnimatedStyle extends AnimatedWithChildren {
|
|
|
90
92
|
* Otherwise, returns `null`.
|
|
91
93
|
*/
|
|
92
94
|
static from(
|
|
93
|
-
|
|
95
|
+
flatStyle: ?FlatStyle,
|
|
94
96
|
allowlist: ?AnimatedStyleAllowlist,
|
|
97
|
+
originalStyleForWeb: ?mixed,
|
|
95
98
|
): ?AnimatedStyle {
|
|
96
|
-
const flatStyle = flattenStyle(inputStyle);
|
|
97
99
|
if (flatStyle == null) {
|
|
98
100
|
return null;
|
|
99
101
|
}
|
|
@@ -105,24 +107,31 @@ export default class AnimatedStyle extends AnimatedWithChildren {
|
|
|
105
107
|
if (nodes.length === 0) {
|
|
106
108
|
return null;
|
|
107
109
|
}
|
|
108
|
-
return new AnimatedStyle(nodeKeys, nodes, style,
|
|
110
|
+
return new AnimatedStyle(nodeKeys, nodes, style, originalStyleForWeb);
|
|
109
111
|
}
|
|
110
112
|
|
|
111
113
|
constructor(
|
|
112
114
|
nodeKeys: $ReadOnlyArray<string>,
|
|
113
115
|
nodes: $ReadOnlyArray<AnimatedNode>,
|
|
114
116
|
style: {[string]: mixed},
|
|
115
|
-
|
|
117
|
+
originalStyleForWeb: ?mixed,
|
|
116
118
|
config?: ?AnimatedNodeConfig,
|
|
117
119
|
) {
|
|
118
120
|
super(config);
|
|
119
121
|
this.#nodeKeys = nodeKeys;
|
|
120
122
|
this.#nodes = nodes;
|
|
121
123
|
this.#style = style;
|
|
122
|
-
|
|
124
|
+
|
|
125
|
+
if ((Platform.OS as string) === 'web') {
|
|
126
|
+
// $FlowIgnore[cannot-write] - Intentional shadowing.
|
|
127
|
+
this.__getValueForStyle = resultStyle => [
|
|
128
|
+
originalStyleForWeb,
|
|
129
|
+
resultStyle,
|
|
130
|
+
];
|
|
131
|
+
}
|
|
123
132
|
}
|
|
124
133
|
|
|
125
|
-
__getValue():
|
|
134
|
+
__getValue(): FlatStyleForWeb<FlatStyle> | FlatStyle {
|
|
126
135
|
const style: {[string]: mixed} = {};
|
|
127
136
|
|
|
128
137
|
const keys = Object.keys(this.#style);
|
|
@@ -137,27 +146,23 @@ export default class AnimatedStyle extends AnimatedWithChildren {
|
|
|
137
146
|
}
|
|
138
147
|
}
|
|
139
148
|
|
|
140
|
-
|
|
141
|
-
* Platform.flow.js */
|
|
142
|
-
return Platform.OS === 'web' ? [this.#inputStyle, style] : style;
|
|
149
|
+
return this.__getValueForStyle(style);
|
|
143
150
|
}
|
|
144
151
|
|
|
145
152
|
/**
|
|
146
|
-
*
|
|
147
|
-
* the supplied `staticStyle` object, except with animated nodes for any
|
|
148
|
-
* style properties that were created by this `AnimatedStyle` instance.
|
|
153
|
+
* See the constructor, where this is shadowed on web platforms.
|
|
149
154
|
*/
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
: flatStaticStyle === staticStyle
|
|
156
|
-
? // Copy the input style, since we'll mutate it below.
|
|
157
|
-
{...flatStaticStyle}
|
|
158
|
-
: // Reuse `flatStaticStyle` if it is a newly created object.
|
|
159
|
-
flatStaticStyle;
|
|
155
|
+
__getValueForStyle<TStyle: FlatStyle>(
|
|
156
|
+
style: TStyle,
|
|
157
|
+
): FlatStyleForWeb<TStyle> | TStyle {
|
|
158
|
+
return style;
|
|
159
|
+
}
|
|
160
160
|
|
|
161
|
+
/**
|
|
162
|
+
* Mutates the supplied `style` object such that animated nodes are replaced
|
|
163
|
+
* with rasterized values.
|
|
164
|
+
*/
|
|
165
|
+
__replaceAnimatedNodeWithValues(style: {[string]: mixed}): void {
|
|
161
166
|
const keys = Object.keys(style);
|
|
162
167
|
for (let ii = 0, length = keys.length; ii < length; ii++) {
|
|
163
168
|
const key = keys[ii];
|
|
@@ -175,10 +180,6 @@ export default class AnimatedStyle extends AnimatedWithChildren {
|
|
|
175
180
|
style[key] = maybeNode.__getValue();
|
|
176
181
|
}
|
|
177
182
|
}
|
|
178
|
-
|
|
179
|
-
/* $FlowFixMe[incompatible-type] Error found due to incomplete typing of
|
|
180
|
-
* Platform.flow.js */
|
|
181
|
-
return Platform.OS === 'web' ? [this.#inputStyle, style] : style;
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
__getAnimatedValue(): Object {
|
|
@@ -8,10 +8,15 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
11
12
|
import Platform from '../Utilities/Platform';
|
|
12
13
|
|
|
13
14
|
function shouldUseTurboAnimatedModule(): boolean {
|
|
14
|
-
|
|
15
|
+
if (ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()) {
|
|
16
|
+
return false;
|
|
17
|
+
} else {
|
|
18
|
+
return Platform.OS === 'ios' && global.RN$Bridgeless === true;
|
|
19
|
+
}
|
|
15
20
|
}
|
|
16
21
|
|
|
17
22
|
export default shouldUseTurboAnimatedModule;
|
|
@@ -86,8 +86,12 @@ class BlobManager {
|
|
|
86
86
|
});
|
|
87
87
|
const size = items.reduce((acc, curr) => {
|
|
88
88
|
if (curr.type === 'string') {
|
|
89
|
+
/* $FlowFixMe[incompatible-call] Natural Inference rollout. See
|
|
90
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
89
91
|
return acc + global.unescape(encodeURI(curr.data)).length;
|
|
90
92
|
} else {
|
|
93
|
+
/* $FlowFixMe[prop-missing] Natural Inference rollout. See
|
|
94
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
91
95
|
return acc + curr.data.size;
|
|
92
96
|
}
|
|
93
97
|
}, 0);
|
package/Libraries/Blob/URL.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
// Small subset from whatwg-url: https://github.com/jsdom/whatwg-url/tree/master/src
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
export class URLSearchParams {
|
|
14
14
|
_searchParams: Map<string, string[]> = new Map();
|
|
15
15
|
|
|
16
|
+
get size(): number {
|
|
17
|
+
return this._searchParams.size;
|
|
18
|
+
}
|
|
19
|
+
|
|
16
20
|
constructor(params?: Record<string, string> | string | [string, string][]) {
|
|
17
21
|
if (params === null) {
|
|
18
22
|
return;
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
declare export class URLSearchParams {
|
|
12
12
|
_searchParams: Array<[string, string]>;
|
|
13
|
+
+size: number;
|
|
13
14
|
constructor(
|
|
14
15
|
params?: Record<string, string> | string | Array<[string, string]>,
|
|
15
16
|
): void;
|
|
@@ -9,5 +9,4 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export * from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo';
|
|
12
|
-
|
|
13
|
-
export default NativeAccessibilityInfo;
|
|
12
|
+
export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo';
|
|
@@ -7,5 +7,4 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
export * from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityInfoWin32';
|
|
10
|
-
|
|
11
|
-
export default NativeAccessibilityInfoWin32;
|
|
10
|
+
export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityInfoWin32';
|
|
@@ -9,5 +9,4 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export * from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityManager';
|
|
12
|
-
|
|
13
|
-
export default NativeAccessibilityManager;
|
|
12
|
+
export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityManager';
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
@@ -60,18 +60,22 @@ export type ActivityIndicatorProps = $ReadOnly<{
|
|
|
60
60
|
size?: ?IndicatorSize,
|
|
61
61
|
}>;
|
|
62
62
|
|
|
63
|
-
const ActivityIndicator
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
const ActivityIndicator: component(
|
|
64
|
+
ref?: React.RefSetter<HostComponent<empty>>,
|
|
65
|
+
...props: ActivityIndicatorProps
|
|
66
|
+
) = ({
|
|
67
|
+
ref: forwardedRef,
|
|
68
|
+
animating = true,
|
|
69
|
+
color = Platform.OS === 'ios' ? GRAY : null,
|
|
70
|
+
hidesWhenStopped = true,
|
|
71
|
+
onLayout,
|
|
72
|
+
size = 'small',
|
|
73
|
+
style,
|
|
74
|
+
...restProps
|
|
75
|
+
}: {
|
|
76
|
+
ref?: any,
|
|
77
|
+
...ActivityIndicatorProps,
|
|
78
|
+
}) => {
|
|
75
79
|
let sizeStyle;
|
|
76
80
|
let sizeProp;
|
|
77
81
|
|
|
@@ -154,11 +158,7 @@ const ActivityIndicator = (
|
|
|
154
158
|
```
|
|
155
159
|
*/
|
|
156
160
|
|
|
157
|
-
|
|
158
|
-
ref?: React.RefSetter<HostComponent<empty>>,
|
|
159
|
-
...props: ActivityIndicatorProps
|
|
160
|
-
) = React.forwardRef(ActivityIndicator);
|
|
161
|
-
ActivityIndicatorWithRef.displayName = 'ActivityIndicator';
|
|
161
|
+
ActivityIndicator.displayName = 'ActivityIndicator';
|
|
162
162
|
|
|
163
163
|
const styles = StyleSheet.create({
|
|
164
164
|
container: {
|
|
@@ -175,4 +175,4 @@ const styles = StyleSheet.create({
|
|
|
175
175
|
},
|
|
176
176
|
});
|
|
177
177
|
|
|
178
|
-
export default
|
|
178
|
+
export default ActivityIndicator;
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @format
|
|
8
7
|
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export * from '../../../src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent';
|
|
12
|
-
|
|
13
|
-
export default ActivityIndicatorViewNativeComponent;
|
|
12
|
+
export {default} from '../../../src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent';
|