@office-iss/react-native-win32 0.78.2 → 0.79.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 +4 -1
- package/CHANGELOG.json +166 -38
- package/CHANGELOG.md +53 -22
- package/IntegrationTests/AccessibilityManagerTest.js +17 -12
- package/IntegrationTests/AppEventsTest.js +47 -32
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
- package/IntegrationTests/ImageCachePolicyTest.js +64 -81
- package/IntegrationTests/ImageSnapshotTest.js +17 -20
- package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
- package/IntegrationTests/IntegrationTestsApp.js +11 -6
- package/IntegrationTests/LayoutEventsTest.js +17 -12
- package/IntegrationTests/LoggingTestModule.js +2 -1
- package/IntegrationTests/PromiseTest.js +51 -43
- package/IntegrationTests/SimpleSnapshotTest.js +19 -24
- package/IntegrationTests/SyncMethodTest.js +9 -13
- package/IntegrationTests/TimersTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/Alert/Alert.js +33 -10
- package/Libraries/Alert/Alert.win32.js +32 -9
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.android.js +1 -1
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
- package/Libraries/Animated/Animated.js +8 -37
- package/Libraries/Animated/Animated.js.flow +15 -0
- package/Libraries/Animated/AnimatedExports.js +47 -0
- package/Libraries/Animated/AnimatedExports.js.flow +48 -0
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -4
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +30 -22
- package/Libraries/Animated/useAnimatedProps.js +4 -333
- package/Libraries/Animated/useAnimatedValue.js +1 -3
- package/Libraries/AppState/AppState.js +24 -7
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
- package/Libraries/BatchedBridge/MessageQueue.js +5 -4
- package/Libraries/BatchedBridge/NativeModules.js +6 -4
- package/Libraries/Blob/Blob.js +5 -5
- package/Libraries/Blob/BlobManager.js +3 -2
- package/Libraries/Blob/BlobRegistry.js +3 -9
- package/Libraries/Blob/File.js +3 -2
- package/Libraries/Blob/FileReader.js +8 -174
- package/Libraries/Blob/FileReader_new.js +231 -0
- package/Libraries/Blob/FileReader_old.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +2 -2
- package/Libraries/Blob/NativeFileReaderModule.js +2 -2
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +9 -10
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/BugReporting/BugReporting.js +2 -2
- package/Libraries/BugReporting/NativeBugReporting.js +2 -2
- package/Libraries/BugReporting/dumpReactTree.js +2 -2
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -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 +20 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +11 -11
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Button.js +6 -6
- package/Libraries/Components/Button.win32.js +6 -9
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
- package/Libraries/Components/Keyboard/Keyboard.js +9 -9
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +24 -25
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +7 -5
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +28 -73
- package/Libraries/Components/Pressable/Pressable.win32.js +29 -75
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +17 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -47
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +13 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.js +17 -14
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollView.js +139 -134
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +7 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +10 -11
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +4 -4
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
- package/Libraries/Components/StatusBar/StatusBar.js +57 -31
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/Switch.js +74 -45
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -35
- package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +5 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
- package/Libraries/Components/TextInput/TextInput.js +152 -149
- package/Libraries/Components/TextInput/TextInput.win32.js +154 -151
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +6 -20
- package/Libraries/Components/TextInput/TextInputState.win32.js +6 -20
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.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 +23 -23
- package/Libraries/Components/Touchable/Touchable.win32.js +23 -23
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +44 -23
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +102 -54
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +252 -47
- package/Libraries/Components/Touchable/TouchableOpacity.js +57 -15
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +114 -61
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +2 -2
- package/Libraries/Components/View/View.win32.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.js +245 -5
- package/Libraries/Components/View/ViewAccessibility.win32.js +245 -5
- package/Libraries/Components/View/ViewNativeComponent.js +2 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/Libraries/Components/View/ViewPropTypes.js +65 -253
- package/Libraries/Components/View/ViewPropTypes.win32.js +123 -312
- package/Libraries/Core/Devtools/getDevServer.js +1 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
- package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
- package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
- package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +7 -3
- package/Libraries/Core/NativeExceptionsManager.js +2 -2
- package/Libraries/Core/RawEventEmitter.js +2 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -5
- package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +10 -8
- package/Libraries/Core/Timers/NativeTiming.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +2 -9
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/registerCallableModule.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +13 -8
- package/Libraries/Core/setUpDeveloperTools.js +3 -35
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +26 -6
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpTimers.js +45 -66
- package/Libraries/Core/setUpXHR.js +11 -8
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
- package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -5
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/Events/CustomEvent.js +3 -3
- package/Libraries/Events/EventPolyfill.js +2 -2
- package/Libraries/Image/AssetRegistry.js +8 -1
- package/Libraries/Image/AssetSourceResolver.js +4 -4
- package/Libraries/Image/Image.android.js +4 -2
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.js.flow +27 -0
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageProps.js +109 -39
- package/Libraries/Image/ImageTypes.flow.js +16 -6
- package/Libraries/Image/ImageViewNativeComponent.js +8 -11
- package/Libraries/Image/NativeImageEditor.js +2 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
- package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
- package/Libraries/Image/NativeImageStoreIOS.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +3 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
- package/Libraries/Image/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +20 -9
- package/Libraries/Interaction/InteractionManagerStub.js +10 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +49 -46
- package/Libraries/Interaction/TaskQueue.js +4 -4
- package/Libraries/Interaction/TouchHistoryMath.js +27 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
- package/Libraries/Linking/Linking.d.ts +3 -3
- package/Libraries/Linking/Linking.js +10 -9
- package/Libraries/Linking/NativeIntentAndroid.js +2 -2
- package/Libraries/Linking/NativeLinkingManager.js +2 -2
- package/Libraries/Lists/FillRateHelper.js +4 -4
- package/Libraries/Lists/FlatList.js +30 -30
- package/Libraries/Lists/SectionList.js +10 -10
- package/Libraries/Lists/SectionListModern.js +9 -7
- package/Libraries/Lists/ViewabilityHelper.js +4 -3
- package/Libraries/Lists/VirtualizeUtils.js +3 -5
- package/Libraries/Lists/VirtualizedList.js +6 -6
- package/Libraries/Lists/VirtualizedListContext.js +5 -5
- package/Libraries/Lists/VirtualizedSectionList.js +5 -3
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +15 -15
- package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
- package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
- package/Libraries/LogBox/LogBox.js +22 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -4
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -4
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
- package/Libraries/Modal/Modal.js +82 -89
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
- package/Libraries/Network/NativeNetworkingIOS.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +44 -0
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +10 -685
- package/Libraries/Network/XMLHttpRequest_new.js +794 -0
- package/Libraries/Network/XMLHttpRequest_old.js +701 -0
- package/Libraries/Network/convertRequestBody.js +7 -4
- package/Libraries/Network/fetch.js +4 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +65 -63
- package/Libraries/Pressability/HoverState.js +1 -0
- package/Libraries/Pressability/HoverState.win32.js +1 -0
- package/Libraries/Pressability/Pressability.js +34 -34
- package/Libraries/Pressability/Pressability.win32.js +35 -35
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
- package/Libraries/Promise.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
- package/Libraries/ReactNative/AppContainer-dev.js +4 -3
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +4 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
- package/Libraries/ReactNative/FabricUIManager.js +22 -10
- package/Libraries/ReactNative/I18nManager.js +4 -3
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
- package/Libraries/ReactNative/NativeI18nManager.js +2 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.js +6 -6
- package/Libraries/ReactNative/PaperUIManager.win32.js +6 -6
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +12 -5
- package/Libraries/ReactNative/RootTag.js +1 -1
- package/Libraries/ReactNative/UIManager.d.ts +1 -0
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
- package/Libraries/ReactNative/requireNativeComponent.js +3 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +30 -10
- package/Libraries/Renderer/shims/ReactNativeTypes.js +40 -89
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +3 -3
- package/Libraries/Settings/Settings.win32.js +3 -3
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +11 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
- package/Libraries/StyleSheet/Rect.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +4 -3
- package/Libraries/StyleSheet/StyleSheet.win32.js +5 -4
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColor.js +2 -2
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +4 -0
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +1 -1
- package/Libraries/Text/Text.js +19 -17
- package/Libraries/Text/Text.win32.js +19 -17
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/Text/TextNativeComponent.js +3 -3
- package/Libraries/Text/TextNativeComponent.win32.js +3 -3
- package/Libraries/Text/TextProps.js +134 -94
- package/Libraries/Text/TextProps.win32.js +134 -94
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CodegenTypes.js +5 -4
- package/Libraries/Types/CoreEventTypes.js +119 -86
- package/Libraries/Types/CoreEventTypes.win32.js +131 -93
- package/Libraries/Types/ReactDevToolsTypes.js +4 -8
- package/Libraries/UTFSequence.js +4 -3
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/BackHandler.android.js +3 -3
- package/Libraries/Utilities/BackHandler.ios.js +7 -7
- package/Libraries/Utilities/BackHandler.js.flow +25 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -3
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DevSettings.js +15 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
- package/Libraries/Utilities/Dimensions.js +5 -0
- package/Libraries/Utilities/Dimensions.win32.js +5 -0
- package/Libraries/Utilities/FeatureDetection.js +2 -4
- package/Libraries/Utilities/FocusManager.win32.js +3 -3
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +7 -7
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +2 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +6 -6
- package/Libraries/Utilities/Platform.ios.js +6 -6
- package/{flow/Position.js → Libraries/Utilities/Platform.js.flow} +3 -6
- package/Libraries/Utilities/Platform.win32.js +4 -4
- package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +105 -14
- package/Libraries/Utilities/PolyfillFunctions.js +3 -5
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +6 -6
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +3 -3
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +6 -6
- package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
- package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
- package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
- package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +3 -2
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +2 -2
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/Vibration/Vibration.js +4 -4
- package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
- package/Libraries/WebSocket/WebSocket.js +8 -285
- package/Libraries/WebSocket/WebSocketEvent.js +2 -2
- package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
- package/Libraries/WebSocket/WebSocket_new.js +325 -0
- package/Libraries/WebSocket/WebSocket_old.js +297 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +21 -9
- package/flow/jest.js +14 -14
- package/index.js +153 -237
- package/index.win32.js +64 -55
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +314 -264
- package/overrides.json +64 -75
- package/package.json +24 -25
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +2 -2
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/components/VScrollViewNativeComponents.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +53 -75
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -12
- package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
- package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
- package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +20 -15
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +43 -27
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +8 -6
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +6 -6
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
- package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
- package/src/private/setup/setUpDOM.js +43 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +5 -10
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
- package/{flow/react.js → src/private/types/HostComponent.js} +6 -5
- package/src/private/types/HostInstance.js +50 -0
- package/src/private/webapis/dom/events/CustomEvent.js +38 -0
- package/src/private/webapis/dom/events/Event.js +236 -0
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
- package/src/private/webapis/dom/events/EventTarget.js +436 -0
- package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +121 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +82 -51
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +7 -6
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +26 -26
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +56 -78
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
- package/src/private/webapis/html/events/MessageEvent.js +56 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +6 -6
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
- package/src/private/webapis/mutationobserver/MutationObserver.js +11 -11
- package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/Performance.js +3 -3
- package/src/private/webapis/performance/PerformanceObserver.js +8 -8
- package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
- package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
- package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
- package/src/types/globals.d.ts +628 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/src-win/Libraries/Text/Text.d.ts +1 -1
- package/types/index.d.ts +2 -58
- package/Libraries/Animated/AnimatedWeb.js +0 -26
- package/Libraries/Inspector/Inspector.win32.js +0 -212
- package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
- package/Libraries/JSInspector/InspectorAgent.js +0 -27
- package/Libraries/JSInspector/JSInspector.js +0 -33
- package/Libraries/JSInspector/NetworkAgent.js +0 -295
- package/Libraries/Utilities/DebugEnvironment.js +0 -16
- package/Libraries/Utilities/Platform.flow.js +0 -91
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
- package/src/private/specs/modules/NativeCPUTime.js +0 -24
- package/src/private/specs/modules/NativeFantom.js +0 -37
- package/src/private/specs/modules/NativeUIManager.js +0 -111
- package/types/modules/globals.d.ts +0 -599
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
- /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
- /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
|
@@ -8,21 +8,21 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {HostInstance} from '
|
|
11
|
+
import type {HostInstance} from '../../../src/private/types/HostInstance';
|
|
12
12
|
import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
13
13
|
import type {PointProp} from '../../StyleSheet/PointPropType';
|
|
14
14
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
15
15
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
16
16
|
import type {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
GestureResponderEvent,
|
|
18
|
+
LayoutChangeEvent,
|
|
19
19
|
ScrollEvent,
|
|
20
20
|
} from '../../Types/CoreEventTypes';
|
|
21
21
|
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
22
22
|
import type {KeyboardEvent, KeyboardMetrics} from '../Keyboard/Keyboard';
|
|
23
23
|
import typeof View from '../View/View';
|
|
24
24
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
25
|
-
import type {
|
|
25
|
+
import type {ScrollViewStickyHeaderProps} from './ScrollViewStickyHeader';
|
|
26
26
|
|
|
27
27
|
import {
|
|
28
28
|
HScrollContentViewNativeComponent,
|
|
@@ -126,34 +126,39 @@ import * as React from 'react';
|
|
|
126
126
|
* this.props.onKeyboardDidHide
|
|
127
127
|
*/
|
|
128
128
|
|
|
129
|
+
export interface ScrollViewScrollToOptions {
|
|
130
|
+
x?: number;
|
|
131
|
+
y?: number;
|
|
132
|
+
animated?: boolean;
|
|
133
|
+
}
|
|
134
|
+
|
|
129
135
|
// Public methods for ScrollView
|
|
130
|
-
export
|
|
131
|
-
getScrollResponder: $PropertyType<ScrollView, 'getScrollResponder'
|
|
132
|
-
getScrollableNode: $PropertyType<ScrollView, 'getScrollableNode'
|
|
133
|
-
getInnerViewNode: $PropertyType<ScrollView, 'getInnerViewNode'
|
|
134
|
-
getInnerViewRef: $PropertyType<ScrollView, 'getInnerViewRef'
|
|
135
|
-
getNativeScrollRef: $PropertyType<ScrollView, 'getNativeScrollRef'
|
|
136
|
-
scrollTo: $PropertyType<ScrollView, 'scrollTo'
|
|
137
|
-
scrollToEnd: $PropertyType<ScrollView, 'scrollToEnd'
|
|
138
|
-
flashScrollIndicators: $PropertyType<ScrollView, 'flashScrollIndicators'
|
|
139
|
-
scrollResponderZoomTo: $PropertyType<ScrollView, 'scrollResponderZoomTo'
|
|
140
|
-
scrollResponderScrollNativeHandleToKeyboard: $PropertyType<
|
|
136
|
+
export interface ScrollViewImperativeMethods {
|
|
137
|
+
+getScrollResponder: $PropertyType<ScrollView, 'getScrollResponder'>;
|
|
138
|
+
+getScrollableNode: $PropertyType<ScrollView, 'getScrollableNode'>;
|
|
139
|
+
+getInnerViewNode: $PropertyType<ScrollView, 'getInnerViewNode'>;
|
|
140
|
+
+getInnerViewRef: $PropertyType<ScrollView, 'getInnerViewRef'>;
|
|
141
|
+
+getNativeScrollRef: $PropertyType<ScrollView, 'getNativeScrollRef'>;
|
|
142
|
+
+scrollTo: $PropertyType<ScrollView, 'scrollTo'>;
|
|
143
|
+
+scrollToEnd: $PropertyType<ScrollView, 'scrollToEnd'>;
|
|
144
|
+
+flashScrollIndicators: $PropertyType<ScrollView, 'flashScrollIndicators'>;
|
|
145
|
+
+scrollResponderZoomTo: $PropertyType<ScrollView, 'scrollResponderZoomTo'>;
|
|
146
|
+
+scrollResponderScrollNativeHandleToKeyboard: $PropertyType<
|
|
141
147
|
ScrollView,
|
|
142
148
|
'scrollResponderScrollNativeHandleToKeyboard',
|
|
143
|
-
|
|
144
|
-
|
|
149
|
+
>;
|
|
150
|
+
}
|
|
145
151
|
|
|
146
152
|
export type DecelerationRateType = 'fast' | 'normal' | number;
|
|
147
153
|
export type ScrollResponderType = ScrollViewImperativeMethods;
|
|
148
154
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|}>;
|
|
155
|
+
export interface PublicScrollViewInstance
|
|
156
|
+
extends HostInstance,
|
|
157
|
+
ScrollViewImperativeMethods {}
|
|
153
158
|
|
|
154
159
|
type InnerViewInstance = React.ElementRef<View>;
|
|
155
160
|
|
|
156
|
-
type
|
|
161
|
+
export type ScrollViewPropsIOS = $ReadOnly<{
|
|
157
162
|
/**
|
|
158
163
|
* Controls whether iOS should automatically adjust the content inset
|
|
159
164
|
* for scroll views that are placed behind a navigation bar or
|
|
@@ -307,9 +312,9 @@ type IOSProps = $ReadOnly<{|
|
|
|
307
312
|
| 'never'
|
|
308
313
|
| 'always'
|
|
309
314
|
),
|
|
310
|
-
|
|
315
|
+
}>;
|
|
311
316
|
|
|
312
|
-
type
|
|
317
|
+
export type ScrollViewPropsAndroid = $ReadOnly<{
|
|
313
318
|
/**
|
|
314
319
|
* Enables nested scrolling for Android API level 21+.
|
|
315
320
|
* Nested scrolling is supported by default on iOS
|
|
@@ -364,17 +369,17 @@ type AndroidProps = $ReadOnly<{|
|
|
|
364
369
|
* @platform android
|
|
365
370
|
*/
|
|
366
371
|
fadingEdgeLength?: ?number,
|
|
367
|
-
|
|
372
|
+
}>;
|
|
368
373
|
|
|
369
374
|
type StickyHeaderComponentType = component(
|
|
370
375
|
ref?: React.RefSetter<$ReadOnly<interface {setNextHeaderY: number => void}>>,
|
|
371
376
|
...ScrollViewStickyHeaderProps
|
|
372
377
|
);
|
|
373
378
|
|
|
374
|
-
export type
|
|
379
|
+
export type ScrollViewProps = $ReadOnly<{
|
|
375
380
|
...ViewProps,
|
|
376
|
-
...
|
|
377
|
-
...
|
|
381
|
+
...ScrollViewPropsIOS,
|
|
382
|
+
...ScrollViewPropsAndroid,
|
|
378
383
|
|
|
379
384
|
/**
|
|
380
385
|
* These styles will be applied to the scroll view content container which
|
|
@@ -494,10 +499,10 @@ export type Props = $ReadOnly<{|
|
|
|
494
499
|
* whether content is "visible" or not.
|
|
495
500
|
*
|
|
496
501
|
*/
|
|
497
|
-
maintainVisibleContentPosition?: ?$ReadOnly<{
|
|
502
|
+
maintainVisibleContentPosition?: ?$ReadOnly<{
|
|
498
503
|
minIndexForVisible: number,
|
|
499
504
|
autoscrollToTopThreshold?: ?number,
|
|
500
|
-
|
|
505
|
+
}>,
|
|
501
506
|
/**
|
|
502
507
|
* Called when the momentum scroll starts (scroll which occurs as the ScrollView glides to a stop).
|
|
503
508
|
*/
|
|
@@ -638,7 +643,7 @@ export type Props = $ReadOnly<{|
|
|
|
638
643
|
*/
|
|
639
644
|
/* $FlowFixMe[unclear-type] - how to handle generic type without existential
|
|
640
645
|
* operator? */
|
|
641
|
-
refreshControl?: ?
|
|
646
|
+
refreshControl?: ?React.Node,
|
|
642
647
|
children?: React.Node,
|
|
643
648
|
/**
|
|
644
649
|
* A ref to the inner View element of the ScrollView. This should be used
|
|
@@ -651,17 +656,17 @@ export type Props = $ReadOnly<{|
|
|
|
651
656
|
* measure, measureLayout, etc.
|
|
652
657
|
*/
|
|
653
658
|
scrollViewRef?: React.RefSetter<PublicScrollViewInstance>,
|
|
654
|
-
|
|
659
|
+
}>;
|
|
655
660
|
|
|
656
|
-
type State = {
|
|
661
|
+
type State = {
|
|
657
662
|
layoutHeight: ?number,
|
|
658
|
-
|
|
663
|
+
};
|
|
659
664
|
|
|
660
665
|
const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
|
|
661
666
|
|
|
662
|
-
export type ScrollViewComponentStatics = $ReadOnly<{
|
|
667
|
+
export type ScrollViewComponentStatics = $ReadOnly<{
|
|
663
668
|
Context: typeof ScrollViewContext,
|
|
664
|
-
|
|
669
|
+
}>;
|
|
665
670
|
|
|
666
671
|
/**
|
|
667
672
|
* Component that wraps platform ScrollView while providing
|
|
@@ -698,10 +703,10 @@ export type ScrollViewComponentStatics = $ReadOnly<{|
|
|
|
698
703
|
* multiple columns, infinite scroll loading, or any number of other features it
|
|
699
704
|
* supports out of the box.
|
|
700
705
|
*/
|
|
701
|
-
class ScrollView extends React.Component<
|
|
706
|
+
class ScrollView extends React.Component<ScrollViewProps, State> {
|
|
702
707
|
static Context: typeof ScrollViewContext = ScrollViewContext;
|
|
703
708
|
|
|
704
|
-
constructor(props:
|
|
709
|
+
constructor(props: ScrollViewProps) {
|
|
705
710
|
super(props);
|
|
706
711
|
|
|
707
712
|
this._scrollAnimatedValue = new AnimatedImplementation.Value(
|
|
@@ -712,9 +717,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
712
717
|
|
|
713
718
|
_scrollAnimatedValue: AnimatedImplementation.Value;
|
|
714
719
|
_scrollAnimatedValueAttachment: ?{detach: () => void, ...} = null;
|
|
715
|
-
_stickyHeaderRefs: Map<
|
|
716
|
-
|
|
717
|
-
|
|
720
|
+
_stickyHeaderRefs: Map<
|
|
721
|
+
React.Key,
|
|
722
|
+
React.ElementRef<StickyHeaderComponentType>,
|
|
723
|
+
> = new Map();
|
|
724
|
+
_headerLayoutYs: Map<React.Key, number> = new Map();
|
|
718
725
|
|
|
719
726
|
_keyboardMetrics: ?KeyboardMetrics = null;
|
|
720
727
|
_additionalScrollOffset: number = 0;
|
|
@@ -777,7 +784,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
777
784
|
this._updateAnimatedNodeAttachment();
|
|
778
785
|
}
|
|
779
786
|
|
|
780
|
-
componentDidUpdate(prevProps:
|
|
787
|
+
componentDidUpdate(prevProps: ScrollViewProps) {
|
|
781
788
|
const prevContentInsetTop = prevProps.contentInset
|
|
782
789
|
? prevProps.contentInset.top
|
|
783
790
|
: 0;
|
|
@@ -849,28 +856,10 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
849
856
|
* This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.
|
|
850
857
|
*/
|
|
851
858
|
scrollTo: (
|
|
852
|
-
options?:
|
|
853
|
-
| {
|
|
854
|
-
x?: number,
|
|
855
|
-
y?: number,
|
|
856
|
-
animated?: boolean,
|
|
857
|
-
...
|
|
858
|
-
}
|
|
859
|
-
| number,
|
|
860
|
-
deprecatedX?: number,
|
|
861
|
-
deprecatedAnimated?: boolean,
|
|
862
|
-
) => void = (
|
|
863
|
-
options?:
|
|
864
|
-
| {
|
|
865
|
-
x?: number,
|
|
866
|
-
y?: number,
|
|
867
|
-
animated?: boolean,
|
|
868
|
-
...
|
|
869
|
-
}
|
|
870
|
-
| number,
|
|
859
|
+
options?: ScrollViewScrollToOptions | number,
|
|
871
860
|
deprecatedX?: number,
|
|
872
861
|
deprecatedAnimated?: boolean,
|
|
873
|
-
) => {
|
|
862
|
+
) => void = (options, deprecatedX, deprecatedAnimated) => {
|
|
874
863
|
let x, y, animated;
|
|
875
864
|
if (typeof options === 'number') {
|
|
876
865
|
console.warn(
|
|
@@ -900,9 +889,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
900
889
|
* `scrollToEnd({animated: false})` for immediate scrolling.
|
|
901
890
|
* If no options are passed, `animated` defaults to true.
|
|
902
891
|
*/
|
|
903
|
-
scrollToEnd: (options?: ?
|
|
904
|
-
options?: ?{animated?: boolean, ...},
|
|
905
|
-
) => {
|
|
892
|
+
scrollToEnd: (options?: ?ScrollViewScrollToOptions) => void = options => {
|
|
906
893
|
// Default to true
|
|
907
894
|
const animated = (options && options.animated) !== false;
|
|
908
895
|
const component = this.getNativeScrollRef();
|
|
@@ -976,22 +963,22 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
976
963
|
* @platform ios
|
|
977
964
|
*/
|
|
978
965
|
scrollResponderZoomTo: (
|
|
979
|
-
rect: {
|
|
966
|
+
rect: {
|
|
980
967
|
x: number,
|
|
981
968
|
y: number,
|
|
982
969
|
width: number,
|
|
983
970
|
height: number,
|
|
984
971
|
animated?: boolean,
|
|
985
|
-
|
|
972
|
+
},
|
|
986
973
|
animated?: boolean, // deprecated, put this inside the rect argument instead
|
|
987
974
|
) => void = (
|
|
988
|
-
rect: {
|
|
975
|
+
rect: {
|
|
989
976
|
x: number,
|
|
990
977
|
y: number,
|
|
991
978
|
width: number,
|
|
992
979
|
height: number,
|
|
993
980
|
animated?: boolean,
|
|
994
|
-
|
|
981
|
+
},
|
|
995
982
|
animated?: boolean, // deprecated, put this inside the rect argument instead
|
|
996
983
|
) => {
|
|
997
984
|
invariant(Platform.OS === 'ios', 'zoomToRect is not implemented');
|
|
@@ -1066,7 +1053,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1066
1053
|
}
|
|
1067
1054
|
};
|
|
1068
1055
|
|
|
1069
|
-
_getKeyForIndex(
|
|
1056
|
+
_getKeyForIndex(
|
|
1057
|
+
index: number,
|
|
1058
|
+
// $FlowFixMe[unclear-type] - The children and its key is unknown.
|
|
1059
|
+
childArray: any,
|
|
1060
|
+
): React.Key {
|
|
1070
1061
|
const child = childArray[index];
|
|
1071
1062
|
return child && child.key;
|
|
1072
1063
|
}
|
|
@@ -1099,7 +1090,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1099
1090
|
}
|
|
1100
1091
|
}
|
|
1101
1092
|
|
|
1102
|
-
_onStickyHeaderLayout(
|
|
1093
|
+
_onStickyHeaderLayout(
|
|
1094
|
+
index: number,
|
|
1095
|
+
event: LayoutChangeEvent,
|
|
1096
|
+
key: React.Key,
|
|
1097
|
+
) {
|
|
1103
1098
|
const {stickyHeaderIndices} = this.props;
|
|
1104
1099
|
if (!stickyHeaderIndices) {
|
|
1105
1100
|
return;
|
|
@@ -1130,7 +1125,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1130
1125
|
this.props.onScroll && this.props.onScroll(e);
|
|
1131
1126
|
};
|
|
1132
1127
|
|
|
1133
|
-
_handleLayout = (e:
|
|
1128
|
+
_handleLayout = (e: LayoutChangeEvent) => {
|
|
1134
1129
|
if (this.props.invertStickyHeaders === true) {
|
|
1135
1130
|
this.setState({layoutHeight: e.nativeEvent.layout.height});
|
|
1136
1131
|
}
|
|
@@ -1139,7 +1134,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1139
1134
|
}
|
|
1140
1135
|
};
|
|
1141
1136
|
|
|
1142
|
-
_handleContentOnLayout = (e:
|
|
1137
|
+
_handleContentOnLayout = (e: LayoutChangeEvent) => {
|
|
1143
1138
|
const {width, height} = e.nativeEvent.layout;
|
|
1144
1139
|
this.props.onContentSizeChange &&
|
|
1145
1140
|
this.props.onContentSizeChange(width, height);
|
|
@@ -1312,7 +1307,9 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1312
1307
|
/**
|
|
1313
1308
|
* Invoke this from an `onResponderGrant` event.
|
|
1314
1309
|
*/
|
|
1315
|
-
_handleResponderGrant: (e:
|
|
1310
|
+
_handleResponderGrant: (e: GestureResponderEvent) => void = (
|
|
1311
|
+
e: GestureResponderEvent,
|
|
1312
|
+
) => {
|
|
1316
1313
|
this._observedScrollSinceBecomingResponder = false;
|
|
1317
1314
|
this.props.onResponderGrant && this.props.onResponderGrant(e);
|
|
1318
1315
|
this._becameResponderWhileAnimating = this._isAnimating();
|
|
@@ -1333,7 +1330,9 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1333
1330
|
/**
|
|
1334
1331
|
* Invoke this from an `onResponderRelease` event.
|
|
1335
1332
|
*/
|
|
1336
|
-
_handleResponderRelease: (e:
|
|
1333
|
+
_handleResponderRelease: (e: GestureResponderEvent) => void = (
|
|
1334
|
+
e: GestureResponderEvent,
|
|
1335
|
+
) => {
|
|
1337
1336
|
this._isTouching = e.nativeEvent.touches.length !== 0;
|
|
1338
1337
|
this.props.onResponderRelease && this.props.onResponderRelease(e);
|
|
1339
1338
|
|
|
@@ -1418,8 +1417,8 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1418
1417
|
* true.
|
|
1419
1418
|
*
|
|
1420
1419
|
*/
|
|
1421
|
-
_handleStartShouldSetResponder: (e:
|
|
1422
|
-
e:
|
|
1420
|
+
_handleStartShouldSetResponder: (e: GestureResponderEvent) => boolean = (
|
|
1421
|
+
e: GestureResponderEvent,
|
|
1423
1422
|
) => {
|
|
1424
1423
|
// Allow any event touch pass through if the default pan responder is disabled
|
|
1425
1424
|
if (this.props.disableScrollViewPanResponder === true) {
|
|
@@ -1448,55 +1447,54 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1448
1447
|
*
|
|
1449
1448
|
* Invoke this from an `onStartShouldSetResponderCapture` event.
|
|
1450
1449
|
*/
|
|
1451
|
-
_handleStartShouldSetResponderCapture: (e:
|
|
1452
|
-
e:
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
}
|
|
1450
|
+
_handleStartShouldSetResponderCapture: (e: GestureResponderEvent) => boolean =
|
|
1451
|
+
(e: GestureResponderEvent) => {
|
|
1452
|
+
// The scroll view should receive taps instead of its descendants if:
|
|
1453
|
+
// * it is already animating/decelerating
|
|
1454
|
+
if (this._isAnimating()) {
|
|
1455
|
+
return true;
|
|
1456
|
+
}
|
|
1459
1457
|
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1458
|
+
// Allow any event touch pass through if the default pan responder is disabled
|
|
1459
|
+
if (this.props.disableScrollViewPanResponder === true) {
|
|
1460
|
+
return false;
|
|
1461
|
+
}
|
|
1464
1462
|
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1463
|
+
// * the keyboard is up, keyboardShouldPersistTaps is 'never' (the default),
|
|
1464
|
+
// and a new touch starts with a non-textinput target (in which case the
|
|
1465
|
+
// first tap should be sent to the scroll view and dismiss the keyboard,
|
|
1466
|
+
// then the second tap goes to the actual interior view)
|
|
1467
|
+
const {keyboardShouldPersistTaps} = this.props;
|
|
1468
|
+
const keyboardNeverPersistTaps =
|
|
1469
|
+
!keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
|
|
1470
|
+
|
|
1471
|
+
if (typeof e.target === 'number') {
|
|
1472
|
+
if (__DEV__) {
|
|
1473
|
+
console.error(
|
|
1474
|
+
'Did not expect event target to be a number. Should have been a native component',
|
|
1475
|
+
);
|
|
1476
|
+
}
|
|
1472
1477
|
|
|
1473
|
-
|
|
1474
|
-
if (__DEV__) {
|
|
1475
|
-
console.error(
|
|
1476
|
-
'Did not expect event target to be a number. Should have been a native component',
|
|
1477
|
-
);
|
|
1478
|
+
return false;
|
|
1478
1479
|
}
|
|
1479
1480
|
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
if (this._softKeyboardIsDetached()) {
|
|
1485
|
-
return false;
|
|
1486
|
-
}
|
|
1481
|
+
// Let presses through if the soft keyboard is detached from the viewport
|
|
1482
|
+
if (this._softKeyboardIsDetached()) {
|
|
1483
|
+
return false;
|
|
1484
|
+
}
|
|
1487
1485
|
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1486
|
+
if (
|
|
1487
|
+
keyboardNeverPersistTaps &&
|
|
1488
|
+
this._keyboardIsDismissible() &&
|
|
1489
|
+
e.target != null &&
|
|
1490
|
+
// $FlowFixMe[incompatible-type]
|
|
1491
|
+
!TextInputState.isTextInput(e.target)
|
|
1492
|
+
) {
|
|
1493
|
+
return true;
|
|
1494
|
+
}
|
|
1497
1495
|
|
|
1498
|
-
|
|
1499
|
-
|
|
1496
|
+
return false;
|
|
1497
|
+
};
|
|
1500
1498
|
|
|
1501
1499
|
/**
|
|
1502
1500
|
* Do we consider there to be a dismissible soft-keyboard open?
|
|
@@ -1540,9 +1538,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1540
1538
|
/**
|
|
1541
1539
|
* Invoke this from an `onTouchEnd` event.
|
|
1542
1540
|
*
|
|
1543
|
-
* @param {
|
|
1541
|
+
* @param {GestureResponderEvent} e Event.
|
|
1544
1542
|
*/
|
|
1545
|
-
_handleTouchEnd: (e:
|
|
1543
|
+
_handleTouchEnd: (e: GestureResponderEvent) => void = (
|
|
1544
|
+
e: GestureResponderEvent,
|
|
1545
|
+
) => {
|
|
1546
1546
|
const nativeEvent = e.nativeEvent;
|
|
1547
1547
|
this._isTouching = nativeEvent.touches.length !== 0;
|
|
1548
1548
|
|
|
@@ -1570,9 +1570,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1570
1570
|
/**
|
|
1571
1571
|
* Invoke this from an `onTouchCancel` event.
|
|
1572
1572
|
*
|
|
1573
|
-
* @param {
|
|
1573
|
+
* @param {GestureResponderEvent} e Event.
|
|
1574
1574
|
*/
|
|
1575
|
-
_handleTouchCancel: (e:
|
|
1575
|
+
_handleTouchCancel: (e: GestureResponderEvent) => void = (
|
|
1576
|
+
e: GestureResponderEvent,
|
|
1577
|
+
) => {
|
|
1576
1578
|
this._isTouching = false;
|
|
1577
1579
|
this.props.onTouchCancel && this.props.onTouchCancel(e);
|
|
1578
1580
|
};
|
|
@@ -1586,9 +1588,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1586
1588
|
* responder). The `onResponderReject` won't fire in that case - it only
|
|
1587
1589
|
* fires when a *current* responder rejects our request.
|
|
1588
1590
|
*
|
|
1589
|
-
* @param {
|
|
1591
|
+
* @param {GestureResponderEvent} e Touch Start event.
|
|
1590
1592
|
*/
|
|
1591
|
-
_handleTouchStart: (e:
|
|
1593
|
+
_handleTouchStart: (e: GestureResponderEvent) => void = (
|
|
1594
|
+
e: GestureResponderEvent,
|
|
1595
|
+
) => {
|
|
1592
1596
|
this._isTouching = true;
|
|
1593
1597
|
this.props.onTouchStart && this.props.onTouchStart(e);
|
|
1594
1598
|
};
|
|
@@ -1602,9 +1606,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1602
1606
|
* responder). The `onResponderReject` won't fire in that case - it only
|
|
1603
1607
|
* fires when a *current* responder rejects our request.
|
|
1604
1608
|
*
|
|
1605
|
-
* @param {
|
|
1609
|
+
* @param {GestureResponderEvent} e Touch Start event.
|
|
1606
1610
|
*/
|
|
1607
|
-
_handleTouchMove: (e:
|
|
1611
|
+
_handleTouchMove: (e: GestureResponderEvent) => void = (
|
|
1612
|
+
e: GestureResponderEvent,
|
|
1613
|
+
) => {
|
|
1608
1614
|
this.props.onTouchMove && this.props.onTouchMove(e);
|
|
1609
1615
|
};
|
|
1610
1616
|
|
|
@@ -1793,7 +1799,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1793
1799
|
this.props.scrollViewRef,
|
|
1794
1800
|
);
|
|
1795
1801
|
|
|
1796
|
-
if (refreshControl) {
|
|
1802
|
+
if (refreshControl != null) {
|
|
1797
1803
|
if (Platform.OS === 'ios') {
|
|
1798
1804
|
// On iOS the RefreshControl is a child of the ScrollView.
|
|
1799
1805
|
return (
|
|
@@ -1809,9 +1815,8 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1809
1815
|
// AndroidSwipeRefreshLayout and use flex: 1 for the ScrollView.
|
|
1810
1816
|
// Note: we should split props.style on the inner and outer props
|
|
1811
1817
|
// however, the ScrollView still needs the baseStyle to be scrollable
|
|
1812
|
-
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1813
|
-
// $FlowFixMe[incompatible-call]
|
|
1814
1818
|
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
|
|
1819
|
+
// $FlowFixMe[incompatible-call]
|
|
1815
1820
|
return React.cloneElement(
|
|
1816
1821
|
refreshControl,
|
|
1817
1822
|
{style: StyleSheet.compose(baseStyle, outer)},
|
|
@@ -1897,10 +1902,10 @@ function createRefForwarder<TNativeInstance, TPublicInstance>(
|
|
|
1897
1902
|
// component and we need to map `ref` to a differently named prop. This can be
|
|
1898
1903
|
// removed when `ScrollView` is a functional component.
|
|
1899
1904
|
const Wrapper: component(
|
|
1900
|
-
ref
|
|
1901
|
-
...props:
|
|
1905
|
+
ref?: React.RefSetter<PublicScrollViewInstance>,
|
|
1906
|
+
...props: ScrollViewProps
|
|
1902
1907
|
) = React.forwardRef(function Wrapper(
|
|
1903
|
-
props:
|
|
1908
|
+
props: ScrollViewProps,
|
|
1904
1909
|
ref: ?React.RefSetter<PublicScrollViewInstance>,
|
|
1905
1910
|
): React.Node {
|
|
1906
1911
|
return ref == null ? (
|
|
@@ -1913,5 +1918,5 @@ Wrapper.displayName = 'ScrollView';
|
|
|
1913
1918
|
// $FlowExpectedError[prop-missing]
|
|
1914
1919
|
Wrapper.Context = ScrollViewContext;
|
|
1915
1920
|
|
|
1916
|
-
|
|
1921
|
+
export default ((Wrapper: $FlowFixMe): typeof Wrapper &
|
|
1917
1922
|
ScrollViewComponentStatics);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {HostComponent} from '
|
|
11
|
+
import type {HostComponent} from '../../../src/private/types/HostComponent';
|
|
12
12
|
import type {Double} from '../../Types/CodegenTypes';
|
|
13
13
|
|
|
14
14
|
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
|
@@ -31,13 +31,13 @@ interface NativeCommands {
|
|
|
31
31
|
) => void;
|
|
32
32
|
+zoomToRect: (
|
|
33
33
|
viewRef: React.ElementRef<ScrollViewNativeComponentType>,
|
|
34
|
-
rect: {
|
|
34
|
+
rect: {
|
|
35
35
|
x: Double,
|
|
36
36
|
y: Double,
|
|
37
37
|
width: Double,
|
|
38
38
|
height: Double,
|
|
39
39
|
animated?: boolean,
|
|
40
|
-
|
|
40
|
+
},
|
|
41
41
|
animated?: boolean,
|
|
42
42
|
) => void;
|
|
43
43
|
}
|
|
@@ -8,10 +8,8 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
12
|
-
|
|
13
|
-
PartialViewConfig,
|
|
14
|
-
} from '../../Renderer/shims/ReactNativeTypes';
|
|
11
|
+
import type {HostComponent} from '../../../src/private/types/HostComponent';
|
|
12
|
+
import type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';
|
|
15
13
|
import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';
|
|
16
14
|
|
|
17
15
|
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
|
@@ -42,7 +40,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
42
40
|
},
|
|
43
41
|
validAttributes: {
|
|
44
42
|
contentOffset: {
|
|
45
|
-
diff: require('../../Utilities/differ/pointsDiffer'),
|
|
43
|
+
diff: require('../../Utilities/differ/pointsDiffer').default,
|
|
46
44
|
},
|
|
47
45
|
decelerationRate: true,
|
|
48
46
|
disableIntervalMomentum: true,
|
|
@@ -126,10 +124,10 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
126
124
|
canCancelContentTouches: true,
|
|
127
125
|
centerContent: true,
|
|
128
126
|
contentInset: {
|
|
129
|
-
diff: require('../../Utilities/differ/insetsDiffer'),
|
|
127
|
+
diff: require('../../Utilities/differ/insetsDiffer').default,
|
|
130
128
|
},
|
|
131
129
|
contentOffset: {
|
|
132
|
-
diff: require('../../Utilities/differ/pointsDiffer'),
|
|
130
|
+
diff: require('../../Utilities/differ/pointsDiffer').default,
|
|
133
131
|
},
|
|
134
132
|
contentInsetAdjustmentBehavior: true,
|
|
135
133
|
decelerationRate: true,
|
|
@@ -147,7 +145,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
147
145
|
scrollEnabled: true,
|
|
148
146
|
scrollEventThrottle: true,
|
|
149
147
|
scrollIndicatorInsets: {
|
|
150
|
-
diff: require('../../Utilities/differ/insetsDiffer'),
|
|
148
|
+
diff: require('../../Utilities/differ/insetsDiffer').default,
|
|
151
149
|
},
|
|
152
150
|
scrollToOverflowEnabled: true,
|
|
153
151
|
scrollsToTop: true,
|
|
@@ -159,7 +157,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
|
159
157
|
snapToOffsets: true,
|
|
160
158
|
snapToStart: true,
|
|
161
159
|
verticalScrollIndicatorInsets: {
|
|
162
|
-
diff: require('../../Utilities/differ/insetsDiffer'),
|
|
160
|
+
diff: require('../../Utilities/differ/insetsDiffer').default,
|
|
163
161
|
},
|
|
164
162
|
zoomScale: true,
|
|
165
163
|
...ConditionallyIgnoredEventHandlers({
|
|
@@ -13,7 +13,10 @@
|
|
|
13
13
|
import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
14
14
|
import type {PointProp} from '../../StyleSheet/PointPropType';
|
|
15
15
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
16
|
-
import type {
|
|
16
|
+
import type {
|
|
17
|
+
GestureResponderEvent,
|
|
18
|
+
ScrollEvent,
|
|
19
|
+
} from '../../Types/CoreEventTypes';
|
|
17
20
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
18
21
|
|
|
19
22
|
export type ScrollViewNativeProps = $ReadOnly<{
|
|
@@ -76,6 +79,6 @@ export type ScrollViewNativeProps = $ReadOnly<{
|
|
|
76
79
|
snapToStart?: ?boolean,
|
|
77
80
|
zoomScale?: ?number,
|
|
78
81
|
// Overrides
|
|
79
|
-
onResponderGrant?: ?(e:
|
|
82
|
+
onResponderGrant?: ?(e: GestureResponderEvent) => void | boolean,
|
|
80
83
|
...
|
|
81
84
|
}>;
|