@office-iss/react-native-win32 0.70.2 → 0.71.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/.eslintignore +1 -0
- package/.eslintrc.js +2 -0
- package/.flowconfig +3 -6
- package/CHANGELOG.json +281 -43
- package/CHANGELOG.md +105 -24
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +0 -1
- package/IntegrationTests/BUCK +0 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +2 -3
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +4 -4
- package/IntegrationTests/WebSocketTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +13 -20
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -8
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +40 -8
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +4 -2
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -8
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/Pressable.win32.js +77 -19
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +87 -52
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -38
- package/Libraries/Components/TextInput/TextInput.win32.d.ts +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js +1 -1
- package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/TextInput/TextInputState.win32.js +24 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/Touchable.win32.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -1
- package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWin32.js +0 -1
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -0
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/View.win32.js +176 -89
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Components/View/ViewPropTypes.win32.js +105 -13
- package/Libraries/Components/View/ViewWin32.Props.d.ts +6 -1
- package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/Image.win32.js +54 -25
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- 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/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/Inspector.win32.js +23 -109
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorOverlay.win32.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- 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 +3 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.win32.js +1 -0
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/Pressability.win32.js +9 -7
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -3
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheet.win32.js +16 -12
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextNativeComponent.win32.js +67 -48
- package/Libraries/Text/TextProps.js +64 -7
- package/Libraries/{Components/MaskedView/MaskedViewIOS.win32.js → TurboModule/RCTExport.d.ts} +3 -4
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Types/CoreEventTypes.win32.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -5
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/Dimensions.win32.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- 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 +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/Platform.win32.js +11 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/__tests__/ButtonWin32-test.js +16 -0
- package/Libraries/platform-types.d.ts +25 -0
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/babel.config.js +3 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/index.js +89 -55
- package/index.win32.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +7 -9
- package/jest.config.js +9 -2
- package/overrides.json +40 -101
- package/package.json +34 -33
- package/src/Libraries/Components/TextInput/TextInput.win32.tsx +2 -1
- package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +2 -2
- package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +2 -1
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +1 -1
- package/src/Libraries/Components/View/ViewWin32.Props.ts +10 -1
- package/src/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
- package/src/Libraries/platform-types.d.ts +25 -0
- package/types/index.d.ts +215 -0
- package/IntegrationTests/AsyncStorageTest.js +0 -261
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Lists/VirtualizedList.win32.js +0 -9
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +0 -179
- package/Libraries/Lists/__tests__/FillRateHelper-test.js +0 -120
- package/Libraries/Lists/__tests__/FlatList-test.js +0 -155
- package/Libraries/Lists/__tests__/SectionList-test.js +0 -109
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +0 -440
- package/Libraries/Lists/__tests__/VirtualizeUtils-test.js +0 -91
- package/Libraries/Lists/__tests__/VirtualizedList-test.js +0 -1587
- package/Libraries/Lists/__tests__/VirtualizedSectionList-test.js +0 -269
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/rntypes/BatchedBridge.d.ts +0 -23
- package/rntypes/Devtools.d.ts +0 -20
- package/rntypes/LaunchScreen.d.ts +0 -9
- package/rntypes/globals.d.ts +0 -497
- package/rntypes/index.d.ts +0 -9754
- package/rntypes/legacy-properties.d.ts +0 -238
- package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
- package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4565
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
- package/src/rntypes/BatchedBridge.d.ts +0 -23
- package/src/rntypes/Devtools.d.ts +0 -20
- package/src/rntypes/LaunchScreen.d.ts +0 -9
- package/src/rntypes/globals.d.ts +0 -497
- package/src/rntypes/index.d.ts +0 -9754
- package/src/rntypes/legacy-properties.d.ts +0 -238
- package/src/typings-index.ts +0 -37
- package/typings-index.d.ts +0 -23
- package/typings-index.js +0 -47
- package/typings-index.js.map +0 -1
|
@@ -8,48 +8,49 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
import Dimensions from '../../Utilities/Dimensions';
|
|
13
|
-
import Platform from '../../Utilities/Platform';
|
|
14
|
-
import * as React from 'react';
|
|
15
|
-
import ReactNative from '../../Renderer/shims/ReactNative';
|
|
16
|
-
require('../../Renderer/shims/ReactNative'); // Force side effects to prevent T55744311
|
|
17
|
-
import ScrollViewStickyHeader from './ScrollViewStickyHeader';
|
|
18
|
-
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
19
|
-
import View from '../View/View';
|
|
20
|
-
import UIManager from '../../ReactNative/UIManager';
|
|
21
|
-
import Keyboard from '../Keyboard/Keyboard';
|
|
22
|
-
import FrameRateLogger from '../../Interaction/FrameRateLogger';
|
|
23
|
-
import TextInputState from '../TextInput/TextInputState';
|
|
24
|
-
|
|
25
|
-
import dismissKeyboard from '../../Utilities/dismissKeyboard';
|
|
26
|
-
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
27
|
-
import invariant from 'invariant';
|
|
28
|
-
import processDecelerationRate from './processDecelerationRate';
|
|
29
|
-
import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
|
|
30
|
-
import setAndForwardRef from '../../Utilities/setAndForwardRef';
|
|
31
|
-
|
|
11
|
+
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
32
12
|
import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
33
13
|
import type {PointProp} from '../../StyleSheet/PointPropType';
|
|
34
14
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
35
15
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
36
16
|
import type {
|
|
17
|
+
LayoutEvent,
|
|
37
18
|
PressEvent,
|
|
38
19
|
ScrollEvent,
|
|
39
|
-
LayoutEvent,
|
|
40
20
|
} from '../../Types/CoreEventTypes';
|
|
41
|
-
import type {
|
|
21
|
+
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
22
|
+
import type {KeyboardEvent, KeyboardMetrics} from '../Keyboard/Keyboard';
|
|
42
23
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
43
|
-
import ScrollViewContext, {HORIZONTAL, VERTICAL} from './ScrollViewContext';
|
|
44
24
|
import type {Props as ScrollViewStickyHeaderProps} from './ScrollViewStickyHeader';
|
|
45
|
-
import type {KeyboardEvent} from '../Keyboard/Keyboard';
|
|
46
|
-
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
47
25
|
|
|
48
|
-
import
|
|
26
|
+
import AnimatedImplementation from '../../Animated/AnimatedImplementation';
|
|
27
|
+
import FrameRateLogger from '../../Interaction/FrameRateLogger';
|
|
28
|
+
import {findNodeHandle} from '../../ReactNative/RendererProxy';
|
|
29
|
+
import UIManager from '../../ReactNative/UIManager';
|
|
30
|
+
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
31
|
+
import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
|
|
32
|
+
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
33
|
+
import Dimensions from '../../Utilities/Dimensions';
|
|
34
|
+
import dismissKeyboard from '../../Utilities/dismissKeyboard';
|
|
35
|
+
import Platform from '../../Utilities/Platform';
|
|
36
|
+
import setAndForwardRef from '../../Utilities/setAndForwardRef';
|
|
37
|
+
import Keyboard from '../Keyboard/Keyboard';
|
|
38
|
+
import TextInputState from '../TextInput/TextInputState';
|
|
39
|
+
import View from '../View/View';
|
|
49
40
|
import AndroidHorizontalScrollContentViewNativeComponent from './AndroidHorizontalScrollContentViewNativeComponent';
|
|
50
41
|
import AndroidHorizontalScrollViewNativeComponent from './AndroidHorizontalScrollViewNativeComponent';
|
|
42
|
+
import processDecelerationRate from './processDecelerationRate';
|
|
51
43
|
import ScrollContentViewNativeComponent from './ScrollContentViewNativeComponent';
|
|
44
|
+
import Commands from './ScrollViewCommands';
|
|
45
|
+
import ScrollViewContext, {HORIZONTAL, VERTICAL} from './ScrollViewContext';
|
|
52
46
|
import ScrollViewNativeComponent from './ScrollViewNativeComponent';
|
|
47
|
+
import ScrollViewStickyHeader from './ScrollViewStickyHeader';
|
|
48
|
+
import invariant from 'invariant';
|
|
49
|
+
import * as React from 'react';
|
|
50
|
+
|
|
51
|
+
if (Platform.OS === 'ios') {
|
|
52
|
+
require('../../Renderer/shims/ReactNative'); // Force side effects to prevent T55744311
|
|
53
|
+
}
|
|
53
54
|
|
|
54
55
|
const {NativeHorizontalScrollViewTuple, NativeVerticalScrollViewTuple} =
|
|
55
56
|
Platform.OS === 'android'
|
|
@@ -410,7 +411,7 @@ type AndroidProps = $ReadOnly<{|
|
|
|
410
411
|
*/
|
|
411
412
|
persistentScrollbar?: ?boolean,
|
|
412
413
|
/**
|
|
413
|
-
* Fades out the edges of the
|
|
414
|
+
* Fades out the edges of the scroll content.
|
|
414
415
|
*
|
|
415
416
|
* If the value is greater than 0, the fading edges will be set accordingly
|
|
416
417
|
* to the current scroll direction and position,
|
|
@@ -731,7 +732,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
731
732
|
new Map();
|
|
732
733
|
_headerLayoutYs: Map<string, number> = new Map();
|
|
733
734
|
|
|
734
|
-
|
|
735
|
+
_keyboardMetrics: ?KeyboardMetrics = null;
|
|
735
736
|
_additionalScrollOffset: number = 0;
|
|
736
737
|
_isTouching: boolean = false;
|
|
737
738
|
_lastMomentumScrollBeginTime: number = 0;
|
|
@@ -769,7 +770,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
769
770
|
);
|
|
770
771
|
}
|
|
771
772
|
|
|
772
|
-
this.
|
|
773
|
+
this._keyboardMetrics = Keyboard.metrics();
|
|
773
774
|
this._additionalScrollOffset = 0;
|
|
774
775
|
|
|
775
776
|
this._subscriptionKeyboardWillShow = Keyboard.addListener(
|
|
@@ -825,7 +826,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
825
826
|
}
|
|
826
827
|
}
|
|
827
828
|
|
|
828
|
-
_setNativeRef = setAndForwardRef({
|
|
829
|
+
_setNativeRef: $FlowFixMe = setAndForwardRef({
|
|
829
830
|
getForwardedRef: () => this.props.scrollViewRef,
|
|
830
831
|
setLocalRef: ref => {
|
|
831
832
|
this._scrollViewRef = ref;
|
|
@@ -867,11 +868,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
867
868
|
};
|
|
868
869
|
|
|
869
870
|
getScrollableNode: () => ?number = () => {
|
|
870
|
-
return
|
|
871
|
+
return findNodeHandle(this._scrollViewRef);
|
|
871
872
|
};
|
|
872
873
|
|
|
873
874
|
getInnerViewNode: () => ?number = () => {
|
|
874
|
-
return
|
|
875
|
+
return findNodeHandle(this._innerViewRef);
|
|
875
876
|
};
|
|
876
877
|
|
|
877
878
|
getInnerViewRef: () => ?React.ElementRef<typeof View> = () => {
|
|
@@ -996,7 +997,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
996
997
|
if (typeof nodeHandle === 'number') {
|
|
997
998
|
UIManager.measureLayout(
|
|
998
999
|
nodeHandle,
|
|
999
|
-
|
|
1000
|
+
findNodeHandle(this),
|
|
1000
1001
|
// $FlowFixMe[method-unbinding] added when improving typing for this parameters
|
|
1001
1002
|
this._textInputFocusError,
|
|
1002
1003
|
this._inputMeasureAndScrollToKeyboard,
|
|
@@ -1075,8 +1076,8 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1075
1076
|
let keyboardScreenY = Dimensions.get('window').height;
|
|
1076
1077
|
|
|
1077
1078
|
const scrollTextInputIntoVisibleRect = () => {
|
|
1078
|
-
if (this.
|
|
1079
|
-
keyboardScreenY = this.
|
|
1079
|
+
if (this._keyboardMetrics != null) {
|
|
1080
|
+
keyboardScreenY = this._keyboardMetrics.screenY;
|
|
1080
1081
|
}
|
|
1081
1082
|
let scrollOffsetY =
|
|
1082
1083
|
top - keyboardScreenY + height + this._additionalScrollOffset;
|
|
@@ -1094,8 +1095,8 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1094
1095
|
this._preventNegativeScrollOffset = false;
|
|
1095
1096
|
};
|
|
1096
1097
|
|
|
1097
|
-
if (this.
|
|
1098
|
-
// `
|
|
1098
|
+
if (this._keyboardMetrics == null) {
|
|
1099
|
+
// `_keyboardMetrics` is set inside `scrollResponderKeyboardWillShow` which
|
|
1099
1100
|
// is not guaranteed to be called before `_inputMeasureAndScrollToKeyboard` but native has already scheduled it.
|
|
1100
1101
|
// In case it was not called before `_inputMeasureAndScrollToKeyboard`, we postpone scrolling to
|
|
1101
1102
|
// text input.
|
|
@@ -1107,7 +1108,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1107
1108
|
}
|
|
1108
1109
|
};
|
|
1109
1110
|
|
|
1110
|
-
_getKeyForIndex(index: $FlowFixMe, childArray: $FlowFixMe) {
|
|
1111
|
+
_getKeyForIndex(index: $FlowFixMe, childArray: $FlowFixMe): $FlowFixMe {
|
|
1111
1112
|
const child = childArray[index];
|
|
1112
1113
|
return child && child.key;
|
|
1113
1114
|
}
|
|
@@ -1204,7 +1205,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1204
1205
|
_scrollViewRef: ?React.ElementRef<HostComponent<mixed>> = null;
|
|
1205
1206
|
|
|
1206
1207
|
_innerViewRef: ?React.ElementRef<typeof View> = null;
|
|
1207
|
-
_setInnerViewRef = setAndForwardRef({
|
|
1208
|
+
_setInnerViewRef: $FlowFixMe = setAndForwardRef({
|
|
1208
1209
|
getForwardedRef: () => this.props.innerViewRef,
|
|
1209
1210
|
setLocalRef: ref => {
|
|
1210
1211
|
this._innerViewRef = ref;
|
|
@@ -1243,32 +1244,28 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1243
1244
|
scrollResponderKeyboardWillShow: (e: KeyboardEvent) => void = (
|
|
1244
1245
|
e: KeyboardEvent,
|
|
1245
1246
|
) => {
|
|
1246
|
-
this.
|
|
1247
|
+
this._keyboardMetrics = e.endCoordinates;
|
|
1247
1248
|
this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);
|
|
1248
1249
|
};
|
|
1249
1250
|
|
|
1250
1251
|
scrollResponderKeyboardWillHide: (e: KeyboardEvent) => void = (
|
|
1251
1252
|
e: KeyboardEvent,
|
|
1252
1253
|
) => {
|
|
1253
|
-
this.
|
|
1254
|
+
this._keyboardMetrics = null;
|
|
1254
1255
|
this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);
|
|
1255
1256
|
};
|
|
1256
1257
|
|
|
1257
1258
|
scrollResponderKeyboardDidShow: (e: KeyboardEvent) => void = (
|
|
1258
1259
|
e: KeyboardEvent,
|
|
1259
1260
|
) => {
|
|
1260
|
-
|
|
1261
|
-
// Use the one from WillShow and do not assign.
|
|
1262
|
-
if (e) {
|
|
1263
|
-
this._keyboardWillOpenTo = e;
|
|
1264
|
-
}
|
|
1261
|
+
this._keyboardMetrics = e.endCoordinates;
|
|
1265
1262
|
this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);
|
|
1266
1263
|
};
|
|
1267
1264
|
|
|
1268
1265
|
scrollResponderKeyboardDidHide: (e: KeyboardEvent) => void = (
|
|
1269
1266
|
e: KeyboardEvent,
|
|
1270
1267
|
) => {
|
|
1271
|
-
this.
|
|
1268
|
+
this._keyboardMetrics = null;
|
|
1272
1269
|
this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);
|
|
1273
1270
|
};
|
|
1274
1271
|
|
|
@@ -1385,6 +1382,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1385
1382
|
// if another touch occurs outside of it
|
|
1386
1383
|
const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();
|
|
1387
1384
|
if (
|
|
1385
|
+
currentlyFocusedTextInput != null &&
|
|
1388
1386
|
this.props.keyboardShouldPersistTaps !== true &&
|
|
1389
1387
|
this.props.keyboardShouldPersistTaps !== 'always' &&
|
|
1390
1388
|
this._keyboardIsDismissible() &&
|
|
@@ -1460,7 +1458,6 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1460
1458
|
}
|
|
1461
1459
|
|
|
1462
1460
|
const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
|
|
1463
|
-
|
|
1464
1461
|
if (
|
|
1465
1462
|
this.props.keyboardShouldPersistTaps === 'handled' &&
|
|
1466
1463
|
this._keyboardIsDismissible() &&
|
|
@@ -1514,6 +1511,11 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1514
1511
|
return false;
|
|
1515
1512
|
}
|
|
1516
1513
|
|
|
1514
|
+
// Let presses through if the soft keyboard is detached from the viewport
|
|
1515
|
+
if (this._softKeyboardIsDetached()) {
|
|
1516
|
+
return false;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1517
1519
|
if (
|
|
1518
1520
|
keyboardNeverPersistTaps &&
|
|
1519
1521
|
this._keyboardIsDismissible() &&
|
|
@@ -1544,14 +1546,28 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1544
1546
|
|
|
1545
1547
|
// Even if an input is focused, we may not have a keyboard to dismiss. E.g
|
|
1546
1548
|
// when using a physical keyboard. Ensure we have an event for an opened
|
|
1547
|
-
// keyboard
|
|
1548
|
-
// adjustNone leads to missing keyboard events.
|
|
1549
|
+
// keyboard.
|
|
1549
1550
|
const softKeyboardMayBeOpen =
|
|
1550
|
-
this.
|
|
1551
|
+
this._keyboardMetrics != null || this._keyboardEventsAreUnreliable();
|
|
1551
1552
|
|
|
1552
1553
|
return hasFocusedTextInput && softKeyboardMayBeOpen;
|
|
1553
1554
|
};
|
|
1554
1555
|
|
|
1556
|
+
/**
|
|
1557
|
+
* Whether an open soft keyboard is present which does not overlap the
|
|
1558
|
+
* viewport. E.g. for a VR soft-keyboard which is detached from the app
|
|
1559
|
+
* viewport.
|
|
1560
|
+
*/
|
|
1561
|
+
_softKeyboardIsDetached: () => boolean = () => {
|
|
1562
|
+
return this._keyboardMetrics != null && this._keyboardMetrics.height === 0;
|
|
1563
|
+
};
|
|
1564
|
+
|
|
1565
|
+
_keyboardEventsAreUnreliable: () => boolean = () => {
|
|
1566
|
+
// Android versions prior to API 30 rely on observing layout changes when
|
|
1567
|
+
// `android:windowSoftInputMode` is set to `adjustResize` or `adjustPan`.
|
|
1568
|
+
return Platform.OS === 'android' && Platform.Version < 30;
|
|
1569
|
+
};
|
|
1570
|
+
|
|
1555
1571
|
/**
|
|
1556
1572
|
* Invoke this from an `onTouchEnd` event.
|
|
1557
1573
|
*
|
|
@@ -1560,6 +1576,25 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1560
1576
|
_handleTouchEnd: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1561
1577
|
const nativeEvent = e.nativeEvent;
|
|
1562
1578
|
this._isTouching = nativeEvent.touches.length !== 0;
|
|
1579
|
+
|
|
1580
|
+
const {keyboardShouldPersistTaps} = this.props;
|
|
1581
|
+
const keyboardNeverPersistsTaps =
|
|
1582
|
+
!keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
|
|
1583
|
+
|
|
1584
|
+
// Dismiss the keyboard now if we didn't become responder in capture phase
|
|
1585
|
+
// to eat presses, but still want to dismiss on interaction.
|
|
1586
|
+
// Don't do anything if the target of the touch event is the current input.
|
|
1587
|
+
const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();
|
|
1588
|
+
if (
|
|
1589
|
+
currentlyFocusedTextInput != null &&
|
|
1590
|
+
e.target !== currentlyFocusedTextInput &&
|
|
1591
|
+
this._softKeyboardIsDetached() &&
|
|
1592
|
+
this._keyboardIsDismissible() &&
|
|
1593
|
+
keyboardNeverPersistsTaps
|
|
1594
|
+
) {
|
|
1595
|
+
TextInputState.blurTextInput(currentlyFocusedTextInput);
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1563
1598
|
this.props.onTouchEnd && this.props.onTouchEnd(e);
|
|
1564
1599
|
};
|
|
1565
1600
|
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
12
|
+
import type {Double} from '../../Types/CodegenTypes';
|
|
13
|
+
|
|
11
14
|
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
|
12
15
|
import * as React from 'react';
|
|
13
|
-
import type {Double} from 'react-native/Libraries/Types/CodegenTypes';
|
|
14
|
-
|
|
15
|
-
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
16
16
|
|
|
17
17
|
type ScrollViewNativeComponentType = HostComponent<mixed>;
|
|
18
18
|
interface NativeCommands {
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';
|
|
12
11
|
import type {
|
|
13
12
|
HostComponent,
|
|
14
13
|
PartialViewConfig,
|
|
15
14
|
} from '../../Renderer/shims/ReactNativeTypes';
|
|
15
|
+
import type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';
|
|
16
|
+
|
|
16
17
|
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
|
17
18
|
import {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';
|
|
18
19
|
import Platform from '../../Utilities/Platform';
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import type {ViewProps} from '../View/ViewPropTypes';
|
|
14
|
-
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
15
13
|
import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
16
|
-
import type {ScrollEvent} from '../../Types/CoreEventTypes';
|
|
17
14
|
import type {PointProp} from '../../StyleSheet/PointPropType';
|
|
15
|
+
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
16
|
+
import type {ScrollEvent} from '../../Types/CoreEventTypes';
|
|
17
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
18
18
|
|
|
19
19
|
export type ScrollViewNativeProps = $ReadOnly<{
|
|
20
20
|
...ViewProps,
|