UNPKG

@progress/kendo-vue-buttons

Version:
175 lines (174 loc) 6.05 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { PropType } from 'vue'; import { SplitButtonClickEvent, SplitButtonItemClickEvent, SplitButtonFocusEvent, SplitButtonBlurEvent, SplitButtonOpenEvent, SplitButtonCloseEvent } from './models/events'; /** * @hidden */ export interface SplitButtonData { focusedIndex?: number; focused?: boolean; currentOpened: boolean; } /** * @hidden */ export interface SplitButtonComputed { [key: string]: any; computedOpened: boolean; wrapperClass: object; } /** * @hidden */ export interface SplitButtonMethods { [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; onDownSplitPart: () => void; onSplitPartClick: (event: any) => void; dispatchPopupEvent: (dispatchedEvent: any, open: boolean) => void; isItemDisabled: (index: number) => boolean; isRtl: () => boolean; } /** * @hidden */ export interface SplitButtonState { mainButton: any; guid: string; buttonsData: Array<any>; _anchor: string; kendoAnchorRef: any; } /** * @hidden */ declare const SplitButton: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ accessKey: PropType<string>; ariaLabel: PropType<string>; text: PropType<string>; items: { type: PropType<any[]>; default: () => any[]; }; textField: PropType<string>; tabIndex: PropType<number>; disabled: PropType<boolean>; icon: PropType<string>; svgIcon: PropType<import('@progress/kendo-vue-common').SVGIcon>; 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; }; iconClass: PropType<string>; imageUrl: PropType<string>; popupSettings: PropType<import('..').ButtonsPopupSettings>; itemRender: PropType<any>; item: PropType<any>; className: PropType<string>; buttonClass: PropType<string>; dir: PropType<string>; }>, { kendoAnchorRef: import('vue').Ref<any, any>; }, { focused: boolean; focusedIndex: number; currentOpened: boolean; }, { computedOpened(): boolean; wrapperClass(): { 'k-split-button': boolean; 'k-button-group': boolean; 'k-focus': any; }; }, { element(): HTMLButtonElement | null; onKeyDown(event: any): void; onFocus(event: FocusEvent): void; onItemClick(event: any, clickedItemIndex: number): void; onBlur(event: FocusEvent): void; createBlurTimeout(event: FocusEvent): void; dispatchClickEvent(dispatchedEvent: any, clickedItemIndex: number): void; onSplitPartClick(event: any): void; onDownSplitPart(event: any): void; onItemDown(event: any): void; dispatchPopupEvent(dispatchedEvent: any, open?: boolean): void; isItemDisabled(index: number): any; isRtl(): boolean; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { focus: (event: SplitButtonFocusEvent) => true; blur: (event: SplitButtonBlurEvent) => true; buttonclick: (event: SplitButtonClickEvent) => true; itemclick: (event: SplitButtonItemClickEvent) => true; open: (event: SplitButtonOpenEvent) => true; close: (event: SplitButtonCloseEvent) => true; }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ accessKey: PropType<string>; ariaLabel: PropType<string>; text: PropType<string>; items: { type: PropType<any[]>; default: () => any[]; }; textField: PropType<string>; tabIndex: PropType<number>; disabled: PropType<boolean>; icon: PropType<string>; svgIcon: PropType<import('@progress/kendo-vue-common').SVGIcon>; 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; }; iconClass: PropType<string>; imageUrl: PropType<string>; popupSettings: PropType<import('..').ButtonsPopupSettings>; itemRender: PropType<any>; item: PropType<any>; className: PropType<string>; buttonClass: PropType<string>; dir: PropType<string>; }>> & Readonly<{ onBlur?: (event: SplitButtonBlurEvent) => any; onClose?: (event: SplitButtonCloseEvent) => any; onFocus?: (event: SplitButtonFocusEvent) => any; onOpen?: (event: SplitButtonOpenEvent) => any; onItemclick?: (event: SplitButtonItemClickEvent) => any; onButtonclick?: (event: SplitButtonClickEvent) => any; }>, { items: any[]; opened: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { SplitButton };