@progress/kendo-vue-buttons
Version:
171 lines (170 loc) • 5.08 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 { PropType } from 'vue';
import { ToolbarResizeEvent } from './interfaces/ToolbarProps';
/**
* @hidden
*/
export interface ToolbarComputed {
[key: string]: any;
selectors: string[];
wrapperClass: object;
}
/**
* @hidden
*/
export interface ToolbarMethods {
[key: string]: any;
focusedIndex: () => number;
getCurrentButtons: () => HTMLElement[];
onKeyDown: (e: any) => void;
onWindowResize: (e: any) => void;
focusButton: (current: number, next: number) => void;
setTabIndex: (index: number) => void;
getInternalButtons: () => HTMLElement[];
}
/**
* @hidden
*/
declare const Toolbar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
tabIndex: {
type: PropType<number>;
default: number;
};
dir: {
type: PropType<string>;
validator: (value: any) => any;
default: string;
};
keyboardNavigation: {
type: PropType<boolean>;
default: boolean;
};
buttons: {
type: PropType<string[]>;
default: () => any;
};
size: {
type: PropType<"small" | "medium" | "large">;
validator: (value: string) => boolean;
};
fillMode: {
type: PropType<"flat" | "solid" | "outline">;
validator: (value: string) => boolean;
};
ariaLabel: PropType<string>;
overflow: {
type: PropType<"section" | "none" | "scroll">;
default: string;
validator: (value: any) => any;
};
scrollButtons: {
type: PropType<"hidden" | "auto" | "visible">;
default: string;
validator: (value: any) => any;
};
scrollButtonsPosition: {
type: PropType<"split" | "start" | "end">;
default: string;
validator: (value: any) => any;
};
buttonScrollSpeed: {
type: PropType<number>;
default: number;
};
}>, {}, {
defaultSlot: any;
offsetWidth: number;
offsetHeight: number;
currentButtons: HTMLElement[];
focusedSelector: string;
isScrollStartPosition: boolean;
isScrollEndPosition: boolean;
focusableButtons: any[];
isOverflowing: boolean;
scrollContentRef: any;
lastToolbarWidthRef: number;
overFlowToolsRef: any[];
overFlowOpened: boolean;
visibleToolsRef: any;
}, {
selectors(): ToolbarComputed['selectors'];
wrapperClass(): ToolbarComputed['wrapperClass'];
}, {
getCurrentButtons(): HTMLElement[];
getInternalButtons(): HTMLElement[];
focusedIndex(): number;
setTabIndex(focusedIndex: number): void;
onKeyDown(event: any): void;
focusButton(prevIndex: number, index: number): void;
initOverflow(toolbarRef: any, totalInnerWidth: any): void;
checkOverflow(): void;
onWindowResize(event: any): void;
onContentScroll(buttonClicked: any): void;
onToggleoverflow(opened: boolean): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
resize: (event: ToolbarResizeEvent) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
tabIndex: {
type: PropType<number>;
default: number;
};
dir: {
type: PropType<string>;
validator: (value: any) => any;
default: string;
};
keyboardNavigation: {
type: PropType<boolean>;
default: boolean;
};
buttons: {
type: PropType<string[]>;
default: () => any;
};
size: {
type: PropType<"small" | "medium" | "large">;
validator: (value: string) => boolean;
};
fillMode: {
type: PropType<"flat" | "solid" | "outline">;
validator: (value: string) => boolean;
};
ariaLabel: PropType<string>;
overflow: {
type: PropType<"section" | "none" | "scroll">;
default: string;
validator: (value: any) => any;
};
scrollButtons: {
type: PropType<"hidden" | "auto" | "visible">;
default: string;
validator: (value: any) => any;
};
scrollButtonsPosition: {
type: PropType<"split" | "start" | "end">;
default: string;
validator: (value: any) => any;
};
buttonScrollSpeed: {
type: PropType<number>;
default: number;
};
}>> & Readonly<{
onResize?: (event: ToolbarResizeEvent) => any;
}>, {
dir: string;
tabIndex: number;
overflow: "section" | "none" | "scroll";
keyboardNavigation: boolean;
buttons: string[];
buttonScrollSpeed: number;
scrollButtons: "hidden" | "auto" | "visible";
scrollButtonsPosition: "split" | "start" | "end";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { Toolbar };