1/* 2 * Copyright (c) 2021-2023 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 16/** 17 * Declare the jump method. 18 * 19 * @enum { number } 20 * @syscap SystemCapability.ArkUI.ArkUI.Full 21 * @since 7 22 */ 23/** 24 * Declare the jump method. 25 * 26 * @enum { number } 27 * @syscap SystemCapability.ArkUI.ArkUI.Full 28 * @crossplatform 29 * @since 10 30 */ 31declare enum RouteType { 32 /** 33 * The page is not redirected. 34 * 35 * @syscap SystemCapability.ArkUI.ArkUI.Full 36 * @since 7 37 */ 38 /** 39 * The page is not redirected. 40 * 41 * @syscap SystemCapability.ArkUI.ArkUI.Full 42 * @crossplatform 43 * @since 10 44 */ 45 None, 46 47 /** 48 * Go to the next page. 49 * 50 * @syscap SystemCapability.ArkUI.ArkUI.Full 51 * @since 7 52 */ 53 /** 54 * Go to the next page. 55 * 56 * @syscap SystemCapability.ArkUI.ArkUI.Full 57 * @crossplatform 58 * @since 10 59 */ 60 Push, 61 62 /** 63 * Redirect to a specified page. 64 * 65 * @syscap SystemCapability.ArkUI.ArkUI.Full 66 * @since 7 67 */ 68 /** 69 * Redirect to a specified page. 70 * 71 * @syscap SystemCapability.ArkUI.ArkUI.Full 72 * @crossplatform 73 * @since 10 74 */ 75 Pop, 76} 77 78/** 79 * Declare the sliding effect of transition. 80 * 81 * @enum { number } 82 * @syscap SystemCapability.ArkUI.ArkUI.Full 83 * @since 7 84 */ 85/** 86 * Declare the sliding effect of transition. 87 * 88 * @enum { number } 89 * @syscap SystemCapability.ArkUI.ArkUI.Full 90 * @crossplatform 91 * @since 10 92 */ 93declare enum SlideEffect { 94 /** 95 * Swipe left. 96 * 97 * @syscap SystemCapability.ArkUI.ArkUI.Full 98 * @since 7 99 */ 100 /** 101 * Swipe left. 102 * 103 * @syscap SystemCapability.ArkUI.ArkUI.Full 104 * @crossplatform 105 * @since 10 106 */ 107 Left, 108 109 /** 110 * Swipe right. 111 * 112 * @syscap SystemCapability.ArkUI.ArkUI.Full 113 * @since 7 114 */ 115 /** 116 * Swipe right. 117 * 118 * @syscap SystemCapability.ArkUI.ArkUI.Full 119 * @crossplatform 120 * @since 10 121 */ 122 Right, 123 124 /** 125 * Swipe top. 126 * 127 * @syscap SystemCapability.ArkUI.ArkUI.Full 128 * @since 7 129 */ 130 /** 131 * Swipe top. 132 * 133 * @syscap SystemCapability.ArkUI.ArkUI.Full 134 * @crossplatform 135 * @since 10 136 */ 137 Top, 138 139 /** 140 * Swipe bottom. 141 * 142 * @syscap SystemCapability.ArkUI.ArkUI.Full 143 * @since 7 144 */ 145 /** 146 * Swipe bottom. 147 * 148 * @syscap SystemCapability.ArkUI.ArkUI.Full 149 * @crossplatform 150 * @since 10 151 */ 152 Bottom, 153} 154 155/** 156 * Provides interfaces for common transitions. 157 * 158 * @syscap SystemCapability.ArkUI.ArkUI.Full 159 * @since 7 160 */ 161/** 162 * Provides interfaces for common transitions. 163 * 164 * @syscap SystemCapability.ArkUI.ArkUI.Full 165 * @crossplatform 166 * @since 10 167 */ 168declare class CommonTransition<T> { 169 /** 170 * Called when a transition method is required. 171 * 172 * @syscap SystemCapability.ArkUI.ArkUI.Full 173 * @since 7 174 */ 175 /** 176 * Called when a transition method is required. 177 * 178 * @syscap SystemCapability.ArkUI.ArkUI.Full 179 * @crossplatform 180 * @since 10 181 */ 182 constructor(); 183 184 /** 185 * Called when the slide in effect of the transition is set. 186 * 187 * @param { SlideEffect } value 188 * @returns { T } 189 * @syscap SystemCapability.ArkUI.ArkUI.Full 190 * @since 7 191 */ 192 /** 193 * Called when the slide in effect of the transition is set. 194 * 195 * @param { SlideEffect } value 196 * @returns { T } 197 * @syscap SystemCapability.ArkUI.ArkUI.Full 198 * @crossplatform 199 * @since 10 200 */ 201 slide(value: SlideEffect): T; 202 203 /** 204 * Called when the translation effect of page transition is set. 205 * 206 * @param { object } value 207 * @returns { T } 208 * @syscap SystemCapability.ArkUI.ArkUI.Full 209 * @since 7 210 */ 211 /** 212 * Called when the translation effect of page transition is set. 213 * 214 * @param { object } value 215 * @returns { T } 216 * @syscap SystemCapability.ArkUI.ArkUI.Full 217 * @crossplatform 218 * @since 10 219 */ 220 translate(value: { x?: number | string; y?: number | string; z?: number | string }): T; 221 222 /** 223 * Called when setting the zoom effect of page transition. 224 * 225 * @param { object } value 226 * @returns { T } 227 * @syscap SystemCapability.ArkUI.ArkUI.Full 228 * @since 7 229 */ 230 /** 231 * Called when setting the zoom effect of page transition. 232 * 233 * @param { object } value 234 * @returns { T } 235 * @syscap SystemCapability.ArkUI.ArkUI.Full 236 * @crossplatform 237 * @since 10 238 */ 239 scale(value: { x?: number; y?: number; z?: number; centerX?: number | string; centerY?: number | string }): T; 240 241 /** 242 * Called when the transparency value of the starting point of entry or the ending point of exit is set. 243 * 244 * @param { number } value 245 * @returns { T } 246 * @syscap SystemCapability.ArkUI.ArkUI.Full 247 * @since 7 248 */ 249 /** 250 * Called when the transparency value of the starting point of entry or the ending point of exit is set. 251 * 252 * @param { number } value 253 * @returns { T } 254 * @syscap SystemCapability.ArkUI.ArkUI.Full 255 * @crossplatform 256 * @since 10 257 */ 258 opacity(value: number): T; 259} 260 261/** 262 * Defines pageTransition constructor parameters. 263 * 264 * @interface PageTransitionOptions 265 * @syscap SystemCapability.ArkUI.ArkUI.Full 266 * @since 7 267 */ 268/** 269 * Defines pageTransition constructor parameters. 270 * 271 * @interface PageTransitionOptions 272 * @syscap SystemCapability.ArkUI.ArkUI.Full 273 * @crossplatform 274 * @since 10 275 */ 276declare interface PageTransitionOptions { 277 /** 278 * RouteType in which the pageTransition can work. 279 * @type { ?RouteType } 280 * @syscap SystemCapability.ArkUI.ArkUI.Full 281 * @since 7 282 */ 283 /** 284 * RouteType in which the pageTransition can work. 285 * @type { ?RouteType } 286 * @syscap SystemCapability.ArkUI.ArkUI.Full 287 * @crossplatform 288 * @since 10 289 */ 290 type?: RouteType; 291 /** 292 * PageTransition animation duration, in ms. 293 * @type { ?number } 294 * @syscap SystemCapability.ArkUI.ArkUI.Full 295 * @since 7 296 */ 297 /** 298 * PageTransition animation duration, in ms. 299 * @type { ?number } 300 * @syscap SystemCapability.ArkUI.ArkUI.Full 301 * @crossplatform 302 * @since 10 303 */ 304 duration?: number; 305 /** 306 * PageTransition animation curve. 307 * @type { ?(Curve | string | ICurve) } 308 * @syscap SystemCapability.ArkUI.ArkUI.Full 309 * @since 7 310 */ 311 /** 312 * PageTransition animation curve. 313 * @type { ?(Curve | string | ICurve) } 314 * @syscap SystemCapability.ArkUI.ArkUI.Full 315 * @crossplatform 316 * @since 10 317 */ 318 curve?: Curve | string | ICurve; 319 /** 320 * PageTransition animation delay time, in ms. 321 * @syscap SystemCapability.ArkUI.ArkUI.Full 322 * @type { ?number } 323 * @since 7 324 */ 325 /** 326 * PageTransition animation delay time, in ms. 327 * @type { ?number } 328 * @syscap SystemCapability.ArkUI.ArkUI.Full 329 * @crossplatform 330 * @since 10 331 */ 332 delay?: number; 333} 334 335/** 336 * Provides an interface for page rotation mode. 337 * 338 * @interface PageTransitionEnterInterface 339 * @syscap SystemCapability.ArkUI.ArkUI.Full 340 * @since 7 341 */ 342/** 343 * Provides an interface to set transition style when a page enters. 344 * 345 * @interface PageTransitionEnterInterface 346 * @syscap SystemCapability.ArkUI.ArkUI.Full 347 * @crossplatform 348 * @since 10 349 */ 350interface PageTransitionEnterInterface extends CommonTransition<PageTransitionEnterInterface> { 351 /** 352 * Called when page Jump animation is used. 353 * 354 * @param { PageTransitionOptions } value 355 * @returns { PageTransitionEnterInterface } 356 * @syscap SystemCapability.ArkUI.ArkUI.Full 357 * @since 7 358 */ 359 /** 360 * Called when page Jump animation is used. 361 * 362 * @param { PageTransitionOptions } value - pageTransition options 363 * @returns { PageTransitionEnterInterface } 364 * @syscap SystemCapability.ArkUI.ArkUI.Full 365 * @crossplatform 366 * @since 10 367 */ 368 (value: PageTransitionOptions): PageTransitionEnterInterface; 369 370 /** 371 * Called when the incoming parameter is the normalized progress of the current incoming animation. 372 * 373 * @param { function } event 374 * @returns { PageTransitionEnterInterface } 375 * @syscap SystemCapability.ArkUI.ArkUI.Full 376 * @since 7 377 */ 378 /** 379 * Called frame by frame to customize pageTransition animation when the page enters. 380 * The incoming parameter is the normalized progress of the current incoming animation. 381 * 382 * @param { function } event - animation callback frame by frame 383 * @returns { PageTransitionEnterInterface } 384 * @syscap SystemCapability.ArkUI.ArkUI.Full 385 * @crossplatform 386 * @since 10 387 */ 388 onEnter(event: (type: RouteType, progress: number) => void): PageTransitionEnterInterface; 389} 390 391/** 392 * Provide an interface to exit the transition. 393 * 394 * @interface PageTransitionExitInterface 395 * @syscap SystemCapability.ArkUI.ArkUI.Full 396 * @since 7 397 */ 398/** 399 * Provide an interface to set transition style when a page exits. 400 * 401 * @interface PageTransitionExitInterface 402 * @syscap SystemCapability.ArkUI.ArkUI.Full 403 * @crossplatform 404 * @since 10 405 */ 406interface PageTransitionExitInterface extends CommonTransition<PageTransitionExitInterface> { 407 /** 408 * Called when the transition is delayed. 409 * 410 * @param { PageTransitionOptions } value 411 * @returns { PageTransitionExitInterface } 412 * @syscap SystemCapability.ArkUI.ArkUI.Full 413 * @since 7 414 */ 415 /** 416 * Called when page Jump animation is used. 417 * 418 * @param { PageTransitionOptions } value - pageTransition options 419 * @returns { PageTransitionExitInterface } 420 * @syscap SystemCapability.ArkUI.ArkUI.Full 421 * @crossplatform 422 * @since 10 423 */ 424 (value: PageTransitionOptions): PageTransitionExitInterface; 425 426 /** 427 * Called when the input parameter is the normalized progress of the current exit animation. 428 * 429 * @param { function } event 430 * @returns { PageTransitionExitInterface } 431 * @syscap SystemCapability.ArkUI.ArkUI.Full 432 * @since 7 433 */ 434 /** 435 * Called frame by frame to customize pageTransition animation when the page exits. 436 * The input parameter is the normalized progress of the current exit animation. 437 * 438 * @param { function } event 439 * @returns { PageTransitionExitInterface } 440 * @syscap SystemCapability.ArkUI.ArkUI.Full 441 * @crossplatform 442 * @since 10 443 */ 444 onExit(event: (type: RouteType, progress: number) => void): PageTransitionExitInterface; 445} 446 447/** 448 * Defines PageTransitionEnter Component. 449 * 450 * @syscap SystemCapability.ArkUI.ArkUI.Full 451 * @since 7 452 */ 453/** 454 * Defines PageTransitionEnter Component. 455 * 456 * @syscap SystemCapability.ArkUI.ArkUI.Full 457 * @crossplatform 458 * @since 10 459 */ 460declare const PageTransitionEnter: PageTransitionEnterInterface; 461 462/** 463 * Defines PageTransitionExit Component. 464 * 465 * @syscap SystemCapability.ArkUI.ArkUI.Full 466 * @since 7 467 */ 468/** 469 * Defines PageTransitionExit Component. 470 * 471 * @syscap SystemCapability.ArkUI.ArkUI.Full 472 * @crossplatform 473 * @since 10 474 */ 475declare const PageTransitionExit: PageTransitionExitInterface; 476