import { EventEmitter } from '../../stencil-public-runtime'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; 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 { VegaButtonLinkTarget } from './types'; import { AriaAttributesValueMapper } from '../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper'; /** * @vegaVersion 1.0.2 */ export declare class VegaButtonLink { private static readonly defaultLink; protected readonly globalSlimmers: GlobalSlimmers; protected clickEventEmitter: EventEmitSlimmerBase; protected eventPrevent: ChildNodesEventPreventSlimmer; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; protected ariaAttributesValueMapper: AriaAttributesValueMapper; host: HTMLVegaButtonLinkElement; /** * Specifies the URL associated with the button link. * If no URL is set, the component behaves as a button and triggers the click event. * If a URL is provided, it behaves as a link and the click event is not emitted. * * @vegaVersion 1.0.4 * @defaultValue javascript:void(0); */ link: string; /** * Specifies the size of the button link. * * @vegaVersion 1.0.2 */ size: 'default' | 'large' | 'small'; /** * Specifies the icon to be displayed on the button link, * which can be selected from a list of predefined icon tokens * or specified using a Font Awesome class. * * @vegaVersion 1.0.4 */ icon: string; /** * Specifies the type of icon used in the button link. * * The following options are available for the `iconType` parameter: * - `icon`: * The icon is rendered as a regular icon without * any additional styling or background. * - `button`: * The icon is rendered with a circular background, * providing additional emphasis and visual prominence * to the icon in the button link. * * @vegaVersion 1.0.5 */ iconType: 'icon' | 'button'; /** * Specifies the placement of the icon in relation to * the button link's label. * * @vegaVersion 1.3.0 */ iconAlign: 'left' | 'right'; /** * Specifies the text displayed on the button link. * * @vegaVersion 1.0.4 */ label: string; /** * Specifies whether the button link element is disabled. * * @vegaVersion 1.3.0 */ disabled: boolean; /** * Indicates the danger status of the button link, * typically used for destructive actions. * * @vegaVersion 1.3.0 */ danger: boolean; /** * Specifies whether the button link will emit a vegaClick event when clicked. * When set to true, the component behaves as a link but also triggers the click event when clicked, * allowing both navigation and custom click handling. * * @vegaVersion 1.3.0 */ eventful: boolean; /** * Specifies the location where the linked document will be opened, * helping users understand how the link will behave when activated. * * @vegaVersion 2.33.0 */ target: VegaButtonLinkTarget; /** * 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(): VegaButtonLink; private hasIconButton; private onClick; private renderContent; private getGapByButtonSize; private renderLabel; private renderIcon; private renderVegaIcon; private isButton; }