/*! * 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 { ApplyValueMode, LabelMode, PageLoadMode, SimplifiedSearchMode, EditorStyle, ValidationMessageMode, Mode, Position, ValidationStatus } from 'devextreme/common'; import { CollectionWidgetItem } from 'devextreme/ui/collection/ui.collection_widget.base'; import { DataSourceOptions } from 'devextreme/data/data_source'; import { Store } from 'devextreme/data/store'; import { dxPopoverOptions } from 'devextreme/ui/popover'; import { ClosedEvent, ContentReadyEvent, DisposingEvent, InitializedEvent, ItemClickEvent, OpenedEvent, OptionChangedEvent, PageLoadingEvent, PullRefreshEvent, ScrollEvent, SelectionChangedEvent, ValueChangedEvent } from 'devextreme/ui/lookup'; import DxLookup from 'devextreme/ui/lookup'; import { ControlValueAccessor } from '@angular/forms'; import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper, CollectionNestedOption } from 'devextreme-angular/core'; import type * as DxLookupTypes from "devextreme/ui/lookup_types"; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/ui/nested"; import * as i2 from "devextreme-angular/ui/lookup/nested"; import * as i3 from "devextreme-angular/core"; /** * The Lookup is a UI component that allows an end user to search for an item in a collection shown in a drop-down menu. */ export declare class DxLookupComponent extends DxComponent implements OnDestroy, ControlValueAccessor, OnChanges, DoCheck { private _watcherHelper; private _idh; set _itemsContentChildren(value: QueryList); set _toolbarItemsContentChildren(value: QueryList); instance: DxLookup; /** * 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); /** * The text displayed on the Apply button. */ get applyButtonText(): string; set applyButtonText(value: string); /** * Specifies the way an end user applies the selected value. */ get applyValueMode(): ApplyValueMode; set applyValueMode(value: ApplyValueMode); /** * The text displayed on the Cancel button. */ get cancelButtonText(): string; set cancelButtonText(value: string); /** * Specifies whether or not the UI component cleans the search box when the popup window is displayed. */ get cleanSearchOnOpening(): boolean; set cleanSearchOnOpening(value: boolean); /** * The text displayed on the Clear button. */ get clearButtonText(): string; set clearButtonText(value: string); /** * Binds the UI component to data. */ get dataSource(): Array | DataSource | DataSourceOptions | null | Store | string; set dataSource(value: Array | DataSource | DataSourceOptions | null | Store | string); /** * Specifies whether to render the drop-down field'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. */ get displayExpr(): ((item: any) => string) | string | undefined; set displayExpr(value: ((item: any) => string) | string | undefined); /** * Returns the value currently displayed by the UI component. */ get displayValue(): string | undefined; set displayValue(value: string | undefined); /** * Specifies whether to vertically align the drop-down menu so that the selected item is in its center. Applies only in Material Design themes. */ get dropDownCentered(): boolean; set dropDownCentered(value: boolean); /** * Configures the drop-down field. */ get dropDownOptions(): dxPopoverOptions; set dropDownOptions(value: dxPopoverOptions); /** * Specifies the global attributes to be attached to the UI component's container element. */ get elementAttr(): Record; set elementAttr(value: Record); /** * Specifies a custom template for the input field. */ get fieldTemplate(): any; set fieldTemplate(value: any); /** * Specifies whether the UI component can be focused using keyboard navigation. */ get focusStateEnabled(): boolean; set focusStateEnabled(value: boolean); /** * Specifies whether data items should be grouped. */ get grouped(): boolean; set grouped(value: boolean); /** * Specifies a custom template for group captions. */ get groupTemplate(): any; set groupTemplate(value: any); /** * 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 pauses on it. */ get hoverStateEnabled(): boolean; set hoverStateEnabled(value: boolean); /** * Specifies the attributes to be passed on to the underlying HTML element. */ get inputAttr(): any; set inputAttr(value: any); /** * Specifies whether the component's current value differs from the initial value. */ get isDirty(): boolean; set isDirty(value: boolean); /** * Specifies or indicates whether the editor's value is valid. */ get isValid(): boolean; set isValid(value: boolean); /** * An array of items displayed by the UI component. */ get items(): Array; set items(value: Array); /** * Specifies a custom template for items. */ get itemTemplate(): any; set itemTemplate(value: any); /** * Specifies a text string used to annotate the editor's value. */ get label(): string; set label(value: string); /** * Specifies the label's display mode. */ get labelMode(): LabelMode; set labelMode(value: LabelMode); /** * The minimum number of characters that must be entered into the text box to begin a search. Applies only if searchEnabled is true. */ get minSearchLength(): number; set minSearchLength(value: number); /** * The value to be assigned to the `name` attribute of the underlying HTML element. */ get name(): string; set name(value: string); /** * The text displayed on the button used to load the next page from the data source. */ get nextButtonText(): string; set nextButtonText(value: string); /** * Specifies the text or HTML markup displayed by the UI component if the item collection is empty. */ get noDataText(): string; set noDataText(value: string); /** * Specifies whether or not the drop-down editor is displayed. */ get opened(): boolean; set opened(value: boolean); /** * Specifies the text shown in the pullDown panel, which is displayed when the UI component is scrolled to the bottom. */ get pageLoadingText(): string; set pageLoadingText(value: string); /** * Specifies whether the next page is loaded when a user scrolls the UI component to the bottom or when the 'next' button is clicked. */ get pageLoadMode(): PageLoadMode; set pageLoadMode(value: PageLoadMode); /** * The text displayed by the UI component when nothing is selected. */ get placeholder(): string; set placeholder(value: string); /** * Specifies the text displayed in the pullDown panel when the UI component is pulled below the refresh threshold. */ get pulledDownText(): string; set pulledDownText(value: string); /** * Specifies the text shown in the pullDown panel while the list is being pulled down to the refresh threshold. */ get pullingDownText(): string; set pullingDownText(value: string); /** * A Boolean value specifying whether or not the UI component supports the 'pull down to refresh' gesture. */ get pullRefreshEnabled(): boolean; set pullRefreshEnabled(value: boolean); /** * Specifies the text displayed in the pullDown panel while the UI component is being refreshed. */ get refreshingText(): string; set refreshingText(value: string); /** * Switches the UI component to a right-to-left representation. */ get rtlEnabled(): boolean; set rtlEnabled(value: boolean); /** * Specifies whether the search box is visible. */ get searchEnabled(): boolean; set searchEnabled(value: boolean); /** * Specifies the name of a data source item field or an expression whose value is compared to the search criterion. */ get searchExpr(): Array | Function | string; set searchExpr(value: Array | Function | string); /** * Specifies a comparison operation used to search UI component items. */ get searchMode(): SimplifiedSearchMode; set searchMode(value: SimplifiedSearchMode); /** * The text that is provided as a hint in the lookup's search bar. */ get searchPlaceholder(): string; set searchPlaceholder(value: string); /** * Specifies the DOM events after which the UI component's search results should be updated. */ get searchStartEvent(): string; set searchStartEvent(value: string); /** * Specifies the time delay, in milliseconds, after the last character has been typed in, before a search is executed. */ get searchTimeout(): number; set searchTimeout(value: number); /** * Gets the currently selected item. */ get selectedItem(): any; set selectedItem(value: any); /** * Specifies whether to display the Cancel button in the lookup window. */ get showCancelButton(): boolean; set showCancelButton(value: boolean); /** * Specifies whether to display the Clear button in the lookup window. */ get showClearButton(): boolean; set showClearButton(value: boolean); /** * Specifies whether or not the UI component displays unfiltered values until a user types a number of characters exceeding the minSearchLength property value. */ get showDataBeforeSearch(): boolean; set showDataBeforeSearch(value: boolean); /** * Specifies how the UI component's text field is styled. */ get stylingMode(): EditorStyle; set stylingMode(value: EditorStyle); /** * Specifies the number of the element when the Tab key is used for navigating. */ get tabIndex(): number; set tabIndex(value: number); /** * The read-only property that holds the text displayed by the UI component input element. */ get text(): string; set text(value: string); /** * Specifies whether the widget uses item's text a title attribute. */ get useItemTextAsTitle(): boolean; set useItemTextAsTitle(value: boolean); /** * Specifies whether or not the UI component uses native scrolling. */ get useNativeScrolling(): boolean; set useNativeScrolling(value: boolean); /** * Specifies whether to show lookup contents in the Popover UI component. */ get usePopover(): boolean; set usePopover(value: boolean); /** * Information on the broken validation rule. Contains the first item from the validationErrors array. */ get validationError(): any; set validationError(value: any); /** * An array of validation errors. */ get validationErrors(): Array; set validationErrors(value: Array); /** * Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed. */ get validationMessageMode(): ValidationMessageMode; set validationMessageMode(value: ValidationMessageMode); /** * Specifies the position of a validation message relative to the component. The validation message describes the validation rules that this component's value does not satisfy. */ get validationMessagePosition(): Mode | Position; set validationMessagePosition(value: Mode | Position); /** * Indicates or specifies the current validation status. */ get validationStatus(): ValidationStatus; set validationStatus(value: ValidationStatus); /** * Specifies the currently selected value. May be an object if dataSource contains objects, the store key is specified, and valueExpr is not set. */ get value(): any; set value(value: any); /** * Specifies the DOM events after which the UI component's value should be updated. */ get valueChangeEvent(): string; set valueChangeEvent(value: string); /** * Specifies which data field provides unique values to the UI component's value. */ get valueExpr(): ((item: any) => string | number | boolean) | string; set valueExpr(value: ((item: any) => string | number | boolean) | string); /** * 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 once the drop-down editor is closed. */ onClosed: 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 list item is clicked or tapped. */ onItemClick: EventEmitter; /** * A function that is executed once the drop-down editor is opened. */ onOpened: EventEmitter; /** * A function that is executed after a UI component property is changed. */ onOptionChanged: EventEmitter; /** * A function that is executed before the next page is loaded. */ onPageLoading: EventEmitter; /** * A function that is executed when the 'pull to refresh' gesture is performed on the drop-down item list. Supported on mobile devices only. */ onPullRefresh: EventEmitter; /** * A function that is executed on each scroll gesture performed on the drop-down item list. */ onScroll: EventEmitter; /** * A function that is executed when a list item is selected or selection is canceled. */ onSelectionChanged: EventEmitter; /** * A function that is executed after the UI component's value is changed. */ onValueChanged: 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. */ applyButtonTextChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ applyValueModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ cancelButtonTextChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ cleanSearchOnOpeningChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ clearButtonTextChange: 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<((item: any) => string) | string | undefined>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ displayValueChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ dropDownCenteredChange: 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. */ fieldTemplateChange: 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. */ groupedChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ groupTemplateChange: 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. */ inputAttrChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ isDirtyChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ isValidChange: 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. */ labelChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ labelModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ minSearchLengthChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ nameChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ nextButtonTextChange: 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. */ pageLoadingTextChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ pageLoadModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ placeholderChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ pulledDownTextChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ pullingDownTextChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ pullRefreshEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ refreshingTextChange: 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. */ searchEnabledChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ searchExprChange: EventEmitter | Function | string>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ searchModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ searchPlaceholderChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ searchStartEventChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ searchTimeoutChange: 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. */ showCancelButtonChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showClearButtonChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ showDataBeforeSearchChange: 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. */ textChange: 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. */ useNativeScrollingChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ usePopoverChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ validationErrorChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ validationErrorsChange: EventEmitter>; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ validationMessageModeChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ validationMessagePositionChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ validationStatusChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ valueChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ valueChangeEventChange: EventEmitter; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ valueExprChange: EventEmitter<((item: any) => string | number | boolean) | string>; /** * 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; /** * */ onBlur: EventEmitter; change(_: any): void; touched: (_: any) => void; constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any); protected _createInstance(element: any, options: any): DxLookup; writeValue(value: any): void; setDisabledState(isDisabled: boolean): void; registerOnChange(fn: (_: any) => void): void; registerOnTouched(fn: () => void): void; _createWidget(element: any): void; 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 DxLookupModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export * from 'devextreme-angular/ui/lookup/nested'; export { DxLookupTypes };