devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
199 lines (177 loc) • 6.47 kB
TypeScript
/**
* DevExtreme (ui/popover.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 {
AnimationConfig,
PositionConfig,
} from '../common/core/animation';
import {
UserDefinedElement,
} from '../core/element';
import {
DxPromise,
} from '../core/utils/deferred';
import {
Cancelable,
EventInfo,
InitializedEventInfo,
ChangedOptionInfo,
} from '../common/core/events';
import { DxEvent } from '../events';
import dxPopup, {
dxPopupAnimation,
dxPopupOptions,
TitleRenderedInfo,
} from './popup';
import {
Position,
} from '../common';
/**
* The type of the contentReady event handler's argument.
*/
export type ContentReadyEvent = EventInfo<dxPopover>;
/**
* The type of the disposing event handler's argument.
*/
export type DisposingEvent = EventInfo<dxPopover>;
/**
* The type of the hiding event handler's argument.
*/
export type HidingEvent = Cancelable & EventInfo<dxPopover>;
/**
* The type of the hidden event handler's argument.
*/
export type HiddenEvent = EventInfo<dxPopover>;
/**
* The type of the initialized event handler's argument.
*/
export type InitializedEvent = InitializedEventInfo<dxPopover>;
/**
* The type of the optionChanged event handler's argument.
*/
export type OptionChangedEvent = EventInfo<dxPopover> & ChangedOptionInfo;
/**
* The type of the showing event handler's argument.
*/
export type ShowingEvent = Cancelable & EventInfo<dxPopover>;
/**
* The type of the shown event handler's argument.
*/
export type ShownEvent = EventInfo<dxPopover>;
/**
* The type of the titleRendered event handler's argument.
*/
export type TitleRenderedEvent = EventInfo<dxPopover> & TitleRenderedInfo;
/**
*
* @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 dxPopoverOptions<TComponent> extends dxPopupOptions<TComponent> {
/**
* Configures UI component visibility animations. This object contains two fields: show and hide.
*/
animation?: dxPopoverAnimation;
/**
* Specifies whether to close the UI component if a user clicks outside the popover window or outside the target element.
* @deprecated Use the hideOnOutsideClick option instead.
*/
closeOnOutsideClick?: boolean | ((event: DxEvent<MouseEvent | PointerEvent | TouchEvent>) => boolean);
/**
* Specifies the UI component's height.
*/
height?: number | string | (() => number | string);
/**
* Specifies properties of popover hiding. Ignored if the shading property is set to true.
*/
hideEvent?: {
/**
* The delay in milliseconds after which the UI component is hidden.
*/
delay?: number | undefined;
/**
* Specifies the event names on which the UI component is hidden.
*/
name?: string | undefined;
} | string | undefined;
/**
* Specifies whether to hide the UI component if a user clicks outside the popover window or outside the target element.
*/
hideOnOutsideClick?: boolean | ((event: DxEvent<MouseEvent | PointerEvent | TouchEvent>) => boolean);
/**
* Specifies whether to hide the widget when users scroll one of its parent elements.
*/
hideOnParentScroll?: boolean;
/**
* An object defining UI component positioning properties.
*/
position?: Position | PositionConfig;
/**
* Specifies whether to shade the background when the UI component is active.
*/
shading?: boolean;
/**
* Specifies properties for displaying the UI component.
*/
showEvent?: {
/**
* The delay in milliseconds after which the UI component is displayed.
*/
delay?: number | undefined;
/**
* Specifies the event names on which the UI component is shown.
*/
name?: string | undefined;
} | string | undefined;
/**
* A Boolean value specifying whether or not to display the title in the overlay window.
*/
showTitle?: boolean;
/**
* Specifies the element against which to position the widget.
*/
target?: string | UserDefinedElement | undefined;
/**
* Specifies the UI component's width.
*/
width?: number | string | (() => number | string);
}
/**
* Configures UI component visibility animations. This object contains two fields: show and hide.
* @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 dxPopoverAnimation extends dxPopupAnimation {
/**
* An object that defines the animation properties used when the UI component is being hidden.
*/
hide?: AnimationConfig;
/**
* An object that defines the animation properties used when the UI component is being shown.
*/
show?: AnimationConfig;
}
/**
* The Popover is a UI component that shows notifications within a box with an arrow pointing to a specified UI element.
*/
export default class dxPopover<TProperties = Properties> extends dxPopup<TProperties> {
show(): DxPromise<boolean>;
/**
* Shows the UI component for a target element.
*/
show(target: string | UserDefinedElement): DxPromise<boolean>;
}
/**
* @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.
*/
interface PopoverInstance extends dxPopover<Properties> { }
export type Properties = dxPopoverOptions<PopoverInstance>;
/**
* @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 = Properties;