1/* 2 * Copyright (c) 2022-2024 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 * @file 18 * @kit ArkUI 19 */ 20 21/** 22 * Defines the navigation destination common title. 23 * 24 * @interface NavDestinationCommonTitle 25 * @syscap SystemCapability.ArkUI.ArkUI.Full 26 * @since 9 27 */ 28/** 29 * Defines the navigation destination common title. 30 * 31 * @interface NavDestinationCommonTitle 32 * @syscap SystemCapability.ArkUI.ArkUI.Full 33 * @crossplatform 34 * @since 10 35 */ 36/** 37 * Defines the navigation destination common title. 38 * 39 * @interface NavDestinationCommonTitle 40 * @syscap SystemCapability.ArkUI.ArkUI.Full 41 * @crossplatform 42 * @atomicservice 43 * @since 11 44 */ 45declare interface NavDestinationCommonTitle { 46 /** 47 * Sets the main title. 48 * 49 * @type { string } 50 * @syscap SystemCapability.ArkUI.ArkUI.Full 51 * @since 9 52 */ 53 /** 54 * Sets the main title. 55 * 56 * @type { string } 57 * @syscap SystemCapability.ArkUI.ArkUI.Full 58 * @crossplatform 59 * @since 10 60 */ 61 /** 62 * Sets the main title. 63 * 64 * @type { string } 65 * @syscap SystemCapability.ArkUI.ArkUI.Full 66 * @crossplatform 67 * @atomicservice 68 * @since 11 69 */ 70 /** 71 * Sets the main title. 72 * 73 * @type { string | Resource } 74 * @syscap SystemCapability.ArkUI.ArkUI.Full 75 * @crossplatform 76 * @atomicservice 77 * @since 14 78 */ 79 main: string | Resource; 80 81 /** 82 * Sets the sub title. 83 * 84 * @type { string } 85 * @syscap SystemCapability.ArkUI.ArkUI.Full 86 * @since 9 87 */ 88 /** 89 * Sets the sub title. 90 * 91 * @type { string } 92 * @syscap SystemCapability.ArkUI.ArkUI.Full 93 * @crossplatform 94 * @since 10 95 */ 96 /** 97 * Sets the sub title. 98 * 99 * @type { string } 100 * @syscap SystemCapability.ArkUI.ArkUI.Full 101 * @crossplatform 102 * @atomicservice 103 * @since 11 104 */ 105 /** 106 * Sets the sub title. 107 * 108 * @type { string | Resource } 109 * @syscap SystemCapability.ArkUI.ArkUI.Full 110 * @crossplatform 111 * @atomicservice 112 * @since 14 113 */ 114 sub: string | Resource; 115} 116 117/** 118 * Defines the navigation destination custom title. 119 * 120 * @interface NavDestinationCustomTitle 121 * @syscap SystemCapability.ArkUI.ArkUI.Full 122 * @since 9 123 */ 124/** 125 * Defines the navigation destination custom title. 126 * 127 * @interface NavDestinationCustomTitle 128 * @syscap SystemCapability.ArkUI.ArkUI.Full 129 * @crossplatform 130 * @since 10 131 */ 132/** 133 * Defines the navigation destination custom title. 134 * 135 * @interface NavDestinationCustomTitle 136 * @syscap SystemCapability.ArkUI.ArkUI.Full 137 * @crossplatform 138 * @atomicservice 139 * @since 11 140 */ 141declare interface NavDestinationCustomTitle { 142 /** 143 * Sets the custom title builder. 144 * 145 * @type { CustomBuilder } 146 * @syscap SystemCapability.ArkUI.ArkUI.Full 147 * @since 9 148 */ 149 /** 150 * Sets the custom title builder. 151 * 152 * @type { CustomBuilder } 153 * @syscap SystemCapability.ArkUI.ArkUI.Full 154 * @crossplatform 155 * @since 10 156 */ 157 /** 158 * Sets the custom title builder. 159 * 160 * @type { CustomBuilder } 161 * @syscap SystemCapability.ArkUI.ArkUI.Full 162 * @crossplatform 163 * @atomicservice 164 * @since 11 165 */ 166 builder: CustomBuilder; 167 168 /** 169 * Sets the custom title height. 170 * 171 * @type { TitleHeight | Length } 172 * @syscap SystemCapability.ArkUI.ArkUI.Full 173 * @since 9 174 */ 175 /** 176 * Sets the custom title height. 177 * 178 * @type { TitleHeight | Length } 179 * @syscap SystemCapability.ArkUI.ArkUI.Full 180 * @crossplatform 181 * @since 10 182 */ 183 /** 184 * Sets the custom title height. 185 * 186 * @type { TitleHeight | Length } 187 * @syscap SystemCapability.ArkUI.ArkUI.Full 188 * @crossplatform 189 * @atomicservice 190 * @since 11 191 */ 192 height: TitleHeight | Length; 193} 194 195/** 196 * Types of system Transition. 197 * 198 * @enum { number } 199 * @syscap SystemCapability.ArkUI.ArkUI.Full 200 * @crossplatform 201 * @atomicservice 202 * @since 14 203 */ 204declare enum NavigationSystemTransitionType { 205 /** 206 * Default system transition. 207 * 208 * @syscap SystemCapability.ArkUI.ArkUI.Full 209 * @crossplatform 210 * @atomicservice 211 * @since 14 212 */ 213 DEFAULT = 0, 214 /** 215 * None system transition. 216 * 217 * @syscap SystemCapability.ArkUI.ArkUI.Full 218 * @crossplatform 219 * @atomicservice 220 * @since 14 221 */ 222 NONE = 1, 223 /** 224 * Configure only titlebar transition. 225 * 226 * @syscap SystemCapability.ArkUI.ArkUI.Full 227 * @crossplatform 228 * @atomicservice 229 * @since 14 230 */ 231 TITLE = 2, 232 /** 233 * Configure only content transition. 234 * 235 * @syscap SystemCapability.ArkUI.ArkUI.Full 236 * @crossplatform 237 * @atomicservice 238 * @since 14 239 */ 240 CONTENT = 3, 241 /** 242 * Configure fade style system transition. 243 * 244 * @syscap SystemCapability.ArkUI.ArkUI.Full 245 * @crossplatform 246 * @atomicservice 247 * @since 15 248 */ 249 FADE = 4, 250 /** 251 * Configure explode style system transition. 252 * 253 * @syscap SystemCapability.ArkUI.ArkUI.Full 254 * @crossplatform 255 * @atomicservice 256 * @since 15 257 */ 258 EXPLODE = 5, 259 /** 260 * Configure right-side slide style system transition. 261 * 262 * @syscap SystemCapability.ArkUI.ArkUI.Full 263 * @crossplatform 264 * @atomicservice 265 * @since 15 266 */ 267 SLIDE_RIGHT = 6, 268 /** 269 * Configure bottom-side slide style system transition. 270 * 271 * @syscap SystemCapability.ArkUI.ArkUI.Full 272 * @crossplatform 273 * @atomicservice 274 * @since 15 275 */ 276 SLIDE_BOTTOM = 7, 277} 278 279/** 280 * NavDestination mode. 281 * 282 * @enum { number } 283 * @syscap SystemCapability.ArkUI.ArkUI.Full 284 * @crossplatform 285 * @since 11 286 */ 287/** 288 * NavDestination mode. 289 * 290 * @enum { number } 291 * @syscap SystemCapability.ArkUI.ArkUI.Full 292 * @crossplatform 293 * @atomicservice 294 * @since 12 295 */ 296declare enum NavDestinationMode { 297 /** 298 * Standard mode is default mode of NavDestination. 299 * 300 * @syscap SystemCapability.ArkUI.ArkUI.Full 301 * @crossplatform 302 * @since 11 303 */ 304 /** 305 * Standard mode is default mode of NavDestination. 306 * 307 * @syscap SystemCapability.ArkUI.ArkUI.Full 308 * @crossplatform 309 * @atomicservice 310 * @since 12 311 */ 312 STANDARD = 0, 313 314 /** 315 * Dialog mode is transparent by default and does not affect the life cycle of other NavDestination. 316 * 317 * @syscap SystemCapability.ArkUI.ArkUI.Full 318 * @crossplatform 319 * @since 11 320 */ 321 /** 322 * Dialog mode is transparent by default and does not affect the life cycle of other NavDestination. 323 * 324 * @syscap SystemCapability.ArkUI.ArkUI.Full 325 * @crossplatform 326 * @atomicservice 327 * @since 12 328 */ 329 DIALOG = 1, 330} 331 332/** 333 * The construct function of NavDestination. 334 * 335 * @interface NavDestinationInterface 336 * @syscap SystemCapability.ArkUI.ArkUI.Full 337 * @since 9 338 */ 339/** 340 * The construct function of NavDestination. 341 * 342 * @interface NavDestinationInterface 343 * @syscap SystemCapability.ArkUI.ArkUI.Full 344 * @crossplatform 345 * @since 10 346 */ 347/** 348 * The construct function of NavDestination. 349 * 350 * @interface NavDestinationInterface 351 * @syscap SystemCapability.ArkUI.ArkUI.Full 352 * @crossplatform 353 * @atomicservice 354 * @since 11 355 */ 356declare interface NavDestinationInterface { 357 /** 358 * Constructor. 359 * 360 * @returns { NavDestinationAttribute } 361 * @syscap SystemCapability.ArkUI.ArkUI.Full 362 * @since 9 363 */ 364 /** 365 * Constructor. 366 * 367 * @returns { NavDestinationAttribute } 368 * @syscap SystemCapability.ArkUI.ArkUI.Full 369 * @crossplatform 370 * @since 10 371 */ 372 /** 373 * Constructor. 374 * 375 * @returns { NavDestinationAttribute } 376 * @syscap SystemCapability.ArkUI.ArkUI.Full 377 * @crossplatform 378 * @atomicservice 379 * @since 11 380 */ 381 (): NavDestinationAttribute; 382} 383 384/** 385 * Indicates configuration info of destination. 386 * 387 * @interface RouteMapConfig 388 * @syscap SystemCapability.ArkUI.ArkUI.Full 389 * @crossplatform 390 * @atomicservice 391 * @since 12 392 */ 393declare interface RouteMapConfig { 394 /** 395 * Get destination name. 396 * 397 * @type { string } 398 * @syscap SystemCapability.ArkUI.ArkUI.Full 399 * @crossplatform 400 * @atomicservice 401 * @since 12 402 */ 403 name: string; 404 405 /** 406 * Get destination builder file position 407 * 408 * @type { string } 409 * @syscap SystemCapability.ArkUI.ArkUI.Full 410 * @crossplatform 411 * @atomicservice 412 * @since 12 413 */ 414 pageSourceFile: string; 415 416 /** 417 * Indicate the custom data of current destination. 418 * 419 * @type { Object } 420 * @syscap SystemCapability.ArkUI.ArkUI.Full 421 * @crossplatform 422 * @atomicservice 423 * @since 12 424 */ 425 data: Object 426} 427 428/** 429 * Indicates the context of NavDestination. 430 * 431 * @interface NavDestinationContext 432 * @syscap SystemCapability.ArkUI.ArkUI.Full 433 * @crossplatform 434 * @atomicservice 435 * @since 11 436 */ 437declare interface NavDestinationContext { 438 /** 439 * Get path info. 440 * 441 * @type { NavPathInfo } 442 * @syscap SystemCapability.ArkUI.ArkUI.Full 443 * @crossplatform 444 * @atomicservice 445 * @since 11 446 */ 447 pathInfo: NavPathInfo; 448 449 /** 450 * Get stack of the Navigation where the NavDestination is located. 451 * 452 * @type { NavPathStack } 453 * @syscap SystemCapability.ArkUI.ArkUI.Full 454 * @crossplatform 455 * @atomicservice 456 * @since 11 457 */ 458 pathStack: NavPathStack; 459 460 /** 461 * Get the unique id of NavDestination, which is different from common property id of Component. 462 * 463 * @type { ?string } 464 * @syscap SystemCapability.ArkUI.ArkUI.Full 465 * @crossplatform 466 * @atomicservice 467 * @since 12 468 */ 469 navDestinationId?: string; 470 471 /** 472 * Get configuration of current Destination in module.json 473 * 474 * @returns {RouteMapConfig | undefined} 475 * 476 * @syscap SystemCapability.ArkUI.ArkUI.Full 477 * @crossplatform 478 * @atomicservice 479 * @since 12 480 */ 481 getConfigInRouteMap(): RouteMapConfig | undefined; 482} 483 484/** 485 * Indicates the nested scrollable container components. 486 * 487 * @interface NestedScrollInfo 488 * @syscap SystemCapability.ArkUI.ArkUI.Full 489 * @crossplatform 490 * @atomicservice 491 * @since 14 492 */ 493declare interface NestedScrollInfo { 494 /** 495 * The controller of parent scrollable container component. 496 * 497 * @type { Scroller } 498 * @syscap SystemCapability.ArkUI.ArkUI.Full 499 * @crossplatform 500 * @atomicservice 501 * @since 14 502 */ 503 parent: Scroller; 504 505 /** 506 * The controller of child scrollable container component. 507 * 508 * @type { Scroller } 509 * @syscap SystemCapability.ArkUI.ArkUI.Full 510 * @crossplatform 511 * @atomicservice 512 * @since 14 513 */ 514 child: Scroller; 515} 516 517/** 518* NavDestination animation protocol. 519* 520* @interface NavDestinationTransition 521* @syscap SystemCapability.ArkUI.ArkUI.Full 522* @crossplatform 523* @atomicservice 524* @since 15 525*/ 526declare interface NavDestinationTransition { 527 /** 528 * This method is called after the transition ends to notify whether the transition was successful. 529 * 530 * @type { ?Callback<void> } 531 * @syscap SystemCapability.ArkUI.ArkUI.Full 532 * @crossplatform 533 * @atomicservice 534 * @since 15 535 */ 536 onTransitionEnd?: Callback<void>; 537 538 /** 539 * Define the limit duration of the transition animation. 540 * 541 * @type { ?number } 542 * @syscap SystemCapability.ArkUI.ArkUI.Full 543 * @crossplatform 544 * @atomicservice 545 * @since 15 546 */ 547 duration?: number; 548 549 /** 550 * Define the curve of the transition animation. 551 * 552 * @type { ?Curve } 553 * @syscap SystemCapability.ArkUI.ArkUI.Full 554 * @crossplatform 555 * @atomicservice 556 * @since 15 557 */ 558 curve?: Curve; 559 560 /** 561 * Define the delay of the transition animation. 562 * 563 * @type { ?number } 564 * @syscap SystemCapability.ArkUI.ArkUI.Full 565 * @crossplatform 566 * @atomicservice 567 * @since 15 568 */ 569 delay?: number; 570 571 /** 572 * Configure the custom transition event. 573 * 574 * @type { Callback<void> } 575 * @syscap SystemCapability.ArkUI.ArkUI.Full 576 * @crossplatform 577 * @atomicservice 578 * @since 15 579 */ 580 event: Callback<void>; 581} 582 583/** 584 * The attribute function of NavDestination 585 * 586 * @extends CommonMethod<NavDestinationAttribute> 587 * @syscap SystemCapability.ArkUI.ArkUI.Full 588 * @since 9 589 */ 590/** 591 * The attribute function of NavDestination 592 * 593 * @extends CommonMethod<NavDestinationAttribute> 594 * @syscap SystemCapability.ArkUI.ArkUI.Full 595 * @crossplatform 596 * @since 10 597 */ 598/** 599 * The attribute function of NavDestination 600 * 601 * @extends CommonMethod<NavDestinationAttribute> 602 * @syscap SystemCapability.ArkUI.ArkUI.Full 603 * @crossplatform 604 * @atomicservice 605 * @since 11 606 */ 607declare class NavDestinationAttribute extends CommonMethod<NavDestinationAttribute> { 608 /** 609 * Navigation title bar 610 * 611 * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value 612 * @returns { NavDestinationAttribute } 613 * @syscap SystemCapability.ArkUI.ArkUI.Full 614 * @since 9 615 */ 616 /** 617 * Navigation title bar 618 * 619 * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value 620 * @returns { NavDestinationAttribute } 621 * @syscap SystemCapability.ArkUI.ArkUI.Full 622 * @crossplatform 623 * @since 10 624 */ 625 /** 626 * Navigation title bar 627 * 628 * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value 629 * @returns { NavDestinationAttribute } 630 * @syscap SystemCapability.ArkUI.ArkUI.Full 631 * @crossplatform 632 * @atomicservice 633 * @since 11 634 */ 635 /** 636 * NavDestination title bar 637 * 638 * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle } value 639 * @param { NavigationTitleOptions } [options] - Indicates the options of titlebar. 640 * @returns { NavDestinationAttribute } 641 * @syscap SystemCapability.ArkUI.ArkUI.Full 642 * @crossplatform 643 * @atomicservice 644 * @since 12 645 */ 646 /** 647 * NavDestination title bar 648 * 649 * @param { string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle | Resource } value 650 * @param { NavigationTitleOptions } [options] - Indicates the options of titlebar. 651 * @returns { NavDestinationAttribute } 652 * @syscap SystemCapability.ArkUI.ArkUI.Full 653 * @crossplatform 654 * @atomicservice 655 * @since 14 656 */ 657 title(value: string | CustomBuilder | NavDestinationCommonTitle | NavDestinationCustomTitle | Resource, 658 options?: NavigationTitleOptions): NavDestinationAttribute; 659 660 /** 661 * Hide navigation title bar 662 * 663 * @param { boolean } value 664 * @returns { NavDestinationAttribute } 665 * @syscap SystemCapability.ArkUI.ArkUI.Full 666 * @since 9 667 */ 668 /** 669 * Hide navigation title bar 670 * 671 * @param { boolean } value 672 * @returns { NavDestinationAttribute } 673 * @syscap SystemCapability.ArkUI.ArkUI.Full 674 * @crossplatform 675 * @since 10 676 */ 677 /** 678 * Hide navigation title bar 679 * 680 * @param { boolean } value 681 * @returns { NavDestinationAttribute } 682 * @syscap SystemCapability.ArkUI.ArkUI.Full 683 * @crossplatform 684 * @atomicservice 685 * @since 11 686 */ 687 hideTitleBar(value: boolean): NavDestinationAttribute; 688 689 /** 690 * Hide navigation title bar 691 * 692 * @param { boolean } hide 693 * @param { boolean } animated 694 * @returns { NavDestinationAttribute } 695 * @syscap SystemCapability.ArkUI.ArkUI.Full 696 * @crossplatform 697 * @atomicservice 698 * @since 13 699 */ 700 hideTitleBar(hide: boolean, animated: boolean): NavDestinationAttribute; 701 702 /** 703 * Hide navDestination back button 704 * 705 * @param { Optional<boolean> } hide 706 * @returns { NavDestinationAttribute } 707 * @syscap SystemCapability.ArkUI.ArkUI.Full 708 * @crossplatform 709 * @atomicservice 710 * @since 15 711 */ 712 hideBackButton(hide: Optional<boolean>): NavDestinationAttribute; 713 714 /** 715 * Invoked when the navDestination page is displayed. 716 * 717 * @param { function } callback - Indicates callback when the navDestination page is displayed. 718 * @returns { NavDestinationAttribute } 719 * @syscap SystemCapability.ArkUI.ArkUI.Full 720 * @crossplatform 721 * @since 10 722 */ 723 /** 724 * Invoked when the navDestination page is displayed. 725 * 726 * @param { function } callback - Indicates callback when the navDestination page is displayed. 727 * @returns { NavDestinationAttribute } 728 * @syscap SystemCapability.ArkUI.ArkUI.Full 729 * @crossplatform 730 * @atomicservice 731 * @since 11 732 */ 733 onShown(callback: () => void): NavDestinationAttribute; 734 735 /** 736 * Invoked when the navDestination is hidden. 737 * 738 * @param { function } callback - Indicates callback when the navDestination is hidden. 739 * @returns { NavDestinationAttribute } 740 * @syscap SystemCapability.ArkUI.ArkUI.Full 741 * @crossplatform 742 * @since 10 743 */ 744 /** 745 * Invoked when the navDestination is hidden. 746 * 747 * @param { function } callback - Indicates callback when the navDestination is hidden. 748 * @returns { NavDestinationAttribute } 749 * @syscap SystemCapability.ArkUI.ArkUI.Full 750 * @crossplatform 751 * @atomicservice 752 * @since 11 753 */ 754 onHidden(callback: () => void): NavDestinationAttribute; 755 756 /** 757 * Invoked when the backButton is pressed. 758 * 759 * @param { function } callback - Indicates callback when the backButton is pressed. 760 * @returns { NavDestinationAttribute } 761 * @syscap SystemCapability.ArkUI.ArkUI.Full 762 * @crossplatform 763 * @since 10 764 */ 765 /** 766 * Invoked when the backButton is pressed. 767 * 768 * @param { function } callback - Indicates callback when the backButton is pressed. 769 * @returns { NavDestinationAttribute } 770 * @syscap SystemCapability.ArkUI.ArkUI.Full 771 * @crossplatform 772 * @atomicservice 773 * @since 11 774 */ 775 onBackPressed(callback: () => boolean): NavDestinationAttribute; 776 777 /** 778 * Invoked when pop to the navDestination with result. 779 * 780 * @param {Optional<Callback<ESObject>>} callback - Indicates callback when pop to the navDestination with result. 781 * @returns {NavDestinationAttribute} 782 * @syscap SystemCapability.ArkUI.ArkUI.Full 783 * @crossplatform 784 * @atomicservice 785 * @since 15 786 */ 787 onResult(callback: Optional<Callback<ESObject>>): NavDestinationAttribute; 788 789 /** 790 * Sets the different mode of NavDestination. 791 * 792 * @param { NavDestinationMode } value - NavDestinationMode 793 * @returns { NavDestinationAttribute } 794 * @syscap SystemCapability.ArkUI.ArkUI.Full 795 * @crossplatform 796 * @since 11 797 */ 798 /** 799 * Sets the different mode of NavDestination. 800 * 801 * @param { NavDestinationMode } value - NavDestinationMode 802 * @returns { NavDestinationAttribute } 803 * @syscap SystemCapability.ArkUI.ArkUI.Full 804 * @crossplatform 805 * @atomicservice 806 * @since 12 807 */ 808 mode(value: NavDestinationMode): NavDestinationAttribute; 809 810 /** 811 * Set back button icon. 812 * 813 * @param { ResourceStr | PixelMap } value - Indicates icon of back button. 814 * @returns { NavDestinationAttribute } 815 * @syscap SystemCapability.ArkUI.ArkUI.Full 816 * @crossplatform 817 * @since 11 818 */ 819 /** 820 * Set back button icon. 821 * 822 * @param { ResourceStr | PixelMap | SymbolGlyphModifier } value - Indicates icon of back button. 823 * @returns { NavDestinationAttribute } 824 * @syscap SystemCapability.ArkUI.ArkUI.Full 825 * @crossplatform 826 * @atomicservice 827 * @since 12 828 */ 829 backButtonIcon(value: ResourceStr | PixelMap | SymbolGlyphModifier): NavDestinationAttribute; 830 831 /** 832 * NavDestination title bar's menus 833 * 834 * @param { Array<NavigationMenuItem> | CustomBuilder } value 835 * @returns { NavDestinationAttribute } 836 * @syscap SystemCapability.ArkUI.ArkUI.Full 837 * @crossplatform 838 * @atomicservice 839 * @since 12 840 */ 841 menus(value: Array<NavigationMenuItem> | CustomBuilder): NavDestinationAttribute; 842 843 /** 844 * Configure toolbar with default style parameter or custom parameter. 845 * 846 * @param { Array<ToolbarItem> | CustomBuilder } toolbarParam - Toolbar configuration parameters. 847 * @param { NavigationToolbarOptions } [options] - Indicates the options of toolbar. 848 * @returns { NavDestinationAttribute } 849 * @syscap SystemCapability.ArkUI.ArkUI.Full 850 * @crossplatform 851 * @atomicservice 852 * @since 13 853 */ 854 toolbarConfiguration(toolbarParam: Array<ToolbarItem> | CustomBuilder, options?: NavigationToolbarOptions): NavDestinationAttribute; 855 856 /** 857 * Hide tool bar 858 * 859 * @param { boolean } hide 860 * @param { boolean } [animated] 861 * @returns { NavDestinationAttribute } 862 * @syscap SystemCapability.ArkUI.ArkUI.Full 863 * @crossplatform 864 * @atomicservice 865 * @since 13 866 */ 867 hideToolBar(hide: boolean, animated?: boolean): NavDestinationAttribute; 868 869 /** 870 * Invoked before sub-components of NavDestination are created. 871 * 872 * @param { import('../api/@ohos.base').Callback<NavDestinationContext> } callback 873 * - Indicates callback that invoked before sub-components of NavDestination are created. 874 * @returns { NavDestinationAttribute } 875 * @syscap SystemCapability.ArkUI.ArkUI.Full 876 * @crossplatform 877 * @atomicservice 878 * @since 11 879 */ 880 onReady(callback: import('../api/@ohos.base').Callback<NavDestinationContext>): NavDestinationAttribute; 881 882 /** 883 * Invoked before the navDestination is appeared. 884 * 885 * @param { Callback<void> } callback - Indicates callback before the navDestination is appeared. 886 * @returns { NavDestinationAttribute } 887 * @syscap SystemCapability.ArkUI.ArkUI.Full 888 * @crossplatform 889 * @atomicservice 890 * @since 12 891 */ 892 onWillAppear(callback: Callback<void>): NavDestinationAttribute; 893 894 /** 895 * Invoked before the navDestination is disappeared. 896 * 897 * @param { Callback<void> } callback - Indicates callback before the navDestination is disappeared. 898 * @returns { NavDestinationAttribute } 899 * @syscap SystemCapability.ArkUI.ArkUI.Full 900 * @crossplatform 901 * @atomicservice 902 * @since 12 903 */ 904 onWillDisappear(callback: Callback<void>): NavDestinationAttribute; 905 906 /** 907 * Invoked before the navDestination is displayed. 908 * 909 * @param { Callback<void> } callback - Indicates callback before the navDestination is displayed. 910 * @returns { NavDestinationAttribute } 911 * @syscap SystemCapability.ArkUI.ArkUI.Full 912 * @crossplatform 913 * @atomicservice 914 * @since 12 915 */ 916 onWillShow(callback: Callback<void>): NavDestinationAttribute; 917 918 /** 919 * Invoked before the navDestination is hidden. 920 * 921 * @param { Callback<void> } callback - Indicates callback before the navDestination is hidden. 922 * @returns { NavDestinationAttribute } 923 * @syscap SystemCapability.ArkUI.ArkUI.Full 924 * @crossplatform 925 * @atomicservice 926 * @since 12 927 */ 928 onWillHide(callback: Callback<void>): NavDestinationAttribute; 929 930 /** 931 * Set navDestination content expand types and edges. 932 * 933 * @param { Array<LayoutSafeAreaType> } [types] - Indicates the types of the safe area. 934 * @param { Array<LayoutSafeAreaEdge> } [edges] - Indicates the edges of the safe area. 935 * @returns { NavDestinationAttribute } 936 * @syscap SystemCapability.ArkUI.ArkUI.Full 937 * @crossplatform 938 * @atomicservice 939 * @since 12 940 */ 941 ignoreLayoutSafeArea(types?: Array<LayoutSafeAreaType>, edges?: Array<LayoutSafeAreaEdge>): NavDestinationAttribute; 942 943 /** 944 * Set the style of system bar 945 * 946 * @param { Optional<SystemBarStyle> } style - The properties of system bar 947 * @returns { NavDestinationAttribute } 948 * @syscap SystemCapability.ArkUI.ArkUI.Full 949 * @atomicservice 950 * @since 12 951 */ 952 systemBarStyle(style: Optional<SystemBarStyle>): NavDestinationAttribute; 953 954 /** 955 * Configuration of system transition 956 * 957 * @param { NavigationSystemTransitionType } type - Types of system Transition 958 * @returns { NavDestinationAttribute } 959 * @syscap SystemCapability.ArkUI.ArkUI.Full 960 * @crossplatform 961 * @atomicservice 962 * @since 14 963 */ 964 systemTransition(type: NavigationSystemTransitionType): NavDestinationAttribute; 965 966 /** 967 * Set the NavDestination can be restored after the application is terminated. 968 * To enable this attribute, recoverable and id of Navigation must be set. 969 * 970 * @param { boolean } recoverable - set navdestination can be recovered. 971 * @returns { NavDestinationAttribute } 972 * @syscap SystemCapability.ArkUI.ArkUI.Full 973 * @since 14 974 */ 975 recoverable(recoverable: Optional<boolean>): NavDestinationAttribute; 976 977 /** 978 * Bind NavDestination to scrollable container components to automatically hide titlebar and toolbar. 979 * 980 * @param { Array<Scroller> } scrollers - The controllers of the scrollable container components. 981 * @returns { NavDestinationAttribute } Returns the instance of the NavDestinationAttribute. 982 * @syscap SystemCapability.ArkUI.ArkUI.Full 983 * @crossplatform 984 * @atomicservice 985 * @since 14 986 */ 987 bindToScrollable(scrollers: Array<Scroller>): NavDestinationAttribute; 988 989 /** 990 * Bind NavDestination to nested scrollable container components to automatically hide titlebar and toolbar. 991 * 992 * @param { Array<NestedScrollInfo> } scrollInfos - The controllers of the nested scrollable container components. 993 * @returns { NavDestinationAttribute } Returns the instance of the NavDestinationAttribute. 994 * @syscap SystemCapability.ArkUI.ArkUI.Full 995 * @crossplatform 996 * @atomicservice 997 * @since 14 998 */ 999 bindToNestedScrollable(scrollInfos: Array<NestedScrollInfo>): NavDestinationAttribute; 1000 1001 /** 1002 * Set NavDestination custom animation. 1003 * 1004 * @param { NavDestinationTransitionDelegate } delegate - The delegate of NavDestination custom animation. 1005 * @returns { NavDestinationAttribute } Returns the instance of the NavDestinationAttribute. 1006 * @syscap SystemCapability.ArkUI.ArkUI.Full 1007 * @crossplatform 1008 * @atomicservice 1009 * @since 15 1010 */ 1011 customTransition(delegate: NavDestinationTransitionDelegate): NavDestinationAttribute; 1012} 1013 1014/** 1015 * Defines NavDestination Component. 1016 * 1017 * @syscap SystemCapability.ArkUI.ArkUI.Full 1018 * @since 9 1019 */ 1020/** 1021 * Defines NavDestination Component. 1022 * 1023 * @syscap SystemCapability.ArkUI.ArkUI.Full 1024 * @crossplatform 1025 * @since 10 1026 */ 1027/** 1028 * Defines NavDestination Component. 1029 * 1030 * @syscap SystemCapability.ArkUI.ArkUI.Full 1031 * @crossplatform 1032 * @atomicservice 1033 * @since 11 1034 */ 1035declare const NavDestination: NavDestinationInterface; 1036 1037/** 1038 * Defines NavDestination Component instance. 1039 * 1040 * @syscap SystemCapability.ArkUI.ArkUI.Full 1041 * @since 9 1042 */ 1043/** 1044 * Defines NavDestination Component instance. 1045 * 1046 * @syscap SystemCapability.ArkUI.ArkUI.Full 1047 * @crossplatform 1048 * @since 10 1049 */ 1050/** 1051 * Defines NavDestination Component instance. 1052 * 1053 * @syscap SystemCapability.ArkUI.ArkUI.Full 1054 * @crossplatform 1055 * @atomicservice 1056 * @since 11 1057 */ 1058declare const NavDestinationInstance: NavDestinationAttribute; 1059 1060/** 1061 * Delegate function for NavDestination custom animation. 1062 * 1063 * @typedef { function } NavDestinationTransitionDelegate 1064 * @param { NavigationOperation } operation - the operation type of current Navigation animation. 1065 * @param { boolean } isEnter - whether current NavDestination will do enter-type transition. 1066 * @returns { Array<NavDestinationTransition> | undefined } user-set custom navDestination transitions. 1067 * @syscap SystemCapability.ArkUI.ArkUI.Full 1068 * @crossplatform 1069 * @atomicservice 1070 * @since 15 1071 */ 1072declare type NavDestinationTransitionDelegate = 1073 (operation: NavigationOperation, isEnter: boolean) => Array<NavDestinationTransition> | undefined;