import * as i0 from '@angular/core';
import { InjectionToken, Component, Inject, EventEmitter, Injector, Input, Output, HostListener, Directive, HostBinding, NgModule } from '@angular/core';
import { FadeInOutAnimation, EnterFromTopAnimation } from '@mintplayer/ng-animations';
import * as i1 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i1$1 from '@angular/cdk/overlay';
import { OverlayModule } from '@angular/cdk/overlay';
import { Subject, take } from 'rxjs';
import * as i2 from '@mintplayer/ng-bootstrap/has-overlay';
import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
import { ComponentPortal } from '@angular/cdk/portal';

const MODAL_CONTENT = new InjectionToken('ModalContent');

class BsModalComponent {
    constructor(template) {
        this.isOpen = false;
        this.template = template;
    }
}
BsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalComponent, deps: [{ token: MODAL_CONTENT }], target: i0.ɵɵFactoryTarget.Component });
BsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsModalComponent, selector: "bs-modal-content", ngImport: i0, template: "<div class=\"modal d-block\" [@fadeInOut] [@enterFromTop] *ngIf=\"isOpen\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n        </div>\n    </div>\n</div>\n\n<div [@fadeInOut] *ngIf=\"isOpen\">\n    <div class=\"modal-backdrop fade\" [class.show]=\"isOpen\"></div>\n</div>", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius:calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}:host ::ng-deep .modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade :host ::ng-deep .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade :host ::ng-deep .modal-dialog{transition:none}}.modal.show :host ::ng-deep .modal-dialog{transform:none}.modal.modal-static :host ::ng-deep .modal-dialog{transform:scale(1.02)}:host ::ng-deep .modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}:host ::ng-deep .modal-dialog-scrollable .modal-body{overflow-y:auto}:host ::ng-deep .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}:host ::ng-deep .modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}:host ::ng-deep .modal-backdrop.fade{opacity:0}:host ::ng-deep .modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:host ::ng-deep .modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}:host ::ng-deep .modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}:host ::ng-deep .modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}:host ::ng-deep .modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){:host ::ng-deep .modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}:host ::ng-deep .modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}:host ::ng-deep .modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){:host ::ng-deep .modal-lg,:host ::ng-deep .modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){:host ::ng-deep .modal-xl{--bs-modal-width: 1140px}}:host ::ng-deep .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen .modal-header,:host ::ng-deep .modal-fullscreen .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){:host ::ng-deep .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-header,:host ::ng-deep .modal-fullscreen-sm-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){:host ::ng-deep .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-header,:host ::ng-deep .modal-fullscreen-md-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){:host ::ng-deep .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-header,:host ::ng-deep .modal-fullscreen-lg-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){:host ::ng-deep .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-header,:host ::ng-deep .modal-fullscreen-xl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){:host ::ng-deep .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-header,:host ::ng-deep .modal-fullscreen-xxl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [FadeInOutAnimation, EnterFromTopAnimation] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-modal-content', animations: [FadeInOutAnimation, EnterFromTopAnimation], template: "<div class=\"modal d-block\" [@fadeInOut] [@enterFromTop] *ngIf=\"isOpen\">\n    <div class=\"modal-dialog\">\n        <div class=\"modal-content\">\n            <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n        </div>\n    </div>\n</div>\n\n<div [@fadeInOut] *ngIf=\"isOpen\">\n    <div class=\"modal-backdrop fade\" [class.show]=\"isOpen\"></div>\n</div>", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius:calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}:host ::ng-deep .modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade :host ::ng-deep .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade :host ::ng-deep .modal-dialog{transition:none}}.modal.show :host ::ng-deep .modal-dialog{transform:none}.modal.modal-static :host ::ng-deep .modal-dialog{transform:scale(1.02)}:host ::ng-deep .modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}:host ::ng-deep .modal-dialog-scrollable .modal-body{overflow-y:auto}:host ::ng-deep .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}:host ::ng-deep .modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}:host ::ng-deep .modal-backdrop.fade{opacity:0}:host ::ng-deep .modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:host ::ng-deep .modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}:host ::ng-deep .modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}:host ::ng-deep .modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}:host ::ng-deep .modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){:host ::ng-deep .modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}:host ::ng-deep .modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}:host ::ng-deep .modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){:host ::ng-deep .modal-lg,:host ::ng-deep .modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){:host ::ng-deep .modal-xl{--bs-modal-width: 1140px}}:host ::ng-deep .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen .modal-header,:host ::ng-deep .modal-fullscreen .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){:host ::ng-deep .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-header,:host ::ng-deep .modal-fullscreen-sm-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){:host ::ng-deep .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-header,:host ::ng-deep .modal-fullscreen-md-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){:host ::ng-deep .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-header,:host ::ng-deep .modal-fullscreen-lg-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){:host ::ng-deep .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-header,:host ::ng-deep .modal-fullscreen-xl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){:host ::ng-deep .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-header,:host ::ng-deep .modal-fullscreen-xxl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}\n"] }]
        }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
                    type: Inject,
                    args: [MODAL_CONTENT]
                }] }]; } });

const PORTAL_FACTORY = new InjectionToken('ModalPortalFactory');

class BsModalHostComponent {
    constructor(overlay, parentInjector, portalFactory, componentFactoryResolver) {
        this.overlay = overlay;
        this.parentInjector = parentInjector;
        this.portalFactory = portalFactory;
        this.componentFactoryResolver = componentFactoryResolver;
        this.destroyed$ = new Subject();
        //#region isOpen
        this._isOpen = false;
        this.isOpenChange = new EventEmitter();
        //#endregion
        this.closeOnEscape = true;
        this.destroyed$.pipe(take(1))
            .subscribe(() => {
            this.isOpen = false;
            setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 500);
        });
    }
    get isOpen() {
        return this._isOpen;
    }
    set isOpen(value) {
        this._isOpen = value;
        if (this.componentInstance) {
            this.componentInstance.instance.isOpen = value;
        }
        this.isOpenChange.emit(value);
    }
    ngAfterViewInit() {
        const injector = Injector.create({
            providers: [
                { provide: MODAL_CONTENT, useValue: this.template }
            ],
            parent: this.parentInjector
        });
        // const portal = new ComponentPortal(BsModalComponent, null, injector, this.componentFactoryResolver);
        const portal = this.portalFactory(injector);
        this.overlayRef = this.overlay.create({
            scrollStrategy: this.overlay.scrollStrategies.reposition(),
            positionStrategy: this.overlay.position()
                .global().centerHorizontally().bottom('0').top('0').left('0').right('0'),
            width: '100%',
            hasBackdrop: false
        });
        this.componentInstance = this.overlayRef.attach(portal);
        this.componentInstance.instance.isOpen = this._isOpen;
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
    onKeyDown(ev) {
        if (this.isOpen && this.closeOnEscape && ev.code === 'Escape') {
            this.isOpen = false;
        }
    }
}
BsModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalHostComponent, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: PORTAL_FACTORY }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
BsModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsModalHostComponent, selector: "bs-modal", inputs: { isOpen: "isOpen", closeOnEscape: "closeOnEscape" }, outputs: { isOpenChange: "isOpenChange" }, host: { listeners: { "document:keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>", styles: [""], dependencies: [{ kind: "component", type: i2.BsHasOverlayComponent, selector: "bs-has-overlay" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalHostComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-modal', template: "<bs-has-overlay></bs-has-overlay>" }]
        }], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
                    type: Inject,
                    args: [PORTAL_FACTORY]
                }] }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { isOpen: [{
                type: Input
            }], isOpenChange: [{
                type: Output
            }], closeOnEscape: [{
                type: Input
            }], onKeyDown: [{
                type: HostListener,
                args: ['document:keydown', ['$event']]
            }] } });

class BsModalDirective {
    constructor(template, host) {
        host.template = template;
    }
}
BsModalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalDirective, deps: [{ token: i0.TemplateRef }, { token: BsModalHostComponent }], target: i0.ɵɵFactoryTarget.Directive });
BsModalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsModalDirective, selector: "[bsModal]", ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsModal]'
                }]
        }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: BsModalHostComponent }]; } });

class BsModalHeaderDirective {
    constructor() {
        this.headerClass = true;
    }
}
BsModalHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
BsModalHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsModalHeaderDirective, selector: "[bsModalHeader]", host: { properties: { "class.modal-header": "this.headerClass" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalHeaderDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsModalHeader]'
                }]
        }], propDecorators: { headerClass: [{
                type: HostBinding,
                args: ['class.modal-header']
            }] } });

class BsModalBodyDirective {
    constructor() {
        this.bodyClass = true;
    }
}
BsModalBodyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
BsModalBodyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsModalBodyDirective, selector: "[bsModalBody]", host: { properties: { "class.modal-body": "this.bodyClass" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalBodyDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsModalBody]'
                }]
        }], propDecorators: { bodyClass: [{
                type: HostBinding,
                args: ['class.modal-body']
            }] } });

class BsModalFooterDirective {
    constructor() {
        this.footerClass = true;
    }
}
BsModalFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
BsModalFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsModalFooterDirective, selector: "[bsModalFooter]", host: { properties: { "class.modal-footer": "this.footerClass" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalFooterDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsModalFooter]'
                }]
        }], propDecorators: { footerClass: [{
                type: HostBinding,
                args: ['class.modal-footer']
            }] } });

class BsModalCloseDirective {
    constructor(host) {
        this.host = host;
    }
    onClick() {
        this.host.isOpen = false;
    }
}
BsModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalCloseDirective, deps: [{ token: BsModalHostComponent }], target: i0.ɵɵFactoryTarget.Directive });
BsModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsModalCloseDirective, selector: "[bsModalClose]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalCloseDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsModalClose]'
                }]
        }], ctorParameters: function () { return [{ type: BsModalHostComponent }]; }, propDecorators: { onClick: [{
                type: HostListener,
                args: ['click']
            }] } });

class BsModalModule {
}
BsModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
BsModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: BsModalModule, declarations: [BsModalHeaderDirective,
        BsModalBodyDirective,
        BsModalFooterDirective,
        BsModalDirective,
        BsModalCloseDirective,
        BsModalComponent,
        BsModalHostComponent], imports: [CommonModule,
        OverlayModule,
        BsHasOverlayModule], exports: [BsModalHeaderDirective,
        BsModalBodyDirective,
        BsModalFooterDirective,
        BsModalDirective,
        BsModalCloseDirective,
        BsModalComponent,
        BsModalHostComponent] });
BsModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalModule, providers: [{
            provide: PORTAL_FACTORY,
            useValue: (injector) => {
                return new ComponentPortal(BsModalComponent, null, injector);
            }
        }], imports: [CommonModule,
        OverlayModule,
        BsHasOverlayModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsModalModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        BsModalHeaderDirective,
                        BsModalBodyDirective,
                        BsModalFooterDirective,
                        BsModalDirective,
                        BsModalCloseDirective,
                        BsModalComponent,
                        BsModalHostComponent
                    ],
                    imports: [
                        CommonModule,
                        OverlayModule,
                        BsHasOverlayModule
                    ],
                    exports: [
                        BsModalHeaderDirective,
                        BsModalBodyDirective,
                        BsModalFooterDirective,
                        BsModalDirective,
                        BsModalCloseDirective,
                        BsModalComponent,
                        BsModalHostComponent
                    ],
                    providers: [{
                            provide: PORTAL_FACTORY,
                            useValue: (injector) => {
                                return new ComponentPortal(BsModalComponent, null, injector);
                            }
                        }]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { BsModalBodyDirective, BsModalCloseDirective, BsModalComponent, BsModalDirective, BsModalFooterDirective, BsModalHeaderDirective, BsModalHostComponent, BsModalModule };
//# sourceMappingURL=mintplayer-ng-bootstrap-modal.mjs.map
