@progress/kendo-vue-layout
Version:
235 lines (234 loc) • 7.21 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 { Navigation } from '@progress/kendo-vue-common';
import { ActionSheetItemProps } from './interfaces/ActionSheetItemProps';
import { PropType } from 'vue';
/**
* The props of the ActionSheet component.
*/
export interface ActionSheetProps {
/**
* The collection of items that will be rendered in the ActionSheet.
*/
items?: ActionSheetItemProps[];
/**
* Specifies the text that is rendered under the title.
*/
subTitle?: string;
/**
* Specifies the text that is rendered as title.
*/
title?: string;
/**
* Fires when the modal overlay is clicked.
*/
onClose?: (event: any) => void;
/**
* Fires when an ActionSheet item is clicked.
*/
onItemselect?: (event: {
syntheticEvent: any;
title?: string;
item?: any;
}) => void;
/**
* Specifies the `tabIndex` of the ActionSheet.
*/
tabIndex?: number;
/**
* Specifies if the ActionSheet can be navigatable with keyboard.
* Defaults to `true`.
*/
navigatable?: boolean;
/**
* Specifies the selectors of the navigatable elements inside the templates of the ActionSheet.
*/
navigatableElements?: string[];
/**
* Controls the popup animation. By default, the animation is enabled.
*/
animation?: boolean;
/**
* @hidden
*/
animationStyles?: any;
/**
* @hidden
* Used to render the close button in the header of the ActionSheet.
*/
actions?: any;
/**
* Specifies the duration of the transition for the entering and closing Animation. Defaults to `300ms`.
*/
animationDuration?: number;
/**
* The CSS classes that will be rendered on the inner ActionSheet element.
*/
className?: string;
/**
* The CSS classes that will be rendered on the DOM element that wraps the header section of the ActionSheet element.
*/
headerClassName?: string;
/**
* The CSS classes that will be rendered on the DOM element that wraps the footer section of the ActionSheet element.
*/
footerClassName?: string;
/**
* The CSS classes that will be rendered on the DOM element that wraps the content section of the ActionSheet element.
*/
contentClassName?: string;
/**
* The custom Styles that will be applied on the DOM element that wraps the header section of the ActionSheet element.
*/
headerStyle?: string;
/**
* Sets the header content of the ActionSheet either as string that is pointing to a slot template of as render function.
*/
header?: string | Function;
/**
* Sets the content content of the ActionSheet either as string that is pointing to a slot template of as render function.
*/
content?: string | Function;
/**
* Sets the footer content of the ActionSheet either as string that is pointing to a slot template of as render function.
*/
footer?: string | Function;
/**
* Sets the item content of the ActionSheet either as string that is pointing to a slot template of as render function.
*/
item?: string | Function;
/**
* Specifies the state of the ActionSheet.
*/
expand?: boolean;
}
/**
* @hidden
*/
declare const ActionSheet: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
expand: PropType<boolean>;
animation: {
type: PropType<boolean>;
default: boolean;
};
animationDuration: {
type: PropType<number>;
default: number;
};
animationStyles: PropType<any>;
tabIndex: PropType<number>;
items: PropType<ActionSheetItemProps[]>;
subTitle: PropType<string>;
title: PropType<string>;
className: PropType<string>;
headerClassName: {
type: PropType<string>;
default: any;
};
contentClassName: {
type: PropType<string>;
default: any;
};
headerStyle: {
type: PropType<string>;
default: any;
};
footerClassName: {
type: PropType<string>;
default: any;
};
header: PropType<string | Function>;
content: PropType<string | Function>;
footer: PropType<string | Function>;
item: PropType<string | Function>;
navigatable: {
type: PropType<boolean>;
default: boolean;
};
navigatableElements: {
type: PropType<string[]>;
default: () => any[];
};
actions: PropType<any>;
onClose: PropType<(event: any) => void>;
}>, {}, {
show: boolean;
slide: boolean;
}, {
topGroupItems(): Array<ActionSheetItemProps> | undefined;
bottomGroupItems(): Array<ActionSheetItemProps> | undefined;
shouldRenderSeparator(): boolean;
}, {
handleKeyDown(e: any): void;
onTab(target: HTMLElement, nav: Navigation, ev: any): void;
handleOverlayClick(ev: any): void;
handleItemClick(ev: {
syntheticEvent: any;
title?: string;
item?: any;
}): void;
onEnter(target: HTMLElement, nav: Navigation, ev: any): void;
onEscape(_target: HTMLElement, _nav: Navigation, ev: any): void;
hideActionSheet(): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
expand: PropType<boolean>;
animation: {
type: PropType<boolean>;
default: boolean;
};
animationDuration: {
type: PropType<number>;
default: number;
};
animationStyles: PropType<any>;
tabIndex: PropType<number>;
items: PropType<ActionSheetItemProps[]>;
subTitle: PropType<string>;
title: PropType<string>;
className: PropType<string>;
headerClassName: {
type: PropType<string>;
default: any;
};
contentClassName: {
type: PropType<string>;
default: any;
};
headerStyle: {
type: PropType<string>;
default: any;
};
footerClassName: {
type: PropType<string>;
default: any;
};
header: PropType<string | Function>;
content: PropType<string | Function>;
footer: PropType<string | Function>;
item: PropType<string | Function>;
navigatable: {
type: PropType<boolean>;
default: boolean;
};
navigatableElements: {
type: PropType<string[]>;
default: () => any[];
};
actions: PropType<any>;
onClose: PropType<(event: any) => void>;
}>> & Readonly<{}>, {
animation: boolean;
contentClassName: string;
animationDuration: number;
headerClassName: string;
headerStyle: string;
footerClassName: string;
navigatable: boolean;
navigatableElements: string[];
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { ActionSheet };