import { EventEmitter } from '../../stencil-public-runtime'; import { BreakpointsTokenType } from '../../types/design-token.type'; import { ResponsiveType } from '../../types/ui.type'; import { VegaButtonIconAlign, VegaButtonSize, VegaButtonType, VegaButtonVariant } from './types'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer'; import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer'; import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer'; import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics'; import { VegaButtonLoadingRenderer } from './slimmers/renderers/vega-button-loading-renderer'; /** * @vegaVersion 1.0.0 */ export declare class VegaButton { protected readonly globalSlimmers: GlobalSlimmers; /** * The below method is e2e-test covered in * @see{module:vega-button-resize-e2e} */ protected readonly pageResizeObserverSlimmer: PageResizeObserverSlimmer; protected clickEventEmitter: EventEmitSlimmerBase; protected eventPrevent: ChildNodesEventPreventSlimmer; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; protected vegaButtonLoadingRenderer: VegaButtonLoadingRenderer; host: HTMLVegaButtonElement; currentBreakpoint: BreakpointsTokenType; /** * Specifies the size of the button. * * @vegaVersion 1.0.0 */ size: ResponsiveType; /** * Specifies the visual style and prominence of the button. * * It determines how the button will be presented to the user. * * @vegaVersion 1.0.0 */ variant: VegaButtonVariant; /** * Specifies the icon to be displayed on the button, * which can be selected from a list of predefined icon tokens * or specified using a Font Awesome class. * * @vegaVersion 1.0.3 */ icon: string; /** * Specifies the placement of the icon in relation to the button's label. * * @vegaVersion 1.3.0 */ iconAlign: VegaButtonIconAlign; /** * Specifies the text displayed on the button. * * @vegaVersion 1.0.3 */ label: string; /** * Specifies whether the button element is disabled. * * @vegaVersion 1.0.3 */ disabled: boolean; /** * Indicates the danger status of the button, * typically used for destructive actions. * * @vegaVersion 1.3.0 */ danger: boolean; /** * Specifies whether the button should span the * full width of its parent element. * * @vegaVersion 1.3.0 */ block: ResponsiveType; /** * Specifies the type of button and its behavior in relation to * form submission and data reset. * * @vegaVersion 1.0.3 */ type: VegaButtonType; /** * Specifies whether the button is in a loading state. When `true`, * the button is disabled and an indeterminate loading indicator * is displayed within the button. * * @vegaVersion 2.17.0 */ loading: boolean; /** * An event emitter notifying the click event of the button. * * @vegaVersion 1.0.11 */ vegaClick: EventEmitter; /** * An event emitter notifying the click event of the button. * * @eventSemantics namespace:native * @vegaVersion 2.0.0 */ click: EventEmitter; componentWillLoad(): void; render(): VegaButton; private renderContent; private renderLabel; private renderIcon; private handleClick; /** * The function `isDisabledButton` returns true if either the `disabled` or `loading` property is true. * * @returns {boolean} The method `isDisabledButton()` is returning a boolean value, which is determined by the * logical OR operation between `this.disabled` and `this.loading`. If either `this.disabled` or * `this.loading` is true, the method will return `true`, indicating that the button is disabled. */ private isDisabledButton; /** * Returns a boolean value based on the formatting of a block using a responsive format facade. * * @returns {boolean} A boolean value. */ private isBlockStyleButton; }