@progress/kendo-vue-buttons
Version:
169 lines (168 loc) • 5.81 kB
TypeScript
/**
* @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<any>;
_anchor: string;
kendoAnchorRef: any;
}
/**
* @hidden
*/
declare const DropDownButton: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
accessKey: PropType<string>;
items: {
type: PropType<any[]>;
default: () => any[];
};
ariaLabel: PropType<string>;
text: PropType<any>;
textField: PropType<string>;
tabIndex: PropType<number>;
disabled: PropType<boolean>;
icon: PropType<string>;
svgIcon: PropType<import('@progress/kendo-vue-common').SVGIcon>;
iconClass: PropType<string>;
imageUrl: PropType<string>;
popupSettings: PropType<import('..').ButtonsPopupSettings>;
itemRender: PropType<any>;
item: PropType<any>;
size: PropType<"small" | "medium" | "xs" | "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" | "error" | "inverse">;
validator: (value: string) => boolean;
};
opened: {
type: PropType<boolean>;
default: any;
};
buttonClass: PropType<string>;
dir: PropType<string>;
}>, {
kendoAnchorRef: import('vue').Ref<any, any>;
}, {
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<import('vue').ExtractPropTypes<{
accessKey: PropType<string>;
items: {
type: PropType<any[]>;
default: () => any[];
};
ariaLabel: PropType<string>;
text: PropType<any>;
textField: PropType<string>;
tabIndex: PropType<number>;
disabled: PropType<boolean>;
icon: PropType<string>;
svgIcon: PropType<import('@progress/kendo-vue-common').SVGIcon>;
iconClass: PropType<string>;
imageUrl: PropType<string>;
popupSettings: PropType<import('..').ButtonsPopupSettings>;
itemRender: PropType<any>;
item: PropType<any>;
size: PropType<"small" | "medium" | "xs" | "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" | "error" | "inverse">;
validator: (value: string) => boolean;
};
opened: {
type: PropType<boolean>;
default: any;
};
buttonClass: PropType<string>;
dir: PropType<string>;
}>> & 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 };