/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef, TemplateRef, ViewContainerRef } from '@angular/core'; import { Align } from './align.interface'; import { Collision } from './collision.interface'; import { Margin } from './margin.interface'; import { Offset } from './offset.interface'; import { PositionMode } from './position-mode'; import { PopupAnimation } from './popup-animation.interface'; /** * Defines the settings for the Popup when you open it through `PopupService` ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/api/popupservice#open)). */ export interface PopupSettings { /** * Controls the Popup animation. By default, the open and close animations are enabled ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/animations)). */ animate?: boolean | PopupAnimation; /** * Sets the element to use as an anchor. The Popup opens next to this element. */ anchor?: ElementRef | HTMLElement; /** * Sets the container to which the Popup appends. */ appendTo?: ViewContainerRef; /** * Sets the anchor pivot point ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning)). */ anchorAlign?: Align; /** * Sets the content of the Popup. */ content?: TemplateRef | Function; /** * Sets the collision behavior of the Popup ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/viewport-boundary-detection)). */ collision?: Collision; /** * Sets the margin value in pixels. Adds blank space between the Popup and the anchor. */ margin?: Margin; /** * Sets the position mode of the component. By default, the Popup uses fixed positioning. To use absolute positioning, set this option to `absolute`. * * To support mobile browsers with the zoom option, use the `absolute` positioning of the Popup. */ positionMode?: PositionMode; /** * Sets the pivot point of the Popup ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning)). */ popupAlign?: Align; /** * Sets a list of CSS classes to add to the internal animated element ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/styling)). * * > To style the content of the Popup, use this property binding. */ popupClass?: string | Array | object | Set; /** * Sets the absolute position of the element ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning#aligning-to-absolute-points)). * The Popup opens next to this point. The pivot point of the Popup is defined by the `popupAlign` option. The boundary detection uses the window viewport. */ offset?: Offset; }