packages/eui/packages/components/eui-popover/eui-popover.component.ts
A flexible popover component that displays content in an overlay positioned relative to an origin element.
The popover can be positioned at four different positions (top, right, bottom, left) relative to the origin element, with automatic fallback positions if the preferred position doesn't fit in the viewport. It supports various visual styles, dismissal behaviors, and size variants.
AfterViewInit
OnDestroy
OnInit
OnChanges
changeDetection | ChangeDetectionStrategy.OnPush |
encapsulation | ViewEncapsulation.None |
HostDirectives |
BaseStatesDirective
Inputs : euiSizeS euiSizeM euiSizeL euiSizeXL euiSize2XL euiSizeAuto euiSizeVariant
|
selector | eui-popover |
imports |
NgTemplateOutlet
OverlayModule
A11yModule
ObserversModule
EuiPopoverArrowPositionDirective
EUI_BUTTON
EUI_ICON
|
styleUrls | ./styles/_index.scss |
templateUrl | ./eui-popover.component.html |
Properties |
|
Methods |
|
Inputs |
Outputs |
Accessors |
hasBackDrop |
Type : boolean
|
Default value : false
|
Whether to show a semi-transparent backdrop behind the popover. When true, creates a visual overlay that dims the rest of the UI. |
hasCloseButton |
Type : boolean
|
Default value : true
|
Whether to show a close button in the top-right corner of the popover. When clicked, the close button will dismiss the popover. |
isDismissable |
Type : boolean
|
Default value : true
|
Whether the popover can be dismissed by clicking outside its boundaries. When false, the popover will remain open until explicitly closed via code or by clicking the close button (if available). |
position |
Type : EuiPopoverPosition
|
Default value : 'bottom'
|
Determines the preferred placement of the popover relative to its origin element. The component will attempt to use this position first, falling back to alternatives if there's not enough space in the viewport. |
title |
Type : string
|
Optional title text to display in the popover header. When provided, adds a title element at the top of the popover content. |
width |
Type : string
|
Default value : null
|
Custom width for the popover. Can be specified in any valid CSS unit (px, %, em, etc). When null, the popover width is determined by its content. |
outsideClick |
Type : EventEmitter
|
Event emitted when a click occurs outside the popover boundaries. Only emitted when isDismissable is true. |
popoverClose |
Type : EventEmitter
|
Event emitted when the popover is closed. Fires after the popover content has been removed from the DOM. |
popoverOpen |
Type : EventEmitter
|
Event emitted when the popover is opened. Fires after the popover content has been attached to the DOM and positioned. |
Public closePopover |
closePopover()
|
Closes the popover. Cleans up subscriptions, disposes the overlay, and emits the popoverClose event.
Returns :
void
|
Public onContentChange |
onContentChange()
|
Updates the position strategy when content changes. Recalculates and updates the overlay position to handle content size changes.
Returns :
void
|
Public onKeyDown | ||||||||
onKeyDown(event: KeyboardEvent)
|
||||||||
Handles keyboard events to allow closing the popover with the Escape key. Can be used as an alternative to the close button or when hasCloseButton is false.
Parameters :
Returns :
void
|
Public openPopover | ||||||||
openPopover(origin: ElementRef)
|
||||||||
Opens the popover relative to the provided origin element. Sets up scroll monitoring, position strategy, and attaches the popover content to the overlay. Emits the popoverOpen event when complete.
Parameters :
Returns :
void
|
Public position$ |
Type : Observable<>
|
templatePortalContent |
Type : TemplateRef<>
|
Decorators :
@ViewChild('templatePortalContent')
|
isOpen |
getisOpen()
|
Whether the eui-popover is open. Example :
Returns :
boolean
|