@eui/components 14.0.2 → 14.0.3-snapshot-1657872717239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, In
3
3
  import { TemplatePortal } from '@angular/cdk/portal';
4
4
  import * as i1 from '@angular/cdk/overlay';
5
5
  import { ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
6
- import { Subject } from 'rxjs';
6
+ import { Subject, BehaviorSubject } from 'rxjs';
7
7
  import { takeUntil } from 'rxjs/operators';
8
8
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
9
  import { BaseDirective } from '@eui/components/shared';
@@ -30,6 +30,7 @@ class EuiPopoverComponent extends BaseDirective {
30
30
  this.open = new EventEmitter();
31
31
  this.close = new EventEmitter();
32
32
  this.destroy$ = new Subject();
33
+ this.isOpen$ = new BehaviorSubject(false);
33
34
  this.originX = 'center';
34
35
  this.originY = 'bottom';
35
36
  this.overlayX = 'center';
@@ -39,6 +40,7 @@ class EuiPopoverComponent extends BaseDirective {
39
40
  this.fallbackOverlayX = 'center';
40
41
  this.fallbackOverlayY = 'top';
41
42
  }
43
+ /** @deprecated This will be removed in next version of eui */
42
44
  get isOpen() { return this._isOpen; }
43
45
  set isOpen(value) { this._isOpen = coerceBooleanProperty(value); }
44
46
  get hasBackDrop() { return this._hasBackDrop; }
@@ -88,36 +90,54 @@ class EuiPopoverComponent extends BaseDirective {
88
90
  (_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.dispose();
89
91
  this.overlayRef = null;
90
92
  }
93
+ /**
94
+ * Whether the eui-popover is open.
95
+ *
96
+ * @usageNotes
97
+ * ```html
98
+ * <eui-popover #popover>
99
+ * <my-component *ngIf="popover.isPopoverOpen"></my-component>
100
+ * </eui-popover>
101
+ * ```
102
+ * @returns A boolean with value `true` when open, otherwise `false`.
103
+ */
104
+ // TODO: In next version, remove isOpen @Input which is not used, deprecated this isPopoverOpen and create isOpen instead
105
+ get isPopoverOpen() {
106
+ return this.isOpen$.value;
107
+ }
91
108
  /**
92
109
  * Open a popover
93
110
  * @param origin Origin of the popover position
94
111
  */
95
112
  openPopover(target) {
96
- const positionStrategy = this.overlay.position()
97
- .flexibleConnectedTo(target)
98
- .withPositions([
99
- new ConnectionPositionPair({ originX: this.originX, originY: this.originY }, { overlayX: this.overlayX, overlayY: this.overlayY }),
100
- new ConnectionPositionPair({ originX: this.fallbackOriginX, originY: this.fallbackOriginY }, { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY }),
101
- ])
102
- .withFlexibleDimensions(false)
103
- .withLockedPosition(true);
104
- positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {
105
- const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];
106
- this.positionClass = this.getPositionClass(lastPosition);
107
- });
108
- const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });
109
- this.overlayRef = this.overlay.create({
110
- positionStrategy,
111
- scrollStrategy,
112
- });
113
- this.overlayRef.attach(this.templatePortal);
114
- this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {
115
- if (this.isDismissable) {
116
- this.outsideClick.emit();
117
- this.closePopover();
118
- }
119
- });
120
- this.open.emit();
113
+ if (!this.isPopoverOpen) {
114
+ const positionStrategy = this.overlay.position()
115
+ .flexibleConnectedTo(target)
116
+ .withPositions([
117
+ new ConnectionPositionPair({ originX: this.originX, originY: this.originY }, { overlayX: this.overlayX, overlayY: this.overlayY }),
118
+ new ConnectionPositionPair({ originX: this.fallbackOriginX, originY: this.fallbackOriginY }, { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY }),
119
+ ])
120
+ .withFlexibleDimensions(false)
121
+ .withLockedPosition(true);
122
+ positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {
123
+ const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];
124
+ this.positionClass = this.getPositionClass(lastPosition);
125
+ });
126
+ const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });
127
+ this.overlayRef = this.overlay.create({
128
+ positionStrategy,
129
+ scrollStrategy,
130
+ });
131
+ this.overlayRef.attach(this.templatePortal);
132
+ this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {
133
+ if (this.isDismissable) {
134
+ this.outsideClick.emit();
135
+ this.closePopover();
136
+ }
137
+ });
138
+ this.isOpen$.next(true);
139
+ this.open.emit();
140
+ }
121
141
  }
122
142
  /**
123
143
  * Close a popover
@@ -125,6 +145,7 @@ class EuiPopoverComponent extends BaseDirective {
125
145
  closePopover() {
126
146
  this.overlayRef.dispose();
127
147
  this.overlayRef = null;
148
+ this.isOpen$.next(false);
128
149
  this.close.emit();
129
150
  }
130
151
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n OnInit, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef, ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n\n @Input()\n get isOpen(): boolean { return this._isOpen; }\n set isOpen(value: boolean|string) { this._isOpen = coerceBooleanProperty(value); }\n private _isOpen: boolean = false;\n @Input() title: string;\n @Input() position: ('top' | 'right' | 'bottom' | 'left') = 'bottom';\n @Input() size: ('default' | 'small' | 'large' | 'auto') = 'default';\n @Input() type: ('default' | 'flat' | 'colored-header' | 'colored-solid') = 'default';\n @Input()\n get hasBackDrop(): boolean { return this._hasBackDrop; }\n set hasBackDrop(value: boolean|string) { this._hasBackDrop = coerceBooleanProperty(value); }\n private _hasBackDrop = false;\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: boolean|string) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get isDismissable() { return this._isDismissable; }\n set isDismissable(value) { this._isDismissable = coerceBooleanProperty(value); }\n _isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() open = new EventEmitter();\n @Output() close = new EventEmitter();\n\n public positionClass: string;\n public statesClass: string;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal<any>;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n private originX: ('start' | 'end' | 'center') = 'center';\n private originY: ('top' | 'bottom' | 'center') = 'bottom';\n private overlayX: ('start' | 'end' | 'center') = 'center';\n private overlayY: ('top' | 'bottom' | 'center') = 'top';\n private fallbackOriginX: ('start' | 'end' | 'center') = 'center';\n private fallbackOriginY: ('top' | 'bottom' | 'center') = 'bottom';\n private fallbackOverlayX: ('start' | 'end' | 'center') = 'center';\n private fallbackOverlayY: ('top' | 'bottom' | 'center') = 'top';\n\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this.statesClass = [super.getCssClasses('eui-popover')].join(' ').trim();\n\n if (this.position === 'top') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right') {\n this.originX = 'end';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'bottom') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left') {\n this.originX = 'start';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Open a popover\n * @param origin Origin of the popover position\n */\n public openPopover(target: ElementRef): void {\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(target as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n\n positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {\n const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];\n this.positionClass = this.getPositionClass(lastPosition);\n });\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.open.emit();\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.close.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n * @param event The key event pressed\n */\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private getPositionClass(lastPosition: ConnectionPositionPair): string {\n if (this.position === 'top' && lastPosition.originY === 'top') {\n return 'top';\n }\n if (this.position === 'top' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'top') {\n return 'top';\n }\n\n if (this.position === 'left' && lastPosition.originX === 'start') {\n return 'left';\n }\n if (this.position === 'left' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'start') {\n return 'left';\n }\n }\n\n}\n","<ng-template #templatePortalContent>\n <div cdkTrapFocus cdkTrapFocusAutoCapture class=\"eui-popover eui-popover--{{ positionClass }} eui-popover--size-{{ size }} eui-popover--{{ type }} {{ statesClass }}\" (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n <div *ngIf=\"title\" class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n <button euiButton euiRounded euiIconButton euiBasicButton euiPrimary euiSizeS aria-label=\"Close Icon Button\" *ngIf=\"hasCloseButton\" (click)=\"closePopover()\">\n <span class=\"eui-icon eui-icon-close-m\" aria-label=\"Close Icon\"></span>\n </button>\n </div>\n <div class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n EuiButtonModule,\n A11yModule\n ],\n declarations: [\n EuiPopoverComponent,\n ],\n exports: [\n EuiPopoverComponent,\n ],\n})\nexport class EuiPopoverModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n OnInit, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef, ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n\n /** @deprecated This will be removed in next version of eui */\n @Input()\n get isOpen(): boolean { return this._isOpen; }\n set isOpen(value: boolean|string) { this._isOpen = coerceBooleanProperty(value); }\n private _isOpen: boolean = false;\n @Input() title: string;\n @Input() position: ('top' | 'right' | 'bottom' | 'left') = 'bottom';\n @Input() size: ('default' | 'small' | 'large' | 'auto') = 'default';\n @Input() type: ('default' | 'flat' | 'colored-header' | 'colored-solid') = 'default';\n @Input()\n get hasBackDrop(): boolean { return this._hasBackDrop; }\n set hasBackDrop(value: boolean|string) { this._hasBackDrop = coerceBooleanProperty(value); }\n private _hasBackDrop = false;\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: boolean|string) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get isDismissable() { return this._isDismissable; }\n set isDismissable(value) { this._isDismissable = coerceBooleanProperty(value); }\n _isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() open = new EventEmitter();\n @Output() close = new EventEmitter();\n\n public positionClass: string;\n public statesClass: string;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal<any>;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n private originX: ('start' | 'end' | 'center') = 'center';\n private originY: ('top' | 'bottom' | 'center') = 'bottom';\n private overlayX: ('start' | 'end' | 'center') = 'center';\n private overlayY: ('top' | 'bottom' | 'center') = 'top';\n private fallbackOriginX: ('start' | 'end' | 'center') = 'center';\n private fallbackOriginY: ('top' | 'bottom' | 'center') = 'bottom';\n private fallbackOverlayX: ('start' | 'end' | 'center') = 'center';\n private fallbackOverlayY: ('top' | 'bottom' | 'center') = 'top';\n\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this.statesClass = [super.getCssClasses('eui-popover')].join(' ').trim();\n\n if (this.position === 'top') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right') {\n this.originX = 'end';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'bottom') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left') {\n this.originX = 'start';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * <my-component *ngIf=\"popover.isPopoverOpen\"></my-component>\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n // TODO: In next version, remove isOpen @Input which is not used, deprecated this isPopoverOpen and create isOpen instead\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Open a popover\n * @param origin Origin of the popover position\n */\n public openPopover(target: ElementRef): void {\n if (!this.isPopoverOpen) {\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(target as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n\n positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {\n const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];\n this.positionClass = this.getPositionClass(lastPosition);\n });\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.open.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.close.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n * @param event The key event pressed\n */\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private getPositionClass(lastPosition: ConnectionPositionPair): string {\n if (this.position === 'top' && lastPosition.originY === 'top') {\n return 'top';\n }\n if (this.position === 'top' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'top') {\n return 'top';\n }\n\n if (this.position === 'left' && lastPosition.originX === 'start') {\n return 'left';\n }\n if (this.position === 'left' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'start') {\n return 'left';\n }\n }\n\n}\n","<ng-template #templatePortalContent>\n <div cdkTrapFocus cdkTrapFocusAutoCapture class=\"eui-popover eui-popover--{{ positionClass }} eui-popover--size-{{ size }} eui-popover--{{ type }} {{ statesClass }}\" (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n <div *ngIf=\"title\" class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n <button euiButton euiRounded euiIconButton euiBasicButton euiPrimary euiSizeS aria-label=\"Close Icon Button\" *ngIf=\"hasCloseButton\" (click)=\"closePopover()\">\n <span class=\"eui-icon eui-icon-close-m\" aria-label=\"Close Icon\"></span>\n </button>\n </div>\n <div class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n EuiButtonModule,\n A11yModule\n ],\n declarations: [\n EuiPopoverComponent,\n ],\n exports: [\n EuiPopoverComponent,\n ],\n})\nexport class EuiPopoverModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}