import * as i0 from '@angular/core';
import { InjectionToken, EventEmitter, Component, Inject, Input, Output, Injector, Directive, HostListener, NgModule } from '@angular/core';
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 { ComponentPortal } from '@angular/cdk/portal';
import { Subject, BehaviorSubject, delayWhen, of, interval, map, takeUntil, combineLatest, filter, take } from 'rxjs';
import { FadeInOutAnimation } from '@mintplayer/ng-animations';
import * as i2 from '@mintplayer/ng-bootstrap/has-overlay';
import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
import * as i1$2 from '@angular/animations';
import { style, animate } from '@angular/animations';
import { filter as filter$1, switchMap, distinctUntilChanged, skip, takeUntil as takeUntil$1 } from 'rxjs/operators';

const OFFCANVAS_CONTENT = new InjectionToken('OffcanvasContent');

class BsOffcanvasComponent {
    constructor(contentTemplate) {
        this.destroyed$ = new Subject();
        this.disableTransition$ = new BehaviorSubject(false);
        this.offcanvasClass$ = new BehaviorSubject(null);
        this.hasBackdrop$ = new BehaviorSubject(false);
        //#region Position
        this.position$ = new BehaviorSubject('bottom');
        //#endregion
        //#region Size
        this.size$ = new BehaviorSubject(null);
        //#endregion
        //#region State
        this.state$ = new BehaviorSubject('closed');
        this.stateChange = new EventEmitter();
        //#endregion
        this.backdropClick = new EventEmitter();
        this.contentTemplate = contentTemplate;
        this.visibility$ = this.state$
            .pipe(delayWhen((val, i) => val ? of(0) : interval(300)))
            .pipe(map((val) => val ? 'visible' : 'hidden'));
        this.position$
            .pipe(takeUntil(this.destroyed$))
            .subscribe((position) => {
            this.disableTransition$.next(true);
            this.offcanvasClass$.next(`offcanvas-${position}`);
            setTimeout(() => this.disableTransition$.next(false));
        });
        this.width$ = combineLatest([this.position$, this.size$])
            .pipe(map(([position, size]) => {
            if (['start', 'end'].includes(position)) {
                return size;
            }
            else {
                return null;
            }
        }));
        this.height$ = combineLatest([this.position$, this.size$])
            .pipe(map(([position, size]) => {
            if (['top', 'bottom'].includes(position)) {
                return size;
            }
            else {
                return null;
            }
        }));
        this.overflowClass$ = this.position$
            .pipe(map((position) => {
            if (['top', 'bottom'].includes(position)) {
                return 'overflow-y-hidden';
            }
            else {
                return 'overflow-x-hidden';
            }
        }));
        this.showBackdrop$ = combineLatest([this.hasBackdrop$, this.state$])
            .pipe(map(([hasBackdrop, state]) => hasBackdrop && (state === 'open')));
        this.show$ = this.state$
            .pipe(map((state) => state === 'open'));
    }
    set position(value) {
        this.position$.next(value);
    }
    get position() {
        return this.position$.value;
    }
    set size(value) {
        this.size$.next(value);
    }
    get size() {
        return this.size$.value;
    }
    set state(value) {
        this.state$.next(value);
    }
    get state() {
        return this.state$.value;
    }
    onBackdropClick(ev) {
        this.backdropClick.emit(ev);
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
}
BsOffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasComponent, deps: [{ token: OFFCANVAS_CONTENT }], target: i0.ɵɵFactoryTarget.Component });
BsOffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BsOffcanvasComponent, selector: "bs-offcanvas-holder", inputs: { position: "position", size: "size", state: "state" }, outputs: { stateChange: "stateChange", backdropClick: "backdropClick" }, ngImport: i0, template: "<div [@fadeInOut]=\"{value: ':leave', params: {duration: '300ms'} }\" *ngIf=\"showBackdrop$ | async\">\n    <div class=\"modal-backdrop show\" (click)=\"onBackdropClick($event)\"></div>\n</div>\n<div class=\"offcanvas\"\n    [class.show]=\"show$ | async\"\n    [class.disable-transition]=\"disableTransition$ | async\"\n    [class]=\"[offcanvasClass$ | async, overflowClass$ | async]\"\n    [style.height.px]=\"height$ | async\"\n    [style.width.px]=\"width$ | async\">\n    <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</div>", styles: [":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}}:host ::ng-deep .offcanvas,:host ::ng-deep .offcanvas-xxl,:host ::ng-deep .offcanvas-xl,:host ::ng-deep .offcanvas-lg,:host ::ng-deep .offcanvas-md,:host ::ng-deep .offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-sm{transition:none}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.showing,:host ::ng-deep .offcanvas-sm.show:not(.hiding){transform:none}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.showing,:host ::ng-deep .offcanvas-sm.hiding,:host ::ng-deep .offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){:host ::ng-deep .offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-sm .offcanvas-header{display:none}:host ::ng-deep .offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-md{transition:none}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.showing,:host ::ng-deep .offcanvas-md.show:not(.hiding){transform:none}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.showing,:host ::ng-deep .offcanvas-md.hiding,:host ::ng-deep .offcanvas-md.show{visibility:visible}}@media (min-width: 768px){:host ::ng-deep .offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-md .offcanvas-header{display:none}:host ::ng-deep .offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-lg{transition:none}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.showing,:host ::ng-deep .offcanvas-lg.show:not(.hiding){transform:none}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.showing,:host ::ng-deep .offcanvas-lg.hiding,:host ::ng-deep .offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){:host ::ng-deep .offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-lg .offcanvas-header{display:none}:host ::ng-deep .offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-xl{transition:none}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.showing,:host ::ng-deep .offcanvas-xl.show:not(.hiding){transform:none}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.showing,:host ::ng-deep .offcanvas-xl.hiding,:host ::ng-deep .offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){:host ::ng-deep .offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-xl .offcanvas-header{display:none}:host ::ng-deep .offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.showing,:host ::ng-deep .offcanvas-xxl.show:not(.hiding){transform:none}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.showing,:host ::ng-deep .offcanvas-xxl.hiding,:host ::ng-deep .offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){:host ::ng-deep .offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-xxl .offcanvas-header{display:none}:host ::ng-deep .offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}:host ::ng-deep .offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas{transition:none}}:host ::ng-deep .offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}:host ::ng-deep .offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}:host ::ng-deep .offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}:host ::ng-deep .offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}:host ::ng-deep .offcanvas.showing,:host ::ng-deep .offcanvas.show:not(.hiding){transform:none}:host ::ng-deep .offcanvas.showing,:host ::ng-deep .offcanvas.hiding,:host ::ng-deep .offcanvas.show{visibility:visible}:host ::ng-deep .offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}:host ::ng-deep .offcanvas-backdrop.fade{opacity:0}:host ::ng-deep .offcanvas-backdrop.show{opacity:.5}:host ::ng-deep .offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}:host ::ng-deep .offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}:host ::ng-deep .offcanvas-title{margin-bottom:0;line-height:1.5}:host ::ng-deep .offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.offcanvas.oc-max-width{max-width:calc(100% - 40px)}.offcanvas.oc-max-height{max-height:calc(100% - 40px)}.modal-backdrop{z-index:1040}.offcanvas{visibility:unset}.offcanvas.disable-transition{transition:none}.offcanvas.offcanvas-top{height:auto;bottom:unset}.offcanvas.offcanvas-bottom{height:auto;top:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-offcanvas-holder', animations: [FadeInOutAnimation], template: "<div [@fadeInOut]=\"{value: ':leave', params: {duration: '300ms'} }\" *ngIf=\"showBackdrop$ | async\">\n    <div class=\"modal-backdrop show\" (click)=\"onBackdropClick($event)\"></div>\n</div>\n<div class=\"offcanvas\"\n    [class.show]=\"show$ | async\"\n    [class.disable-transition]=\"disableTransition$ | async\"\n    [class]=\"[offcanvasClass$ | async, overflowClass$ | async]\"\n    [style.height.px]=\"height$ | async\"\n    [style.width.px]=\"width$ | async\">\n    <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</div>", styles: [":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}}:host ::ng-deep .offcanvas,:host ::ng-deep .offcanvas-xxl,:host ::ng-deep .offcanvas-xl,:host ::ng-deep .offcanvas-lg,:host ::ng-deep .offcanvas-md,:host ::ng-deep .offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-sm{transition:none}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.showing,:host ::ng-deep .offcanvas-sm.show:not(.hiding){transform:none}}@media (max-width: 575.98px){:host ::ng-deep .offcanvas-sm.showing,:host ::ng-deep .offcanvas-sm.hiding,:host ::ng-deep .offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){:host ::ng-deep .offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-sm .offcanvas-header{display:none}:host ::ng-deep .offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-md{transition:none}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.showing,:host ::ng-deep .offcanvas-md.show:not(.hiding){transform:none}}@media (max-width: 767.98px){:host ::ng-deep .offcanvas-md.showing,:host ::ng-deep .offcanvas-md.hiding,:host ::ng-deep .offcanvas-md.show{visibility:visible}}@media (min-width: 768px){:host ::ng-deep .offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-md .offcanvas-header{display:none}:host ::ng-deep .offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-lg{transition:none}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.showing,:host ::ng-deep .offcanvas-lg.show:not(.hiding){transform:none}}@media (max-width: 991.98px){:host ::ng-deep .offcanvas-lg.showing,:host ::ng-deep .offcanvas-lg.hiding,:host ::ng-deep .offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){:host ::ng-deep .offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-lg .offcanvas-header{display:none}:host ::ng-deep .offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-xl{transition:none}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.showing,:host ::ng-deep .offcanvas-xl.show:not(.hiding){transform:none}}@media (max-width: 1199.98px){:host ::ng-deep .offcanvas-xl.showing,:host ::ng-deep .offcanvas-xl.hiding,:host ::ng-deep .offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){:host ::ng-deep .offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-xl .offcanvas-header{display:none}:host ::ng-deep .offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.showing,:host ::ng-deep .offcanvas-xxl.show:not(.hiding){transform:none}}@media (max-width: 1399.98px){:host ::ng-deep .offcanvas-xxl.showing,:host ::ng-deep .offcanvas-xxl.hiding,:host ::ng-deep .offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){:host ::ng-deep .offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}:host ::ng-deep .offcanvas-xxl .offcanvas-header{display:none}:host ::ng-deep .offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}:host ::ng-deep .offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .offcanvas{transition:none}}:host ::ng-deep .offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}:host ::ng-deep .offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}:host ::ng-deep .offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}:host ::ng-deep .offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}:host ::ng-deep .offcanvas.showing,:host ::ng-deep .offcanvas.show:not(.hiding){transform:none}:host ::ng-deep .offcanvas.showing,:host ::ng-deep .offcanvas.hiding,:host ::ng-deep .offcanvas.show{visibility:visible}:host ::ng-deep .offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}:host ::ng-deep .offcanvas-backdrop.fade{opacity:0}:host ::ng-deep .offcanvas-backdrop.show{opacity:.5}:host ::ng-deep .offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}:host ::ng-deep .offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}:host ::ng-deep .offcanvas-title{margin-bottom:0;line-height:1.5}:host ::ng-deep .offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.offcanvas.oc-max-width{max-width:calc(100% - 40px)}.offcanvas.oc-max-height{max-height:calc(100% - 40px)}.modal-backdrop{z-index:1040}.offcanvas{visibility:unset}.offcanvas.disable-transition{transition:none}.offcanvas.offcanvas-top{height:auto;bottom:unset}.offcanvas.offcanvas-bottom{height:auto;top:unset}\n"] }]
        }], ctorParameters: function () {
        return [{ type: i0.TemplateRef, decorators: [{
                        type: Inject,
                        args: [OFFCANVAS_CONTENT]
                    }] }];
    }, propDecorators: { position: [{
                type: Input
            }], size: [{
                type: Input
            }], stateChange: [{
                type: Output
            }], state: [{
                type: Input
            }], backdropClick: [{
                type: Output
            }] } });

const PORTAL_FACTORY = new InjectionToken('OffcanvasPortalFactory');

class BsOffcanvasHostComponent {
    constructor(overlayService, rootInjector, portalFactory) {
        this.overlayService = overlayService;
        this.rootInjector = rootInjector;
        this.portalFactory = portalFactory;
        this.viewInited$ = new BehaviorSubject(false);
        this.state$ = new BehaviorSubject('closed');
        this.size$ = new BehaviorSubject(null);
        this.position$ = new BehaviorSubject('bottom');
        this.hasBackdrop$ = new BehaviorSubject(false);
        this.destroyed$ = new Subject();
        this.backdropClick = new EventEmitter();
        //#region State
        this.stateChange = new EventEmitter();
        this.state$
            .pipe(takeUntil(this.destroyed$))
            .subscribe((state) => {
            if (this.component) {
                this.stateChange.emit(state);
                this.component.instance.state$.next(state);
            }
        });
        combineLatest([this.position$, this.viewInited$])
            .pipe(filter(([position, viewInited]) => viewInited))
            .pipe(takeUntil(this.destroyed$))
            .subscribe(([position, viewInited]) => {
            if (this.component) {
                this.component.instance.position$.next(position);
            }
        });
        combineLatest([this.size$, this.viewInited$])
            .pipe(filter(([size, viewInited]) => viewInited))
            .pipe(takeUntil(this.destroyed$))
            .subscribe(([size, viewInited]) => {
            if (this.component) {
                this.component.instance.size$.next(size);
            }
        });
        combineLatest([this.hasBackdrop$, this.viewInited$])
            .pipe(filter(([hasBackdrop, viewInited]) => viewInited))
            .pipe(takeUntil(this.destroyed$))
            .subscribe(([hasBackdrop, viewInited]) => {
            if (this.component) {
                this.component.instance.hasBackdrop$.next(hasBackdrop);
            }
        });
        this.destroyed$.pipe(take(1))
            .subscribe(() => {
            this.state = 'closed';
            setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 3000);
        });
    }
    ngAfterViewInit() {
        const injector = Injector.create({
            providers: [
                { provide: OFFCANVAS_CONTENT, useValue: this.content },
            ],
            parent: this.rootInjector,
        });
        // const portal = new ComponentPortal(BsOffcanvasComponent, null, injector);
        const portal = this.portalFactory(injector);
        this.overlayRef = this.overlayService.create({
            scrollStrategy: this.overlayService.scrollStrategies.block(),
            positionStrategy: this.overlayService.position().global()
                .top('0').left('0').bottom('0').right('0'),
            hasBackdrop: false
        });
        this.component = this.overlayRef.attach(portal);
        this.component.instance.backdropClick
            .pipe(takeUntil(this.destroyed$))
            .subscribe((ev) => {
            this.backdropClick.emit(ev);
        });
        this.viewInited$.next(true);
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
    set state(value) {
        this.state$.next(value);
        if (this.component) {
            this.component.instance.state = value;
        }
        this.stateChange.emit(value);
    }
    get state() {
        return this.state$.value;
    }
    //#endregion
    //#region Position
    set position(value) {
        this.position$.next(value);
    }
    get position() {
        return this.position$.value;
    }
    //#endregion
    //#region Size
    set size(value) {
        this.size$.next(value);
    }
    get size() {
        return this.size$.value;
    }
    //#endregion
    //#region HasBackdrop
    set hasBackdrop(value) {
        this.hasBackdrop$.next(value);
    }
    get hasBackdrop() {
        return this.hasBackdrop$.value;
    }
}
BsOffcanvasHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasHostComponent, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: PORTAL_FACTORY }], target: i0.ɵɵFactoryTarget.Component });
BsOffcanvasHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: { state: "state", position: "position", size: "size", hasBackdrop: "hasBackdrop" }, outputs: { backdropClick: "backdropClick", stateChange: "stateChange" }, ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n", styles: [""], dependencies: [{ kind: "component", type: i2.BsHasOverlayComponent, selector: "bs-has-overlay" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasHostComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-offcanvas', template: "<bs-has-overlay></bs-has-overlay>\n" }]
        }], ctorParameters: function () {
        return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
                        type: Inject,
                        args: [PORTAL_FACTORY]
                    }] }];
    }, propDecorators: { backdropClick: [{
                type: Output
            }], stateChange: [{
                type: Output
            }], state: [{
                type: Input
            }], position: [{
                type: Input
            }], size: [{
                type: Input
            }], hasBackdrop: [{
                type: Input
            }] } });

class BsOffcanvasContentDirective {
    constructor(offcanvasHost, template) {
        offcanvasHost.content = template;
    }
}
BsOffcanvasContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasContentDirective, deps: [{ token: BsOffcanvasHostComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
BsOffcanvasContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]", ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasContentDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsOffcanvasContent]'
                }]
        }], ctorParameters: function () { return [{ type: BsOffcanvasHostComponent }, { type: i0.TemplateRef }]; } });

class BsOffcanvasCloseDirective {
    constructor(offcanvas) {
        this.offcanvas = offcanvas;
    }
    onClick() {
        this.offcanvas.state = 'closed';
    }
}
BsOffcanvasCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasCloseDirective, deps: [{ token: BsOffcanvasHostComponent }], target: i0.ɵɵFactoryTarget.Directive });
BsOffcanvasCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: BsOffcanvasCloseDirective, selector: "[bsOffcanvasClose]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasCloseDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsOffcanvasClose]'
                }]
        }], ctorParameters: function () { return [{ type: BsOffcanvasHostComponent }]; }, propDecorators: { onClick: [{
                type: HostListener,
                args: ['click']
            }] } });

class OffcanvasHeaderComponent {
    constructor() { }
    ngOnInit() {
    }
}
OffcanvasHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OffcanvasHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
OffcanvasHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: OffcanvasHeaderComponent, selector: "bs-offcanvas-header", ngImport: i0, template: "<div class=\"offcanvas-header\">\n    <ng-content></ng-content>\n</div>", styles: [""] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OffcanvasHeaderComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-offcanvas-header', template: "<div class=\"offcanvas-header\">\n    <ng-content></ng-content>\n</div>" }]
        }], ctorParameters: function () { return []; } });

class OffcanvasBodyComponent {
    constructor() {
        this.noPadding = false;
    }
    ngOnInit() {
    }
}
OffcanvasBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OffcanvasBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
OffcanvasBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: OffcanvasBodyComponent, selector: "bs-offcanvas-body", inputs: { noPadding: "noPadding" }, ngImport: i0, template: "<div class=\"offcanvas-body\" [class.p-0]=\"noPadding\">\n    <ng-content></ng-content>\n</div>", styles: [".offcanvas-body{overflow:unset}\n"] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OffcanvasBodyComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-offcanvas-body', template: "<div class=\"offcanvas-body\" [class.p-0]=\"noPadding\">\n    <ng-content></ng-content>\n</div>", styles: [".offcanvas-body{overflow:unset}\n"] }]
        }], ctorParameters: function () { return []; }, propDecorators: { noPadding: [{
                type: Input
            }] } });

class BsOffcanvasPushDirective {
    constructor(element, builder) {
        this.element = element;
        this.builder = builder;
        this.offcanvas$ = new BehaviorSubject(null);
        this.destroyed$ = new Subject();
        this.offcanvas$.pipe(filter$1(offcanvas => offcanvas !== null), switchMap(offcanvas => offcanvas.state$), distinctUntilChanged(), filter$1(state => !!state), skip(1), takeUntil$1(this.destroyed$)).subscribe((viewstate) => {
            let data;
            switch (viewstate) {
                case 'open':
                    data = [
                        style({ 'margin-left': '0', 'margin-right': '0' }),
                        animate('250ms', style({ 'margin-left': '400px', 'margin-right': '-400px' })),
                    ];
                    let el = this.element.nativeElement;
                    while (el.parentElement && !['scroll', 'visible'].includes(el.parentElement.style.overflowX)) {
                        el = el.parentElement;
                    }
                    if (this.element.nativeElement.parentElement) {
                        this.initialOverflowX = {
                            value: this.element.nativeElement.parentElement.style.overflowX,
                            element: el,
                        };
                        el.style.overflowX = 'hidden';
                    }
                    break;
                case 'closed':
                    data = [
                        style({ 'margin-left': '400px', 'margin-right': '-400px' }),
                        animate('250ms', style({ 'margin-left': '0', 'margin-right': '0' })),
                    ];
                    break;
            }
            const b = builder.build(data);
            const player = b.create(this.element.nativeElement, {});
            if (viewstate === 'closed') {
                player.onDone(() => {
                    if (this.element.nativeElement.parentElement && this.initialOverflowX) {
                        this.initialOverflowX.element.style.overflowX = this.initialOverflowX.value;
                    }
                });
            }
            player.play();
        });
    }
    set offcanvas(value) {
        this.offcanvas$.next(value);
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
}
BsOffcanvasPushDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasPushDirective, deps: [{ token: i0.ElementRef }, { token: i1$2.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Directive });
BsOffcanvasPushDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: BsOffcanvasPushDirective, selector: "[bsOffcanvasPush]", inputs: { offcanvas: ["bsOffcanvasPush", "offcanvas"] }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasPushDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsOffcanvasPush]',
                }]
        }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.AnimationBuilder }]; }, propDecorators: { offcanvas: [{
                type: Input,
                args: ['bsOffcanvasPush']
            }] } });

class BsOffcanvasModule {
}
BsOffcanvasModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
BsOffcanvasModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasModule, declarations: [BsOffcanvasComponent,
        BsOffcanvasContentDirective,
        BsOffcanvasHostComponent,
        BsOffcanvasCloseDirective,
        OffcanvasHeaderComponent,
        OffcanvasBodyComponent,
        BsOffcanvasPushDirective], imports: [CommonModule,
        OverlayModule,
        BsHasOverlayModule], exports: [BsOffcanvasComponent,
        BsOffcanvasContentDirective,
        BsOffcanvasHostComponent,
        BsOffcanvasCloseDirective,
        OffcanvasHeaderComponent,
        OffcanvasBodyComponent,
        BsOffcanvasPushDirective] });
BsOffcanvasModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasModule, providers: [{
            provide: PORTAL_FACTORY,
            useValue: (injector) => {
                return new ComponentPortal(BsOffcanvasComponent, null, injector);
            }
        }], imports: [CommonModule,
        OverlayModule,
        BsHasOverlayModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BsOffcanvasModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        BsOffcanvasComponent,
                        BsOffcanvasContentDirective,
                        BsOffcanvasHostComponent,
                        BsOffcanvasCloseDirective,
                        OffcanvasHeaderComponent,
                        OffcanvasBodyComponent,
                        BsOffcanvasPushDirective
                    ],
                    imports: [
                        CommonModule,
                        OverlayModule,
                        BsHasOverlayModule
                    ],
                    exports: [
                        BsOffcanvasComponent,
                        BsOffcanvasContentDirective,
                        BsOffcanvasHostComponent,
                        BsOffcanvasCloseDirective,
                        OffcanvasHeaderComponent,
                        OffcanvasBodyComponent,
                        BsOffcanvasPushDirective
                    ],
                    providers: [{
                            provide: PORTAL_FACTORY,
                            useValue: (injector) => {
                                return new ComponentPortal(BsOffcanvasComponent, null, injector);
                            }
                        }]
                }]
        }] });

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

export { BsOffcanvasCloseDirective, BsOffcanvasComponent, BsOffcanvasContentDirective, BsOffcanvasHostComponent, BsOffcanvasModule, BsOffcanvasPushDirective, OffcanvasBodyComponent, OffcanvasHeaderComponent };
//# sourceMappingURL=mintplayer-ng-bootstrap-offcanvas.mjs.map
