primeng
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [ • 27.9 kB
JavaScript
import { animation, style, animate, trigger, transition, useAnimation } from '@angular/animations';
import * as i2 from '@angular/common';
import { DOCUMENT, CommonModule } from '@angular/common';
import * as i0 from '@angular/core';
import { forwardRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import * as i1 from 'primeng/api';
import { PrimeTemplate, SharedModule } from 'primeng/api';
import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
import { ObjectUtils, ZIndexUtils } from 'primeng/utils';
const OVERLAY_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => Overlay),
multi: true
};
const showOverlayContentAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{showTransitionParams}}')]);
const hideOverlayContentAnimation = animation([animate('{{hideTransitionParams}}', style({ transform: '{{transform}}', opacity: 0 }))]);
class Overlay {
constructor(document, el, renderer, config, overlayService, cd) {
this.document = document;
this.el = el;
this.renderer = renderer;
this.config = config;
this.overlayService = overlayService;
this.cd = cd;
this.visibleChange = new EventEmitter();
this.onBeforeShow = new EventEmitter();
this.onShow = new EventEmitter();
this.onBeforeHide = new EventEmitter();
this.onHide = new EventEmitter();
this.onAnimationStart = new EventEmitter();
this.onAnimationDone = new EventEmitter();
this._visible = false;
this.modalVisible = false;
this.isOverlayClicked = false;
this.isOverlayContentClicked = false;
this.transformOptions = {
default: 'scaleY(0.8)',
center: 'scale(0.7)',
top: 'translate3d(0px, -100%, 0px)',
'top-start': 'translate3d(0px, -100%, 0px)',
'top-end': 'translate3d(0px, -100%, 0px)',
bottom: 'translate3d(0px, 100%, 0px)',
'bottom-start': 'translate3d(0px, 100%, 0px)',
'bottom-end': 'translate3d(0px, 100%, 0px)',
left: 'translate3d(-100%, 0px, 0px)',
'left-start': 'translate3d(-100%, 0px, 0px)',
'left-end': 'translate3d(-100%, 0px, 0px)',
right: 'translate3d(100%, 0px, 0px)',
'right-start': 'translate3d(100%, 0px, 0px)',
'right-end': 'translate3d(100%, 0px, 0px)'
};
this.window = this.document.defaultView;
}
get visible() {
return this._visible;
}
set visible(value) {
this._visible = value;
if (this._visible && !this.modalVisible) {
this.modalVisible = true;
}
}
get mode() {
var _a;
return this._mode || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.mode);
}
set mode(value) {
this._mode = value;
}
get style() {
var _a, _b;
return ObjectUtils.merge(this._style, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.style : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.style);
}
set style(value) {
this._style = value;
}
get styleClass() {
var _a, _b;
return ObjectUtils.merge(this._styleClass, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.styleClass : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.styleClass);
}
set styleClass(value) {
this._styleClass = value;
}
get contentStyle() {
var _a, _b;
return ObjectUtils.merge(this._contentStyle, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.contentStyle : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.contentStyle);
}
set contentStyle(value) {
this._contentStyle = value;
}
get contentStyleClass() {
var _a, _b;
return ObjectUtils.merge(this._contentStyleClass, this.modal ? (_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.contentStyleClass : (_b = this.overlayOptions) === null || _b === void 0 ? void 0 : _b.contentStyleClass);
}
set contentStyleClass(value) {
this._contentStyleClass = value;
}
get target() {
var _a;
const value = this._target || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.target);
return value === undefined ? '@prev' : value;
}
set target(value) {
this._target = value;
}
get appendTo() {
var _a;
return this._appendTo || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.appendTo);
}
set appendTo(value) {
this._appendTo = value;
}
get autoZIndex() {
var _a;
const value = this._autoZIndex || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.autoZIndex);
return value === undefined ? true : value;
}
set autoZIndex(value) {
this._autoZIndex = value;
}
get baseZIndex() {
var _a;
const value = this._baseZIndex || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.baseZIndex);
return value === undefined ? 0 : value;
}
set baseZIndex(value) {
this._baseZIndex = value;
}
get showTransitionOptions() {
var _a;
const value = this._showTransitionOptions || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.showTransitionOptions);
return value === undefined ? '.12s cubic-bezier(0, 0, 0.2, 1)' : value;
}
set showTransitionOptions(value) {
this._showTransitionOptions = value;
}
get hideTransitionOptions() {
var _a;
const value = this._hideTransitionOptions || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.hideTransitionOptions);
return value === undefined ? '.1s linear' : value;
}
set hideTransitionOptions(value) {
this._hideTransitionOptions = value;
}
get listener() {
var _a;
return this._listener || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.listener);
}
set listener(value) {
this._listener = value;
}
get responsive() {
var _a;
return this._responsive || ((_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.responsive);
}
set responsive(val) {
this._responsive = val;
}
get options() {
return this._options;
}
set options(val) {
this._options = val;
}
get modal() {
var _a, _b;
return this.mode === 'modal' || (this.overlayResponsiveOptions && ((_a = this.window) === null || _a === void 0 ? void 0 : _a.matchMedia(((_b = this.overlayResponsiveOptions.media) === null || _b === void 0 ? void 0 : _b.replace('@media', '')) || `(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches));
}
get overlayMode() {
return this.mode || (this.modal ? 'modal' : 'overlay');
}
get overlayOptions() {
var _a;
return Object.assign(Object.assign({}, (_a = this.config) === null || _a === void 0 ? void 0 : _a.overlayOptions), this.options); // TODO: Improve performance
}
get overlayResponsiveOptions() {
var _a;
return Object.assign(Object.assign({}, (_a = this.overlayOptions) === null || _a === void 0 ? void 0 : _a.responsive), this.responsive); // TODO: Improve performance
}
get overlayResponsiveDirection() {
var _a;
return ((_a = this.overlayResponsiveOptions) === null || _a === void 0 ? void 0 : _a.direction) || 'center';
}
get overlayEl() {
var _a;
return (_a = this.overlayViewChild) === null || _a === void 0 ? void 0 : _a.nativeElement;
}
get contentEl() {
var _a;
return (_a = this.contentViewChild) === null || _a === void 0 ? void 0 : _a.nativeElement;
}
get targetEl() {
var _a;
return DomHandler.getTargetElement(this.target, (_a = this.el) === null || _a === void 0 ? void 0 : _a.nativeElement);
}
ngAfterContentInit() {
var _a;
(_a = this.templates) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
switch (item.getType()) {
case 'content':
this.contentTemplate = item.template;
break;
// TODO: new template types may be added.
default:
this.contentTemplate = item.template;
break;
}
});
}
show(overlay, isFocus = false) {
var _a;
this.onVisibleChange(true);
this.handleEvents('onShow', { overlay: overlay || this.overlayEl, target: this.targetEl, mode: this.overlayMode });
isFocus && DomHandler.focus(this.targetEl);
this.modal && DomHandler.addClass((_a = this.document) === null || _a === void 0 ? void 0 : _a.body, 'p-overflow-hidden');
}
hide(overlay, isFocus = false) {
var _a;
this.onVisibleChange(false);
this.handleEvents('onHide', { overlay: overlay || this.overlayEl, target: this.targetEl, mode: this.overlayMode });
isFocus && DomHandler.focus(this.targetEl);
this.modal && DomHandler.removeClass((_a = this.document) === null || _a === void 0 ? void 0 : _a.body, 'p-overflow-hidden');
}
alignOverlay() {
!this.modal && DomHandler.alignOverlay(this.overlayEl, this.targetEl, this.appendTo);
}
onVisibleChange(visible) {
this._visible = visible;
this.visibleChange.emit(visible);
}
onOverlayClick() {
this.isOverlayClicked = true;
}
onOverlayContentClick(event) {
this.overlayService.add({
originalEvent: event,
target: this.targetEl
});
this.isOverlayContentClicked = true;
}
onOverlayContentAnimationStart(event) {
var _a;
switch (event.toState) {
case 'visible':
this.handleEvents('onBeforeShow', { overlay: this.overlayEl, target: this.targetEl, mode: this.overlayMode });
if (this.autoZIndex) {
ZIndexUtils.set(this.overlayMode, this.overlayEl, this.baseZIndex + ((_a = this.config) === null || _a === void 0 ? void 0 : _a.zIndex[this.overlayMode]));
}
DomHandler.appendOverlay(this.overlayEl, this.appendTo === 'body' ? this.document.body : this.appendTo, this.appendTo);
this.alignOverlay();
break;
case 'void':
this.handleEvents('onBeforeHide', { overlay: this.overlayEl, target: this.targetEl, mode: this.overlayMode });
DomHandler.appendOverlay(this.overlayEl, this.targetEl, this.appendTo);
this.modal && DomHandler.addClass(this.overlayEl, 'p-component-overlay-leave');
break;
}
this.handleEvents('onAnimationStart', event);
}
onOverlayContentAnimationDone(event) {
const container = this.overlayEl || event.element.parentElement;
switch (event.toState) {
case 'visible':
this.show(container, true);
this.bindListeners();
break;
case 'void':
this.hide(container, true);
this.unbindListeners();
ZIndexUtils.clear(container);
this.modalVisible = false;
break;
}
this.handleEvents('onAnimationDone', event);
}
handleEvents(name, params) {
var _a, _b, _c;
this[name].emit(params);
this.options && this.options[name] && this.options[name](params);
((_a = this.config) === null || _a === void 0 ? void 0 : _a.overlayOptions) && ((_b = this.config) === null || _b === void 0 ? void 0 : _b.overlayOptions[name]) && ((_c = this.config) === null || _c === void 0 ? void 0 : _c.overlayOptions[name](params));
}
bindListeners() {
this.bindScrollListener();
this.bindDocumentClickListener();
this.bindDocumentResizeListener();
}
unbindListeners() {
this.unbindScrollListener();
this.unbindDocumentClickListener();
this.unbindDocumentResizeListener();
}
bindScrollListener() {
if (!this.scrollHandler) {
this.scrollHandler = new ConnectedOverlayScrollHandler(this.targetEl, (event) => {
const valid = this.listener ? this.listener(event, { type: 'scroll', mode: this.overlayMode, valid: true }) : true;
valid && this.hide(event, true);
});
}
this.scrollHandler.bindScrollListener();
}
unbindScrollListener() {
if (this.scrollHandler) {
this.scrollHandler.unbindScrollListener();
}
}
bindDocumentClickListener() {
if (!this.documentClickListener) {
this.documentClickListener = this.renderer.listen(this.document, 'click', (event) => {
const isTargetClicked = this.targetEl && (this.targetEl.isSameNode(event.target) || (!this.isOverlayClicked && this.targetEl.contains(event.target)));
const isOutsideClicked = !isTargetClicked && !this.isOverlayContentClicked;
const valid = this.listener ? this.listener(event, { type: 'outside', mode: this.overlayMode, valid: event.which !== 3 && isOutsideClicked }) : isOutsideClicked;
valid && this.hide(event);
this.isOverlayClicked = this.isOverlayContentClicked = false;
});
}
}
unbindDocumentClickListener() {
if (this.documentClickListener) {
this.documentClickListener();
this.documentClickListener = null;
}
}
bindDocumentResizeListener() {
if (!this.documentResizeListener) {
this.documentResizeListener = this.renderer.listen('window', 'resize', (event) => {
const valid = this.listener ? this.listener(event, { type: 'resize', mode: this.overlayMode, valid: !DomHandler.isTouchDevice() }) : !DomHandler.isTouchDevice();
valid && this.hide(event, true);
});
}
}
unbindDocumentResizeListener() {
if (this.documentResizeListener) {
this.documentResizeListener();
this.documentResizeListener = null;
}
}
ngOnDestroy() {
this.hide(this.overlayEl, true);
if (this.overlayEl) {
DomHandler.appendOverlay(this.overlayEl, this.targetEl, this.appendTo);
ZIndexUtils.clear(this.overlayEl);
}
if (this.scrollHandler) {
this.scrollHandler.destroy();
this.scrollHandler = null;
}
this.unbindListeners();
}
}
Overlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: Overlay, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
Overlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: Overlay, selector: "p-overlay", inputs: { visible: "visible", mode: "mode", style: "style", styleClass: "styleClass", contentStyle: "contentStyle", contentStyleClass: "contentStyleClass", target: "target", appendTo: "appendTo", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", listener: "listener", responsive: "responsive", options: "options" }, outputs: { visibleChange: "visibleChange", onBeforeShow: "onBeforeShow", onShow: "onShow", onBeforeHide: "onBeforeHide", onHide: "onHide", onAnimationStart: "onAnimationStart", onAnimationDone: "onAnimationDone" }, host: { classAttribute: "p-element" }, providers: [OVERLAY_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
<div
*ngIf="modalVisible"
#overlay
[ngStyle]="style"
[class]="styleClass"
[ngClass]="{
'p-overlay p-component': true,
'p-overlay-modal p-component-overlay p-component-overlay-enter': modal,
'p-overlay-center': modal && overlayResponsiveDirection === 'center',
'p-overlay-top': modal && overlayResponsiveDirection === 'top',
'p-overlay-top-start': modal && overlayResponsiveDirection === 'top-start',
'p-overlay-top-end': modal && overlayResponsiveDirection === 'top-end',
'p-overlay-bottom': modal && overlayResponsiveDirection === 'bottom',
'p-overlay-bottom-start': modal && overlayResponsiveDirection === 'bottom-start',
'p-overlay-bottom-end': modal && overlayResponsiveDirection === 'bottom-end',
'p-overlay-left': modal && overlayResponsiveDirection === 'left',
'p-overlay-left-start': modal && overlayResponsiveDirection === 'left-start',
'p-overlay-left-end': modal && overlayResponsiveDirection === 'left-end',
'p-overlay-right': modal && overlayResponsiveDirection === 'right',
'p-overlay-right-start': modal && overlayResponsiveDirection === 'right-start',
'p-overlay-right-end': modal && overlayResponsiveDirection === 'right-end'
}"
(click)="onOverlayClick($event)"
>
<div
*ngIf="visible"
#content
[ngStyle]="contentStyle"
[class]="contentStyleClass"
[ngClass]="'p-overlay-content'"
(click)="onOverlayContentClick($event)"
[@overlayContentAnimation]="{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions, transform: transformOptions[modal ? overlayResponsiveDirection : 'default'] } }"
(@overlayContentAnimation.start)="onOverlayContentAnimationStart($event)"
(@overlayContentAnimation.done)="onOverlayContentAnimationDone($event)"
>
<ng-content></ng-content>
<ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: { mode: overlayMode } }"></ng-container>
</div>
</div>
`, isInline: true, styles: [".p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [trigger('overlayContentAnimation', [transition(':enter', [useAnimation(showOverlayContentAnimation)]), transition(':leave', [useAnimation(hideOverlayContentAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: Overlay, decorators: [{
type: Component,
args: [{ selector: 'p-overlay', template: `
<div
*ngIf="modalVisible"
#overlay
[ngStyle]="style"
[class]="styleClass"
[ngClass]="{
'p-overlay p-component': true,
'p-overlay-modal p-component-overlay p-component-overlay-enter': modal,
'p-overlay-center': modal && overlayResponsiveDirection === 'center',
'p-overlay-top': modal && overlayResponsiveDirection === 'top',
'p-overlay-top-start': modal && overlayResponsiveDirection === 'top-start',
'p-overlay-top-end': modal && overlayResponsiveDirection === 'top-end',
'p-overlay-bottom': modal && overlayResponsiveDirection === 'bottom',
'p-overlay-bottom-start': modal && overlayResponsiveDirection === 'bottom-start',
'p-overlay-bottom-end': modal && overlayResponsiveDirection === 'bottom-end',
'p-overlay-left': modal && overlayResponsiveDirection === 'left',
'p-overlay-left-start': modal && overlayResponsiveDirection === 'left-start',
'p-overlay-left-end': modal && overlayResponsiveDirection === 'left-end',
'p-overlay-right': modal && overlayResponsiveDirection === 'right',
'p-overlay-right-start': modal && overlayResponsiveDirection === 'right-start',
'p-overlay-right-end': modal && overlayResponsiveDirection === 'right-end'
}"
(click)="onOverlayClick($event)"
>
<div
*ngIf="visible"
#content
[ngStyle]="contentStyle"
[class]="contentStyleClass"
[ngClass]="'p-overlay-content'"
(click)="onOverlayContentClick($event)"
[@overlayContentAnimation]="{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions, transform: transformOptions[modal ? overlayResponsiveDirection : 'default'] } }"
(@overlayContentAnimation.start)="onOverlayContentAnimationStart($event)"
(@overlayContentAnimation.done)="onOverlayContentAnimationDone($event)"
>
<ng-content></ng-content>
<ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: { mode: overlayMode } }"></ng-container>
</div>
</div>
`, animations: [trigger('overlayContentAnimation', [transition(':enter', [useAnimation(showOverlayContentAnimation)]), transition(':leave', [useAnimation(hideOverlayContentAnimation)])])], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [OVERLAY_VALUE_ACCESSOR], host: {
class: 'p-element'
}, styles: [".p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}\n"] }]
}], ctorParameters: function () {
return [{ type: Document, decorators: [{
type: Inject,
args: [DOCUMENT]
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.PrimeNGConfig }, { type: i1.OverlayService }, { type: i0.ChangeDetectorRef }];
}, propDecorators: { visible: [{
type: Input
}], mode: [{
type: Input
}], style: [{
type: Input
}], styleClass: [{
type: Input
}], contentStyle: [{
type: Input
}], contentStyleClass: [{
type: Input
}], target: [{
type: Input
}], appendTo: [{
type: Input
}], autoZIndex: [{
type: Input
}], baseZIndex: [{
type: Input
}], showTransitionOptions: [{
type: Input
}], hideTransitionOptions: [{
type: Input
}], listener: [{
type: Input
}], responsive: [{
type: Input
}], options: [{
type: Input
}], visibleChange: [{
type: Output
}], onBeforeShow: [{
type: Output
}], onShow: [{
type: Output
}], onBeforeHide: [{
type: Output
}], onHide: [{
type: Output
}], onAnimationStart: [{
type: Output
}], onAnimationDone: [{
type: Output
}], templates: [{
type: ContentChildren,
args: [PrimeTemplate]
}], overlayViewChild: [{
type: ViewChild,
args: ['overlay']
}], contentViewChild: [{
type: ViewChild,
args: ['content']
}] } });
class OverlayModule {
}
OverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
OverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: OverlayModule, declarations: [Overlay], imports: [CommonModule, SharedModule], exports: [Overlay, SharedModule] });
OverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OverlayModule, imports: [CommonModule, SharedModule, SharedModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OverlayModule, decorators: [{
type: NgModule,
args: [{
imports: [CommonModule, SharedModule],
exports: [Overlay, SharedModule],
declarations: [Overlay]
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { OVERLAY_VALUE_ACCESSOR, Overlay, OverlayModule };
//# sourceMappingURL=primeng-overlay.mjs.map