161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit ArkUI 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci/** 2261847f8eSopenharmony_ci * Defines the Menu Component. 2361847f8eSopenharmony_ci * 2461847f8eSopenharmony_ci * @interface MenuInterface 2561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 2661847f8eSopenharmony_ci * @since 9 2761847f8eSopenharmony_ci */ 2861847f8eSopenharmony_ci/** 2961847f8eSopenharmony_ci * Defines the Menu Component. 3061847f8eSopenharmony_ci * 3161847f8eSopenharmony_ci * @interface MenuInterface 3261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 3361847f8eSopenharmony_ci * @crossplatform 3461847f8eSopenharmony_ci * @since 10 3561847f8eSopenharmony_ci */ 3661847f8eSopenharmony_ci/** 3761847f8eSopenharmony_ci * Defines the Menu Component. 3861847f8eSopenharmony_ci * 3961847f8eSopenharmony_ci * @interface MenuInterface 4061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 4161847f8eSopenharmony_ci * @crossplatform 4261847f8eSopenharmony_ci * @atomicservice 4361847f8eSopenharmony_ci * @since 11 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_ciinterface MenuInterface { 4661847f8eSopenharmony_ci /** 4761847f8eSopenharmony_ci * Creates the menu component. 4861847f8eSopenharmony_ci * 4961847f8eSopenharmony_ci * @returns { MenuAttribute } 5061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5161847f8eSopenharmony_ci * @since 9 5261847f8eSopenharmony_ci */ 5361847f8eSopenharmony_ci /** 5461847f8eSopenharmony_ci * Creates the menu component. 5561847f8eSopenharmony_ci * 5661847f8eSopenharmony_ci * @returns { MenuAttribute } 5761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 5861847f8eSopenharmony_ci * @crossplatform 5961847f8eSopenharmony_ci * @since 10 6061847f8eSopenharmony_ci */ 6161847f8eSopenharmony_ci /** 6261847f8eSopenharmony_ci * Creates the menu component. 6361847f8eSopenharmony_ci * 6461847f8eSopenharmony_ci * @returns { MenuAttribute } 6561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 6661847f8eSopenharmony_ci * @crossplatform 6761847f8eSopenharmony_ci * @atomicservice 6861847f8eSopenharmony_ci * @since 11 6961847f8eSopenharmony_ci */ 7061847f8eSopenharmony_ci (): MenuAttribute; 7161847f8eSopenharmony_ci} 7261847f8eSopenharmony_ci 7361847f8eSopenharmony_ci/** 7461847f8eSopenharmony_ci * Declare SubMenuExpandingMode 7561847f8eSopenharmony_ci * 7661847f8eSopenharmony_ci * @enum { number } 7761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 7861847f8eSopenharmony_ci * @crossplatform 7961847f8eSopenharmony_ci * @atomicservice 8061847f8eSopenharmony_ci * @since 12 8161847f8eSopenharmony_ci */ 8261847f8eSopenharmony_cideclare enum SubMenuExpandingMode { 8361847f8eSopenharmony_ci /** 8461847f8eSopenharmony_ci * Sub-menu will expand besides main menu 8561847f8eSopenharmony_ci * 8661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 8761847f8eSopenharmony_ci * @crossplatform 8861847f8eSopenharmony_ci * @atomicservice 8961847f8eSopenharmony_ci * @since 12 9061847f8eSopenharmony_ci */ 9161847f8eSopenharmony_ci SIDE_EXPAND = 0, 9261847f8eSopenharmony_ci 9361847f8eSopenharmony_ci /** 9461847f8eSopenharmony_ci * Sub-menu will expand embedded in main menu 9561847f8eSopenharmony_ci * 9661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 9761847f8eSopenharmony_ci * @crossplatform 9861847f8eSopenharmony_ci * @atomicservice 9961847f8eSopenharmony_ci * @since 12 10061847f8eSopenharmony_ci */ 10161847f8eSopenharmony_ci EMBEDDED_EXPAND = 1, 10261847f8eSopenharmony_ci 10361847f8eSopenharmony_ci /** 10461847f8eSopenharmony_ci * Sub-menu will expand over main menu 10561847f8eSopenharmony_ci * 10661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 10761847f8eSopenharmony_ci * @crossplatform 10861847f8eSopenharmony_ci * @atomicservice 10961847f8eSopenharmony_ci * @since 12 11061847f8eSopenharmony_ci */ 11161847f8eSopenharmony_ci STACK_EXPAND = 2, 11261847f8eSopenharmony_ci} 11361847f8eSopenharmony_ci 11461847f8eSopenharmony_ci/** 11561847f8eSopenharmony_ci * Defines the Menu component attribute functions. 11661847f8eSopenharmony_ci * 11761847f8eSopenharmony_ci * @extends CommonMethod<MenuAttribute> 11861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 11961847f8eSopenharmony_ci * @since 9 12061847f8eSopenharmony_ci */ 12161847f8eSopenharmony_ci/** 12261847f8eSopenharmony_ci * Defines the Menu component attribute functions. 12361847f8eSopenharmony_ci * 12461847f8eSopenharmony_ci * @extends CommonMethod<MenuAttribute> 12561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 12661847f8eSopenharmony_ci * @crossplatform 12761847f8eSopenharmony_ci * @since 10 12861847f8eSopenharmony_ci */ 12961847f8eSopenharmony_ci/** 13061847f8eSopenharmony_ci * Defines the Menu component attribute functions. 13161847f8eSopenharmony_ci * 13261847f8eSopenharmony_ci * @extends CommonMethod<MenuAttribute> 13361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 13461847f8eSopenharmony_ci * @crossplatform 13561847f8eSopenharmony_ci * @atomicservice 13661847f8eSopenharmony_ci * @since 11 13761847f8eSopenharmony_ci */ 13861847f8eSopenharmony_cideclare class MenuAttribute extends CommonMethod<MenuAttribute> { 13961847f8eSopenharmony_ci /** 14061847f8eSopenharmony_ci * Sets the Menu text size. 14161847f8eSopenharmony_ci * 14261847f8eSopenharmony_ci * @param { Length } value - Indicates the font size of menu item. 14361847f8eSopenharmony_ci * @returns { MenuAttribute } 14461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 14561847f8eSopenharmony_ci * @since 9 14661847f8eSopenharmony_ci * @deprecated since 10 14761847f8eSopenharmony_ci * @useinstead font 14861847f8eSopenharmony_ci */ 14961847f8eSopenharmony_ci fontSize(value: Length): MenuAttribute; 15061847f8eSopenharmony_ci 15161847f8eSopenharmony_ci /** 15261847f8eSopenharmony_ci * Sets the font style. 15361847f8eSopenharmony_ci * Family and style are not supported currently and will be fixed in future. 15461847f8eSopenharmony_ci * 15561847f8eSopenharmony_ci * @param { Font } value - Indicates the font style of menu item. 15661847f8eSopenharmony_ci * @returns { MenuAttribute } 15761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 15861847f8eSopenharmony_ci * @crossplatform 15961847f8eSopenharmony_ci * @since 10 16061847f8eSopenharmony_ci */ 16161847f8eSopenharmony_ci /** 16261847f8eSopenharmony_ci * Sets the font style. 16361847f8eSopenharmony_ci * Family and style are not supported currently and will be fixed in future. 16461847f8eSopenharmony_ci * 16561847f8eSopenharmony_ci * @param { Font } value - Indicates the font style of menu item. 16661847f8eSopenharmony_ci * @returns { MenuAttribute } 16761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 16861847f8eSopenharmony_ci * @crossplatform 16961847f8eSopenharmony_ci * @atomicservice 17061847f8eSopenharmony_ci * @since 11 17161847f8eSopenharmony_ci */ 17261847f8eSopenharmony_ci font(value: Font): MenuAttribute; 17361847f8eSopenharmony_ci 17461847f8eSopenharmony_ci /** 17561847f8eSopenharmony_ci * Sets the Menu font color. 17661847f8eSopenharmony_ci * 17761847f8eSopenharmony_ci * @param { ResourceColor } value - Indicates the font color of menu item. 17861847f8eSopenharmony_ci * @returns { MenuAttribute } 17961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 18061847f8eSopenharmony_ci * @crossplatform 18161847f8eSopenharmony_ci * @since 10 18261847f8eSopenharmony_ci */ 18361847f8eSopenharmony_ci /** 18461847f8eSopenharmony_ci * Sets the Menu font color. 18561847f8eSopenharmony_ci * 18661847f8eSopenharmony_ci * @param { ResourceColor } value - Indicates the font color of menu item. 18761847f8eSopenharmony_ci * @returns { MenuAttribute } 18861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 18961847f8eSopenharmony_ci * @crossplatform 19061847f8eSopenharmony_ci * @atomicservice 19161847f8eSopenharmony_ci * @since 11 19261847f8eSopenharmony_ci */ 19361847f8eSopenharmony_ci fontColor(value: ResourceColor): MenuAttribute; 19461847f8eSopenharmony_ci 19561847f8eSopenharmony_ci /** 19661847f8eSopenharmony_ci * Sets the radius of the corner around the menu. 19761847f8eSopenharmony_ci * When the radius is less than the menu width, the default border radius is used. 19861847f8eSopenharmony_ci * 19961847f8eSopenharmony_ci * @param { Dimension | BorderRadiuses } value - the border radius. 20061847f8eSopenharmony_ci * @returns { MenuAttribute } 20161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 20261847f8eSopenharmony_ci * @crossplatform 20361847f8eSopenharmony_ci * @since 10 20461847f8eSopenharmony_ci */ 20561847f8eSopenharmony_ci /** 20661847f8eSopenharmony_ci * Sets the radius of the corner around the menu. 20761847f8eSopenharmony_ci * When the radius is less than the menu width, the default border radius is used. 20861847f8eSopenharmony_ci * 20961847f8eSopenharmony_ci * @param { Dimension | BorderRadiuses } value - the border radius. 21061847f8eSopenharmony_ci * @returns { MenuAttribute } 21161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 21261847f8eSopenharmony_ci * @crossplatform 21361847f8eSopenharmony_ci * @atomicservice 21461847f8eSopenharmony_ci * @since 11 21561847f8eSopenharmony_ci */ 21661847f8eSopenharmony_ci radius(value: Dimension | BorderRadiuses): MenuAttribute; 21761847f8eSopenharmony_ci 21861847f8eSopenharmony_ci /** 21961847f8eSopenharmony_ci * Set the divider of menu item 22061847f8eSopenharmony_ci * 22161847f8eSopenharmony_ci * @param { DividerStyleOptions | undefined } options 22261847f8eSopenharmony_ci * @returns { MenuAttribute } 22361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 22461847f8eSopenharmony_ci * @crossplatform 22561847f8eSopenharmony_ci * @atomicservice 22661847f8eSopenharmony_ci * @since 12 22761847f8eSopenharmony_ci */ 22861847f8eSopenharmony_ci menuItemDivider(options: DividerStyleOptions | undefined): MenuAttribute; 22961847f8eSopenharmony_ci 23061847f8eSopenharmony_ci /** 23161847f8eSopenharmony_ci * Set the divider of menu item group 23261847f8eSopenharmony_ci * 23361847f8eSopenharmony_ci * @param { DividerStyleOptions | undefined } options 23461847f8eSopenharmony_ci * @returns { MenuAttribute } 23561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 23661847f8eSopenharmony_ci * @crossplatform 23761847f8eSopenharmony_ci * @atomicservice 23861847f8eSopenharmony_ci * @since 12 23961847f8eSopenharmony_ci */ 24061847f8eSopenharmony_ci menuItemGroupDivider(options: DividerStyleOptions | undefined): MenuAttribute; 24161847f8eSopenharmony_ci 24261847f8eSopenharmony_ci /** 24361847f8eSopenharmony_ci * Set the expanding mode of sub-menu 24461847f8eSopenharmony_ci * 24561847f8eSopenharmony_ci * @param { SubMenuExpandingMode } mode 24661847f8eSopenharmony_ci * @returns { MenuAttribute } 24761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 24861847f8eSopenharmony_ci * @crossplatform 24961847f8eSopenharmony_ci * @atomicservice 25061847f8eSopenharmony_ci * @since 12 25161847f8eSopenharmony_ci */ 25261847f8eSopenharmony_ci subMenuExpandingMode(mode: SubMenuExpandingMode): MenuAttribute; 25361847f8eSopenharmony_ci} 25461847f8eSopenharmony_ci 25561847f8eSopenharmony_ci/** 25661847f8eSopenharmony_ci * Defines Menu Component. 25761847f8eSopenharmony_ci * 25861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 25961847f8eSopenharmony_ci * @since 9 26061847f8eSopenharmony_ci */ 26161847f8eSopenharmony_ci/** 26261847f8eSopenharmony_ci * Defines Menu Component. 26361847f8eSopenharmony_ci * 26461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 26561847f8eSopenharmony_ci * @crossplatform 26661847f8eSopenharmony_ci * @since 10 26761847f8eSopenharmony_ci */ 26861847f8eSopenharmony_ci/** 26961847f8eSopenharmony_ci * Defines Menu Component. 27061847f8eSopenharmony_ci * 27161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 27261847f8eSopenharmony_ci * @crossplatform 27361847f8eSopenharmony_ci * @atomicservice 27461847f8eSopenharmony_ci * @since 11 27561847f8eSopenharmony_ci */ 27661847f8eSopenharmony_cideclare const Menu: MenuInterface; 27761847f8eSopenharmony_ci 27861847f8eSopenharmony_ci/** 27961847f8eSopenharmony_ci * Defines Menu Component instance. 28061847f8eSopenharmony_ci * 28161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 28261847f8eSopenharmony_ci * @since 9 28361847f8eSopenharmony_ci */ 28461847f8eSopenharmony_ci/** 28561847f8eSopenharmony_ci * Defines Menu Component instance. 28661847f8eSopenharmony_ci * 28761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 28861847f8eSopenharmony_ci * @crossplatform 28961847f8eSopenharmony_ci * @since 10 29061847f8eSopenharmony_ci */ 29161847f8eSopenharmony_ci/** 29261847f8eSopenharmony_ci * Defines Menu Component instance. 29361847f8eSopenharmony_ci * 29461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full 29561847f8eSopenharmony_ci * @crossplatform 29661847f8eSopenharmony_ci * @atomicservice 29761847f8eSopenharmony_ci * @since 11 29861847f8eSopenharmony_ci */ 29961847f8eSopenharmony_cideclare const MenuInstance: MenuAttribute; 300