From 44743c07ad672e39668f92a801578906ec92996a Mon Sep 17 00:00:00 2001 From: Eli White Date: Sat, 12 May 2018 23:10:51 -0700 Subject: [PATCH] Flow Type TouchableOpacity Reviewed By: yungsters Differential Revision: D7983709 fbshipit-source-id: 0f664c831b754277e344aa53b2dbed6b4f720cd5 --- .../Components/Touchable/TouchableOpacity.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Libraries/Components/Touchable/TouchableOpacity.js b/Libraries/Components/Touchable/TouchableOpacity.js index 3ecce723459307..f860337e0d653b 100644 --- a/Libraries/Components/Touchable/TouchableOpacity.js +++ b/Libraries/Components/Touchable/TouchableOpacity.js @@ -23,10 +23,25 @@ const createReactClass = require('create-react-class'); const ensurePositiveDelayProps = require('ensurePositiveDelayProps'); const flattenStyle = require('flattenStyle'); +import type {Props as TouchableWithoutFeedbackProps} from 'TouchableWithoutFeedback'; +import type {ViewStyleProp} from 'StyleSheet'; + type Event = Object; const PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; +type TVProps = $ReadOnly<{| + hasTVPreferredFocus?: ?boolean, + tvParallaxProperties?: ?Object, +|}>; + +type Props = $ReadOnly<{| + ...TouchableWithoutFeedbackProps, + ...TVProps, + activeOpacity?: ?number, + style?: ?ViewStyleProp, +|}>; + /** * A wrapper for making views respond properly to touches. * On press down, the opacity of the wrapped view is decreased, dimming it. @@ -115,7 +130,7 @@ const PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30}; * ``` * */ -const TouchableOpacity = createReactClass({ +const TouchableOpacity = ((createReactClass({ displayName: 'TouchableOpacity', mixins: [TimerMixin, Touchable.Mixin, NativeMethodsMixin], @@ -267,6 +282,6 @@ const TouchableOpacity = createReactClass({ ); }, -}); +}): any): React.ComponentType); module.exports = TouchableOpacity;