/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef, EventEmitter, NgZone, ChangeDetectorRef, AfterViewInit, OnDestroy, Renderer2 } from '@angular/core'; import { LocalizationService } from '@progress/kendo-angular-l10n'; import { PopupService } from '@progress/kendo-angular-popup'; import { ButtonItemTemplateDirective } from '../listbutton/button-item-template.directive'; import { Direction } from '../direction'; import { ListButton } from '../listbutton/list-button'; import { FocusService } from '../focusable/focus.service'; import { NavigationService } from '../navigation/navigation.service'; import { ArrowIconSettings, ButtonFillMode, ButtonRounded, ButtonSize, ButtonThemeColor } from '../common/models'; import { PopupContainerService } from '../listbutton/container.service'; import { SVGIcon } from '@progress/kendo-svg-icons'; import * as i0 from "@angular/core"; /** * Represents the Kendo UI DropDownButton component for Angular. * * Use the DropDownButton to display a button with a popup list of actions. * * @example * ```ts * @Component({ * selector: 'my-app', * template: ` * * User Settings * * ` * }) * class AppComponent { * public data: Array = [ * { text: 'My Profile' }, * { text: 'Friend Requests' }, * { text: 'Account Settings' }, * { text: 'Support' }, * { text: 'Log Out' } * ]; * } * ``` */ export declare class DropDownButtonComponent extends ListButton implements AfterViewInit, OnDestroy { protected containerService: PopupContainerService; private renderer; /** * Displays the default arrow icon or a custom one. * @default false */ arrowIcon: boolean | ArrowIconSettings; /** * Specifies the name of an existing icon in the Kendo UI theme. */ icon: string; /** * Specifies an [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) to render within the button. */ svgIcon: SVGIcon; /** * Specifies a list of CSS classes for styling the button with custom icons. */ iconClass: string; /** * Specifies a URL for styling the button with a custom image. */ imageUrl: string; /** * Sets the data item field that represents the item text. * If the data contains only primitive values, leave this undefined. */ textField: string; /** * Sets or gets the data of the DropDownButton. Provide the data as an array-like list. */ set data(data: any); get data(): any; /** * Specifies the padding of the DropDownButton. See [DropDownButton Appearance](https://www.telerik.com/kendo-angular-ui/components/buttons/dropdownbutton/appearance#size). The default value is set by the Kendo theme. */ size: ButtonSize; /** * Specifies the border radius of the DropDownButton. See [DropDownButton Appearance](https://www.telerik.com/kendo-angular-ui/components/buttons/dropdownbutton/appearance#roundness). The default value is set by the Kendo theme. */ rounded: ButtonRounded; /** * Specifies the background and border styles of the DropDownButton. See [DropDownButton Appearance](https://www.telerik.com/kendo-angular-ui/components/buttons/dropdownbutton/appearance#fill-mode). The default value is set by the Kendo theme. */ set fillMode(fillMode: ButtonFillMode); get fillMode(): ButtonFillMode; /** * Specifies predefined theme colors for the DropDownButton. See [DropDownButton Appearance](https://www.telerik.com/kendo-angular-ui/components/buttons/dropdownbutton/appearance#theme-colors). */ themeColor: ButtonThemeColor; /** * Sets attributes for the main button. */ set buttonAttributes(buttonAttributes: { [key: string]: string; }); get buttonAttributes(): { [key: string]: string; }; /** * Fires when the user clicks a drop-down list item. * The event data contains the data item bound to the clicked list item. */ itemClick: EventEmitter; /** * Fires when the DropDownButton is focused. */ onFocus: EventEmitter; /** * Fires when the DropDownButton is blurred. */ onBlur: EventEmitter; get focused(): boolean; hostDisplayStyle: string; get dir(): Direction; /** * @hidden */ get active(): boolean; itemTemplate: ButtonItemTemplateDirective; private _fillMode; private _buttonAttributes; private documentMouseUpSub; /** * @hidden */ keydown(event: any): void; /** * @hidden */ keyup(event: any): void; /** * @hidden */ mousedown(event: any): void; /** * @hidden */ mouseup(event: any): void; /** * @hidden */ openPopup(): void; /** * @hidden */ onButtonBlur(): void; /** * Focuses the DropDownButton. */ focus(): void; /** * Blurs the DropDownButton. */ blur(): void; constructor(focusService: FocusService, navigationService: NavigationService, wrapperRef: ElementRef, zone: NgZone, popupService: PopupService, elRef: ElementRef, localization: LocalizationService, cdr: ChangeDetectorRef, containerService: PopupContainerService, renderer: Renderer2); ngAfterViewInit(): void; /** * @hidden */ handleFocus(event: FocusEvent): void; /** * @hidden */ wrapperContains(element: any): boolean; private handleButtonAttributes; /** * @hidden */ ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }