reactxp-navigation
Version:
Plugin for ReactXP that provides a navigation framework
42 lines (41 loc) • 1.87 kB
TypeScript
/**
* NavigatorSceneConfigFactory.ts
*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT license.
*
* NavigatorSceneConfigFactory creates an 'object' of type NavigatorSceneConfig,
* which is consumed by the Navigator. This object contains properties to execute
* spring animation for transition between scenes. NavigatorSceneConfigFactory and
* NavigatorSceneConfig are both exported.
*/
import * as RX from 'reactxp';
import * as Types from '../common/Types';
export declare type Interpolator = (progress: number, dimension?: RX.Types.Dimensions) => number;
export declare type InterpolatorWrapper = (previousStyleSet: RX.Types.ViewStyleRuleSet, dimensions: RX.Types.Dimensions, progress: number) => boolean;
export interface TransitionStyle {
translateX?: (progress: number, dimension: RX.Types.Dimensions) => string;
translateY?: (progress: number, dimension: RX.Types.Dimensions) => string;
translateZ?: (progress: number, dimension: RX.Types.Dimensions) => string;
opacity?: ((progress: number) => number) | number;
rotateX?: ((progress: number) => number) | number;
rotateY?: ((progress: number) => number) | number;
rotateZ?: ((progress: number) => number) | number;
scaleX?: (progress: number) => number;
scaleY?: (progress: number) => number;
scaleZ?: (progress: number) => number;
}
export declare class NavigatorSceneConfig {
springFriction: number;
springTension: number;
defaultTransitionVelocity: number;
animationInterpolators: {
into: InterpolatorWrapper;
out: InterpolatorWrapper;
};
constructor(intoStyle: TransitionStyle, outStyle: TransitionStyle);
private _styleInterpolator;
}
export declare class NavigatorSceneConfigFactory {
static createConfig(configType: Types.NavigatorSceneConfigType): NavigatorSceneConfig;
}