devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
134 lines (119 loc) • 3.91 kB
TypeScript
/**
* DevExtreme (ui/drawer.d.ts)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
DxElement,
} from '../core/element';
import {
DxPromise,
} from '../core/utils/deferred';
import {
template,
} from '../common';
import {
EventInfo,
InitializedEventInfo,
ChangedOptionInfo,
} from '../common/core/events';
import { DxEvent } from '../events';
import Widget, {
WidgetOptions,
} from './widget/ui.widget';
export type OpenedStateMode = 'overlap' | 'shrink' | 'push';
export type PanelLocation = 'left' | 'right' | 'top' | 'bottom' | 'before' | 'after';
export type RevealMode = 'slide' | 'expand';
/**
* The type of the disposing event handler's argument.
*/
export type DisposingEvent = EventInfo<dxDrawer>;
/**
* The type of the initialized event handler's argument.
*/
export type InitializedEvent = InitializedEventInfo<dxDrawer>;
/**
* The type of the optionChanged event handler's argument.
*/
export type OptionChangedEvent = EventInfo<dxDrawer> & ChangedOptionInfo;
/**
*
* @deprecated
* @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution.
*/
export interface dxDrawerOptions extends WidgetOptions<dxDrawer> {
/**
* Specifies the duration of the drawer's opening and closing animation (in milliseconds). Applies only if animationEnabled is true.
*/
animationDuration?: number;
/**
* Specifies whether to use an opening and closing animation.
*/
animationEnabled?: boolean;
/**
* Specifies whether to close the drawer if a user clicks or taps the view area.
*/
closeOnOutsideClick?: boolean | ((event: DxEvent<MouseEvent | PointerEvent | TouchEvent>) => boolean);
/**
* Specifies the drawer's width or height (depending on the drawer's position) in the opened state.
*/
maxSize?: number;
/**
* Specifies the drawer's width or height (depending on the drawer's position) in the closed state.
*/
minSize?: number;
/**
* Specifies whether the drawer is opened.
*/
opened?: boolean;
/**
* Specifies how the drawer interacts with the view in the opened state.
*/
openedStateMode?: OpenedStateMode;
/**
* Specifies the drawer's position in relation to the view.
*/
position?: PanelLocation;
/**
* Specifies the drawer's reveal mode.
*/
revealMode?: RevealMode;
/**
* Specifies whether to shade the view when the drawer is opened.
*/
shading?: boolean;
/**
* Specifies the drawer's content.
*/
template?: template | ((Element: DxElement) => any);
}
/**
* The Drawer is a dismissible or permanently visible panel used for navigation in responsive web application layouts.
*/
export default class dxDrawer extends Widget<dxDrawerOptions> {
/**
* Gets the drawer's content.
*/
content(): DxElement;
/**
* Closes the drawer.
*/
hide(): DxPromise<void>;
/**
* Opens the drawer.
*/
show(): DxPromise<void>;
/**
* Opens or closes the drawer, reversing the current state.
*/
toggle(): DxPromise<void>;
}
export type Properties = dxDrawerOptions;
/**
* @deprecated use Properties instead
* @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution.
*/
export type Options = dxDrawerOptions;