• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import {Curve} from "./common";
17
18export declare enum RouteType {
19  None,
20  Push,
21  Pop
22}
23
24export declare enum SlideEffect {
25  Left,
26  Right,
27  Top,
28  Bottom
29}
30
31export declare class CommonTransition<T> {
32  constructor();
33
34  slide(value: SlideEffect): T;
35
36  translate(value: { x?: number | string, y?: number | string, z?: number | string }): T;
37
38  scale(value: { x?: number, y?: number, z?: number, centerX?: number | string, centerY?: number | string }): T;
39
40  opacity(value: number): T;
41}
42
43interface PageTransitionEnter extends CommonTransition<PageTransitionEnter> {
44  (value: { type?: RouteType, duration?: number, curve?: Curve | string, delay?: number }): PageTransitionEnter;
45
46  onEnter(event: (type?: RouteType, progress?: number) => void): PageTransitionEnter;
47}
48
49interface PageTransitionExit extends CommonTransition<PageTransitionExit> {
50  (value: { type?: RouteType, duration?: number, curve?: Curve | string, delay?: number }): PageTransitionExit;
51
52  onExit(event: (type?: RouteType, progress?: number) => void): PageTransitionExit;
53}
54
55export declare const PageTransitionEnterInterface: PageTransitionEnter;
56export declare const PageTransitionExitInterface: PageTransitionExit;