/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { DropDownButtonFocusEvent, DropDownButtonBlurEvent, DropDownButtonOpenEvent, DropDownButtonCloseEvent, DropDownButtonItemClickEvent } from './models/events'; import { PropType } from 'vue'; /** * @hidden */ export interface DropDownButtonData { focusedIndex?: number; focused?: boolean; currentOpened: boolean; } /** * @hidden */ export interface DropDownButtonComputed { [key: string]: any; computedOpened: boolean; wrapperClass: object; } /** * @hidden */ export interface DropDownButtonMethods { [key: string]: any; element: () => HTMLButtonElement | null; onKeyDown: (event: any) => void; onFocus: (event: any) => void; onBlur: (event: any) => void; onItemClick: (event: any, clickedItemIndex: number) => void; onItemDown: (event: any) => void; mouseDown: (event: any) => void; dispatchClickEvent: (dispatchedEvent: any, index: number) => void; onClickMainButton: () => void; dispatchPopupEvent: (dispatchedEvent: any, open: boolean) => void; isItemDisabled: (index: number) => boolean; isRtl: () => boolean; } /** * @hidden */ export interface DropDownButtonState { wrapper: HTMLDivElement | null; mainButton: any; guid: string; buttonsData: Array; _anchor: string; kendoAnchorRef: any; } /** * @hidden */ declare const DropDownButton: import('vue').DefineComponent; items: { type: PropType; default: () => any[]; }; ariaLabel: PropType; text: PropType; textField: PropType; tabIndex: PropType; disabled: PropType; icon: PropType; svgIcon: PropType; iconClass: PropType; imageUrl: PropType; popupSettings: PropType; itemRender: PropType; item: PropType; size: PropType<"small" | "medium" | "large">; rounded: PropType<"small" | "medium" | "large" | "full" | "none">; fillMode: { type: PropType<"flat" | "link" | "solid" | "outline">; validator: (value: string) => boolean; }; themeColor: { type: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">; validator: (value: string) => boolean; }; opened: { type: PropType; default: any; }; buttonClass: PropType; dir: PropType; }>, { kendoAnchorRef: import('vue').Ref; }, { currentOpened: boolean; focused: boolean; focusedIndex: number; }, { computedOpened(): boolean; wrapperClass(): { 'k-dropdown-button': boolean; 'k-focus': any; }; }, { element(): HTMLButtonElement | null; onKeyDown(event: any): void; onFocus(event: FocusEvent): void; onBlur(event: FocusEvent): void; createBlurTimeout(event: FocusEvent): void; onItemClick(event: any, clickedItemIndex: number): void; onItemDown(event: any): void; mouseDown(event: any): void; dispatchClickEvent(dispatchedEvent: any, index: number): void; onClickMainButton(event: any): void; dispatchPopupEvent(dispatchedEvent: any, open: boolean): void; isItemDisabled(index: number): any; isRtl(): boolean; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { focus: (event: DropDownButtonFocusEvent) => true; blur: (event: DropDownButtonBlurEvent) => true; itemclick: (event: DropDownButtonItemClickEvent) => true; open: (event: DropDownButtonOpenEvent) => true; close: (event: DropDownButtonCloseEvent) => true; }, string, import('vue').PublicProps, Readonly; items: { type: PropType; default: () => any[]; }; ariaLabel: PropType; text: PropType; textField: PropType; tabIndex: PropType; disabled: PropType; icon: PropType; svgIcon: PropType; iconClass: PropType; imageUrl: PropType; popupSettings: PropType; itemRender: PropType; item: PropType; size: PropType<"small" | "medium" | "large">; rounded: PropType<"small" | "medium" | "large" | "full" | "none">; fillMode: { type: PropType<"flat" | "link" | "solid" | "outline">; validator: (value: string) => boolean; }; themeColor: { type: PropType<"base" | "primary" | "secondary" | "tertiary" | "info" | "success" | "warning" | "dark" | "light" | "inverse">; validator: (value: string) => boolean; }; opened: { type: PropType; default: any; }; buttonClass: PropType; dir: PropType; }>> & Readonly<{ onBlur?: (event: DropDownButtonBlurEvent) => any; onClose?: (event: DropDownButtonCloseEvent) => any; onFocus?: (event: DropDownButtonFocusEvent) => any; onOpen?: (event: DropDownButtonOpenEvent) => any; onItemclick?: (event: DropDownButtonItemClickEvent) => any; }>, { items: any[]; opened: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { DropDownButton };