UNPKG

reactxp-navigation

Version:

Plugin for ReactXP that provides a navigation framework

42 lines (41 loc) 1.87 kB
/** * 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; }