/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { DrawerSelectEvent } from './DrawerSelectEvent'; import { DrawerAnimation } from '../interfaces/DrawerAnimation'; import { DrawerItemProps } from './DrawerItemProps'; /** * The properties of the [Kendo UI for Vue Drawer component]({% slug overview_drawer %}). */ export interface DrawerProps { /** * Specifies the animation settings of the Drawer. * If boolean enables or disables the default animation. * Use DrawerAnimation to set slide animation with customizable duration option. Accepts a number in milliseconds. */ animation?: boolean | DrawerAnimation; /** * Specifies the state of the Drawer. Defaults to `false` ([see example]({% slug expanded_state_drawer %})). */ expanded?: boolean; /** * Represents the `dir` HTML attribute. This is used to switch from LTR to RTL. */ dir?: string; /** * Specifies the mode in which the Drawer will be displayed. * The possible values are `overlay` and `push`. * Defaults to `overlay` ([see example]({% slug display_modes_drawer %}#toc-expand-modes)). */ mode?: 'overlay' | 'push' | string; /** * Specifies the position of the Drawer. * The possible values are `start` and `end` ([see example]({% slug positioning_drawer %})). */ position?: 'start' | 'end' | string; /** * Sets the `tabIndex` property of the Drawer. */ tabIndex?: number; /** * Enables the mini (compact) view of the Drawer which is displayed when the component is collapsed * ([see example]({% slug display_modes_drawer %}#toc-mini-view))). */ mini?: boolean; /** * Defines the width of the Drawer when the mini view is enabled and the component is collapsed. Defaults to `50`. */ miniWidth?: number; /** * Defines the width of the Drawer when it is expanded. Defaults to `240`. */ width?: number; /** * The collection of items that will be rendered in the Drawer ([see example]({% slug overview_drawer %})). */ items?: Array; /** * Overrides the default component responsible for visualizing a single item ([see example]({% slug custom_rendering %})). * * The default Component is: [DrawerItem]({% slug api_layout_draweritemprops %}). */ item?: any; /** * The event handler that will be fired when the overlay is clicked. * Used in overlay mode only. */ onOverlayclick?: (event: any) => void; /** * Fires when a Drawer item is selected. */ onSelect?: (event: DrawerSelectEvent) => void; /** * Provides the option to define a `header` in the Drawer component ([see example]({% slug custom_rendering %})). * The header is rendered above the Drawer Items. By default, the property is not defined. */ navigationHeader?: String | Object | Function; /** * Provides the option to define a `footer` in the Drawer component ([see example]({% slug custom_rendering %})). * The footer is rendered below the Drawer Items. By default, the property is not defined. */ navigationFooter?: String | Object | Function; /** * Provides the option to define a custom template inside the navigational section of the Drawer component ([see example]({% slug custom_rendering %})). * When defined, the custom template will override the default [DrawerItem]({% slug api_layout_draweritemprops %}) rendering. * By default, the property is not defined. */ navigationContent?: String | Object | Function; }