import { EventEmitter } from '../../stencil-public-runtime'; import { BreakpointsTokenType } from '../../types/design-token.type'; import { ResponsiveType } from '../../types/ui.type'; import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core'; import { VegaAppHeaderAvatarConfig, VegaAppHeaderButtonDropdownConfig, VegaAppHeaderButtonSize, VegaAppHeaderLabelConfig } from './types'; import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer'; import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer'; import { EventEmitSlimmerBase } from '../../helpers/event-manager/slimmers/event-emit-slimmer'; import { VegaMenuArrowIconRenderer } from './slimmers/renderers/vega-menu-arrow-icon-renderer'; import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics'; import { VegaAppHeaderButtonDropdownRenderer } from './slimmers/renderers/vega-app-header-button-dropdown-renderer'; import { AriaAttributesValueMapper } from '../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper'; /** * @vegaVersion 1.11.0 */ export declare class VegaAppHeaderButton { protected readonly globalSlimmers: GlobalSlimmers; /** * The below method is e2e-test covered in * @see{module:vega-app-header-button-resize-e2e} */ protected readonly pageResizeObserverSlimmer: PageResizeObserverSlimmer; protected dropdownEventPrevent: ChildNodesEventPreventSlimmer; protected clickEventEmitter: EventEmitSlimmerBase; protected dropdownClickEventEmitter: EventEmitSlimmerBase; protected resetEventEmitter: EventEmitSlimmerBase; protected searchEventEmitter: EventEmitSlimmerBase; protected vegaMenuArrowIconRenderer: VegaMenuArrowIconRenderer; protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer; protected dropdownRenderer: VegaAppHeaderButtonDropdownRenderer; protected ariaAttributesValueMapper: AriaAttributesValueMapper; /** * Used to determine whether the avatar image is loaded or not. */ private avatarImgLoaded; host: HTMLVegaAppHeaderButtonElement; isDropdownShow: boolean; currentBreakpoint: BreakpointsTokenType; /** * Specifies the configuration for the dropdown functionality * of the app header button. * * @vegaVersion 1.11.0 */ dropdown: VegaAppHeaderButtonDropdownConfig; /** * Specifies the size of the app header button. * * @vegaVersion 1.11.0 */ size: ResponsiveType; /** * Specifies the display configuration of the app header button label. * * @vegaVersion 2.77.1 */ labelConfig: VegaAppHeaderLabelConfig; /** * Specifies the label or text content of the app header button. * * @vegaVersion 1.11.0 */ label: string; /** * Determines whether to display the label of the app header button * directly on the button itself or in a tooltip * when the user hovers over the button. * * @vegaVersion 1.11.0 */ showLabel: boolean; /** * Specifies the configuration for the avatar image or icon * displayed in the app header button. * * @vegaVersion 1.11.0 */ avatar: VegaAppHeaderAvatarConfig; /** * The below method is e2e-test covered in * @see{module:re-render-avatar-image-when-re-set-the-avatar-image-src} */ watchAvatar(): void; /** * Specifies the position of the avatar in relation to the label * within the app header button. * * @vegaVersion 1.11.0 */ avatarPosition: 'right' | 'left'; /** * Specifies whether to show a border around the app header button. * * @vegaVersion 1.11.0 */ showBorder: boolean; /** * Specifies whether to display a menu arrow icon in the app header button. * * @vegaVersion 1.11.0 */ showMenuArrowIcon: boolean; /** * Specifies whether the app header button is displayed in a selected state. * * @vegaVersion 1.15.0 */ selected: boolean; /** * An event emitter notifying the click event of an app header button. * * @vegaVersion 1.11.0 */ vegaClick: EventEmitter; /** * An event emitter notifying the click event of an app header button. * * @eventSemantics namespace:native * @vegaVersion 2.0.0 */ click: EventEmitter; /** * An event emitter notifying the click event of a dropdown item * in the app header. * * @vegaVersion 1.23.0 */ vegaDropdownClick: EventEmitter; /** * An event emitter notifying the click event of a dropdown item * in the app header. * * @eventSemantics namespace:native * @vegaVersion 2.0.0 */ dropdownClick: EventEmitter; /** * An event emitter notifying the reset event in the dropdown. * * @vegaVersion 2.73.0 */ vegaReset: EventEmitter; /** * An event emitter notifying the reset event in the dropdown. * * @eventSemantics namespace:native * @vegaVersion 2.73.0 */ reset: EventEmitter; /** * An event emitter notifying the search event in the dropdown, * but only if `useDefaultFilter` is set to `false`. * * @vegaVersion 2.84.0 */ vegaSearch: EventEmitter; /** * An event emitter notifying the search event in the dropdown, * but only if `useDefaultFilter` is set to `false`. * * @eventSemantics namespace:native * @vegaVersion 2.84.0 */ dropdownSearch: EventEmitter; render(): VegaAppHeaderButton; private renderButton; private renderButtonLabel; private renderAvatar; private renderFallbackTextAvatar; /** * The below method is e2e-test covered in * @see{module:render-avatar-fallbackText-when-avatar-image-load-failure} */ private renderImgAvatar; private renderIconAvatar; private renderDropdownContainer; /** * The below method is e2e-test covered in * @see{module:render-avatar-fallbackText-when-avatar-image-load-failure} */ private setAvatarImgLoaded; /** * The below method is e2e-test covered in * @see{module:render-avatar-fallbackText-when-avatar-image-load-failure} */ private handleImgAvatarLoadError; }