Summary:
Related to #22100

Enhance Flow types for TouchableOpacity specifying underlay functions and TvParallaxPropertiesType.
I had to export and enhance TvParallaxPropertiesType from TVViewPropTypes file. This does not break this other PR also using this exported type. #22146

There is still some work to do in order to turn flow to strict mode.

- All flow tests succeed.

[GENERAL] [ENHANCEMENT] [TouchableHighlight.js] - Flow types
[GENERAL] [ENHANCEMENT] [TVViewPropTypes.js] - Export and enhance type
Pull Request resolved: https://github.com/facebook/react-native/pull/22173

Differential Revision: D13033441

Pulled By: RSNara

fbshipit-source-id: 26a38970923dc7e6c02c03da5d08483a3f1fbd36
This commit is contained in:
Thomas BARRAS 2018-11-21 14:32:44 -08:00 коммит произвёл Facebook Github Bot
Родитель f22473e9e9
Коммит a97d104b44
2 изменённых файлов: 25 добавлений и 20 удалений

Просмотреть файл

@ -14,27 +14,42 @@ export type TVParallaxPropertiesType = $ReadOnly<{|
/**
* If true, parallax effects are enabled. Defaults to true.
*/
enabled: boolean,
enabled?: boolean,
/**
* Defaults to 2.0.
*/
shiftDistanceX: number,
shiftDistanceX?: number,
/**
* Defaults to 2.0.
*/
shiftDistanceY: number,
shiftDistanceY?: number,
/**
* Defaults to 0.05.
*/
tiltAngle: number,
tiltAngle?: number,
/**
* Defaults to 1.0
*/
magnification: number,
magnification?: number,
/**
* Defaults to 1.0
*/
pressMagnification?: number,
/**
* Defaults to 0.3
*/
pressDuration?: number,
/**
* Defaults to 0.3
*/
pressDelay?: number,
|}>;
/**

Просмотреть файл

@ -28,6 +28,7 @@ import type {PressEvent} from 'CoreEventTypes';
import type {ViewStyleProp} from 'StyleSheet';
import type {ColorValue} from 'StyleSheetTypes';
import type {Props as TouchableWithoutFeedbackProps} from 'TouchableWithoutFeedback';
import type {TVParallaxPropertiesType} from 'TVViewPropTypes';
const DEFAULT_PROPS = {
activeOpacity: 0.85,
@ -39,7 +40,7 @@ const PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30};
type IOSProps = $ReadOnly<{|
hasTVPreferredFocus?: ?boolean,
tvParallaxProperties?: ?Object,
tvParallaxProperties?: ?TVParallaxPropertiesType,
|}>;
type Props = $ReadOnly<{|
@ -49,8 +50,8 @@ type Props = $ReadOnly<{|
activeOpacity?: ?number,
underlayColor?: ?ColorValue,
style?: ?ViewStyleProp,
onShowUnderlay?: ?Function,
onHideUnderlay?: ?Function,
onShowUnderlay?: ?() => void,
onHideUnderlay?: ?() => void,
testOnly_pressed?: ?boolean,
|}>;
@ -185,18 +186,7 @@ const TouchableHighlight = ((createReactClass({
*/
hasTVPreferredFocus: PropTypes.bool,
/**
* *(Apple TV only)* Object with properties to control Apple TV parallax effects.
*
* enabled: If true, parallax effects are enabled. Defaults to true.
* shiftDistanceX: Defaults to 2.0.
* shiftDistanceY: Defaults to 2.0.
* tiltAngle: Defaults to 0.05.
* magnification: Defaults to 1.0.
* pressMagnification: Defaults to 1.0.
* pressDuration: Defaults to 0.3.
* pressDelay: Defaults to 0.0.
*
* @platform ios
* Apple TV parallax effects
*/
tvParallaxProperties: PropTypes.object,
/**