/*! * devextreme-angular * Version: 25.2.6 * Build date: Mon Mar 30 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/DevExtreme */ import { TransferState, ElementRef, NgZone, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges, QueryList } from '@angular/core'; import DataSource from 'devextreme/data/data_source'; import { dxDropDownButtonItem, ButtonClickEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, ItemClickEvent, OptionChangedEvent, SelectionChangedEvent } from 'devextreme/ui/drop_down_button'; import { DataSourceOptions } from 'devextreme/data/data_source'; import { Store } from 'devextreme/data/store'; import { dxPopupOptions } from 'devextreme/ui/popup'; import { ButtonStyle, ButtonType } from 'devextreme/common'; import DxDropDownButton from 'devextreme/ui/drop_down_button'; import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper, CollectionNestedOption } from 'devextreme-angular/core'; import type * as DxDropDownButtonTypes from "devextreme/ui/drop_down_button_types"; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/ui/nested"; import * as i2 from "devextreme-angular/ui/drop-down-button/nested"; import * as i3 from "devextreme-angular/core"; /** * The DropDownButton is a button that opens a drop-down menu. */ export declare class DxDropDownButtonComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck { private _watcherHelper; private _idh; set _itemsContentChildren(value: QueryList); set _toolbarItemsContentChildren(value: QueryList); instance: DxDropDownButton; /** * Specifies the shortcut key that sets focus on the UI component. */ get accessKey(): string | undefined; set accessKey(value: string | undefined); /** * Specifies whether the UI component changes its visual state as a result of user interaction. */ get activeStateEnabled(): boolean; set activeStateEnabled(value: boolean); /** * Provides data for the drop-down menu. */ get dataSource(): Array | DataSource | DataSourceOptions | null | Store | string; set dataSource(value: Array | DataSource | DataSourceOptions | null | Store | string); /** * Specifies whether to wait until the drop-down menu is opened the first time to render its content. Specifies whether to render the view's content when it is displayed. If false, the content is rendered immediately. */ get deferRendering(): boolean; set deferRendering(value: boolean); /** * Specifies whether the UI component responds to user interaction. */ get disabled(): boolean; set disabled(value: boolean); /** * Specifies the data field whose values should be displayed in the drop-down menu. */ get displayExpr(): ((itemData: any) => string) | string | undefined; set displayExpr(value: ((itemData: any) => string) | string | undefined); /** * Specifies custom content for the drop-down field. */ get dropDownContentTemplate(): any; set dropDownContentTemplate(value: any); /** * Configures the drop-down field. */ get dropDownOptions(): dxPopupOptions; set dropDownOptions(value: dxPopupOptions); /** * Specifies the global attributes to be attached to the UI component's container element. */ get elementAttr(): Record; set elementAttr(value: Record); /** * Specifies whether users can use keyboard to focus the UI component. */ get focusStateEnabled(): boolean; set focusStateEnabled(value: boolean); /** * Specifies the UI component's height. */ get height(): number | string | undefined; set height(value: number | string | undefined); /** * Specifies text for a hint that appears when a user pauses on the UI component. */ get hint(): string | undefined; set hint(value: string | undefined); /** * Specifies whether the UI component changes its state when a user hovers the mouse pointer over it. */ get hoverStateEnabled(): boolean; set hoverStateEnabled(value: boolean); /** * Specifies the button's icon. */ get icon(): string | undefined; set icon(value: string | undefined); /** * Provides drop-down menu items. */ get items(): Array; set items(value: Array); /** * Specifies a custom template for drop-down menu items. */ get itemTemplate(): any; set itemTemplate(value: any); /** * Specifies which data field provides keys used to distinguish between the selected drop-down menu items. */ get keyExpr(): string; set keyExpr(value: string); /** * Specifies the text or HTML markup displayed in the drop-down menu when it does not contain any items. */ get noDataText(): string; set noDataText(value: string); /** * Specifies whether the drop-down menu is opened. */ get opened(): boolean; set opened(value: boolean); /** * Switches the UI component to a right-to-left representation. */ get rtlEnabled(): boolean; set rtlEnabled(value: boolean); /** * Contains the selected item's data. Available when useSelectMode is true. */ get selectedItem(): any | number | string; set selectedItem(value: any | number | string); /** * Contains the selected item's key and allows you to specify the initially selected item. Applies when useSelectMode is true. */ get selectedItemKey(): number | string; set selectedItemKey(value: number | string); /** * Specifies whether the arrow icon should be displayed. */ get showArrowIcon(): boolean; set showArrowIcon(value: boolean); /** * Specifies whether to split the button in two: one executes an action, the other opens and closes the drop-down menu. */ get splitButton(): boolean; set splitButton(value: boolean); /** * Specifies how the button is styled. */ get stylingMode(): ButtonStyle; set stylingMode(value: ButtonStyle); /** * Specifies the number of the element when the Tab key is used for navigating. */ get tabIndex(): number; set tabIndex(value: number); /** * Specifies a custom template for the base button in DropDownButton. */ get template(): any; set template(value: any); /** * Specifies the button's text. Applies only if useSelectMode is false. */ get text(): string; set text(value: string); /** * Specifies the drop-down button type. */ get type(): ButtonType | string; set type(value: ButtonType | string); /** * Specifies whether the widget uses item's text a title attribute. */ get useItemTextAsTitle(): boolean; set useItemTextAsTitle(value: boolean); /** * Specifies whether the UI component stores the selected drop-down menu item. */ get useSelectMode(): boolean; set useSelectMode(value: boolean); /** * Specifies whether the UI component is visible. */ get visible(): boolean; set visible(value: boolean); /** * Specifies the UI component's width. */ get width(): number | string | undefined; set width(value: number | string | undefined); /** * Specifies whether text that exceeds the drop-down list width should be wrapped. */ get wrapItemText(): boolean; set wrapItemText(value: boolean); /** * A function that is executed when the button is clicked or tapped. If splitButton is true, this function is executed for the action button only. */ onButtonClick: EventEmitter; /** * A function that is executed when the UI component is rendered and each time the component is repainted. */ onContentReady: EventEmitter; /** * A function that is executed before the UI component is disposed of. */ onDisposing: EventEmitter; /** * A function used in JavaScript frameworks to save the UI component instance. */ onInitialized: EventEmitter; /** * A function that is executed when a drop-down menu item is clicked. */ onItemClick: EventEmitter; /** * A function that is executed after a UI component property is changed. */ onOptionChanged: EventEmitter; /** * A function that is executed when an item is selected or selection is canceled. In effect when useSelectMode is true. */ onSelectionChanged: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ accessKeyChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ activeStateEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ dataSourceChange: EventEmitter | DataSource | DataSourceOptions | null | Store | string>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ deferRenderingChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ disabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ displayExprChange: EventEmitter<((itemData: any) => string) | string | undefined>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ dropDownContentTemplateChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ dropDownOptionsChange: EventEmitter>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ elementAttrChange: EventEmitter>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ focusStateEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ heightChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ hintChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ hoverStateEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ iconChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ itemsChange: EventEmitter>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ itemTemplateChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ keyExprChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ noDataTextChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ openedChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ rtlEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ selectedItemChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ selectedItemKeyChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showArrowIconChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ splitButtonChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ stylingModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ tabIndexChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ templateChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ textChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ typeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ useItemTextAsTitleChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ useSelectModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ visibleChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ widthChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ wrapItemTextChange: EventEmitter; constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any); protected _createInstance(element: any, options: any): DxDropDownButton; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; setupChanges(prop: string, changes: SimpleChanges): void; ngDoCheck(): void; _setOption(name: string, value: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class DxDropDownButtonModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export * from 'devextreme-angular/ui/drop-down-button/nested'; export { DxDropDownButtonTypes };