/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { default as VirtualScroll } from './VirtualScroll'; import { Navigation } from './Navigation'; import { ListItemProps } from './ListItem'; import { InternalState, DropDownStateBase, Page, DropDownsPopupSettings, VirtualizationSettings } from './settings'; import { createVNode } from 'vue'; /** * @hidden */ export interface DropDownComponentProps { data?: any[]; opened?: boolean; value?: any; disabled?: boolean; tabIndex?: number; dir?: string; defaultItem?: any; filterable?: boolean; filter?: string | null; textField?: string; dataItemKey?: string; popupSettings?: DropDownsPopupSettings; style?: any; virtual?: VirtualizationSettings; onOpen?: (event: any) => void; onClose?: (event: any) => void; onFocus?: (event: any) => void; onBlur?: (event: any) => void; onChange?: (event: any) => void; onFilterchange?: (event: any) => void; onPagechange?: (event: any) => void; onScrollchange?: (event: any) => void; itemRender?: (li: Element, itemProps: ListItemProps) => any; listNoDataRender?: (element: any) => any; header?: any; footer?: any; dataItems?: any[]; name?: string; } /** * @hidden */ export interface DropDownComponent { state: DropDownStateBase; element: HTMLSpanElement | null; handleItemSelect: Function; value: any; currentOpened: boolean; currentFocused: boolean; popupWidth: string; $forceUpdate: Function; $props: DropDownComponentProps; $emit: Function; primitiveValue: Function; } /** * @hidden */ export default class DropDownBase { static defaultProps: { popupSettings: { animate: boolean; height: string; }; required: boolean; validityStyles: boolean; }; popupWidth?: string; wrapper: any; list: HTMLUListElement; dirCalculated?: string; readonly vs: VirtualScroll; readonly navigation: Navigation; readonly listBoxId: string; readonly guid: string; readonly component: DropDownComponent; constructor(component: any); didMount(): void; calculateDir(): void; calculatePopupWidth(): void; private scrollVirtualized; private scrollNonVirtualized; scrollToItem(itemIndex: number, vsEnabled?: boolean): void; handleItemClick: (index: number, event: any) => void; handleFocus: any; filterChanged: (text: string | null, state: InternalState) => void; repositionPopup(): void; initState(): InternalState; applyState(state: InternalState): void; togglePopup: (state: InternalState) => void; pageChange: (page: Page, event: any) => void; scrollChange: (event: any) => void; triggerOnPageChange(state: InternalState, skip: number, take: number): void; triggerPageChangeCornerItems(item: any, state: InternalState): void; scrollToVirtualItem: (virtual: VirtualizationSettings, selectedItemIndex: number) => void; getGroupedDataModernMode: (data: any[], groupField: string) => any[]; resetGroupStickyHeader: (groupName: string, that: any) => void; getTemplateDef(this: any, template: string, h: typeof createVNode): any; getListItemHeight(listItem: HTMLElement): string | 0; }