/* * Copyright (c) 2021-2023 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. */ /** * Provides a button component. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Provides a button component. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Provides a button component. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ declare enum ButtonType { /** * Capsule button (rounded corners default to half the height). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Capsule button (rounded corners default to half the height). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Capsule button (rounded corners default to half the height). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ Capsule, /** * Round buttons. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Round buttons. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Round buttons. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ Circle, /** * Common button (no rounded corners by default). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Common button (no rounded corners by default). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Common button (no rounded corners by default). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ Normal, } /** * Defines the button options. * * @interface ButtonOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Defines the button options. * * @interface ButtonOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Defines the button options. * * @interface ButtonOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ declare interface ButtonOptions { /** * Describes the button style. * * @type { ?ButtonType } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Describes the button style. * * @type { ?ButtonType } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Describes the button style. * * @type { ?ButtonType } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ type?: ButtonType; /** * Indicates whether to enable the switchover effect when the button is pressed. When the status is set to false, the switchover effect is disabled. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Indicates whether to enable the switchover effect when the button is pressed. When the status is set to false, the switchover effect is disabled. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Indicates whether to enable the switchover effect when the button is pressed. When the status is set to false, the switchover effect is disabled. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ stateEffect?: boolean; } /** * Defines the Button Component. * * @interface ButtonInterface * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Defines the Button Component. * * @interface ButtonInterface * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Defines the Button Component. * * @interface ButtonInterface * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ interface ButtonInterface { /** * Button object * * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Button object * * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Button object * * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ (): ButtonAttribute; /** * Create Button with Text child. * * @param { ButtonOptions } options * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Create Button with Text child. * * @param { ButtonOptions } options * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Create Button with Text child. * * @param { ButtonOptions } options * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ (options: ButtonOptions): ButtonAttribute; /** * Create Button with inner text label. * * @param { ResourceStr } label * @param { ButtonOptions } options * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Create Button with inner text label. * * @param { ResourceStr } label * @param { ButtonOptions } options * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Create Button with inner text label. * * @param { ResourceStr } label * @param { ButtonOptions } options * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ (label: ResourceStr, options?: ButtonOptions): ButtonAttribute; } /** * LabelStyle object. * * @interface LabelStyle * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ declare interface LabelStyle { /** * overflow mode. * * @type { ?TextOverflow } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ overflow?: TextOverflow; /** * Label max lines. * * @type { ?number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ maxLines?: number; /** * Min font size for adapted height. * * @type { ?(number | ResourceStr) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ minFontSize?: number | ResourceStr; /** * Max font size for adapted height. * * @type { ?(number | ResourceStr) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ maxFontSize?: number | ResourceStr; /** * Adapt text height option. * * @type { ?TextHeightAdaptivePolicy } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ heightAdaptivePolicy?: TextHeightAdaptivePolicy; /** * Font style. * * @type { ?Font } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ font?: Font; } /** * Defines the button attribute functions. * * @extends CommonMethod * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Defines the button attribute functions. * * @extends CommonMethod * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Defines the button attribute functions. * * @extends CommonMethod * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ declare class ButtonAttribute extends CommonMethod { /** * Describes the button style. * * @param { ButtonType } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Describes the button style. * * @param { ButtonType } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Describes the button style. * * @param { ButtonType } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ type(value: ButtonType): ButtonAttribute; /** * Indicates whether to enable the switchover effect when the button is pressed. When the status is set to false, the switchover effect is disabled. * * @param { boolean } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Indicates whether to enable the switchover effect when the button is pressed. When the status is set to false, the switchover effect is disabled. * * @param { boolean } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Indicates whether to enable the switchover effect when the button is pressed. When the status is set to false, the switchover effect is disabled. * * @param { boolean } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ stateEffect(value: boolean): ButtonAttribute; /** * Text color. * * @param { ResourceColor } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Text color. * * @param { ResourceColor } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Text color. * * @param { ResourceColor } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ fontColor(value: ResourceColor): ButtonAttribute; /** * Text size. * * @param { Length } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Text size. * * @param { Length } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Text size. * * @param { Length } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ fontSize(value: Length): ButtonAttribute; /** * Font weight. * * @param { number | FontWeight | string } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Font weight. * * @param { number | FontWeight | string } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Font weight. * * @param { number | FontWeight | string } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ fontWeight(value: number | FontWeight | string): ButtonAttribute; /** * Font style. * * @param { FontStyle } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Font style. * * @param { FontStyle } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Font style. * * @param { FontStyle } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ fontStyle(value: FontStyle): ButtonAttribute; /** * Font family. * * @param { string | Resource } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 8 */ /** * Font family. * * @param { string | Resource } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Font family. * * @param { string | Resource } value * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ fontFamily(value: string | Resource): ButtonAttribute; /** * Set button label style. * * @param { LabelStyle } value - The label style configuration on button. * @returns { ButtonAttribute } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ labelStyle(value: LabelStyle): ButtonAttribute; } /** * Defines Button Component. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Defines Button Component. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Defines Button Component. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ declare const Button: ButtonInterface; /** * Defines Button Component instance. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Defines Button Component instance. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 * @form */ /** * Defines Button Component instance. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 * @form */ declare const ButtonInstance: ButtonAttribute;