/** * @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; animation: { type: PropType; default: boolean; }; animationDuration: { type: PropType; default: number; }; animationStyles: PropType; tabIndex: PropType; items: PropType; subTitle: PropType; title: PropType; className: PropType; headerClassName: { type: PropType; default: any; }; contentClassName: { type: PropType; default: any; }; headerStyle: { type: PropType; default: any; }; footerClassName: { type: PropType; default: any; }; header: PropType; content: PropType; footer: PropType; item: PropType; navigatable: { type: PropType; default: boolean; }; navigatableElements: { type: PropType; default: () => any[]; }; actions: PropType; onClose: PropType<(event: any) => void>; }>, {}, { show: boolean; slide: boolean; }, { topGroupItems(): Array | undefined; bottomGroupItems(): Array | 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; animation: { type: PropType; default: boolean; }; animationDuration: { type: PropType; default: number; }; animationStyles: PropType; tabIndex: PropType; items: PropType; subTitle: PropType; title: PropType; className: PropType; headerClassName: { type: PropType; default: any; }; contentClassName: { type: PropType; default: any; }; headerStyle: { type: PropType; default: any; }; footerClassName: { type: PropType; default: any; }; header: PropType; content: PropType; footer: PropType; item: PropType; navigatable: { type: PropType; default: boolean; }; navigatableElements: { type: PropType; default: () => any[]; }; actions: PropType; 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 };