@office-iss/react-native-win32 0.78.3 → 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 +159 -46
- package/CHANGELOG.md +49 -26
- 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 -24
- 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
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {
|
|
12
|
+
MeasureInWindowOnSuccessCallback,
|
|
13
|
+
MeasureLayoutOnSuccessCallback,
|
|
14
|
+
MeasureOnSuccessCallback,
|
|
15
|
+
} from '../../../src/private/types/HostInstance';
|
|
16
|
+
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
17
|
+
import type {NativeSyntheticEvent} from '../../Types/CoreEventTypes';
|
|
18
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
19
|
+
|
|
20
|
+
import * as React from 'react';
|
|
21
|
+
|
|
22
|
+
export type DrawerStates = 'Idle' | 'Dragging' | 'Settling';
|
|
23
|
+
|
|
24
|
+
export type DrawerSlideEvent = NativeSyntheticEvent<
|
|
25
|
+
$ReadOnly<{
|
|
26
|
+
offset: number,
|
|
27
|
+
}>,
|
|
28
|
+
>;
|
|
29
|
+
|
|
30
|
+
export type DrawerLayoutAndroidProps = $ReadOnly<{
|
|
31
|
+
...ViewProps,
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Determines whether the keyboard gets dismissed in response to a drag.
|
|
35
|
+
* - 'none' (the default), drags do not dismiss the keyboard.
|
|
36
|
+
* - 'on-drag', the keyboard is dismissed when a drag begins.
|
|
37
|
+
*/
|
|
38
|
+
keyboardDismissMode?: ?('none' | 'on-drag'),
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Specifies the background color of the drawer. The default value is white.
|
|
42
|
+
* If you want to set the opacity of the drawer, use rgba. Example:
|
|
43
|
+
*
|
|
44
|
+
* ```
|
|
45
|
+
* return (
|
|
46
|
+
* <DrawerLayoutAndroid drawerBackgroundColor="rgba(0,0,0,0.5)">
|
|
47
|
+
* </DrawerLayoutAndroid>
|
|
48
|
+
* );
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
drawerBackgroundColor?: ?ColorValue,
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Specifies the side of the screen from which the drawer will slide in.
|
|
55
|
+
*/
|
|
56
|
+
drawerPosition: ?('left' | 'right'),
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Specifies the width of the drawer, more precisely the width of the view that be pulled in
|
|
60
|
+
* from the edge of the window.
|
|
61
|
+
*/
|
|
62
|
+
drawerWidth?: ?number,
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Specifies the lock mode of the drawer. The drawer can be locked in 3 states:
|
|
66
|
+
* - unlocked (default), meaning that the drawer will respond (open/close) to touch gestures.
|
|
67
|
+
* - locked-closed, meaning that the drawer will stay closed and not respond to gestures.
|
|
68
|
+
* - locked-open, meaning that the drawer will stay opened and not respond to gestures.
|
|
69
|
+
* The drawer may still be opened and closed programmatically (`openDrawer`/`closeDrawer`).
|
|
70
|
+
*/
|
|
71
|
+
drawerLockMode?: ?('unlocked' | 'locked-closed' | 'locked-open'),
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Function called whenever there is an interaction with the navigation view.
|
|
75
|
+
*/
|
|
76
|
+
onDrawerSlide?: ?(event: DrawerSlideEvent) => mixed,
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Function called when the drawer state has changed. The drawer can be in 3 states:
|
|
80
|
+
* - Idle, meaning there is no interaction with the navigation view happening at the time
|
|
81
|
+
* - Dragging, meaning there is currently an interaction with the navigation view
|
|
82
|
+
* - Settling, meaning that there was an interaction with the navigation view, and the
|
|
83
|
+
* navigation view is now finishing its closing or opening animation
|
|
84
|
+
*/
|
|
85
|
+
onDrawerStateChanged?: ?(state: DrawerStates) => mixed,
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Function called whenever the navigation view has been opened.
|
|
89
|
+
*/
|
|
90
|
+
onDrawerOpen?: ?() => mixed,
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Function called whenever the navigation view has been closed.
|
|
94
|
+
*/
|
|
95
|
+
onDrawerClose?: ?() => mixed,
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* The navigation view that will be rendered to the side of the screen and can be pulled in.
|
|
99
|
+
*/
|
|
100
|
+
renderNavigationView: () => React.MixedElement,
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Make the drawer take the entire screen and draw the background of the
|
|
104
|
+
* status bar to allow it to open over the status bar. It will only have an
|
|
105
|
+
* effect on API 21+.
|
|
106
|
+
*/
|
|
107
|
+
statusBarBackgroundColor?: ?ColorValue,
|
|
108
|
+
}>;
|
|
109
|
+
|
|
110
|
+
export type DrawerLayoutAndroidState = {
|
|
111
|
+
drawerOpened: boolean,
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export interface DrawerLayoutAndroidMethods {
|
|
115
|
+
/**
|
|
116
|
+
* Opens the drawer.
|
|
117
|
+
*/
|
|
118
|
+
openDrawer(): void;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Closes the drawer.
|
|
122
|
+
*/
|
|
123
|
+
closeDrawer(): void;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Native methods
|
|
127
|
+
*/
|
|
128
|
+
blur(): void;
|
|
129
|
+
focus(): void;
|
|
130
|
+
measure(callback: MeasureOnSuccessCallback): void;
|
|
131
|
+
measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;
|
|
132
|
+
measureLayout(
|
|
133
|
+
relativeToNativeNode: number,
|
|
134
|
+
onSuccess: MeasureLayoutOnSuccessCallback,
|
|
135
|
+
onFail?: () => void,
|
|
136
|
+
): void;
|
|
137
|
+
setNativeProps(nativeProps: Object): void;
|
|
138
|
+
}
|
|
@@ -25,32 +25,32 @@ export type KeyboardEventEasing =
|
|
|
25
25
|
| 'linear'
|
|
26
26
|
| 'keyboard';
|
|
27
27
|
|
|
28
|
-
export type KeyboardMetrics = $ReadOnly<{
|
|
28
|
+
export type KeyboardMetrics = $ReadOnly<{
|
|
29
29
|
screenX: number,
|
|
30
30
|
screenY: number,
|
|
31
31
|
width: number,
|
|
32
32
|
height: number,
|
|
33
|
-
|
|
33
|
+
}>;
|
|
34
34
|
|
|
35
35
|
export type KeyboardEvent = AndroidKeyboardEvent | IOSKeyboardEvent;
|
|
36
36
|
|
|
37
|
-
type BaseKeyboardEvent = {
|
|
37
|
+
type BaseKeyboardEvent = {
|
|
38
38
|
duration: number,
|
|
39
39
|
easing: KeyboardEventEasing,
|
|
40
40
|
endCoordinates: KeyboardMetrics,
|
|
41
|
-
|
|
41
|
+
};
|
|
42
42
|
|
|
43
|
-
export type AndroidKeyboardEvent = $ReadOnly<{
|
|
43
|
+
export type AndroidKeyboardEvent = $ReadOnly<{
|
|
44
44
|
...BaseKeyboardEvent,
|
|
45
45
|
duration: 0,
|
|
46
46
|
easing: 'keyboard',
|
|
47
|
-
|
|
47
|
+
}>;
|
|
48
48
|
|
|
49
|
-
export type IOSKeyboardEvent = $ReadOnly<{
|
|
49
|
+
export type IOSKeyboardEvent = $ReadOnly<{
|
|
50
50
|
...BaseKeyboardEvent,
|
|
51
51
|
startCoordinates: KeyboardMetrics,
|
|
52
52
|
isEventFromThisApp: boolean,
|
|
53
|
-
|
|
53
|
+
}>;
|
|
54
54
|
|
|
55
55
|
type KeyboardEventDefinitions = {
|
|
56
56
|
keyboardWillShow: [KeyboardEvent],
|
|
@@ -202,4 +202,4 @@ class Keyboard {
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
|
|
205
|
+
export default (new Keyboard(): Keyboard);
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
12
|
-
import type {DimensionsPayload} from '../../Utilities/NativeDeviceInfo';
|
|
13
12
|
import type {
|
|
14
13
|
ViewLayout,
|
|
15
14
|
ViewLayoutEvent,
|
|
@@ -19,7 +18,6 @@ import type {KeyboardEvent, KeyboardMetrics} from './Keyboard';
|
|
|
19
18
|
|
|
20
19
|
import LayoutAnimation from '../../LayoutAnimation/LayoutAnimation';
|
|
21
20
|
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
22
|
-
import Dimensions from '../../Utilities/Dimensions';
|
|
23
21
|
import Platform from '../../Utilities/Platform';
|
|
24
22
|
import {type EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
25
23
|
import AccessibilityInfo from '../AccessibilityInfo/AccessibilityInfo';
|
|
@@ -27,7 +25,7 @@ import View from '../View/View';
|
|
|
27
25
|
import Keyboard from './Keyboard';
|
|
28
26
|
import * as React from 'react';
|
|
29
27
|
|
|
30
|
-
type
|
|
28
|
+
export type KeyboardAvoidingViewProps = $ReadOnly<{
|
|
31
29
|
...ViewProps,
|
|
32
30
|
|
|
33
31
|
/**
|
|
@@ -51,26 +49,28 @@ type Props = $ReadOnly<{|
|
|
|
51
49
|
* may be non-zero in some cases. Defaults to 0.
|
|
52
50
|
*/
|
|
53
51
|
keyboardVerticalOffset?: number,
|
|
54
|
-
|
|
52
|
+
}>;
|
|
55
53
|
|
|
56
|
-
type State = {
|
|
54
|
+
type State = {
|
|
57
55
|
bottom: number,
|
|
58
|
-
|
|
56
|
+
};
|
|
59
57
|
|
|
60
58
|
/**
|
|
61
59
|
* View that moves out of the way when the keyboard appears by automatically
|
|
62
60
|
* adjusting its height, position, or bottom padding.
|
|
63
61
|
*/
|
|
64
|
-
class KeyboardAvoidingView extends React.Component<
|
|
62
|
+
class KeyboardAvoidingView extends React.Component<
|
|
63
|
+
KeyboardAvoidingViewProps,
|
|
64
|
+
State,
|
|
65
|
+
> {
|
|
65
66
|
_frame: ?ViewLayout = null;
|
|
66
67
|
_keyboardEvent: ?KeyboardEvent = null;
|
|
67
68
|
_subscriptions: Array<EventSubscription> = [];
|
|
68
69
|
viewRef: {current: React.ElementRef<typeof View> | null, ...};
|
|
69
70
|
_initialFrameHeight: number = 0;
|
|
70
71
|
_bottom: number = 0;
|
|
71
|
-
_windowWidth: number = Dimensions.get('window').width;
|
|
72
72
|
|
|
73
|
-
constructor(props:
|
|
73
|
+
constructor(props: KeyboardAvoidingViewProps) {
|
|
74
74
|
super(props);
|
|
75
75
|
this.state = {bottom: 0};
|
|
76
76
|
this.viewRef = React.createRef();
|
|
@@ -115,6 +115,12 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
115
115
|
this._updateBottomIfNecessary();
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
+
_onKeyboardHide = (event: ?KeyboardEvent) => {
|
|
119
|
+
this._keyboardEvent = null;
|
|
120
|
+
// $FlowFixMe[unused-promise]
|
|
121
|
+
this._updateBottomIfNecessary();
|
|
122
|
+
};
|
|
123
|
+
|
|
118
124
|
_onLayout = async (event: ViewLayoutEvent) => {
|
|
119
125
|
event.persist();
|
|
120
126
|
|
|
@@ -135,10 +141,6 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
135
141
|
}
|
|
136
142
|
};
|
|
137
143
|
|
|
138
|
-
_onDimensionsChange = ({window}: DimensionsPayload) => {
|
|
139
|
-
this._windowWidth = window?.width ?? 0;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
144
|
// Avoid unnecessary renders if the KeyboardAvoidingView is disabled.
|
|
143
145
|
_setBottom = (value: number) => {
|
|
144
146
|
const enabled = this.props.enabled ?? true;
|
|
@@ -154,15 +156,6 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
154
156
|
return;
|
|
155
157
|
}
|
|
156
158
|
|
|
157
|
-
if (
|
|
158
|
-
Platform.OS === 'ios' &&
|
|
159
|
-
this._windowWidth !== this._keyboardEvent.endCoordinates.width
|
|
160
|
-
) {
|
|
161
|
-
// The keyboard is not the standard bottom-of-the-screen keyboard. For example, floating keyboard on iPadOS.
|
|
162
|
-
this._setBottom(0);
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
159
|
const {duration, easing, endCoordinates} = this._keyboardEvent;
|
|
167
160
|
const height = await this._relativeKeyboardHeight(endCoordinates);
|
|
168
161
|
|
|
@@ -185,7 +178,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
185
178
|
}
|
|
186
179
|
};
|
|
187
180
|
|
|
188
|
-
componentDidUpdate(_:
|
|
181
|
+
componentDidUpdate(_: KeyboardAvoidingViewProps, prevState: State): void {
|
|
189
182
|
const enabled = this.props.enabled ?? true;
|
|
190
183
|
if (enabled && this._bottom !== prevState.bottom) {
|
|
191
184
|
this.setState({bottom: this._bottom});
|
|
@@ -200,8 +193,14 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
|
|
|
200
193
|
|
|
201
194
|
if (Platform.OS === 'ios') {
|
|
202
195
|
this._subscriptions = [
|
|
203
|
-
|
|
204
|
-
|
|
196
|
+
// When undocked, split or floating, iOS will emit
|
|
197
|
+
// UIKeyboardWillHideNotification notification.
|
|
198
|
+
// UIKeyboardWillChangeFrameNotification will be emitted before
|
|
199
|
+
// UIKeyboardWillHideNotification, so we need to listen to
|
|
200
|
+
// keyboardWillHide and keyboardWillShow instead of
|
|
201
|
+
// keyboardWillChangeFrame.
|
|
202
|
+
Keyboard.addListener('keyboardWillHide', this._onKeyboardHide),
|
|
203
|
+
Keyboard.addListener('keyboardWillShow', this._onKeyboardChange),
|
|
205
204
|
];
|
|
206
205
|
} else {
|
|
207
206
|
this._subscriptions = [
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../../src/private/
|
|
12
|
-
import NativeKeyboardObserver from '../../../src/private/
|
|
11
|
+
export * from '../../../src/private/specs_DEPRECATED/modules/NativeKeyboardObserver';
|
|
12
|
+
import NativeKeyboardObserver from '../../../src/private/specs_DEPRECATED/modules/NativeKeyboardObserver';
|
|
13
13
|
export default NativeKeyboardObserver;
|
|
@@ -13,7 +13,7 @@ import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
|
13
13
|
import LayoutConformanceNativeComponent from './LayoutConformanceNativeComponent';
|
|
14
14
|
import * as React from 'react';
|
|
15
15
|
|
|
16
|
-
type
|
|
16
|
+
export type LayoutConformanceProps = $ReadOnly<{
|
|
17
17
|
/**
|
|
18
18
|
* strict: Layout in accordance with W3C spec, even when breaking
|
|
19
19
|
* compatibility: Layout with the same behavior as previous versions of React Native
|
|
@@ -29,15 +29,17 @@ type Props = $ReadOnly<{
|
|
|
29
29
|
// degrade the error experience).
|
|
30
30
|
const isFabricUIManagerInstalled = global?.nativeFabricUIManager != null;
|
|
31
31
|
|
|
32
|
-
function LayoutConformance(props:
|
|
32
|
+
function LayoutConformance(props: LayoutConformanceProps): React.Node {
|
|
33
33
|
return (
|
|
34
34
|
<LayoutConformanceNativeComponent {...props} style={styles.container} />
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
function UnimplementedLayoutConformance(
|
|
38
|
+
function UnimplementedLayoutConformance(
|
|
39
|
+
props: LayoutConformanceProps,
|
|
40
|
+
): React.Node {
|
|
39
41
|
if (__DEV__) {
|
|
40
|
-
const warnOnce = require('../../Utilities/warnOnce');
|
|
42
|
+
const warnOnce = require('../../Utilities/warnOnce').default;
|
|
41
43
|
|
|
42
44
|
warnOnce(
|
|
43
45
|
'layoutconformance-unsupported',
|
|
@@ -50,7 +52,7 @@ function UnimplementedLayoutConformance(props: Props): React.Node {
|
|
|
50
52
|
|
|
51
53
|
export default (isFabricUIManagerInstalled
|
|
52
54
|
? LayoutConformance
|
|
53
|
-
: UnimplementedLayoutConformance) as component(...
|
|
55
|
+
: UnimplementedLayoutConformance) as component(...LayoutConformanceProps);
|
|
54
56
|
|
|
55
57
|
const styles = StyleSheet.create({
|
|
56
58
|
container: {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {HostComponent} from '
|
|
11
|
+
import type {HostComponent} from '../../../src/private/types/HostComponent';
|
|
12
12
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
13
13
|
|
|
14
14
|
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
|
@@ -9,17 +9,11 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {
|
|
12
|
-
|
|
12
|
+
GestureResponderEvent,
|
|
13
|
+
LayoutChangeEvent,
|
|
13
14
|
MouseEvent,
|
|
14
|
-
PressEvent,
|
|
15
15
|
} from '../../Types/CoreEventTypes';
|
|
16
|
-
import type {
|
|
17
|
-
AccessibilityActionEvent,
|
|
18
|
-
AccessibilityActionInfo,
|
|
19
|
-
AccessibilityRole,
|
|
20
|
-
AccessibilityState,
|
|
21
|
-
AccessibilityValue,
|
|
22
|
-
} from '../View/ViewAccessibility';
|
|
16
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
23
17
|
|
|
24
18
|
import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
25
19
|
import usePressability from '../../Pressability/usePressability';
|
|
@@ -27,59 +21,18 @@ import {type RectOrSize} from '../../StyleSheet/Rect';
|
|
|
27
21
|
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
28
22
|
import View from '../View/View';
|
|
29
23
|
import useAndroidRippleForView, {
|
|
30
|
-
type
|
|
24
|
+
type PressableAndroidRippleConfig,
|
|
31
25
|
} from './useAndroidRippleForView';
|
|
32
26
|
import * as React from 'react';
|
|
33
27
|
import {useMemo, useRef, useState} from 'react';
|
|
34
28
|
|
|
35
29
|
type ViewStyleProp = $ElementType<React.ElementConfig<typeof View>, 'style'>;
|
|
36
30
|
|
|
37
|
-
export type
|
|
31
|
+
export type PressableStateCallbackType = $ReadOnly<{
|
|
38
32
|
pressed: boolean,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
type Props = $ReadOnly<{|
|
|
42
|
-
/**
|
|
43
|
-
* Accessibility.
|
|
44
|
-
*/
|
|
45
|
-
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
46
|
-
accessibilityElementsHidden?: ?boolean,
|
|
47
|
-
accessibilityHint?: ?Stringish,
|
|
48
|
-
accessibilityLanguage?: ?Stringish,
|
|
49
|
-
accessibilityIgnoresInvertColors?: ?boolean,
|
|
50
|
-
accessibilityLabel?: ?Stringish,
|
|
51
|
-
accessibilityLiveRegion?: ?('none' | 'polite' | 'assertive'),
|
|
52
|
-
accessibilityRole?: ?AccessibilityRole,
|
|
53
|
-
accessibilityState?: ?AccessibilityState,
|
|
54
|
-
accessibilityValue?: ?AccessibilityValue,
|
|
55
|
-
'aria-valuemax'?: AccessibilityValue['max'],
|
|
56
|
-
'aria-valuemin'?: AccessibilityValue['min'],
|
|
57
|
-
'aria-valuenow'?: AccessibilityValue['now'],
|
|
58
|
-
'aria-valuetext'?: AccessibilityValue['text'],
|
|
59
|
-
accessibilityViewIsModal?: ?boolean,
|
|
60
|
-
'aria-modal'?: ?boolean,
|
|
61
|
-
accessible?: ?boolean,
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* alias for accessibilityState
|
|
65
|
-
*
|
|
66
|
-
* see https://reactnative.dev/docs/accessibility#accessibilitystate
|
|
67
|
-
*/
|
|
68
|
-
'aria-busy'?: ?boolean,
|
|
69
|
-
'aria-checked'?: ?boolean | 'mixed',
|
|
70
|
-
'aria-disabled'?: ?boolean,
|
|
71
|
-
'aria-expanded'?: ?boolean,
|
|
72
|
-
'aria-selected'?: ?boolean,
|
|
73
|
-
/**
|
|
74
|
-
* A value indicating whether the accessibility elements contained within
|
|
75
|
-
* this accessibility element are hidden.
|
|
76
|
-
*/
|
|
77
|
-
'aria-hidden'?: ?boolean,
|
|
78
|
-
'aria-live'?: ?('polite' | 'assertive' | 'off'),
|
|
79
|
-
focusable?: ?boolean,
|
|
80
|
-
importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
|
|
81
|
-
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
|
33
|
+
}>;
|
|
82
34
|
|
|
35
|
+
type PressableBaseProps = $ReadOnly<{
|
|
83
36
|
/**
|
|
84
37
|
* Whether a press gesture can be interrupted by a parent gesture such as a
|
|
85
38
|
* scroll event. Defaults to true.
|
|
@@ -90,7 +43,7 @@ type Props = $ReadOnly<{|
|
|
|
90
43
|
* Either children or a render prop that receives a boolean reflecting whether
|
|
91
44
|
* the component is currently pressed.
|
|
92
45
|
*/
|
|
93
|
-
children: React.Node | ((state:
|
|
46
|
+
children: React.Node | ((state: PressableStateCallbackType) => React.Node),
|
|
94
47
|
|
|
95
48
|
/**
|
|
96
49
|
* Duration to wait after hover in before calling `onHoverIn`.
|
|
@@ -126,7 +79,7 @@ type Props = $ReadOnly<{|
|
|
|
126
79
|
/**
|
|
127
80
|
* Called when this view's layout changes.
|
|
128
81
|
*/
|
|
129
|
-
onLayout?: ?(event:
|
|
82
|
+
onLayout?: ?(event: LayoutChangeEvent) => mixed,
|
|
130
83
|
|
|
131
84
|
/**
|
|
132
85
|
* Called when the hover is activated to provide visual feedback.
|
|
@@ -141,28 +94,30 @@ type Props = $ReadOnly<{|
|
|
|
141
94
|
/**
|
|
142
95
|
* Called when a long-tap gesture is detected.
|
|
143
96
|
*/
|
|
144
|
-
onLongPress?: ?(event:
|
|
97
|
+
onLongPress?: ?(event: GestureResponderEvent) => mixed,
|
|
145
98
|
|
|
146
99
|
/**
|
|
147
100
|
* Called when a single tap gesture is detected.
|
|
148
101
|
*/
|
|
149
|
-
onPress?: ?(event:
|
|
102
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
150
103
|
|
|
151
104
|
/**
|
|
152
105
|
* Called when a touch is engaged before `onPress`.
|
|
153
106
|
*/
|
|
154
|
-
onPressIn?: ?(event:
|
|
107
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
155
108
|
|
|
156
109
|
/**
|
|
157
110
|
* Called when a touch is released before `onPress`.
|
|
158
111
|
*/
|
|
159
|
-
onPressOut?: ?(event:
|
|
112
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
160
113
|
|
|
161
114
|
/**
|
|
162
115
|
* Either view styles or a function that receives a boolean reflecting whether
|
|
163
116
|
* the component is currently pressed and returns view styles.
|
|
164
117
|
*/
|
|
165
|
-
style?:
|
|
118
|
+
style?:
|
|
119
|
+
| ViewStyleProp
|
|
120
|
+
| ((state: PressableStateCallbackType) => ViewStyleProp),
|
|
166
121
|
|
|
167
122
|
/**
|
|
168
123
|
* Identifier used to find this view in tests.
|
|
@@ -177,7 +132,7 @@ type Props = $ReadOnly<{|
|
|
|
177
132
|
/**
|
|
178
133
|
* Enables the Android ripple effect and configures its color.
|
|
179
134
|
*/
|
|
180
|
-
android_ripple?: ?
|
|
135
|
+
android_ripple?: ?PressableAndroidRippleConfig,
|
|
181
136
|
|
|
182
137
|
/**
|
|
183
138
|
* Used only for documentation or testing (e.g. snapshot testing).
|
|
@@ -188,12 +143,12 @@ type Props = $ReadOnly<{|
|
|
|
188
143
|
* Duration to wait after press down before calling `onPressIn`.
|
|
189
144
|
*/
|
|
190
145
|
unstable_pressDelay?: ?number,
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
146
|
+
}>;
|
|
147
|
+
|
|
148
|
+
export type PressableProps = $ReadOnly<{
|
|
149
|
+
...ViewProps,
|
|
150
|
+
...PressableBaseProps,
|
|
151
|
+
}>;
|
|
197
152
|
|
|
198
153
|
type Instance = React.ElementRef<typeof View>;
|
|
199
154
|
|
|
@@ -202,7 +157,7 @@ type Instance = React.ElementRef<typeof View>;
|
|
|
202
157
|
* component is currently pressed or not.
|
|
203
158
|
*/
|
|
204
159
|
function Pressable(
|
|
205
|
-
props:
|
|
160
|
+
props: PressableProps,
|
|
206
161
|
forwardedRef: React.RefSetter<Instance>,
|
|
207
162
|
): React.Node {
|
|
208
163
|
const {
|
|
@@ -299,7 +254,7 @@ function Pressable(
|
|
|
299
254
|
onHoverOut,
|
|
300
255
|
onLongPress,
|
|
301
256
|
onPress,
|
|
302
|
-
onPressIn(event:
|
|
257
|
+
onPressIn(event: GestureResponderEvent): void {
|
|
303
258
|
if (android_rippleConfig != null) {
|
|
304
259
|
android_rippleConfig.onPressIn(event);
|
|
305
260
|
}
|
|
@@ -309,7 +264,7 @@ function Pressable(
|
|
|
309
264
|
}
|
|
310
265
|
},
|
|
311
266
|
onPressMove: android_rippleConfig?.onPressMove,
|
|
312
|
-
onPressOut(event:
|
|
267
|
+
onPressOut(event: GestureResponderEvent): void {
|
|
313
268
|
if (android_rippleConfig != null) {
|
|
314
269
|
android_rippleConfig.onPressOut(event);
|
|
315
270
|
}
|
|
@@ -364,6 +319,6 @@ const MemoedPressable = React.memo(React.forwardRef(Pressable));
|
|
|
364
319
|
MemoedPressable.displayName = 'Pressable';
|
|
365
320
|
|
|
366
321
|
export default (MemoedPressable: component(
|
|
367
|
-
ref
|
|
368
|
-
...props:
|
|
322
|
+
ref?: React.RefSetter<React.ElementRef<typeof View>>,
|
|
323
|
+
...props: PressableProps
|
|
369
324
|
));
|