fix: actually expose gestureVelocityImpact in the public API

This commit is contained in:
satyajit.happy
2019-10-06 04:17:49 +02:00
parent b4a76814c6
commit 16079d1050
4 changed files with 16 additions and 9 deletions

View File

@@ -287,6 +287,11 @@ export type StackNavigationOptions = StackHeaderOptions &
*/
horizontal?: number;
};
/**
* Number which determines the relevance of velocity for the gesture.
* Defaults to 0.3.
*/
gestureVelocityImpact?: number;
};
export type StackNavigationConfig = {

View File

@@ -50,12 +50,12 @@ type Props = ViewProps & {
vertical?: number;
horizontal?: number;
};
gestureVelocityImpact: number;
transitionSpec: {
open: TransitionSpec;
close: TransitionSpec;
};
styleInterpolator: StackCardStyleInterpolator;
gestureVelocityImpact: number;
containerStyle?: StyleProp<ViewStyle>;
contentStyle?: StyleProp<ViewStyle>;
};
@@ -238,8 +238,8 @@ export default class Card extends React.Component<Props> {
const {
layout,
gestureDirection,
closing,
gestureVelocityImpact,
closing,
} = this.props;
const { width, height } = layout;

View File

@@ -360,6 +360,7 @@ export default class Stack extends React.Component<Props, State> {
cardOverlayEnabled,
cardStyle,
gestureResponseDistance,
gestureVelocityImpact,
gestureDirection = defaultTransitionPreset.gestureDirection,
transitionSpec = defaultTransitionPreset.transitionSpec,
cardStyleInterpolator = defaultTransitionPreset.cardStyleInterpolator,
@@ -424,7 +425,6 @@ export default class Stack extends React.Component<Props, State> {
cardOverlayEnabled={cardOverlayEnabled}
cardShadowEnabled={cardShadowEnabled}
cardStyle={cardStyle}
gestureEnabled={index !== 0 && getGesturesEnabled({ route })}
onPageChangeStart={onPageChangeStart}
onPageChangeConfirm={onPageChangeConfirm}
onPageChangeCancel={onPageChangeCancel}
@@ -441,6 +441,8 @@ export default class Stack extends React.Component<Props, State> {
onTransitionStart={this.handleTransitionStart}
onTransitionEnd={this.handleTransitionEnd}
onGoBack={onGoBack}
gestureEnabled={index !== 0 && getGesturesEnabled({ route })}
gestureVelocityImpact={gestureVelocityImpact}
gestureDirection={gestureDirection}
{...transitionConfig}
/>

View File

@@ -30,7 +30,6 @@ type Props = TransitionPreset & {
cardOverlayEnabled?: boolean;
cardShadowEnabled?: boolean;
cardStyle?: StyleProp<ViewStyle>;
gestureEnabled?: boolean;
getPreviousRoute: (props: {
route: Route<string>;
}) => Route<string> | undefined;
@@ -47,15 +46,16 @@ type Props = TransitionPreset & {
onPageChangeStart?: () => void;
onPageChangeConfirm?: () => void;
onPageChangeCancel?: () => void;
gestureEnabled?: boolean;
gestureResponseDistance?: {
vertical?: number;
horizontal?: number;
};
gestureVelocityImpact?: number;
headerMode: StackHeaderMode;
headerTransparent?: boolean;
floatingHeaderHeight: number;
hasCustomHeader: boolean;
gestureVelocityImpact?: number;
};
export default class StackItem extends React.PureComponent<Props> {
@@ -108,10 +108,11 @@ export default class StackItem extends React.PureComponent<Props> {
cardOverlayEnabled,
cardShadowEnabled,
cardStyle,
gestureEnabled,
onPageChangeStart,
onPageChangeCancel,
gestureEnabled,
gestureResponseDistance,
gestureVelocityImpact,
floatingHeaderHeight,
hasCustomHeader,
getPreviousRoute,
@@ -123,7 +124,6 @@ export default class StackItem extends React.PureComponent<Props> {
transitionSpec,
cardStyleInterpolator,
headerStyleInterpolator,
gestureVelocityImpact,
} = this.props;
return (
@@ -141,11 +141,12 @@ export default class StackItem extends React.PureComponent<Props> {
onClose={this.handleClose}
overlayEnabled={cardOverlayEnabled}
shadowEnabled={cardShadowEnabled}
gestureEnabled={gestureEnabled}
onTransitionStart={this.handleTransitionStart}
onGestureBegin={onPageChangeStart}
onGestureCanceled={onPageChangeCancel}
gestureEnabled={gestureEnabled}
gestureResponseDistance={gestureResponseDistance}
gestureVelocityImpact={gestureVelocityImpact}
transitionSpec={transitionSpec}
styleInterpolator={cardStyleInterpolator}
accessibilityElementsHidden={!focused}
@@ -158,7 +159,6 @@ export default class StackItem extends React.PureComponent<Props> {
}
contentStyle={cardStyle}
style={StyleSheet.absoluteFill}
gestureVelocityImpact={gestureVelocityImpact}
>
<View style={styles.container}>
<View style={styles.scene}>