import * as i0 from '@angular/core';
import { Component, HostListener, ViewChild, Input, Optional, ContentChildren, forwardRef, SkipSelf, Host, Inject, Directive, PLATFORM_ID, HostBinding, EventEmitter, Output, NgModule } from '@angular/core';
import * as i1 from '@angular/common';
import { DOCUMENT, isPlatformServer, CommonModule } from '@angular/common';
import * as i2$1 from '@mintplayer/ng-click-outside';
import { ClickOutsideModule } from '@mintplayer/ng-click-outside';
import * as i2 from '@mintplayer/ng-bootstrap/user-agent';
import { BsUserAgentModule } from '@mintplayer/ng-bootstrap/user-agent';
import { Color } from '@mintplayer/ng-bootstrap';
import { BehaviorSubject, Subject, map, combineLatest, filter, debounceTime, takeUntil, take } from 'rxjs';
import { SlideUpDownAnimation } from '@mintplayer/ng-animations';

class BsNavbarComponent {
    constructor() {
        this.autoclose = true;
        this.expandButtonTemplate = null;
        this.isExpanded$ = new BehaviorSubject(false);
        this.windowWidth$ = new BehaviorSubject(null);
        this.isResizing$ = new BehaviorSubject(false);
        this.destroyed$ = new Subject();
        //#region Color
        this.color$ = new BehaviorSubject(null);
        //#endregion
        //#region Breakpoint
        this.breakPoint$ = new BehaviorSubject('md');
        this.expandAt$ = this.breakPoint$
            .pipe(map((breakpoint) => {
            switch (breakpoint) {
                case 'xxl': return 1400;
                case 'xl': return 1200;
                case 'lg': return 992;
                case 'md': return 768;
                case 'sm': return 576;
                case 'xs': return 0;
                default: return null;
            }
        }));
        this.isSmallMode$ = combineLatest([this.expandAt$, this.windowWidth$])
            .pipe(filter(([expandAt, windowWidth]) => {
            return windowWidth !== null;
        }))
            .pipe(map(([expandAt, windowWidth]) => {
            if (windowWidth === null) {
                throw 'windowWidth should not be null here';
            }
            else if (!expandAt) {
                return true;
            }
            else if (windowWidth >= expandAt) {
                return false;
            }
            else {
                return true;
            }
        }));
        this.windowWidth$
            .pipe(debounceTime(300), takeUntil(this.destroyed$))
            .subscribe(() => {
            this.isResizing$.next(false);
        });
        this.onWindowResize();
        this.expandClass$ = this.breakPoint$.pipe(map((breakpoint) => {
            return `navbar-expand-${breakpoint}`;
        }));
        this.wAutoClass$ = this.breakPoint$.pipe(map((breakpoint) => {
            return `w-${breakpoint}-auto`;
        }));
        this.dNoneClass$ = this.breakPoint$.pipe(map((breakpoint) => {
            return `d-${breakpoint}-none`;
        }));
        this.backgroundColorClass$ = this.color$.pipe(map((color) => {
            switch (color) {
                case Color.light:
                case null:
                    return ['navbar-light'];
                default:
                    return ['navbar-dark', `bg-${Color[color]}`];
            }
        }));
        this.navClassList$ = combineLatest([this.expandClass$, this.backgroundColorClass$])
            .pipe(map(([expandClass, backgroundColorClass]) => {
            const result = [];
            return result.concat(expandClass, ...backgroundColorClass);
        }));
    }
    onWindowResize() {
        this.isResizing$.next(true);
        if (typeof window !== 'undefined') {
            this.windowWidth$.next(window.innerWidth);
        }
    }
    toggleExpanded() {
        this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
            this.isExpanded$.next(!isExpanded);
        });
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
    get color() {
        return this.color$.value;
    }
    set color(value) {
        this.color$.next(value);
    }
    get breakpoint() {
        return this.breakPoint$.value;
    }
    set breakpoint(value) {
        this.breakPoint$.next(value);
    }
}
BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose", color: "color", breakpoint: "breakpoint" }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar position-fixed\" [class]=\"navClassList$ | async\" bsUserAgent>\n    <div class=\"container-fluid\">\n        <div class=\"d-flex\" [class]=\"wAutoClass$ | async\" [class.w-100]=\"isSmallMode$ | async\">\n            <ng-content select=\"bs-navbar-brand\"></ng-content>\n            <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass$ | async\">\n                <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n                    <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: (isExpanded$ | async) ? 'open' : 'closed' }\"></ng-container>\n                </button>\n            </div>\n        </div>\n        <ng-content></ng-content>\n    </div>\n</nav>\n\n<ng-template #defaultExpandButton>\n    <span class=\"navbar-toggler-icon\"></span>\n</ng-template>", styles: [":host ::ng-deep .container,:host ::ng-deep .container-fluid,:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:540px}}@media (min-width: 768px){:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:720px}}@media (min-width: 992px){:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:960px}}@media (min-width: 1200px){:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1140px}}@media (min-width: 1400px){:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1320px}}:host ::ng-deep .dropup,:host ::ng-deep .dropend,:host ::ng-deep .dropdown,:host ::ng-deep .dropstart,:host ::ng-deep .dropup-center,:host ::ng-deep .dropdown-center{position:relative}:host ::ng-deep .dropdown-toggle{white-space:nowrap}:host ::ng-deep .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}:host ::ng-deep .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius:calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}:host ::ng-deep .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}:host ::ng-deep .dropdown-menu-start{--bs-position: start}:host ::ng-deep .dropdown-menu-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-end{--bs-position: end}:host ::ng-deep .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){:host ::ng-deep .dropdown-menu-sm-start{--bs-position: start}:host ::ng-deep .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-sm-end{--bs-position: end}:host ::ng-deep .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){:host ::ng-deep .dropdown-menu-md-start{--bs-position: start}:host ::ng-deep .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-md-end{--bs-position: end}:host ::ng-deep .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){:host ::ng-deep .dropdown-menu-lg-start{--bs-position: start}:host ::ng-deep .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-lg-end{--bs-position: end}:host ::ng-deep .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){:host ::ng-deep .dropdown-menu-xl-start{--bs-position: start}:host ::ng-deep .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-xl-end{--bs-position: end}:host ::ng-deep .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){:host ::ng-deep .dropdown-menu-xxl-start{--bs-position: start}:host ::ng-deep .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-xxl-end{--bs-position: end}:host ::ng-deep .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}:host ::ng-deep .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}:host ::ng-deep .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}:host ::ng-deep .dropup .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}:host ::ng-deep .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}:host ::ng-deep .dropend .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropend .dropdown-toggle:after{vertical-align:0}:host ::ng-deep .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}:host ::ng-deep .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}:host ::ng-deep .dropstart .dropdown-toggle:after{display:none}:host ::ng-deep .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}:host ::ng-deep .dropstart .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropstart .dropdown-toggle:before{vertical-align:0}:host ::ng-deep .dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}:host ::ng-deep .dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}:host ::ng-deep .dropdown-item:hover,:host ::ng-deep .dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}:host ::ng-deep .dropdown-item.active,:host ::ng-deep .dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}:host ::ng-deep .dropdown-item.disabled,:host ::ng-deep .dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}:host ::ng-deep .dropdown-menu.show{display:block}:host ::ng-deep .dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}:host ::ng-deep .dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}:host ::ng-deep .dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}:host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0, 0, 0, .55);--bs-navbar-hover-color: rgba(0, 0, 0, .7);--bs-navbar-disabled-color: rgba(0, 0, 0, .3);--bs-navbar-active-color: rgba(0, 0, 0, .9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0, 0, 0, .9);--bs-navbar-brand-hover-color: rgba(0, 0, 0, .9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");--bs-navbar-toggler-border-color: rgba(0, 0, 0, .1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}:host ::ng-deep .navbar>.container,:host ::ng-deep .navbar>.container-fluid,:host ::ng-deep .navbar>.container-sm,:host ::ng-deep .navbar>.container-md,:host ::ng-deep .navbar>.container-lg,:host ::ng-deep .navbar>.container-xl,:host ::ng-deep .navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}:host ::ng-deep .navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}:host ::ng-deep .navbar-brand:hover,:host ::ng-deep .navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}:host ::ng-deep .navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .navbar-nav .show>.nav-link,:host ::ng-deep .navbar-nav .nav-link.active{color:var(--bs-navbar-active-color)}:host ::ng-deep .navbar-nav .dropdown-menu{position:static}:host ::ng-deep .navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}:host ::ng-deep .navbar-text a,:host ::ng-deep .navbar-text a:hover,:host ::ng-deep .navbar-text a:focus{color:var(--bs-navbar-active-color)}:host ::ng-deep .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}:host ::ng-deep .navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){:host ::ng-deep .navbar-toggler{transition:none}}:host ::ng-deep .navbar-toggler:hover{text-decoration:none}:host ::ng-deep .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}:host ::ng-deep .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}:host ::ng-deep .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){:host ::ng-deep .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-sm .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-sm .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-sm .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-sm .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){:host ::ng-deep .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-md .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-md .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-md .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-md .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){:host ::ng-deep .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-lg .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-lg .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-lg .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-lg .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){:host ::ng-deep .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-xl .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-xl .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-xl .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-xl .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){:host ::ng-deep .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-xxl .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-xxl .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}:host ::ng-deep .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand .navbar-toggler{display:none}:host ::ng-deep .navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}:host ::ng-deep .navbar-dark{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}nav{left:0;top:0;right:0;z-index:10}@media (max-width: 767px){nav.position-fixed{max-height:100%;overflow-y:scroll}nav.os-windows{margin-right:-17px}}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}.tw{margin:-.5rem -.6666666667rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsUserAgentDirective, selector: "[bsUserAgent]", outputs: ["detected"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar position-fixed\" [class]=\"navClassList$ | async\" bsUserAgent>\n    <div class=\"container-fluid\">\n        <div class=\"d-flex\" [class]=\"wAutoClass$ | async\" [class.w-100]=\"isSmallMode$ | async\">\n            <ng-content select=\"bs-navbar-brand\"></ng-content>\n            <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass$ | async\">\n                <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n                    <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: (isExpanded$ | async) ? 'open' : 'closed' }\"></ng-container>\n                </button>\n            </div>\n        </div>\n        <ng-content></ng-content>\n    </div>\n</nav>\n\n<ng-template #defaultExpandButton>\n    <span class=\"navbar-toggler-icon\"></span>\n</ng-template>", styles: [":host ::ng-deep .container,:host ::ng-deep .container-fluid,:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:540px}}@media (min-width: 768px){:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:720px}}@media (min-width: 992px){:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:960px}}@media (min-width: 1200px){:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1140px}}@media (min-width: 1400px){:host ::ng-deep .container-xxl,:host ::ng-deep .container-xl,:host ::ng-deep .container-lg,:host ::ng-deep .container-md,:host ::ng-deep .container-sm,:host ::ng-deep .container{max-width:1320px}}:host ::ng-deep .dropup,:host ::ng-deep .dropend,:host ::ng-deep .dropdown,:host ::ng-deep .dropstart,:host ::ng-deep .dropup-center,:host ::ng-deep .dropdown-center{position:relative}:host ::ng-deep .dropdown-toggle{white-space:nowrap}:host ::ng-deep .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}:host ::ng-deep .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius:calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}:host ::ng-deep .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}:host ::ng-deep .dropdown-menu-start{--bs-position: start}:host ::ng-deep .dropdown-menu-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-end{--bs-position: end}:host ::ng-deep .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){:host ::ng-deep .dropdown-menu-sm-start{--bs-position: start}:host ::ng-deep .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-sm-end{--bs-position: end}:host ::ng-deep .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){:host ::ng-deep .dropdown-menu-md-start{--bs-position: start}:host ::ng-deep .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-md-end{--bs-position: end}:host ::ng-deep .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){:host ::ng-deep .dropdown-menu-lg-start{--bs-position: start}:host ::ng-deep .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-lg-end{--bs-position: end}:host ::ng-deep .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){:host ::ng-deep .dropdown-menu-xl-start{--bs-position: start}:host ::ng-deep .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-xl-end{--bs-position: end}:host ::ng-deep .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){:host ::ng-deep .dropdown-menu-xxl-start{--bs-position: start}:host ::ng-deep .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}:host ::ng-deep .dropdown-menu-xxl-end{--bs-position: end}:host ::ng-deep .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}:host ::ng-deep .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}:host ::ng-deep .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}:host ::ng-deep .dropup .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}:host ::ng-deep .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}:host ::ng-deep .dropend .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropend .dropdown-toggle:after{vertical-align:0}:host ::ng-deep .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}:host ::ng-deep .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}:host ::ng-deep .dropstart .dropdown-toggle:after{display:none}:host ::ng-deep .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}:host ::ng-deep .dropstart .dropdown-toggle:empty:after{margin-left:0}:host ::ng-deep .dropstart .dropdown-toggle:before{vertical-align:0}:host ::ng-deep .dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}:host ::ng-deep .dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}:host ::ng-deep .dropdown-item:hover,:host ::ng-deep .dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}:host ::ng-deep .dropdown-item.active,:host ::ng-deep .dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}:host ::ng-deep .dropdown-item.disabled,:host ::ng-deep .dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}:host ::ng-deep .dropdown-menu.show{display:block}:host ::ng-deep .dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}:host ::ng-deep .dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}:host ::ng-deep .dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}:host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0, 0, 0, .55);--bs-navbar-hover-color: rgba(0, 0, 0, .7);--bs-navbar-disabled-color: rgba(0, 0, 0, .3);--bs-navbar-active-color: rgba(0, 0, 0, .9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0, 0, 0, .9);--bs-navbar-brand-hover-color: rgba(0, 0, 0, .9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");--bs-navbar-toggler-border-color: rgba(0, 0, 0, .1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}:host ::ng-deep .navbar>.container,:host ::ng-deep .navbar>.container-fluid,:host ::ng-deep .navbar>.container-sm,:host ::ng-deep .navbar>.container-md,:host ::ng-deep .navbar>.container-lg,:host ::ng-deep .navbar>.container-xl,:host ::ng-deep .navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}:host ::ng-deep .navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}:host ::ng-deep .navbar-brand:hover,:host ::ng-deep .navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}:host ::ng-deep .navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .navbar-nav .show>.nav-link,:host ::ng-deep .navbar-nav .nav-link.active{color:var(--bs-navbar-active-color)}:host ::ng-deep .navbar-nav .dropdown-menu{position:static}:host ::ng-deep .navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}:host ::ng-deep .navbar-text a,:host ::ng-deep .navbar-text a:hover,:host ::ng-deep .navbar-text a:focus{color:var(--bs-navbar-active-color)}:host ::ng-deep .navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}:host ::ng-deep .navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){:host ::ng-deep .navbar-toggler{transition:none}}:host ::ng-deep .navbar-toggler:hover{text-decoration:none}:host ::ng-deep .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}:host ::ng-deep .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}:host ::ng-deep .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){:host ::ng-deep .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-sm .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-sm .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-sm .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-sm .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){:host ::ng-deep .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-md .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-md .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-md .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-md .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){:host ::ng-deep .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-lg .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-lg .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-lg .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-lg .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){:host ::ng-deep .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-xl .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-xl .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-xl .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-xl .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){:host ::ng-deep .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand-xxl .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand-xxl .navbar-toggler{display:none}:host ::ng-deep .navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}:host ::ng-deep .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}:host ::ng-deep .navbar-expand .navbar-nav{flex-direction:row}:host ::ng-deep .navbar-expand .navbar-nav .dropdown-menu{position:absolute}:host ::ng-deep .navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}:host ::ng-deep .navbar-expand .navbar-nav-scroll{overflow:visible}:host ::ng-deep .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}:host ::ng-deep .navbar-expand .navbar-toggler{display:none}:host ::ng-deep .navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}:host ::ng-deep .navbar-expand .offcanvas .offcanvas-header{display:none}:host ::ng-deep .navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}:host ::ng-deep .navbar-dark{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}nav{left:0;top:0;right:0;z-index:10}@media (max-width: 767px){nav.position-fixed{max-height:100%;overflow-y:scroll}nav.os-windows{margin-right:-17px}}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}.tw{margin:-.5rem -.6666666667rem}\n"] }]
        }], ctorParameters: function () { return []; }, propDecorators: { onWindowResize: [{
                type: HostListener,
                args: ['window:resize']
            }], nav: [{
                type: ViewChild,
                args: ['nav']
            }], autoclose: [{
                type: Input
            }], color: [{
                type: Input
            }], breakpoint: [{
                type: Input
            }] } });

class BsNavbarNavComponent {
    constructor(bsNavbar) {
        this.collapse$ = new BehaviorSubject(true);
        this.windowWidth$ = new BehaviorSubject(null);
        this.isResizing$ = new BehaviorSubject(false);
        this.destroyed$ = new Subject();
        this.bsNavbar = bsNavbar;
        this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.windowWidth$])
            .pipe(filter(([isExpanded, windowWidth]) => {
            return windowWidth !== null;
        }))
            .pipe(map(([isExpanded, windowWidth]) => {
            if (windowWidth === null) {
                throw 'windowWidth should not be null here';
            }
            else if (windowWidth >= 768) {
                return true;
            }
            else if (isExpanded) {
                return true;
            }
            else {
                return false;
            }
        }));
        this.windowWidth$
            .pipe(debounceTime(300), takeUntil(this.destroyed$))
            .subscribe(() => {
            this.isResizing$.next(false);
        });
        this.onWindowResize();
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
    //#region collapse
    set collapse(value) {
        this.collapse$.next(value);
    }
    get collapse() {
        return this.collapse$.value;
    }
    //#endregion
    onWindowResize() {
        this.isResizing$.next(true);
        if (typeof window !== 'undefined') {
            this.windowWidth$.next(window.innerWidth);
        }
    }
}
BsNavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarNavComponent, deps: [{ token: BsNavbarComponent }], target: i0.ɵɵFactoryTarget.Component });
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0, template: "<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" *ngIf=\"showNavs$ | async\" [@slideUpDown] [@.disabled]=\"isResizing$ | async\">\n    <ul class=\"navbar-nav mr-auto\">\n        <ng-content></ng-content>\n    </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [SlideUpDownAnimation] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarNavComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" *ngIf=\"showNavs$ | async\" [@slideUpDown] [@.disabled]=\"isResizing$ | async\">\n    <ul class=\"navbar-nav mr-auto\">\n        <ng-content></ng-content>\n    </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"] }]
        }], ctorParameters: function () { return [{ type: BsNavbarComponent }]; }, propDecorators: { collapse: [{
                type: Input
            }], onWindowResize: [{
                type: HostListener,
                args: ['window:resize']
            }] } });

class BsNavbarItemComponent {
    constructor(navbar, parentDropdown, element) {
        this.navbar = navbar;
        this.element = element;
        this.hasDropdown = false;
        this.anchorTag = null;
        this.parentDropdown = parentDropdown;
    }
    ngAfterContentChecked() {
        this.anchorTag = this.element.nativeElement.querySelector('li a');
        if (this.hasDropdown) {
            (this.anchorTag) && this.anchorTag.classList.add('dropdown-toggle');
            if (this.anchorTag && !this.anchorTag.getAttribute('close-init-b')) {
                this.anchorTag.setAttribute('close-init-b', '1');
                this.anchorTag.addEventListener('click', (ev) => {
                    ev.preventDefault();
                    // Normally there should be only one dropdown in this list
                    this.dropdowns.forEach((dropdown) => {
                        if (!(dropdown.isVisible = !dropdown.isVisible)) {
                            dropdown.childDropdowns.forEach((child) => {
                                child.isVisible = false;
                            });
                        }
                    });
                    return false;
                });
            }
        }
        else {
            // Close if this is a link
            if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {
                this.anchorTag.setAttribute('close-init-a', '1');
                this.anchorTag.addEventListener('click', (ev) => {
                    let d = this.parentDropdown;
                    while (d && d.autoclose) {
                        d.isVisible = false;
                        d = d.parentDropdown;
                    }
                    if (this.navbar.autoclose) {
                        this.navbar.isExpanded$.next(false);
                    }
                });
            }
        }
    }
}
BsNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarItemComponent, deps: [{ token: BsNavbarComponent }, { token: BsNavbarDropdownComponent, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
BsNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarItemComponent, selector: "bs-navbar-item", queries: [{ propertyName: "dropdowns", predicate: i0.forwardRef(function () { return BsNavbarDropdownComponent; }) }], ngImport: i0, template: "<li [class.nav-item]=\"parentDropdown === null\" [class.dropdown]=\"(dropdowns.length > 0) && (parentDropdown === null)\" [class.dropend]=\"(dropdowns.length > 0) && (parentDropdown !== null)\">\n    <ng-content></ng-content>\n</li>", styles: ["li.dropend ::ng-deep a.dropdown-toggle{padding-right:1.5rem}li.dropend ::ng-deep a.dropdown-toggle:after{position:absolute;right:.5rem;top:.75rem}\n"] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarItemComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-navbar-item', template: "<li [class.nav-item]=\"parentDropdown === null\" [class.dropdown]=\"(dropdowns.length > 0) && (parentDropdown === null)\" [class.dropend]=\"(dropdowns.length > 0) && (parentDropdown !== null)\">\n    <ng-content></ng-content>\n</li>", styles: ["li.dropend ::ng-deep a.dropdown-toggle{padding-right:1.5rem}li.dropend ::ng-deep a.dropdown-toggle:after{position:absolute;right:.5rem;top:.75rem}\n"] }]
        }], ctorParameters: function () { return [{ type: BsNavbarComponent }, { type: BsNavbarDropdownComponent, decorators: [{
                    type: Optional
                }] }, { type: i0.ElementRef }]; }, propDecorators: { dropdowns: [{
                type: ContentChildren,
                args: [forwardRef(() => BsNavbarDropdownComponent)]
            }] } });

class BsNavbarDropdownComponent {
    constructor(navbar, parentDropdown, navbarItem, element, document) {
        this.navbar = navbar;
        this.element = element;
        this.document = document;
        this.autoclose = true;
        this.destroyed$ = new Subject();
        this.topPos$ = new BehaviorSubject(null);
        //#region IsVisible
        this.isVisible$ = new BehaviorSubject(false);
        this.parentDropdown = parentDropdown;
        this.navbarItem = navbarItem;
        this.isVisible$.pipe(takeUntil(this.destroyed$)).subscribe((isVisible) => {
            if (isVisible) {
                this.topPos$.next(this.element.nativeElement.offsetTop);
            }
            else {
                this.topPos$.next(null);
            }
        });
        this.maxHeight$ = this.topPos$.pipe(map((topPos) => {
            const w = this.document.defaultView;
            if (!topPos) {
                return null;
            }
            else if (w) {
                const style = w.getComputedStyle(this.dropdownElement.nativeElement);
                return `calc(100vh - ${topPos}px - ${style.getPropertyValue('padding-top')} - ${style.getPropertyValue('padding-bottom')})`;
            }
            else {
                return null;
            }
        }));
        this.maxHeightOrNull$ = combineLatest([this.maxHeight$, this.navbar.isSmallMode$]).pipe(map(([maxHeight, isSmallMode]) => {
            if (isSmallMode) {
                return null;
            }
            else {
                return maxHeight;
            }
        }));
    }
    get isVisible() {
        return this.isVisible$.value;
    }
    set isVisible(value) {
        this.isVisible$.next(value);
    }
    //#endregion
    get elementsToExclude() {
        return [this.navbarItem.anchorTag].filter((a) => a).map((a) => a);
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
}
BsNavbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarDropdownComponent, deps: [{ token: BsNavbarComponent }, { token: BsNavbarDropdownComponent, host: true, optional: true, skipSelf: true }, { token: forwardRef(() => BsNavbarItemComponent), host: true }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarDropdownComponent, selector: "bs-navbar-dropdown", inputs: { autoclose: "autoclose" }, queries: [{ propertyName: "childDropdowns", predicate: i0.forwardRef(function () { return BsNavbarDropdownComponent; }), descendants: true }], viewQueries: [{ propertyName: "dropdownElement", first: true, predicate: ["dd"], descendants: true }], ngImport: i0, template: "<ul #dd class=\"dropdown-menu overflow-auto\" [class.show]=\"isVisible\" [class.submenu]=\"!!parentDropdown\" [style.max-height]=\"maxHeightOrNull$ | async\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n    <ng-content></ng-content>\n</ul>", styles: ["@media (max-width: 767px){.submenu{margin-left:.5rem;margin-right:.5rem}}@media (min-width: 768px){.submenu{position:absolute;left:100%;top:-1px;margin-top:-.5rem}}\n"], dependencies: [{ kind: "directive", type: i2$1.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarDropdownComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-navbar-dropdown', template: "<ul #dd class=\"dropdown-menu overflow-auto\" [class.show]=\"isVisible\" [class.submenu]=\"!!parentDropdown\" [style.max-height]=\"maxHeightOrNull$ | async\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n    <ng-content></ng-content>\n</ul>", styles: ["@media (max-width: 767px){.submenu{margin-left:.5rem;margin-right:.5rem}}@media (min-width: 768px){.submenu{position:absolute;left:100%;top:-1px;margin-top:-.5rem}}\n"] }]
        }], ctorParameters: function () { return [{ type: BsNavbarComponent }, { type: BsNavbarDropdownComponent, decorators: [{
                    type: SkipSelf
                }, {
                    type: Host
                }, {
                    type: Optional
                }] }, { type: BsNavbarItemComponent, decorators: [{
                    type: Host
                }, {
                    type: Inject,
                    args: [forwardRef(() => BsNavbarItemComponent)]
                }] }, { type: i0.ElementRef }, { type: Document, decorators: [{
                    type: Inject,
                    args: [DOCUMENT]
                }] }]; }, propDecorators: { autoclose: [{
                type: Input
            }], dropdownElement: [{
                type: ViewChild,
                args: ['dd']
            }], childDropdowns: [{
                type: ContentChildren,
                args: [forwardRef(() => BsNavbarDropdownComponent), { descendants: true }]
            }] } });

class DropdownToggleDirective {
    constructor(elementRef, bsNavbarItem, parentDropdown) {
        this.elementRef = elementRef;
        this.bsNavbarItem = bsNavbarItem;
    }
    ngAfterContentInit() {
        if (this.bsNavbarItem.dropdowns.length > 0) {
            this.bsNavbarItem.hasDropdown = true;
        }
    }
}
DropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownToggleDirective, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => BsNavbarItemComponent) }, { token: forwardRef(() => BsNavbarDropdownComponent), optional: true }], target: i0.ɵɵFactoryTarget.Directive });
DropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DropdownToggleDirective, selector: "bs-navbar-item", queries: [{ propertyName: "childDropdowns", predicate: BsNavbarDropdownComponent }], ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownToggleDirective, decorators: [{
            type: Directive,
            args: [{
                    // selector: 'bs-navbar-item > a[routerLink]',
                    selector: 'bs-navbar-item',
                    queries: {
                        childDropdowns: new ContentChildren(BsNavbarDropdownComponent)
                    }
                }]
        }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: BsNavbarItemComponent, decorators: [{
                    type: Inject,
                    args: [forwardRef(() => BsNavbarItemComponent)]
                }] }, { type: BsNavbarDropdownComponent, decorators: [{
                    type: Optional
                }, {
                    type: Inject,
                    args: [forwardRef(() => BsNavbarDropdownComponent)]
                }] }]; } });

class NavLinkDirective {
    constructor(elementRef, parentDropdown) {
        this.elementRef = elementRef;
        if (parentDropdown == null) {
            this.elementRef.nativeElement.classList.add('nav-link');
        }
        else {
            this.elementRef.nativeElement.classList.add('dropdown-item');
        }
    }
}
NavLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavLinkDirective, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => BsNavbarDropdownComponent), optional: true }], target: i0.ɵɵFactoryTarget.Directive });
NavLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NavLinkDirective, selector: "bs-navbar-item > a[routerLink]", ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavLinkDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: 'bs-navbar-item > a[routerLink]'
                }]
        }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: BsNavbarDropdownComponent, decorators: [{
                    type: Optional
                }, {
                    type: Inject,
                    args: [forwardRef(() => BsNavbarDropdownComponent)]
                }] }]; } });

class BsNavbarContentDirective {
    constructor(element, platformId) {
        this.element = element;
        this.platformId = platformId;
        this.destroyed$ = new Subject();
        this.viewInit$ = new BehaviorSubject(false);
        this.navbar$ = new BehaviorSubject(null);
        this.resizeObserver = null;
        this.initialPadding = 0;
        combineLatest([this.viewInit$, this.navbar$])
            .pipe(filter(([viewInit, navbar]) => {
            return viewInit && !!navbar;
        }))
            .pipe(take(1))
            .pipe(takeUntil(this.destroyed$))
            .subscribe(([viewInit, navbar]) => {
            if (!isPlatformServer(platformId)) {
                // Initialize the ResizeObserver
                this.resizeObserver = new ResizeObserver((entries) => {
                    const height = navbar
                        ? navbar.nav.nativeElement.offsetHeight
                        : entries[0].contentRect.height;
                    this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
                });
                // Monitor the size
                const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');
                const pt = parseInt(px.replace(/px$/, ''));
                this.initialPadding = isNaN(pt) ? 0 : pt;
                if (this.resizeObserver && navbar) {
                    this.resizeObserver.observe(navbar.nav.nativeElement);
                }
            }
        });
        this.destroyed$
            .pipe(filter(d => !!d))
            .subscribe(() => {
            this.resizeObserver?.unobserve(this.navbar$.value?.nav.nativeElement);
        });
    }
    set navbar(value) {
        this.navbar$.next(value);
    }
    ngAfterViewInit() {
        this.viewInit$.next(true);
    }
    ngOnDestroy() {
        this.destroyed$.next(true);
    }
}
BsNavbarContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarContentDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
BsNavbarContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarContentDirective, selector: "[navbarContent]", inputs: { navbar: ["navbarContent", "navbar"] }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarContentDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[navbarContent]'
                }]
        }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
                    type: Inject,
                    args: [PLATFORM_ID]
                }] }]; }, propDecorators: { navbar: [{
                type: Input,
                args: ['navbarContent']
            }] } });

class BsNavbarBrandComponent {
    constructor() {
        this.routerLink = [];
        this.mxAuto = true;
    }
}
BsNavbarBrandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarBrandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
BsNavbarBrandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarBrandComponent, selector: "bs-navbar-brand", inputs: { routerLink: "routerLink" }, host: { properties: { "class.mx-auto": "this.mxAuto" } }, ngImport: i0, template: "<span class=\"navbar-brand mx-auto mx-md-unset\">\n    <ng-content></ng-content>\n</span>", styles: [""] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarBrandComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-navbar-brand', template: "<span class=\"navbar-brand mx-auto mx-md-unset\">\n    <ng-content></ng-content>\n</span>" }]
        }], propDecorators: { routerLink: [{
                type: Input
            }], mxAuto: [{
                type: HostBinding,
                args: ['class.mx-auto']
            }] } });

class BsExpandButtonDirective {
    constructor(navbar, templateRef) {
        navbar.expandButtonTemplate = templateRef;
    }
}
BsExpandButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsExpandButtonDirective, deps: [{ token: BsNavbarComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
BsExpandButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BsExpandButtonDirective, selector: "[bsExpandButton]", ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsExpandButtonDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[bsExpandButton]'
                }]
        }], ctorParameters: function () { return [{ type: BsNavbarComponent }, { type: i0.TemplateRef }]; } });

class BsNavbarTogglerComponent {
    constructor() {
        //#region State
        this._state = 'closed';
        this.stateChange = new EventEmitter();
        //#endregion
        this.toggleOnClick = true;
    }
    get state() {
        return this._state;
    }
    set state(value) {
        this._state = value;
        this.stateChange.emit(this._state);
    }
    toggleState(ev) {
        if (this.toggleOnClick) {
            switch (this._state) {
                case 'open':
                    this.state = 'closed';
                    break;
                default:
                    this.state = 'open';
                    break;
            }
        }
    }
}
BsNavbarTogglerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarTogglerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
BsNavbarTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BsNavbarTogglerComponent, selector: "bs-navbar-toggler", inputs: { state: "state", toggleOnClick: "toggleOnClick" }, outputs: { stateChange: "stateChange" }, host: { listeners: { "click": "toggleState($event)" } }, ngImport: i0, template: "<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n    <div></div>\n    <div></div>\n    <div></div>\n</div>", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none}.navbar-toggler>div{width:25px;height:2px;background:#BBB;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}@media (min-width: 768px){.navbar-toggler.auto>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.auto>div:nth-of-type(2){opacity:0}.navbar-toggler.auto>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarTogglerComponent, decorators: [{
            type: Component,
            args: [{ selector: 'bs-navbar-toggler', template: "<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n    <div></div>\n    <div></div>\n    <div></div>\n</div>", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none}.navbar-toggler>div{width:25px;height:2px;background:#BBB;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}@media (min-width: 768px){.navbar-toggler.auto>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.auto>div:nth-of-type(2){opacity:0}.navbar-toggler.auto>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}}\n"] }]
        }], propDecorators: { stateChange: [{
                type: Output
            }], state: [{
                type: Input
            }], toggleOnClick: [{
                type: Input
            }], toggleState: [{
                type: HostListener,
                args: ['click', ['$event']]
            }] } });

class BsNavbarModule {
}
BsNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarModule, declarations: [BsNavbarComponent,
        BsNavbarNavComponent,
        BsNavbarDropdownComponent,
        BsNavbarItemComponent,
        DropdownToggleDirective,
        NavLinkDirective,
        BsNavbarContentDirective,
        BsNavbarBrandComponent,
        BsExpandButtonDirective,
        BsNavbarTogglerComponent], imports: [CommonModule,
        ClickOutsideModule,
        BsUserAgentModule], exports: [BsNavbarComponent,
        BsNavbarNavComponent,
        BsNavbarDropdownComponent,
        BsNavbarItemComponent,
        DropdownToggleDirective,
        NavLinkDirective,
        BsNavbarContentDirective,
        BsNavbarBrandComponent,
        BsExpandButtonDirective,
        BsNavbarTogglerComponent] });
BsNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarModule, imports: [CommonModule,
        ClickOutsideModule,
        BsUserAgentModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BsNavbarModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [
                        BsNavbarComponent,
                        BsNavbarNavComponent,
                        BsNavbarDropdownComponent,
                        BsNavbarItemComponent,
                        DropdownToggleDirective,
                        NavLinkDirective,
                        BsNavbarContentDirective,
                        BsNavbarBrandComponent,
                        BsExpandButtonDirective,
                        BsNavbarTogglerComponent,
                    ],
                    imports: [
                        CommonModule,
                        ClickOutsideModule,
                        BsUserAgentModule,
                    ],
                    exports: [
                        BsNavbarComponent,
                        BsNavbarNavComponent,
                        BsNavbarDropdownComponent,
                        BsNavbarItemComponent,
                        DropdownToggleDirective,
                        NavLinkDirective,
                        BsNavbarContentDirective,
                        BsNavbarBrandComponent,
                        BsExpandButtonDirective,
                        BsNavbarTogglerComponent,
                    ]
                }]
        }] });

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

export { BsExpandButtonDirective, BsNavbarBrandComponent, BsNavbarComponent, BsNavbarContentDirective, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsNavbarTogglerComponent, DropdownToggleDirective, NavLinkDirective };
//# sourceMappingURL=mintplayer-ng-bootstrap-navbar.mjs.map
