@office-iss/react-native-win32 0.78.4 → 0.79.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +4 -1
- package/CHANGELOG.json +166 -53
- package/CHANGELOG.md +53 -30
- 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/Tests/TextInputTest.d.ts +1 -2
- package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
- package/Libraries/Components/TextInput/TextInput.js +149 -146
- package/Libraries/Components/TextInput/TextInput.win32.js +151 -148
- 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/Tests/TouchableWin32Test.d.ts +1 -2
- package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +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 +4 -6
- 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 +2 -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 +5 -7
- 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/Tests/ImageWin32Test.d.ts +1 -2
- package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -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 +26 -26
- 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/TextInput/Tests/TextInputTest.tsx +7 -7
- package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +3 -3
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +1 -1
- 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
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
12
12
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
13
|
-
import type {
|
|
13
|
+
import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
|
|
14
14
|
|
|
15
15
|
import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
16
16
|
import UIManager from '../../ReactNative/UIManager';
|
|
@@ -21,9 +21,9 @@ import Position from './Position';
|
|
|
21
21
|
import * as React from 'react';
|
|
22
22
|
|
|
23
23
|
const extractSingleTouch = (nativeEvent: {
|
|
24
|
+
+changedTouches: $ReadOnlyArray<GestureResponderEvent['nativeEvent']>,
|
|
24
25
|
+altKey: ?boolean,
|
|
25
26
|
+button: ?number,
|
|
26
|
-
+changedTouches: $ReadOnlyArray<PressEvent['nativeEvent']>,
|
|
27
27
|
+ctrlKey: ?boolean,
|
|
28
28
|
+force?: number,
|
|
29
29
|
+identifier: number,
|
|
@@ -35,7 +35,7 @@ const extractSingleTouch = (nativeEvent: {
|
|
|
35
35
|
+shiftKey: ?boolean,
|
|
36
36
|
+target: ?number,
|
|
37
37
|
+timestamp: number,
|
|
38
|
-
+touches: $ReadOnlyArray<
|
|
38
|
+
+touches: $ReadOnlyArray<GestureResponderEvent['nativeEvent']>,
|
|
39
39
|
}) => {
|
|
40
40
|
const touches = nativeEvent.touches;
|
|
41
41
|
const changedTouches = nativeEvent.changedTouches;
|
|
@@ -375,7 +375,7 @@ const LONG_PRESS_ALLOWED_MOVEMENT = 10;
|
|
|
375
375
|
*
|
|
376
376
|
* @lends Touchable.prototype
|
|
377
377
|
*/
|
|
378
|
-
const
|
|
378
|
+
const TouchableMixinImpl = {
|
|
379
379
|
componentDidMount: function () {
|
|
380
380
|
if (!Platform.isTV) {
|
|
381
381
|
return;
|
|
@@ -403,7 +403,7 @@ const TouchableMixin = {
|
|
|
403
403
|
touchableGetInitialState: function (): {
|
|
404
404
|
touchable: {
|
|
405
405
|
touchState: ?State,
|
|
406
|
-
responderID: ?
|
|
406
|
+
responderID: ?GestureResponderEvent['currentTarget'],
|
|
407
407
|
},
|
|
408
408
|
} {
|
|
409
409
|
return {
|
|
@@ -439,12 +439,12 @@ const TouchableMixin = {
|
|
|
439
439
|
|
|
440
440
|
/**
|
|
441
441
|
* Place as callback for a DOM element's `onResponderGrant` event.
|
|
442
|
-
* @param {
|
|
442
|
+
* @param {NativeSyntheticEvent} e Synthetic event from event system.
|
|
443
443
|
*
|
|
444
444
|
*/
|
|
445
445
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
446
446
|
* Flow's LTI update could not be added via codemod */
|
|
447
|
-
touchableHandleResponderGrant: function (e:
|
|
447
|
+
touchableHandleResponderGrant: function (e: GestureResponderEvent) {
|
|
448
448
|
const dispatchID = e.currentTarget;
|
|
449
449
|
// Since e is used in a callback invoked on another event loop
|
|
450
450
|
// (as in setTimeout etc), we need to call e.persist() on the
|
|
@@ -487,7 +487,7 @@ const TouchableMixin = {
|
|
|
487
487
|
*/
|
|
488
488
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
489
489
|
* Flow's LTI update could not be added via codemod */
|
|
490
|
-
touchableHandleResponderRelease: function (e:
|
|
490
|
+
touchableHandleResponderRelease: function (e: GestureResponderEvent) {
|
|
491
491
|
this.pressInLocation = null;
|
|
492
492
|
this._receiveSignal(Signals.RESPONDER_RELEASE, e);
|
|
493
493
|
},
|
|
@@ -497,7 +497,7 @@ const TouchableMixin = {
|
|
|
497
497
|
*/
|
|
498
498
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
499
499
|
* Flow's LTI update could not be added via codemod */
|
|
500
|
-
touchableHandleResponderTerminate: function (e:
|
|
500
|
+
touchableHandleResponderTerminate: function (e: GestureResponderEvent) {
|
|
501
501
|
this.pressInLocation = null;
|
|
502
502
|
this._receiveSignal(Signals.RESPONDER_TERMINATED, e);
|
|
503
503
|
},
|
|
@@ -507,7 +507,7 @@ const TouchableMixin = {
|
|
|
507
507
|
*/
|
|
508
508
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
509
509
|
* Flow's LTI update could not be added via codemod */
|
|
510
|
-
touchableHandleResponderMove: function (e:
|
|
510
|
+
touchableHandleResponderMove: function (e: GestureResponderEvent) {
|
|
511
511
|
// Measurement may not have returned yet.
|
|
512
512
|
if (!this.state.touchable.positionOnActivate) {
|
|
513
513
|
return;
|
|
@@ -737,14 +737,14 @@ const TouchableMixin = {
|
|
|
737
737
|
|
|
738
738
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
739
739
|
* Flow's LTI update could not be added via codemod */
|
|
740
|
-
_handleDelay: function (e:
|
|
740
|
+
_handleDelay: function (e: GestureResponderEvent) {
|
|
741
741
|
this.touchableDelayTimeout = null;
|
|
742
742
|
this._receiveSignal(Signals.DELAY, e);
|
|
743
743
|
},
|
|
744
744
|
|
|
745
745
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
746
746
|
* Flow's LTI update could not be added via codemod */
|
|
747
|
-
_handleLongDelay: function (e:
|
|
747
|
+
_handleLongDelay: function (e: GestureResponderEvent) {
|
|
748
748
|
this.longPressDelayTimeout = null;
|
|
749
749
|
const curState = this.state.touchable.touchState;
|
|
750
750
|
if (
|
|
@@ -765,7 +765,7 @@ const TouchableMixin = {
|
|
|
765
765
|
*/
|
|
766
766
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
767
767
|
* Flow's LTI update could not be added via codemod */
|
|
768
|
-
_receiveSignal: function (signal: Signal, e:
|
|
768
|
+
_receiveSignal: function (signal: Signal, e: GestureResponderEvent) {
|
|
769
769
|
const responderID = this.state.touchable.responderID;
|
|
770
770
|
const curState = this.state.touchable.touchState;
|
|
771
771
|
const nextState = Transitions[curState] && Transitions[curState][signal];
|
|
@@ -820,7 +820,7 @@ const TouchableMixin = {
|
|
|
820
820
|
|
|
821
821
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
822
822
|
* Flow's LTI update could not be added via codemod */
|
|
823
|
-
_savePressInLocation: function (e:
|
|
823
|
+
_savePressInLocation: function (e: GestureResponderEvent) {
|
|
824
824
|
const touch = extractSingleTouch(e.nativeEvent);
|
|
825
825
|
const pageX = touch && touch.pageX;
|
|
826
826
|
const pageY = touch && touch.pageY;
|
|
@@ -857,7 +857,7 @@ const TouchableMixin = {
|
|
|
857
857
|
curState: State,
|
|
858
858
|
nextState: State,
|
|
859
859
|
signal: Signal,
|
|
860
|
-
e:
|
|
860
|
+
e: GestureResponderEvent,
|
|
861
861
|
) {
|
|
862
862
|
const curIsHighlight = this._isHighlight(curState);
|
|
863
863
|
const newIsHighlight = this._isHighlight(nextState);
|
|
@@ -916,14 +916,14 @@ const TouchableMixin = {
|
|
|
916
916
|
|
|
917
917
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
918
918
|
* Flow's LTI update could not be added via codemod */
|
|
919
|
-
_startHighlight: function (e:
|
|
919
|
+
_startHighlight: function (e: GestureResponderEvent) {
|
|
920
920
|
this._savePressInLocation(e);
|
|
921
921
|
this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);
|
|
922
922
|
},
|
|
923
923
|
|
|
924
924
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
925
925
|
* Flow's LTI update could not be added via codemod */
|
|
926
|
-
_endHighlight: function (e:
|
|
926
|
+
_endHighlight: function (e: GestureResponderEvent) {
|
|
927
927
|
if (this.touchableHandleActivePressOut) {
|
|
928
928
|
if (
|
|
929
929
|
this.touchableGetPressOutDelayMS &&
|
|
@@ -951,12 +951,12 @@ const {
|
|
|
951
951
|
touchableHandleFocus,
|
|
952
952
|
touchableHandleBlur,
|
|
953
953
|
...TouchableMixinWithoutDefaultFocusAndBlur
|
|
954
|
-
} =
|
|
955
|
-
|
|
954
|
+
} = TouchableMixinImpl;
|
|
955
|
+
TouchableMixinImpl.withoutDefaultFocusAndBlur =
|
|
956
956
|
TouchableMixinWithoutDefaultFocusAndBlur;
|
|
957
957
|
|
|
958
|
-
const
|
|
959
|
-
Mixin:
|
|
958
|
+
const TouchableImpl = {
|
|
959
|
+
Mixin: TouchableMixinImpl,
|
|
960
960
|
/**
|
|
961
961
|
* Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).
|
|
962
962
|
*/
|
|
@@ -965,7 +965,7 @@ const Touchable = {
|
|
|
965
965
|
hitSlop,
|
|
966
966
|
}: {
|
|
967
967
|
color: ColorValue,
|
|
968
|
-
hitSlop
|
|
968
|
+
hitSlop?: EdgeInsetsProp,
|
|
969
969
|
...
|
|
970
970
|
}): null | React.Node => {
|
|
971
971
|
if (__DEV__) {
|
|
@@ -975,4 +975,4 @@ const Touchable = {
|
|
|
975
975
|
},
|
|
976
976
|
};
|
|
977
977
|
|
|
978
|
-
export default
|
|
978
|
+
export default TouchableImpl;
|
|
@@ -19,7 +19,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
|
19
19
|
import Platform from '../../Utilities/Platform';
|
|
20
20
|
import * as React from 'react';
|
|
21
21
|
|
|
22
|
-
type Props = $ReadOnly<{
|
|
22
|
+
type Props = $ReadOnly<{
|
|
23
23
|
...React.ElementConfig<TouchableWithoutFeedback>,
|
|
24
24
|
|
|
25
25
|
onPressAnimationComplete?: ?() => void,
|
|
@@ -29,12 +29,12 @@ type Props = $ReadOnly<{|
|
|
|
29
29
|
style?: ?ViewStyleProp,
|
|
30
30
|
|
|
31
31
|
hostRef: React.RefSetter<React.ElementRef<typeof Animated.View>>,
|
|
32
|
-
|
|
32
|
+
}>;
|
|
33
33
|
|
|
34
|
-
type State = $ReadOnly<{
|
|
34
|
+
type State = $ReadOnly<{
|
|
35
35
|
pressability: Pressability,
|
|
36
36
|
scale: Animated.Value,
|
|
37
|
-
|
|
37
|
+
}>;
|
|
38
38
|
|
|
39
39
|
class TouchableBounce extends React.Component<Props, State> {
|
|
40
40
|
state: State = {
|
|
@@ -214,9 +214,9 @@ class TouchableBounce extends React.Component<Props, State> {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
export default (React.forwardRef((props, hostRef: React.RefSetter<mixed>) => (
|
|
218
218
|
<TouchableBounce {...props} hostRef={hostRef} />
|
|
219
219
|
)): component(
|
|
220
220
|
ref: React.RefSetter<mixed>,
|
|
221
|
-
...props: $ReadOnly<$Diff<Props, {
|
|
221
|
+
...props: $ReadOnly<$Diff<Props, {hostRef: mixed}>>
|
|
222
222
|
));
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
12
|
-
import
|
|
12
|
+
import type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
|
|
13
13
|
|
|
14
14
|
import View from '../../Components/View/View';
|
|
15
15
|
import Pressability, {
|
|
@@ -20,42 +20,60 @@ import StyleSheet, {type ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
|
20
20
|
import Platform from '../../Utilities/Platform';
|
|
21
21
|
import * as React from 'react';
|
|
22
22
|
|
|
23
|
-
type AndroidProps = $ReadOnly<{
|
|
23
|
+
type AndroidProps = $ReadOnly<{
|
|
24
24
|
nextFocusDown?: ?number,
|
|
25
25
|
nextFocusForward?: ?number,
|
|
26
26
|
nextFocusLeft?: ?number,
|
|
27
27
|
nextFocusRight?: ?number,
|
|
28
28
|
nextFocusUp?: ?number,
|
|
29
|
-
|
|
29
|
+
}>;
|
|
30
30
|
|
|
31
|
-
type IOSProps = $ReadOnly<{
|
|
31
|
+
type IOSProps = $ReadOnly<{
|
|
32
32
|
hasTVPreferredFocus?: ?boolean,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
type Props = $ReadOnly<{|
|
|
36
|
-
...React.ElementConfig<TouchableWithoutFeedback>,
|
|
37
|
-
...AndroidProps,
|
|
38
|
-
...IOSProps,
|
|
33
|
+
}>;
|
|
39
34
|
|
|
35
|
+
type TouchableHighlightBaseProps = $ReadOnly<{
|
|
36
|
+
/**
|
|
37
|
+
* Determines what the opacity of the wrapped view should be when touch is active.
|
|
38
|
+
*/
|
|
40
39
|
activeOpacity?: ?number,
|
|
40
|
+
/**
|
|
41
|
+
* The color of the underlay that will show through when the touch is active.
|
|
42
|
+
*/
|
|
41
43
|
underlayColor?: ?ColorValue,
|
|
44
|
+
/**
|
|
45
|
+
* @see https://reactnative.dev/docs/view#style
|
|
46
|
+
*/
|
|
42
47
|
style?: ?ViewStyleProp,
|
|
48
|
+
/**
|
|
49
|
+
* Called immediately after the underlay is shown
|
|
50
|
+
*/
|
|
43
51
|
onShowUnderlay?: ?() => void,
|
|
52
|
+
/**
|
|
53
|
+
* Called immediately after the underlay is hidden
|
|
54
|
+
*/
|
|
44
55
|
onHideUnderlay?: ?() => void,
|
|
45
56
|
testOnly_pressed?: ?boolean,
|
|
46
57
|
|
|
47
58
|
hostRef: React.RefSetter<React.ElementRef<typeof View>>,
|
|
48
|
-
|
|
59
|
+
}>;
|
|
60
|
+
|
|
61
|
+
type TouchableHighlightProps = $ReadOnly<{
|
|
62
|
+
...TouchableWithoutFeedbackProps,
|
|
63
|
+
...AndroidProps,
|
|
64
|
+
...IOSProps,
|
|
65
|
+
...TouchableHighlightBaseProps,
|
|
66
|
+
}>;
|
|
49
67
|
|
|
50
|
-
type ExtraStyles = $ReadOnly<{
|
|
68
|
+
type ExtraStyles = $ReadOnly<{
|
|
51
69
|
child: ViewStyleProp,
|
|
52
70
|
underlay: ViewStyleProp,
|
|
53
|
-
|
|
71
|
+
}>;
|
|
54
72
|
|
|
55
|
-
type State = $ReadOnly<{
|
|
73
|
+
type State = $ReadOnly<{
|
|
56
74
|
pressability: Pressability,
|
|
57
75
|
extraStyles: ?ExtraStyles,
|
|
58
|
-
|
|
76
|
+
}>;
|
|
59
77
|
|
|
60
78
|
/**
|
|
61
79
|
* A wrapper for making views respond properly to touches.
|
|
@@ -153,7 +171,10 @@ type State = $ReadOnly<{|
|
|
|
153
171
|
* ```
|
|
154
172
|
*
|
|
155
173
|
*/
|
|
156
|
-
class
|
|
174
|
+
class TouchableHighlightImpl extends React.Component<
|
|
175
|
+
TouchableHighlightProps,
|
|
176
|
+
State,
|
|
177
|
+
> {
|
|
157
178
|
_hideTimeout: ?TimeoutID;
|
|
158
179
|
_isMounted: boolean = false;
|
|
159
180
|
|
|
@@ -368,7 +389,7 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
368
389
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
369
390
|
}
|
|
370
391
|
|
|
371
|
-
componentDidUpdate(prevProps:
|
|
392
|
+
componentDidUpdate(prevProps: TouchableHighlightProps, prevState: State) {
|
|
372
393
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
373
394
|
}
|
|
374
395
|
|
|
@@ -381,13 +402,13 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
381
402
|
}
|
|
382
403
|
}
|
|
383
404
|
|
|
384
|
-
const
|
|
385
|
-
ref
|
|
386
|
-
...props: $ReadOnly<$Diff<
|
|
405
|
+
const TouchableHighlight: component(
|
|
406
|
+
ref?: React.RefSetter<React.ElementRef<typeof View>>,
|
|
407
|
+
...props: $ReadOnly<$Diff<TouchableHighlightProps, {+hostRef: mixed}>>
|
|
387
408
|
) = React.forwardRef((props, hostRef) => (
|
|
388
|
-
<
|
|
409
|
+
<TouchableHighlightImpl {...props} hostRef={hostRef} />
|
|
389
410
|
));
|
|
390
411
|
|
|
391
|
-
|
|
412
|
+
TouchableHighlight.displayName = 'TouchableHighlight';
|
|
392
413
|
|
|
393
|
-
|
|
414
|
+
export default TouchableHighlight;
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {
|
|
12
|
-
import
|
|
11
|
+
import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
|
|
12
|
+
import type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
|
|
13
13
|
|
|
14
14
|
import View from '../../Components/View/View';
|
|
15
15
|
import Pressability, {
|
|
@@ -23,61 +23,82 @@ import {Commands} from '../View/ViewNativeComponent';
|
|
|
23
23
|
import invariant from 'invariant';
|
|
24
24
|
import * as React from 'react';
|
|
25
25
|
|
|
26
|
-
type
|
|
27
|
-
...React.ElementConfig<TouchableWithoutFeedback>,
|
|
28
|
-
|
|
26
|
+
type TVProps = {
|
|
29
27
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* methods to generate that dictionary.
|
|
34
|
-
*/
|
|
35
|
-
background?: ?(
|
|
36
|
-
| $ReadOnly<{|
|
|
37
|
-
type: 'ThemeAttrAndroid',
|
|
38
|
-
attribute:
|
|
39
|
-
| 'selectableItemBackground'
|
|
40
|
-
| 'selectableItemBackgroundBorderless',
|
|
41
|
-
rippleRadius: ?number,
|
|
42
|
-
|}>
|
|
43
|
-
| $ReadOnly<{|
|
|
44
|
-
type: 'RippleAndroid',
|
|
45
|
-
color: ?number,
|
|
46
|
-
borderless: boolean,
|
|
47
|
-
rippleRadius: ?number,
|
|
48
|
-
|}>
|
|
49
|
-
),
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* TV preferred focus (see documentation for the View component).
|
|
28
|
+
* *(Apple TV only)* TV preferred focus (see documentation for the View component).
|
|
29
|
+
*
|
|
30
|
+
* @platform ios
|
|
53
31
|
*/
|
|
54
32
|
hasTVPreferredFocus?: ?boolean,
|
|
55
33
|
|
|
56
34
|
/**
|
|
57
|
-
*
|
|
35
|
+
* Designates the next view to receive focus when the user navigates down. See the Android documentation.
|
|
36
|
+
*
|
|
37
|
+
* @platform android
|
|
58
38
|
*/
|
|
59
39
|
nextFocusDown?: ?number,
|
|
60
40
|
|
|
61
41
|
/**
|
|
62
|
-
*
|
|
42
|
+
* Designates the next view to receive focus when the user navigates forward. See the Android documentation.
|
|
43
|
+
*
|
|
44
|
+
* @platform android
|
|
63
45
|
*/
|
|
64
46
|
nextFocusForward?: ?number,
|
|
65
47
|
|
|
66
48
|
/**
|
|
67
|
-
*
|
|
49
|
+
* Designates the next view to receive focus when the user navigates left. See the Android documentation.
|
|
50
|
+
*
|
|
51
|
+
* @platform android
|
|
68
52
|
*/
|
|
69
53
|
nextFocusLeft?: ?number,
|
|
70
54
|
|
|
71
55
|
/**
|
|
72
|
-
*
|
|
56
|
+
* Designates the next view to receive focus when the user navigates right. See the Android documentation.
|
|
57
|
+
*
|
|
58
|
+
* @platform android
|
|
73
59
|
*/
|
|
74
60
|
nextFocusRight?: ?number,
|
|
75
61
|
|
|
76
62
|
/**
|
|
77
|
-
*
|
|
63
|
+
* Designates the next view to receive focus when the user navigates up. See the Android documentation.
|
|
64
|
+
*
|
|
65
|
+
* @platform android
|
|
78
66
|
*/
|
|
79
67
|
nextFocusUp?: ?number,
|
|
68
|
+
};
|
|
80
69
|
|
|
70
|
+
export type TouchableNativeFeedbackProps = $ReadOnly<{
|
|
71
|
+
...TouchableWithoutFeedbackProps,
|
|
72
|
+
...TVProps,
|
|
73
|
+
/**
|
|
74
|
+
* Determines the type of background drawable that's going to be used to display feedback.
|
|
75
|
+
* It takes an object with type property and extra data depending on the type.
|
|
76
|
+
* It's recommended to use one of the following static methods to generate that dictionary:
|
|
77
|
+
* 1) TouchableNativeFeedback.SelectableBackground() - will create object that represents android theme's
|
|
78
|
+
* default background for selectable elements (?android:attr/selectableItemBackground)
|
|
79
|
+
* 2) TouchableNativeFeedback.SelectableBackgroundBorderless() - will create object that represent android
|
|
80
|
+
* theme's default background for borderless selectable elements
|
|
81
|
+
* (?android:attr/selectableItemBackgroundBorderless). Available on android API level 21+
|
|
82
|
+
* 3) TouchableNativeFeedback.Ripple(color, borderless) - will create object that represents ripple drawable
|
|
83
|
+
* with specified color (as a string). If property borderless evaluates to true the ripple will render
|
|
84
|
+
* outside of the view bounds (see native actionbar buttons as an example of that behavior). This background
|
|
85
|
+
* type is available on Android API level 21+
|
|
86
|
+
*/
|
|
87
|
+
background?: ?(
|
|
88
|
+
| $ReadOnly<{
|
|
89
|
+
type: 'ThemeAttrAndroid',
|
|
90
|
+
attribute:
|
|
91
|
+
| 'selectableItemBackground'
|
|
92
|
+
| 'selectableItemBackgroundBorderless',
|
|
93
|
+
rippleRadius: ?number,
|
|
94
|
+
}>
|
|
95
|
+
| $ReadOnly<{
|
|
96
|
+
type: 'RippleAndroid',
|
|
97
|
+
color: ?number,
|
|
98
|
+
borderless: boolean,
|
|
99
|
+
rippleRadius: ?number,
|
|
100
|
+
}>
|
|
101
|
+
),
|
|
81
102
|
/**
|
|
82
103
|
* Set to true to add the ripple effect to the foreground of the view, instead
|
|
83
104
|
* of the background. This is useful if one of your child views has a
|
|
@@ -89,56 +110,80 @@ type Props = $ReadOnly<{|
|
|
|
89
110
|
* versions, this will fallback to background.
|
|
90
111
|
*/
|
|
91
112
|
useForeground?: ?boolean,
|
|
92
|
-
|
|
113
|
+
}>;
|
|
93
114
|
|
|
94
|
-
type State = $ReadOnly<{
|
|
115
|
+
type State = $ReadOnly<{
|
|
95
116
|
pressability: Pressability,
|
|
96
|
-
|
|
117
|
+
}>;
|
|
97
118
|
|
|
98
|
-
|
|
119
|
+
/**
|
|
120
|
+
* A wrapper for making views respond properly to touches (Android only).
|
|
121
|
+
* On Android this component uses native state drawable to display touch feedback.
|
|
122
|
+
* At the moment it only supports having a single View instance as a child node,
|
|
123
|
+
* as it's implemented by replacing that View with another instance of RCTView node with some additional properties set.
|
|
124
|
+
*
|
|
125
|
+
* Background drawable of native feedback touchable can be customized with background property.
|
|
126
|
+
*
|
|
127
|
+
* @see https://reactnative.dev/docs/touchablenativefeedback#content
|
|
128
|
+
*/
|
|
129
|
+
class TouchableNativeFeedback extends React.Component<
|
|
130
|
+
TouchableNativeFeedbackProps,
|
|
131
|
+
State,
|
|
132
|
+
> {
|
|
99
133
|
/**
|
|
100
|
-
* Creates
|
|
101
|
-
*
|
|
134
|
+
* Creates an object that represents android theme's default background for
|
|
135
|
+
* selectable elements (?android:attr/selectableItemBackground).
|
|
136
|
+
*
|
|
137
|
+
* @param rippleRadius The radius of ripple effect
|
|
102
138
|
*/
|
|
103
|
-
static SelectableBackground: (rippleRadius
|
|
139
|
+
static SelectableBackground: (rippleRadius?: ?number) => $ReadOnly<{
|
|
104
140
|
attribute: 'selectableItemBackground',
|
|
105
141
|
type: 'ThemeAttrAndroid',
|
|
106
142
|
rippleRadius: ?number,
|
|
107
|
-
|
|
143
|
+
}> = (rippleRadius?: ?number) => ({
|
|
108
144
|
type: 'ThemeAttrAndroid',
|
|
109
145
|
attribute: 'selectableItemBackground',
|
|
110
146
|
rippleRadius,
|
|
111
147
|
});
|
|
112
148
|
|
|
113
149
|
/**
|
|
114
|
-
* Creates
|
|
115
|
-
*
|
|
150
|
+
* Creates an object that represent android theme's default background for borderless
|
|
151
|
+
* selectable elements (?android:attr/selectableItemBackgroundBorderless).
|
|
152
|
+
* Available on android API level 21+.
|
|
153
|
+
*
|
|
154
|
+
* @param rippleRadius The radius of ripple effect
|
|
116
155
|
*/
|
|
117
|
-
static SelectableBackgroundBorderless: (rippleRadius
|
|
156
|
+
static SelectableBackgroundBorderless: (rippleRadius?: ?number) => $ReadOnly<{
|
|
118
157
|
attribute: 'selectableItemBackgroundBorderless',
|
|
119
158
|
type: 'ThemeAttrAndroid',
|
|
120
159
|
rippleRadius: ?number,
|
|
121
|
-
|
|
160
|
+
}> = (rippleRadius?: ?number) => ({
|
|
122
161
|
type: 'ThemeAttrAndroid',
|
|
123
162
|
attribute: 'selectableItemBackgroundBorderless',
|
|
124
163
|
rippleRadius,
|
|
125
164
|
});
|
|
126
165
|
|
|
127
166
|
/**
|
|
128
|
-
* Creates
|
|
129
|
-
*
|
|
130
|
-
* of the view bounds
|
|
167
|
+
* Creates an object that represents ripple drawable with specified color (as a
|
|
168
|
+
* string). If property `borderless` evaluates to true the ripple will
|
|
169
|
+
* render outside of the view bounds (see native actionbar buttons as an
|
|
170
|
+
* example of that behavior). This background type is available on Android
|
|
171
|
+
* API level 21+.
|
|
172
|
+
*
|
|
173
|
+
* @param color The ripple color
|
|
174
|
+
* @param borderless If the ripple can render outside it's bounds
|
|
175
|
+
* @param rippleRadius The radius of ripple effect
|
|
131
176
|
*/
|
|
132
177
|
static Ripple: (
|
|
133
178
|
color: string,
|
|
134
179
|
borderless: boolean,
|
|
135
|
-
rippleRadius
|
|
136
|
-
) => $ReadOnly<{
|
|
180
|
+
rippleRadius?: ?number,
|
|
181
|
+
) => $ReadOnly<{
|
|
137
182
|
borderless: boolean,
|
|
138
183
|
color: ?number,
|
|
139
184
|
rippleRadius: ?number,
|
|
140
185
|
type: 'RippleAndroid',
|
|
141
|
-
|
|
186
|
+
}> = (color: string, borderless: boolean, rippleRadius?: ?number) => {
|
|
142
187
|
const processedColor = processColor(color);
|
|
143
188
|
invariant(
|
|
144
189
|
processedColor == null || typeof processedColor === 'number',
|
|
@@ -220,7 +265,7 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
|
|
|
220
265
|
}
|
|
221
266
|
}
|
|
222
267
|
|
|
223
|
-
_dispatchHotspotUpdate(event:
|
|
268
|
+
_dispatchHotspotUpdate(event: GestureResponderEvent): void {
|
|
224
269
|
if (Platform.OS === 'android') {
|
|
225
270
|
const {locationX, locationY} = event.nativeEvent;
|
|
226
271
|
const hostComponentRef = findHostInstance_DEPRECATED(this);
|
|
@@ -336,7 +381,10 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
|
|
|
336
381
|
);
|
|
337
382
|
}
|
|
338
383
|
|
|
339
|
-
componentDidUpdate(
|
|
384
|
+
componentDidUpdate(
|
|
385
|
+
prevProps: TouchableNativeFeedbackProps,
|
|
386
|
+
prevState: State,
|
|
387
|
+
) {
|
|
340
388
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
341
389
|
}
|
|
342
390
|
|
|
@@ -363,4 +411,4 @@ const getBackgroundProp =
|
|
|
363
411
|
|
|
364
412
|
TouchableNativeFeedback.displayName = 'TouchableNativeFeedback';
|
|
365
413
|
|
|
366
|
-
|
|
414
|
+
export default TouchableNativeFeedback;
|