/* * Copyright (c) 2021-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file * @kit ArkUI */ /*** if arkts 1.2 */ import window from '../../@ohos.window'; import { Resource } from '../../global/resource'; import { TextModifier } from '../../arkui/TextModifier'; import { LengthMetrics } from '../../arkui/Graphics'; import { Callback, BlurStyle, CommonMethod, Optional, LayoutSafeAreaType, LayoutSafeAreaEdge, BackgroundEffectOptions, BackgroundBlurStyleOptions, PixelMap, Bindable } from './common' import { CustomBuilder, PageMapBuilder } from './builder' import { Length, ResourceStr, ResourceColor, Dimension, VoidCallback } from './units' import { TitleHeight } from './enums' import { SymbolGlyphModifier } from '../../arkui/SymbolGlyphModifier' import { NavDestinationContext, NavDestinationMode } from './navDestination' /*** endif */ /** * Import the SystemBarStyle type for Navigation. * * @typedef { import('../api/@ohos.window').default.SystemBarStyle } SystemBarStyle * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since 12 */ declare type SystemBarStyle = import('../api/@ohos.window').default.SystemBarStyle; /** * Import the SystemBarStyle type for Navigation. * * @typedef { window.SystemBarStyle } SystemBarStyle * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since 20 * @arkts 1.2 */ declare type SystemBarStyle = window.SystemBarStyle; /** * Defines the navigation common title. * * @interface NavigationCommonTitle * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Defines the navigation common title. * * @interface NavigationCommonTitle * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Defines the navigation common title. * * @interface NavigationCommonTitle * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationCommonTitle { /** * Sets the main title. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Sets the main title. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the main title. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ /** * Sets the main title. * * @type { string | Resource } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ main: string | Resource; /** * Sets the sub title. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Sets the sub title. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the sub title. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ /** * Sets the sub title. * * @type { string | Resource } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ sub: string | Resource; } /** * Defines the navigation custom title. * * @interface NavigationCustomTitle * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Defines the navigation custom title. * * @interface NavigationCustomTitle * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Defines the navigation custom title. * * @interface NavigationCustomTitle * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationCustomTitle { /** * Custom content of the title bar. * * @type { CustomBuilder } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Custom content of the title bar. * * @type { CustomBuilder } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Custom content of the title bar. * * @type { CustomBuilder } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ builder: CustomBuilder; /** * Height of the title bar. * * @type { TitleHeight | Length } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Height of the title bar. * * @type { TitleHeight | Length } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Height of the title bar. * * @type { TitleHeight | Length } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ height: TitleHeight | Length; } /** * Navigation mode * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Navigation mode * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Navigation mode * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare enum NavigationMode { /** * The navigation bar and the content area are displayed in stack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * The navigation bar and the content area are displayed in stack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The navigation bar and the content area are displayed in stack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Stack, /** * The navigation bar and the content area are displayed side by side. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * The navigation bar and the content area are displayed side by side. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The navigation bar and the content area are displayed side by side. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Split, /** * If the window width is greater than 520vp, the navigation component is displayed in split mode. * Otherwise it's displayed in stack mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * If the window width is greater than the sum of minNavBarWidth and minContentWidth, the navigation component is displayed in split mode. * Otherwise it's displayed in stack mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * If the window width is greater than the sum of minNavBarWidth and minContentWidth, the navigation component is displayed in split mode. * Otherwise it's displayed in stack mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Auto, } /** * Navigation bar position * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Navigation bar position * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Navigation bar position * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare enum NavBarPosition { /** * In navigation split mode, the main column is at the start of the main axis. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * In navigation split mode, the main column is at the start of the main axis. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * In navigation split mode, the main column is at the start of the main axis. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Start, /** * The navigation bar is on the End of the container * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * The navigation bar is on the End of the container * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The navigation bar is on the End of the container * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ End, } /** * Navigation title mode. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Navigation title mode. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Navigation title mode. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare enum NavigationTitleMode { /** * When the content is more than one screen in a scrollable component, the * main title shrinks as the content scrolls down (the subtitle fades out * with its size remaining unchanged) and restores as the content scrolls * up to the top. *
**NOTE** *
The effect where the main title's size changes in response to content * scrolling is effective only when **title** is set to **ResourceStr** or * **NavigationCommonTitle**. If **title** is set to any other value type, the * main title changes in mere location when pulled down. *
For this effect to work when the content is less than one screen in a * scrollable component, set the **options** parameter of the scrollable * component's edgeEffect attribute to **true**. In the non-scrolling state, the * height of the title bar is the same as in **Full** mode; in the scrolling state, * the minimum height of the title bar is the same as in **Mini** mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * When the content is more than one screen in a scrollable component, the * main title shrinks as the content scrolls down (the subtitle fades out * with its size remaining unchanged) and restores as the content scrolls * up to the top. *
**NOTE** *
The effect where the main title's size changes in response to content * scrolling is effective only when **title** is set to **ResourceStr** or * **NavigationCommonTitle**. If **title** is set to any other value type, the * main title changes in mere location when pulled down. *
For this effect to work when the content is less than one screen in a * scrollable component, set the **options** parameter of the scrollable * component's edgeEffect attribute to **true**. In the non-scrolling state, the * height of the title bar is the same as in **Full** mode; in the scrolling state, * the minimum height of the title bar is the same as in **Mini** mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * When the content is more than one screen in a scrollable component, the * main title shrinks as the content scrolls down (the subtitle fades out * with its size remaining unchanged) and restores as the content scrolls * up to the top. *
**NOTE** *
The effect where the main title's size changes in response to content * scrolling is effective only when **title** is set to **ResourceStr** or * **NavigationCommonTitle**. If **title** is set to any other value type, the * main title changes in mere location when pulled down. *
For this effect to work when the content is less than one screen in a * scrollable component, set the **options** parameter of the scrollable * component's edgeEffect attribute to **true**. In the non-scrolling state, the * height of the title bar is the same as in **Full** mode; in the scrolling state, * the minimum height of the title bar is the same as in **Mini** mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Free = 0, /** * The title is fixed at full mode.
Default value: If there is only a main * title, the title bar height is 112 vp; if there is both a main title and a * subtitle, the title bar height is 138 vp. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * The title is fixed at full mode.
Default value: If there is only a main * title, the title bar height is 112 vp; if there is both a main title and a * subtitle, the title bar height is 138 vp. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The title is fixed at full mode.
Default value: If there is only a main * title, the title bar height is 112 vp; if there is both a main title and a * subtitle, the title bar height is 138 vp. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Full, /** * The title is fixed at mini mode. * Default value:if there is only a main title, The title bar height is 56 vp. * If there are both a main title and a subtitle, the title bar height is 82 vp. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * The title is fixed at mini mode. Default value: In versions earlier than API version 12, * If there is only a main title, the title bar height is 56 vp; if there are both a main title and a subtitle, * The title bar height is 82 vp. Since API version 12, the title bar height is 56 vp. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The title is fixed at mini mode. Default value: In versions earlier than API version 12, * If there is only a main title, the title bar height is 56 vp; if there are both a main title and a subtitle, * The title bar height is 82 vp. Since API version 12, the title bar height is 56 vp. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ Mini, } /** * Navigation menu item, include menu icon and menu info * * @interface NavigationMenuItem * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Navigation menu item, include menu icon and menu info * * @interface NavigationMenuItem * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Navigation menu item, include menu icon and menu info * * @interface NavigationMenuItem * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationMenuItem { /** * The value of navigation menu item. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * The value of navigation menu item. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The value of navigation menu item. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ /** * The value of navigation menu item. * * @type { string | Resource } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ value: string | Resource; /** * The icon of navigation menu item. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * The icon of navigation menu item. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The icon of navigation menu item. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ /** * The icon of navigation menu item. * * @type { ?(string | Resource) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ icon?: string | Resource; /** * The symbol of navigation menu item. * * @type { ?SymbolGlyphModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since 12 */ /** * The symbol of navigation menu item. * * @type { ?SymbolGlyphModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.1&1.2 */ symbolIcon?: SymbolGlyphModifier; /** * Whether to enable this menu item. * * @type { ?boolean } * @default true * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ isEnabled?: boolean; /** * Trigger by navigation menu item click. * * @type { ?(() => void) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Trigger by navigation menu item click. * * @type { ?function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Trigger by navigation menu item click. * * @type { ?function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ action?: () => void; } /** * Indicates the information of the popped page. * * @interface PopInfo * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Indicates the information of the popped page. * * @interface PopInfo * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare interface PopInfo { /** * The info of the popped page. * * @type { NavPathInfo } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * The info of the popped page. * * @type { NavPathInfo } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ info: NavPathInfo; /** * The result of the popped page. * * @type { Object } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * The result of the popped page. * * @type { Object } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ result: Object; } /** * Indicates the information of NavDestination. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Indicates the information of NavDestination. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare class NavPathInfo { /** * Creates an instance of NavPathInfo. * * @param { string } name - The name of NavDestination. * @param { unknown } param - The detailed parameter of the NavDestination. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Creates an instance of NavPathInfo. * * @param { string } name - The name of NavDestination. * @param { unknown } param - The detailed parameter of the NavDestination. * @param { ?import('../api/@ohos.base').Callback } onPop - The callback when next page returns. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ /** * Creates an instance of NavPathInfo. * * @param { string } name - The name of NavDestination. * @param { unknown } param - The detailed parameter of the NavDestination. * @param { ?import('../api/@ohos.base').Callback } onPop - The callback when next page returns. * @param { ?boolean } isEntry - Indicates whether it is an entry destination. * Default value: **false**. * **true**: The navigation destination page is the entry page. * **false**: The navigation destination page is not the entry page. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 12 */ constructor(name: string, param: unknown, onPop?: import('../api/@ohos.base').Callback, isEntry?: boolean); /** * Creates an instance of NavPathInfo. * * @param { string } name - The name of NavDestination. * @param { Object | null | undefined } param - The detailed parameter of the NavDestination. * @param { Callback } [onPop] - The callback when next page returns. * @param { boolean } [isEntry] - Indicates whether it is an entry destination. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ constructor(name: string, param: Object | null | undefined, onPop?: Callback, isEntry?: boolean); /** * Name of the navigation destination page. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Name of the navigation destination page. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ name: string; /** * Detailed parameters of the navigation destination page. * * @type { ?unknown } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Detailed parameters of the navigation destination page. * * @type { ?unknown } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ param?: unknown; /** * The detailed parameter of the NavDestination. * * @type { ?(Object | null | undefined) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ param?: Object | null | undefined; /** * Callback returned when pop is called on the navigation destination page. * It is invoked only after the **result** parameter is set in pop. * * @type { ?import('../api/@ohos.base').Callback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Callback returned when pop is called on the navigation destination page. * It is invoked only after the **result** parameter is set in pop. * * @type { ?import('../api/@ohos.base').Callback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 12 */ onPop?: import('../api/@ohos.base').Callback; /** * The callback when next page returns. * * @type { ?Callback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ onPop?: Callback; /** * Indicates whether it is an entry destination. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ isEntry?: boolean; /** * The unique id of NavDestination. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ navDestinationId?: string; } /** * Defines the mode of stack operation. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare enum LaunchMode { /** * Default navigation stack operation mode.
In this mode, * push operations add the specified **NavDestination**page to * the stack; replace operations replace the current top **NavDestination** page. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ STANDARD = 0, /** * When the NavDestination with a specified name exists, it will be moved to top of stack, * otherwise, the behavior will be consistent with the STANDARD mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ MOVE_TO_TOP_SINGLETON = 1, /** * When the NavDestination with a specified name exists, the stack will pop until that NavDestination, * otherwise, the behavior will be consistent with the STANDARD mode. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ POP_TO_SINGLETON = 2, /** * This mode creates an instance of **NavDestination**. Compared with * **STANDARD**, this mode does not reuse the instance with the same name in the stack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ NEW_INSTANCE = 3, } /** * Indicates the options of stack operation. * * @interface NavigationOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationOptions { /** * Navigation stack operation mode. *
Default value: **LaunchMode.STANDARD**. * * @type { ?LaunchMode } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ launchMode?: LaunchMode; /** * Whether to support transition animation. *
Default value: **true**. *
**true**: The transition animation is supported. *
**false**: The transition animation is not supported. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ animated?: boolean; } /** * Indicates the information of NavDestinations. Providers methods for controlling destination page in the stack * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Indicates the information of NavDestinations. Providers methods for controlling destination page in the stack * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare class NavPathStack { /** * Creates an instance of NavPathStack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Creates an instance of NavPathStack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ constructor(); /** * Pushes the navigation destination page specified by **info** onto the navigation stack. * * @param { NavPathInfo } info - Indicates the NavDestination to be pushed. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Pushes the navigation destination page specified by **info** onto the navigation stack. * * @param { NavPathInfo } info - Indicates the NavDestination to be pushed. * @param { boolean } [animated] - Whether to support the transition animation. *
Default value: **true**. *
**true**: The transition animation is supported. **false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ pushPath(info: NavPathInfo, animated?: boolean): void; /** * Pushes the navigation destination page specified by **info** onto the navigation stack. * Depending on the launchMode specified in the **options** parameter, different behaviors will be triggered. * * @param { NavPathInfo } info - Indicates the NavDestination to be pushed. * @param { NavigationOptions } [options] - Indicates options of stack operation. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ pushPath(info: NavPathInfo, options?: NavigationOptions): void; /** * Pushes the navigation destination page specified by **info** onto * the navigation stack. This API uses a promise to return the result. * * @param { NavPathInfo } info - Information about the navigation destination page. * @param { boolean } [animated] - Whether to support the transition animation. *
Default value: **true**. *
**true**: The transition animation is supported. *
**false**: The transition animation is not supported. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pushes the navigation destination page specified by **info** onto * the navigation stack. This API uses a promise to return the result. * * @param { NavPathInfo } info - Information about the navigation destination page. * @param { boolean } [animated] - Whether to support the transition animation. *
Default value: **true**. *
**true**: The transition animation is supported. *
**false**: The transition animation is not supported. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ pushDestination(info: NavPathInfo, animated?: boolean): Promise; /** * Pushes the navigation destination page specified by **info** onto the navigation stack. * This API uses a promise to return the result. Depending on the LaunchMode * specified in the **options** parameter, different behaviors will be triggered. * * @param { NavPathInfo } info - Information about the navigation destination page. * @param { NavigationOptions } [options] - Navigation options. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ pushDestination(info: NavPathInfo, options?: NavigationOptions): Promise; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { unknown } param - Indicates the detailed parameter of the NavDestination to be pushed. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { unknown } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported. **false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ pushPathByName(name: string, param: unknown, animated?: boolean): void; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object | null | undefined } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { boolean } [animated] - Indicates whether the transition is animated. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ pushPathByName(name: string, param: Object | null | undefined, animated?: boolean): void; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { import('../api/@ohos.base').Callback } onPop - The callback when next page returns. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported. **false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { import('../api/@ohos.base').Callback } onPop - The callback when next page returns. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported. **false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 12 */ pushPathByName(name: string, param: Object, onPop: import('../api/@ohos.base').Callback, animated?: boolean): void; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { Callback } onPop - The callback when next page returns. * @param { boolean } [animated] - Indicates whether the transition is animated. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ pushPathByName(name: string, param: Object, onPop: Callback, animated?: boolean): void; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { boolean } [animated] - Indicates whether the transition is animated. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { boolean } [animated] - Indicates whether the transition is animated. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ pushDestinationByName(name: string, param: Object, animated?: boolean): Promise; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { import('../api/@ohos.base').Callback } onPop - The callback when next page returns. * @param { boolean } [animated] - Indicates whether the transition is animated. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { import('../api/@ohos.base').Callback } onPop - The callback when next page returns. * @param { boolean } [animated] - Indicates whether the transition is animated. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 12 */ pushDestinationByName(name: string, param: Object, onPop: import('../api/@ohos.base').Callback, animated?: boolean): Promise; /** * Pushes the specified NavDestination into the stack. * * @param { string } name - Indicates the name of the NavDestination to be pushed. * @param { Object } param - Indicates the detailed parameter of the NavDestination to be pushed. * @param { Callback } onPop - The callback when next page returns. * @param { boolean } [animated] - Indicates whether the transition is animated. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ pushDestinationByName(name: string, param: Object, onPop: Callback, animated?: boolean): Promise; /** * Replace the current NavDestination with the specific one.The current NavDestination will be destroyed. * * @param { NavPathInfo } info - Indicates the new NavDestination in top of the stack. * @param { boolean } [animated] - Indicates whether the transition is animated. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Replace the current NavDestination with the specific one.The current NavDestination will be destroyed. * * @param { NavPathInfo } info - Indicates the new NavDestination in top of the stack. * @param { boolean } [animated] - Indicates whether the transition is animated. * Default value: **true**. * **true**: The transition animation is supported. * **false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ replacePath(info: NavPathInfo, animated?: boolean): void; /** * Replace the current NavDestination with the specific one.The current NavDestination will be destroyed. * * @param { NavPathInfo } info - Indicates the new NavDestination in top of the stack. * @param { NavigationOptions } [options] - Indicates options of stack operation. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ replacePath(info: NavPathInfo, options?: NavigationOptions): void; /** * Replace the NavDestination into the stack. * * @param { NavPathInfo } info - Indicates the NavDestination to replace in stack. * @param { NavigationOptions } [options] - Indicates options of stack operation. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - Parameter error. Possible causes: * 1. Mandatory parameters are left unspecified. * 2. Incorrect parameters types. * 3. Parameter verification failed. * @throws { BusinessError } 100001 - Internal error. * @throws { BusinessError } 100005 - Builder function not registered. * @throws { BusinessError } 100006 - NavDestination not found. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'18','1.2':'20'} * @arkts 1.1&1.2 */ replaceDestination(info: NavPathInfo, options?: NavigationOptions): Promise; /** * Replace the current NavDestination with the specific one.The current NavDestination will be destroyed. * * @param { string } name - Indicates name of the new NavDestination in top of stack. * @param { Object } param - Indicates the detailed parameter of the new NavDestination in top of the stack. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Replace the current NavDestination with the specific one.The current NavDestination will be destroyed. * * @param { string } name - Indicates name of the new NavDestination in top of stack. * @param { Object } param - Indicates the detailed parameter of the new NavDestination in top of the stack. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ replacePathByName(name: string, param: Object, animated?: boolean): void; /** * Remove the specified NavDestinations by indexes. * * @param { Array } indexes - Indicates the indexes of the NavDestinations to be removed. * @returns { number } Returns the number of removed pages. Invalid indexes will be ignored. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Remove the specified NavDestinations by indexes. * * @param { Array } indexes - Indicates the indexes of the NavDestinations to be removed. * @returns { number } Returns the number of removed pages. Invalid indexes will be ignored. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ removeByIndexes(indexes: Array): number; /** * Removes the navigation destination page specified by **name** from the navigation stack. * * @param { string } name - Indicates the name of the NavDestination to be removed. * @returns { number } Returns the number of removed NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Removes the navigation destination page specified by **name** from the navigation stack. * * @param { string } name - Indicates the name of the NavDestination to be removed. * @returns { number } Returns the number of removed NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ removeByName(name: string): number; /** * Removes the navigation destination page specified by **navDestinationId** from * the navigation stack. **navDestinationId** can be obtained from the onReady callback * of **NavDestination** or from NavDestinationInfo. * * @param { string } navDestinationId - Unique ID of the navigation destination page to remove. * @returns { boolean } Returns true if remove successfully, otherwise returns false. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ removeByNavDestinationId(navDestinationId: string): boolean; /** * Pops the top NavDestination out of the stack. * * @returns { NavPathInfo | undefined } Returns the top NavPathInfo if the stack is not empty, otherwise returns undefined. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Pops the top NavDestination out of the stack. * * @param { boolean } [animated] - Indicates whether the transition is animated. Default value is **true**. * @returns { NavPathInfo | undefined } Returns the top NavPathInfo if the stack is not empty, otherwise returns undefined. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ pop(animated?: boolean): NavPathInfo | undefined; /** * Pops the top NavDestination out of the stack. Invokes the **onPop** callback to pass the page processing result. * * @param { Object } result - The result of the NavDestination. * @param { boolean } [animated] - Indicates whether the transition is animated. Default value is **true**. * @returns { NavPathInfo | undefined } Returns the top NavPathInfo if the stack is not empty, otherwise returns undefined. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pops the top NavDestination out of the stack. Invokes the **onPop** callback to pass the page processing result. * * @param { Object } result - The result of the NavDestination. * @param { boolean } [animated] - Indicates whether the transition is animated. Default value is **true**. * @returns { NavPathInfo | undefined } Returns the top NavPathInfo if the stack is not empty, otherwise returns undefined. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ pop(result: Object, animated?: boolean): NavPathInfo | undefined; /** * Pops the specified NavDestination out of the stack. * * @param { string } name - Indicates the name of the NavDestination to be popped. * @returns { number } Returns the index of the NavDestination if it exists in the stack, otherwise returns -1; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Pops the specified NavDestination out of the stack. * * @param { string } name - Indicates the name of the NavDestination to be popped. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @returns { number } Returns the index of the NavDestination if it exists in the stack, otherwise returns -1; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ popToName(name: string, animated?: boolean): number; /** * Pops pages until the first navigation destination page. * That matches **name** from the bottom of the navigation stack is at the top of the stack. * This API uses the **onPop** callback to pass in the page processing result. * * @param { string } name - Indicates the name of the NavDestination to be popped. * @param { Object } result - The result of the NavDestination. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @returns { number } Returns the index of the NavDestination if it exists in the stack, otherwise returns -1; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pops pages until the first navigation destination page. * That matches **name** from the bottom of the navigation stack is at the top of the stack. * This API uses the **onPop** callback to pass in the page processing result. * * @param { string } name - Indicates the name of the NavDestination to be popped. * @param { Object } result - The result of the NavDestination. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @returns { number } Returns the index of the NavDestination if it exists in the stack, otherwise returns -1; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ popToName(name: string, result: Object, animated?: boolean): number; /** * Pops the specified NavDestination out of the stack. * * @param { number } index - Indicates the index of the NavDestination to be popped. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Pops the specified NavDestination out of the stack. * * @param { number } index - Indicates the index of the NavDestination to be popped. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ popToIndex(index: number, animated?: boolean): void; /** * Pops the specified NavDestination out of the stack. * * @param { number } index - Indicates the index of the NavDestination to be popped. * @param { Object } result - The result of the NavDestination. * @param { boolean } [animated] - Indicates whether the transition is animated. *
Default value: **true**. *
**true**: The transition animation is supported.
**false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ popToIndex(index: number, result: Object, animated?: boolean): void; /** * Moves the first navigation destination page of this name to the top of stack. * That matches **name** from the bottom of the navigation stack to the top of the stack. * * @param { string } name - Indicates the name of the NavDestination to be moved to the top. * @returns { number } Returns the index of the NavDestination if it exists in the stack, otherwise returns -1; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Moves the first navigation destination page of this name to the top of stack. * That matches **name** from the bottom of the navigation stack to the top of the stack. * * @param { string } name - Indicates the name of the NavDestination to be moved to the top. * @param { boolean } [animated] - Indicates whether the transition is animated. * @returns { number } Returns the index of the NavDestination if it exists in the stack, otherwise returns -1; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ moveToTop(name: string, animated?: boolean): number; /** * Moves to the top of the navigation stack the navigation destination page specified by **index**. * * @param { number } index - Index of the navigation destination page. The index is zero-based. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Moves to the top of the navigation stack the navigation destination page specified by **index**. * * @param { number } index - Index of the navigation destination page. The index is zero-based. * @param { boolean } [animated] - Whether to support the transition animation. *
Default value: **true**. *
**true**: The transition animation is supported. *
**false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ moveIndexToTop(index: number, animated?: boolean): void; /** * Clears the navigation stack. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Clears the navigation stack. * * @param { boolean } [animated] - Whether to support the transition animation. *
Default value: **true**. *
**true**: The transition animation is supported. *
**false**: The transition animation is not supported. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ clear(animated?: boolean): void; /** * Obtains the names of all navigation destination pages in the navigation stack. * * @returns { Array } Returns all the NavDestination name in the stack; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Obtains the names of all navigation destination pages in the navigation stack. * * @returns { Array } Returns all the NavDestination name in the stack; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ getAllPathName(): Array; /** * Obtains the parameter information of the navigation destination page specified by **index**. * * @param { number } index - Index of the navigation destination page. The index is zero-based. * @returns { unknown | undefined } Returns the detailed parameter of the NavDestination. *
If it exists in the stack, otherwise returns undefined; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Obtains the parameter information of the navigation destination page specified by **index**. * * @param { number } index - Index of the navigation destination page. The index is zero-based. * @returns { unknown | undefined } Returns the detailed parameter of the NavDestination. *
If it exists in the stack, otherwise returns undefined; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ getParamByIndex(index: number): unknown | undefined; /** * Obtains the param of the specified NavDestination. * * @param { number } index - Indicates the index of the NavDestination. * @returns { Object | null | undefined } Returns the detailed parameter of the NavDestination if it exists in the stack, otherwise returns undefined; * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ getParamByIndex(index: number): Object | null | undefined; /** * Obtains the param of the specified NavDestination. * * @param { string } name - Indicates the name of the NavDestination. * @returns { Array } Returns the detailed parameter of all the NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Obtains the param of the specified NavDestination. * * @param { string } name - Indicates the name of the NavDestination. * @returns { Array } Returns the detailed parameter of all the NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ getParamByName(name: string): Array; /** * Obtains the param of the specified NavDestination. * * @param { string } name - Indicates the name of the NavDestination. * @returns { Array } Returns the detailed parameter of all the NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ getParamByName(name: string): Array; /** * Obtains the indexes of all the navigation destination pages that match **name**. * * @param { string } name - Indicates the name of the NavDestination. * @returns { Array } Returns the index of all the NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Obtains the indexes of all the navigation destination pages that match **name**. * * @param { string } name - Indicates the name of the NavDestination. * @returns { Array } Returns the index of all the NavDestinations. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ getIndexByName(name: string): Array; /** * Obtains the parent navigation path stack. * When a **Navigation** component is nested (directly or indirectly) insider another **Navigation** component, * The internal one can obtain the navigation path stack of the external one. * * @returns { NavPathStack | null } Returns the parent of the current stack. If no parent, it returns null. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ getParent(): NavPathStack | null; /** * Obtains the stack size. * * @returns { number } Stack size. *
Value range: [0, +∞) * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Obtains the stack size. * * @returns { number } Stack size. *
Value range: [0, +∞) * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ size(): number; /** * Disables or enables the transition animation in the **Navigation** component. * * @param { boolean } value - Whether to disable the transition animation. *
Default value: **false**. *
**true**:The transition animation is disabled. *
**false**: The transition animation is not disabled. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Disables or enables the transition animation in the **Navigation** component. * * @param { boolean } value - Whether to disable the transition animation. *
Default value: **false**. *
**true**:The transition animation is disabled. *
**false**: The transition animation is not disabled. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ disableAnimation(value: boolean): void; /** * Sets the interception callback for navigation page redirection. * * @param { NavigationInterception } interception - Object to be intercepted during navigation redirection. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ setInterception(interception: NavigationInterception): void; /** * Get the NavPathInfo array. * * @returns { Array } The NavPathInfo array. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ getPathStack(): Array; /** * Set the NavPathInfo array. * * @param { Array } pathStack - The NavPathInfo array. * @param { boolean } [animated] - Indicate whether the operation has animation. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ setPathStack(pathStack: Array, animated?: boolean): void; } /** * Defines the name of the navigation home page. * * @typedef { 'navBar' } NavBar * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare type NavBar = 'navBar' /** * navigation interception callback using in willShow and didShow * * @typedef { function } InterceptionShowCallback * @param { NavDestinationContext | NavBar } from - Indicates the starting NavDestination or NavBar. * @param { NavDestinationContext | NavBar } to - Indicates the destination NavDestination or NavBar. * @param { NavigationOperation } operation - Indicates the type of stack operation. * @param { boolean } isAnimated - Indicates whether the transition is animated. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare type InterceptionShowCallback = (from: NavDestinationContext|NavBar, to: NavDestinationContext|NavBar, operation: NavigationOperation, isAnimated: boolean) => void; /** * navigation interception callback using in navigation mode change * * @typedef { function } InterceptionModeCallback * @param { NavigationMode } mode - Indicates the mode of Navigation. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare type InterceptionModeCallback = (mode: NavigationMode) => void; /** * Provide navigation transition interception * * @interface NavigationInterception * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationInterception { /** * Interception before page redirection, allowing for stack operations. * The setting takes effect in the current redirection. * * @type { ?InterceptionShowCallback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ willShow?: InterceptionShowCallback; /** * Called after destination transition.For details, see { @Link InterceptionShowCallback}. * * @type { ?InterceptionShowCallback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ didShow?: InterceptionShowCallback; /** * Called when navigation mode changed.For details, see { @Link InterceptionModeCallback}. * * @type { ?InterceptionModeCallback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ modeChange?: InterceptionModeCallback; } /** * Indicates the information of home destination. * * @interface HomePathInfo * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 */ declare interface HomePathInfo { /** * Name of the home destination. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 */ name: string; /** * Detailed parameters of the home destination. * * @type { ?Object } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 */ param?: Object; } /** * Provide navigation view interface * * @interface NavigationInterface * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Provide navigation view interface * * @interface NavigationInterface * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Provide navigation view interface * * @interface NavigationInterface * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ interface NavigationInterface { /** * Called when the navigation view interface is used. * * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Called when the navigation view interface is used. * * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Called when the navigation view interface is used. * * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ (): NavigationAttribute; /** * Called when the navigation view interface is used, with route table provided. * * @param { NavPathStack } pathInfos - The stack of the route table. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Called when the navigation view interface is used, with route table provided. * * @param { NavPathStack } pathInfos - The stack of the route table. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ (pathInfos: NavPathStack): NavigationAttribute; /** * Called when the navigation view interface is used, with route table and homeDestination are provided. * * @param { NavPathStack } pathInfos - The stack of the route table. * @param { HomePathInfo } homeDestination - The custom home destination info. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 */ (pathInfos: NavPathStack, homeDestination: HomePathInfo): NavigationAttribute; } /** * Defines the status of toolbar item and it is used in the ToolbarItem interface. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 10 */ /** * Defines the status of toolbar item and it is used in the ToolbarItem interface. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare enum ToolbarItemStatus { /** * Normal state. In this state, the toolbar item takes on the default style and * can switch to another state-specific style by responding to the hover, press, * and focus events. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 10 */ /** * Normal state. In this state, the toolbar item takes on the default style and * can switch to another state-specific style by responding to the hover, press, * and focus events. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ NORMAL = 0, /** * Disable state of toolbar item. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 10 */ /** * Disable state of toolbar item. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ DISABLED = 1, /** * Active state. In this state, the toolbar item can update its icon * to the one specified by **activeIcon** by responding to a click event. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 10 */ /** * Active state. In this state, the toolbar item can update its icon * to the one specified by **activeIcon** by responding to a click event. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ ACTIVE = 2, } /** * Defines the operation of current navigation transition. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Defines the operation of current navigation transition. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare enum NavigationOperation { /** * Push operation of navigation transition. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Push operation of navigation transition. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ PUSH = 1, /** * Pop operation of navigation transition. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Pop operation of navigation transition. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ POP = 2, /** * The transition is page replacement. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * The transition is page replacement. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ REPLACE = 3, } /** * Defines configurable parameters for toolbar item. * * @interface ToolbarItem * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 10 */ /** * Defines configurable parameters for toolbar item. * * @interface ToolbarItem * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since 11 */ /** * Defines configurable parameters for toolbar item. * * @interface ToolbarItem * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.1&1.2 */ declare interface ToolbarItem { /** * The value of navigation toolbar item. * * @type { ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The value of navigation toolbar item. * * @type { ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ value: ResourceStr; /** * The icon of navigation toolbar item. * * @type { ?ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The icon of navigation toolbar item. * * @type { ?ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ icon?: ResourceStr; /** * The symbol of navigation toolbar item. * * @type { ?SymbolGlyphModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since 12 */ /** * The symbol of navigation toolbar item. * * @type { ?SymbolGlyphModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.1&1.2 */ symbolIcon?: SymbolGlyphModifier; /** * Trigger by navigation toolbar item click. * * @type { ?function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Trigger by navigation toolbar item click. * * @type { ?function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ action?: () => void; /** * The state of navigation toolbar item. * * @type { ?ToolbarItemStatus } * @default ToolbarItemStatus.NORMAL * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The state of navigation toolbar item. * * @type { ?ToolbarItemStatus } * @default ToolbarItemStatus.NORMAL * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ status?: ToolbarItemStatus; /** * The icon of navigation toolbar item in active state. * * @type { ?ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * The icon of navigation toolbar item in active state. * * @type { ?ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ activeIcon?: ResourceStr; /** * The symbol of navigation toolbar item in active state. * * @type { ?SymbolGlyphModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since 12 */ /** * The symbol of navigation toolbar item in active state. * * @type { ?SymbolGlyphModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.1&1.2 */ activeSymbolIcon?: SymbolGlyphModifier; } /** * Indicates the options of Navigation's Titlebar. * * @interface NavigationTitleOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationTitleOptions { /** * Background color of the title bar. If this parameter is not set, the default color is used. * * @type { ?ResourceColor } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ backgroundColor?: ResourceColor; /** * Background blur style of the title bar. If this parameter is not set, the background * blur effect is disabled. * * @type { ?BlurStyle } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ backgroundBlurStyle?: BlurStyle; /** * Background blur style options. * * @type { ?BackgroundBlurStyleOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundBlurStyleOptions?: BackgroundBlurStyleOptions; /** * Background effect options. * * @type { ?BackgroundEffectOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundEffect?: BackgroundEffectOptions; /** * Layout style of the title bar. *
Default value: **BarStyle.STANDARD**. * * @type { ?BarStyle } * @default BarStyle.STANDARD * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ barStyle?: BarStyle; /** * Set title bar start padding. * * @type { ?LengthMetrics } * @default LengthMetrics.resource($r('sys.float.margin_left')) * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ paddingStart?: LengthMetrics; /** * Set title bar end padding. * * @type { ?LengthMetrics } * @default LengthMetrics.resource($r('sys.float.margin_right')) * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ paddingEnd?: LengthMetrics; /** * Text modifier for main title. * * @type { ?TextModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'13','1.2':'20'} * @arkts 1.1&1.2 */ mainTitleModifier?: TextModifier; /** * Text modifier for sub title. * * @type { ?TextModifier } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'13','1.2':'20'} * @arkts 1.1&1.2 */ subTitleModifier?: TextModifier; /** * Defines whether to respond to the hover mode. * * @type { ?boolean } * @default false * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'13','1.2':'20'} * @arkts 1.1&1.2 */ enableHoverMode?: boolean; } /** * Declare BarStyle enum. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare enum BarStyle { /** * In this mode, the title bar or toolbar is laid out above the content area. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ STANDARD = 0, /** * In this mode, the title bar or toolbar is overlaid on top of the content area. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ STACK = 1, /** * SafeAreaPadding style means the bar height will be taken as content's safeAreaPadding. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ SAFE_AREA_PADDING = 2, } /** * Indicates the options of Navigation's Toolbar. * * @interface NavigationToolbarOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationToolbarOptions { /** * Background color of the toolbar. If this parameter is not set, the default color is used. * * @type { ?ResourceColor } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ backgroundColor?: ResourceColor; /** * Background blur style of the toolbar. If this parameter is not set, the background blur * effect is disabled. * * @type { ?BlurStyle } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ backgroundBlurStyle?: BlurStyle; /** * Background blur style options. * * @type { ?BackgroundBlurStyleOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundBlurStyleOptions?: BackgroundBlurStyleOptions; /** * Background effect options. * * @type { ?BackgroundEffectOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundEffect?: BackgroundEffectOptions; /** * More button options. * * @type { ?MoreButtonOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ moreButtonOptions?: MoreButtonOptions; /** * Set tool bar style. * * @type { ?BarStyle } * @default BarStyle.STANDARD * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ barStyle?: BarStyle; /** * Set whether toolbar displays text. * * @type { ?boolean } * @default false * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ hideItemValue?: boolean } /** * Indicates the options of Navigation's Menu. * * @interface NavigationMenuOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationMenuOptions { /** * More button options. * * @type { ?MoreButtonOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ moreButtonOptions?: MoreButtonOptions; } /** * Indicates the options of Navigation's Menu. * * @interface MoreButtonOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ declare interface MoreButtonOptions { /** * Background blur style. * * @type { ?BlurStyle } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundBlurStyle?: BlurStyle; /** * Background blur style options. * * @type { ?BackgroundBlurStyleOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundBlurStyleOptions?: BackgroundBlurStyleOptions; /** * Background effect options. * * @type { ?BackgroundEffectOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backgroundEffect?: BackgroundEffectOptions; } /** * Declare Navigation view properties. * * @extends CommonMethod * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Declare Navigation view properties. * * @extends CommonMethod * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Declare Navigation view properties. * * @extends CommonMethod * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ declare class NavigationAttribute extends CommonMethod { /** * Sets the width of the navigation bar. * This attribute takes effect only when the **Navigation** component is in split mode. * * @param { Length } value - Width of the navigation bar. *
Default value: **240**. Unit: vp. *
**undefined**: No action is taken, and the navigation bar width remains consistent with the default value. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Sets the width of the navigation bar. * This attribute takes effect only when the **Navigation** component is in split mode. * * @param { Length } value - Width of the navigation bar. *
Default value: **240**. Unit: vp. *
**undefined**: No action is taken, and the navigation bar width remains consistent with the default value. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the width of the navigation bar. * This attribute takes effect only when the **Navigation** component is in split mode. * * @param { Length } value - Width of the navigation bar. *
Default value: **240**. Unit: vp. *
**undefined**: No action is taken, and the navigation bar width remains consistent with the default value. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ navBarWidth(value: Length): NavigationAttribute; /** * Sets the position of the navigation bar. This attribute takes effect * only when the **Navigation** component is split. * * @param { NavBarPosition } value - Position of the navigation bar. *
Default value: **NavBarPosition.Start**. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Sets the position of the navigation bar. This attribute takes effect * only when the **Navigation** component is split. * * @param { NavBarPosition } value - Position of the navigation bar. *
Default value: **NavBarPosition.Start**. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the position of the navigation bar. This attribute takes effect * only when the **Navigation** component is split. * * @param { NavBarPosition } value - Position of the navigation bar. *
Default value: **NavBarPosition.Start**. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ navBarPosition(value: NavBarPosition): NavigationAttribute; /** * Sets the minimum and maximum widths of the navigation bar (effective in split mode). * * @param { [Dimension, Dimension] } value - Minimum and maximum widths of the navigation bar. *
Default value: 240 for the minimum value; 40% of the component width (not greater than 432) * for the maximum value; if either of the widths is not set, the default value is used for that width. *
Unit: vp. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the minimum and maximum widths of the navigation bar (effective in split mode). * * @param { [Dimension, Dimension] } value - Minimum and maximum widths of the navigation bar. *
Default value: 240 for the minimum value; 40% of the component width (not greater than 432) * for the maximum value; if either of the widths is not set, the default value is used for that width. *
Unit: vp. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ navBarWidthRange(value: [Dimension, Dimension]): NavigationAttribute; /** * Sets the minimum width of the navigation bar content area (effective in split mode). * * @param { Dimension } value - Minimum width of the navigation bar content area. *
Default value: **360**. *
Unit: vp. *
**undefined**: No action is taken, and the minimum width of the navigation bar remains * consistent with the default value.
Breakpoint calculation in Auto mode: default 600 vp = * minNavBarWidth (240 vp) + minContentWidth (360 vp). * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the minimum width of the navigation bar content area (effective in split mode). * * @param { Dimension } value - Minimum width of the navigation bar content area. *
Default value: **360**. *
Unit: vp. *
**undefined**: No action is taken, and the minimum width of the navigation bar remains * consistent with the default value.
Breakpoint calculation in Auto mode: default 600 vp = * minNavBarWidth (240 vp) + minContentWidth (360 vp). * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ minContentWidth(value: Dimension): NavigationAttribute; /** * Sets the mode of navigation. * * @param { NavigationMode } value - Display mode of the navigation. *
Default value: **NavigationMode.Auto**. *
At the default settings, the navigation adapts to stack or split mode based on the component width. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Sets the mode of navigation. * * @param { NavigationMode } value - Display mode of the navigation. *
Default value: **NavigationMode.Auto**. *
At the default settings, the navigation adapts to stack or split mode based on the component width. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the mode of navigation. * * @param { NavigationMode } value - Display mode of the navigation. *
Default value: **NavigationMode.Auto**. *
At the default settings, the navigation adapts to stack or split mode based on the component width. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ mode(value: NavigationMode): NavigationAttribute; /** * Sets the icon of the back button in the title bar. * * @param { string | PixelMap | Resource } value - Icon of the back button in the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Sets the icon of the back button in the title bar. * * @param { string | PixelMap | Resource } value - Icon of the back button in the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the icon of the back button in the title bar. * * @param { string | PixelMap | Resource } value - Icon of the back button in the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ /** * Sets the icon of the back button in the title bar. * * @param { string | PixelMap | Resource | SymbolGlyphModifier } value - Icon of the back button in the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ backButtonIcon(value: string | PixelMap | Resource | SymbolGlyphModifier): NavigationAttribute; /** * Sets the back button icon and accessibility broadcast content. * * @param { string | PixelMap | Resource | SymbolGlyphModifier } icon - Indicates icon of back button * @param { ResourceStr } [accessibilityText] - Indicates content needs to broadcast. * Default value: **back** when the system language is English. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ backButtonIcon(icon: string | PixelMap | Resource | SymbolGlyphModifier, accessibilityText?: ResourceStr): NavigationAttribute; /** * Hide the NavBar, which includes title bar, the child of Navigation and tool bar. Supported in split mode. * * @param { boolean } value - Whether to hide the navigation bar. *
Default value: **false**. **true**: Hide the navigation bar. **false**: Show the navigation bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Hide the NavBar, which includes title bar, the child of Navigation and tool bar. Supported in split mode. * * @param { boolean } value - Whether to hide the navigation bar. *
Default value: **false**. **true**: Hide the navigation bar. **false**: Show the navigation bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Hide the NavBar, which includes title bar, the child of Navigation and tool bar. Supported in all mode. * It will show top page in the NavPathStack directly or empty if there is no page in the NavPathStack. * * @param { boolean } value - Whether to hide the navigation bar. *
Default value: **false**. **true**: Hide the navigation bar. **false**: Show the navigation bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ hideNavBar(value: boolean): NavigationAttribute; /** * Navigation title * * @param { string | CustomBuilder } value * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Navigation title * * @param { string | CustomBuilder | NavigationCommonTitle | NavigationCustomTitle } value - Navigation title. *
When the NavigationCustomTitle type is used to set the height, titleMode does not take effect. *
When the title string is too long: *
If no subtitle is set, the string is scaled down, wrapped in two lines, and then clipped. *
If a subtitle is set, the subtitle is scaled down and then clipped. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Navigation title * * @param { ResourceStr | CustomBuilder | NavigationCommonTitle | NavigationCustomTitle } value - Navigation title. *
When the NavigationCustomTitle type is used to set the height, titleMode does not take effect. *
When the title string is too long: *
If no subtitle is set, the string is scaled down, wrapped in two lines, and then clipped. *
If a subtitle is set, the subtitle is scaled down and then clipped. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Navigation title * * @param { ResourceStr | CustomBuilder | NavigationCommonTitle | NavigationCustomTitle } value - Navigation title. *
When the NavigationCustomTitle type is used to set the height, titleMode does not take effect. *
When the title string is too long: *
If no subtitle is set, the string is scaled down, wrapped in two lines, and then clipped. *
If a subtitle is set, the subtitle is scaled down and then clipped. * @param { NavigationTitleOptions } [options] - Indicates the options of titlebar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ title(value: ResourceStr | CustomBuilder | NavigationCommonTitle | NavigationCustomTitle, options?: NavigationTitleOptions): NavigationAttribute; /** * Sets the subtitle of the navigation. * * @param { string } value - Content of subtitle. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 * @deprecated since 9 * @useinstead title */ subTitle(value: string): NavigationAttribute; /** * Hide navigation title bar * * @param { boolean } value - Whether to hide the title bar. *
Default value is **false**. **true**: Hide the title bar. **false**: Show the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Hide navigation title bar * * @param { boolean } value - Whether to hide the title bar. *
Default value is **false**. **true**: Hide the title bar. **false**: Show the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Hide navigation title bar * * @param { boolean } value - Whether to hide the title bar. *
Default value is **false**. **true**: Hide the title bar. **false**: Show the title bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ hideTitleBar(value: boolean): NavigationAttribute; /** * Sets whether to hide the title bar and whether to animate the visibility change. * * @param { boolean } hide - Whether to hide the title bar. *
Default value is **false**. **true**: Hide the title bar. **false**: Show the title bar. * @param { boolean } animated - Whether to animate the visibility change. *
Default value is **false**. *
**true**: Animate the visibility change. **false**: Do not animate the visibility change. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'13','1.2':'20'} * @arkts 1.1&1.2 */ hideTitleBar(hide: boolean, animated: boolean): NavigationAttribute; /** * Sets whether to hide the back button in the title bar. * The back button is available only when titleMode is set to **NavigationTitleMode.Mini**. * * @param { boolean } value - Whether to hide the back button in the title bar. *
Default value: **false**. **true**: Hide the back button. **false**: Show the back button. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Sets whether to hide the back button in the title bar. * The back button is available only when titleMode is set to **NavigationTitleMode.Mini**. * * @param { boolean } value - Whether to hide the back button in the title bar. *
Default value: **false**. **true**: Hide the back button. **false**: Show the back button. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets whether to hide the back button in the title bar. * The back button is available only when titleMode is set to **NavigationTitleMode.Mini**. * * @param { boolean } value - Whether to hide the back button in the title bar. *
Default value: **false**. **true**: Hide the back button. **false**: Show the back button. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ hideBackButton(value: boolean): NavigationAttribute; /** * Sets the display mode of the navigation title mode. * * @param { NavigationTitleMode } value - Display mode of the page title bar. *
Default value: **NavigationTitleMode.Free** * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Sets the display mode of the navigation title mode. * * @param { NavigationTitleMode } value - Display mode of the page title bar. *
Default value: **NavigationTitleMode.Free** * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the display mode of the navigation title mode. * * @param { NavigationTitleMode } value - Display mode of the page title bar. *
Default value: **NavigationTitleMode.Free** * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ titleMode(value: NavigationTitleMode): NavigationAttribute; /** * Sets the menu items in the upper right corner of the navigation. * If this attribute is not set, no menu item is displayed. When the value type is NavigationMenuItem, * The menu shows a maximum of three icons in portrait mode and a maximum of five icons in landscape mode, * With excess icons (if any) placed under the automatically generated **More** icon. * * @param { Array | CustomBuilder } value - *
Menu items in the upper right corner of the navigation. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Sets the menu items in the upper right corner of the navigation. * If this attribute is not set, no menu item is displayed. When the value type is NavigationMenuItem, * The menu shows a maximum of three icons in portrait mode and a maximum of five icons in landscape mode, * With excess icons (if any) placed under the automatically generated **More** icon. * * @param { Array | CustomBuilder } value - *
Menu items in the upper right corner of the navigation. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the menu items in the upper right corner of the navigation. * If this attribute is not set, no menu item is displayed. When the value type is NavigationMenuItem, * The menu shows a maximum of three icons in portrait mode and a maximum of five icons in landscape mode, * With excess icons (if any) placed under the automatically generated **More** icon. * * @param { Array | CustomBuilder } value - *
Menu items in the upper right corner of the navigation. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ menus(value: Array | CustomBuilder): NavigationAttribute; /** * Navigation title bar's menus * * @param { Array | CustomBuilder } items * @param { NavigationMenuOptions } [options] - Indicates the options of menu. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ menus(items: Array | CustomBuilder, options?: NavigationMenuOptions): NavigationAttribute; /** * Sets the content of the toolbar. If this attribute is not set, no toolbar is displayed. * Toolbar items are evenly distributed on the bottom toolbar, with text and icons evenly * spaced in each content area. If any item contains overlong text and there are fewer than * five items, the toolbar will reduce the text size progressively, wrap the text over two * lines if necessary, and then clip the text to fit. * * @param { object | CustomBuilder } value - Content of the toolbar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 * @deprecated since 10 * @useinstead navigation/NavigationAttribute#toolbarConfiguration */ toolBar(value: object | CustomBuilder): NavigationAttribute; /** * Sets the content of the toolbar. If this attribute is not set, no toolbar is displayed. * * @param { Array | CustomBuilder } value - Toolbar configuration parameters. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sets the content of the toolbar. If this attribute is not set, no toolbar is displayed. * * @param { Array | CustomBuilder } value - Toolbar configuration parameters. * @param { NavigationToolbarOptions } [options] - Indicates the options of toolbar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ toolbarConfiguration(value: Array | CustomBuilder, options?: NavigationToolbarOptions): NavigationAttribute; /** * Hide tool bar * * @param { boolean } value - Whether to hide the toolbar. *
Default value: **false**. **true**: Hide the toolbar. **false**: Show the toolbar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Hide tool bar * * @param { boolean } value - Whether to hide the toolbar. *
Default value: **false**. **true**: Hide the toolbar. **false**: Show the toolbar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Hide tool bar * * @param { boolean } value - Whether to hide the toolbar. *
Default value: **false**. **true**: Hide the toolbar. **false**: Show the toolbar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ hideToolBar(value: boolean): NavigationAttribute; /** * Sets whether to hide the toolbar and whether to animate the visibility change. * * @param { boolean } hide - Whether to hide the toolbar. *
Default value: **false**. **true**: Hide the toolbar. **false**: Show the toolbar. * @param { boolean } animated - Whether to animate the visibility change. *
Default value: **false**. *
**true**: Animate the visibility change. **false**: Do not animate the visibility change. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'13','1.2':'20'} * @arkts 1.1&1.2 */ hideToolBar(hide: boolean, animated: boolean): NavigationAttribute; /** * Enable tool bar adaptation * * @param { Optional } enable - Enable or disable tool bar adaptation. * Default value: **true**. * **true**: Enable toolbar adaptation. * **false**: Disable toolbar adaptation. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'19','1.2':'20'} * @arkts 1.1&1.2 */ enableToolBarAdaptation(enable: Optional): NavigationAttribute; /** * Triggered when titleMode is set to **NavigationTitleMode.Free** * and the title bar mode changes as content scrolls. * * @param { (titleMode: NavigationTitleMode) => void } callback * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Triggered when titleMode is set to **NavigationTitleMode.Free** * and the title bar mode changes as content scrolls. * * @param { function } callback * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Triggered when titleMode is set to **NavigationTitleMode.Free** * and the title bar mode changes as content scrolls. * * @param { function } callback * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ onTitleModeChange(callback: (titleMode: NavigationTitleMode) => void): NavigationAttribute; /** * Trigger callback when the visibility of navigation bar change. * * @param { (isVisible: boolean) => void } callback - Whether the navigation bar is visible. *
The value **true** means that the navigation bar is visible, and **false** means the opposite. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Trigger callback when the visibility of navigation bar change. * * @param { function } callback - Whether the navigation bar is visible. *
The value **true** means that the navigation bar is visible, and **false** means the opposite. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Trigger callback when the visibility of navigation bar change. * * @param { function } callback - Whether the navigation bar is visible. *
The value **true** means that the navigation bar is visible, and **false** means the opposite. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ onNavBarStateChange(callback: (isVisible: boolean) => void): NavigationAttribute; /** * Triggered when the **Navigation** component is displayed for the first time or * its display mode switches between Stack and Split. * * @param { function } callback * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'11','1.2':'20'} * @arkts 1.1&1.2 */ onNavigationModeChange(callback: (mode: NavigationMode) => void): NavigationAttribute; /** * Set builder for user-defined NavDestination component. * * @param { function } builder - The builder function of NavDestination component. *
**name**: name of the navigation destination page. *
**param**: detailed parameters of the navigation destination page. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Set builder for user-defined NavDestination component. * * @param { function } builder - The builder function of NavDestination component. *
**name**: name of the navigation destination page. *
**param**: detailed parameters of the navigation destination page. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ navDestination(builder: (name: string, param: unknown) => void): NavigationAttribute; /** * Set builder for user-defined NavDestination component. * * @param { PageMapBuilder | undefined } builder - The builder function of NavDestination component. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ navDestination(builder: PageMapBuilder | undefined): NavigationAttribute; /** * Set custom navigation content transition animation. * * @param { function } delegate - Custom transition delegate. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Set custom navigation content transition animation. * * @param { function } delegate - Custom transition delegate. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ customNavContentTransition(delegate: (from: NavContentInfo, to: NavContentInfo, operation: NavigationOperation) => NavigationAnimatedTransition | undefined): NavigationAttribute; /** * Ignores the layout safe area by allowing the component to extend into the non-safe areas of the screen. * * @param { Array } [types] - Types of non-safe areas to extend into. *
Default value:
[LayoutSafeAreaType.SYSTEM]. * @param { Array } [edges] - Edges for expanding the safe area. *
Default value:
[LayoutSafeAreaEdge.TOP, LayoutSafeAreaEdge.BOTTOM]. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ ignoreLayoutSafeArea(types?: Array, edges?: Array): NavigationAttribute; /** * Sets the style of the system status bar when the navbar of the **Navigation** component is displayed. * * @param { Optional } style - Style of the system status bar. * @returns { NavigationAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ systemBarStyle(style: Optional): NavigationAttribute; /** * Set the Navigation can be restored after the application is terminated. * To enable this attribute, a navigation id must be set. * * @param { boolean } recoverable - navigation can be recovered. * Default value: **false**. * **true**: The **Navigation** component is recoverable. * **false**: The **Navigation** component is not recoverable. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ recoverable(recoverable: Optional): NavigationAttribute; /** * Enable dragbar * * @param { Optional } isEnabled - enable dragbar or disable dragbar. * Default value: **false**. * **true**: Enable the drag bar. * **false**: Disable the drag bar. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'14','1.2':'20'} * @arkts 1.1&1.2 */ enableDragBar(isEnabled: Optional): NavigationAttribute; /** * whether to enable modeChangeAnimation * * @param { Optional } isEnabled - enableModeChangeAnimation. * Default value: **true**. * **true**: Enable the animation for switching between stack and split mode. * **false**: Disable the animation for switching between stack and split mode. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'15','1.2':'20'} * @arkts 1.1&1.2 */ enableModeChangeAnimation(isEnabled: Optional): NavigationAttribute; /** * Set placeholder in split mode. * * @param { ComponentContent } placeholder - Set placeholder in split mode. * @returns { NavigationAttribute } Returns the instance of the NavigationAttribute. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 */ splitPlaceholder(placeholder: ComponentContent): NavigationAttribute; } /** * Navigation transition animation protocol. * * @interface NavigationAnimatedTransition * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Navigation transition animation protocol. * * @interface NavigationAnimatedTransition * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationAnimatedTransition { /** * This method is called after the transition ends to notify whether the transition was successful. * * @type { ?function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * This method is called after the transition ends to notify whether the transition was successful. * * @type { ?function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ onTransitionEnd?: (success: boolean) => void /** * Define the limit duration of the transition animation. * * @type { ?number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Define the limit duration of the transition animation. * * @type { ?number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ timeout?: number; /** * Indicates whether it is an interactive transition. * * @type { ?boolean } * @default false * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ isInteractive?: boolean; /** * Configure the animations associated with custom transition. * * @type { function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Configure the animations associated with custom transition. * * @type { function } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ transition: (transitionProxy: NavigationTransitionProxy) => void } /** * Navigation transition proxy. * * @interface NavigationTransitionProxy * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Navigation transition proxy. * * @interface NavigationTransitionProxy * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavigationTransitionProxy { /** * From navigation content info. * * @type { NavContentInfo } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * From navigation content info. * * @type { NavContentInfo } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ from: NavContentInfo; /** * To navigation content info. * * @type { NavContentInfo } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * To navigation content info. * * @type { NavContentInfo } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ to: NavContentInfo; /** * Indicates whether it is an interactive transition. * * @type { ?boolean } * @default false * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ isInteractive?: boolean; /** * Notification system transition animation completed. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Notification system transition animation completed. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ finishTransition(): void; /** * Cancels this interactive transition animation, restoring the navigation * stack to its state before page redirection. (Non-interactive transition * animations cannot be canceled.) * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 12 */ cancelTransition?(): void; /** * Notification system transition animation canceled. * * @type { ?VoidCallback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ cancelTransition?: VoidCallback; /** * Updates the progress of this interactive transition animation. (Non-interactive * animations do not support setting the animation progress). * * @param { number } progress - The progress of transition animation. * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 12 */ updateTransition?(progress: number): void; /** * Notification system transition animation update. * * @type { ?UpdateTransitionCallback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ updateTransition?: UpdateTransitionCallback; } /** * navigation update transition callback. * * @typedef { function } UpdateTransitionCallback * @param { number } progress - Indicates the process of transition * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 20 * @arkts 1.2 */ declare type UpdateTransitionCallback = (progress: number) => void; /** * Navigation content info. * * @interface NavContentInfo * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Navigation content info. * * @interface NavContentInfo * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ declare interface NavContentInfo { /** * Navigation content name. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Navigation content name. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ name?: string; /** * Navigation content index. * * @type { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Navigation content index. * * @type { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ index: number; /** * Navigation content mode. * * @type { ?NavDestinationMode } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 11 */ /** * Navigation content mode. * * @type { ?NavDestinationMode } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ mode?: NavDestinationMode; /** * Navigation content param. * * @type { ?Object } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ param?: Object; /** * The unique id of NavDestination. * * @type { ?string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since arkts {'1.1':'12','1.2':'20'} * @arkts 1.1&1.2 */ navDestinationId?: string; } /** * Defines Navigation Component. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Defines Navigation Component. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Defines Navigation Component. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ declare const Navigation: NavigationInterface; /** * Defines Navigation Component instance. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Defines Navigation Component instance. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Defines Navigation Component instance. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ declare const NavigationInstance: NavigationAttribute;