@mintplayer/ng-bootstrap 13.3.2 → 13.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,10 +15,10 @@ export class BsNavbarComponent {
15
15
  }
16
16
  }
17
17
  BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose" }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@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"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe } });
18
+ BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose" }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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: ["nav{left:0;top:0;right:0;z-index:10}@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"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe } });
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@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"] }]
21
+ args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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: ["nav{left:0;top:0;right:0;z-index:10}@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"] }]
22
22
  }], propDecorators: { nav: [{
23
23
  type: ViewChild,
24
24
  args: ['nav']
@@ -1,33 +1,55 @@
1
1
  import { isPlatformServer } from '@angular/common';
2
2
  import { Directive, ElementRef, Inject, Input, PLATFORM_ID } from '@angular/core';
3
+ import { BehaviorSubject, combineLatest, filter, Subject, take, takeUntil } from 'rxjs';
3
4
  import { BsNavbarComponent } from '../navbar/navbar.component';
4
5
  import * as i0 from "@angular/core";
5
6
  export class NavbarContentDirective {
6
7
  constructor(element, platformId) {
7
8
  this.element = element;
8
9
  this.platformId = platformId;
10
+ this.destroyed$ = new Subject();
11
+ this.viewInit$ = new BehaviorSubject(false);
12
+ this.navbar$ = new BehaviorSubject(null);
13
+ this.resizeObserver = null;
9
14
  this.initialPadding = 0;
10
- if (!isPlatformServer(platformId)) {
11
- this.resizeObserver = new ResizeObserver((entries) => {
12
- const height = entries[0].contentRect.height;
13
- this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
14
- });
15
- }
16
- else {
17
- this.resizeObserver = null;
18
- }
15
+ combineLatest([this.viewInit$, this.navbar$])
16
+ .pipe(filter(([viewInit, navbar]) => {
17
+ return viewInit && !!navbar;
18
+ }))
19
+ .pipe(take(1))
20
+ .pipe(takeUntil(this.destroyed$))
21
+ .subscribe(([viewInit, navbar]) => {
22
+ if (!isPlatformServer(platformId)) {
23
+ // Initialize the ResizeObserver
24
+ this.resizeObserver = new ResizeObserver((entries) => {
25
+ const height = navbar
26
+ ? navbar.nav.nativeElement.offsetHeight
27
+ : entries[0].contentRect.height;
28
+ this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
29
+ });
30
+ // Monitor the size
31
+ const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');
32
+ const pt = parseInt(px.replace(/px$/, ''));
33
+ this.initialPadding = isNaN(pt) ? 0 : pt;
34
+ if (this.resizeObserver && navbar) {
35
+ this.resizeObserver.observe(navbar.nav.nativeElement);
36
+ }
37
+ }
38
+ });
39
+ this.destroyed$
40
+ .pipe(filter(d => !!d))
41
+ .subscribe(() => {
42
+ this.resizeObserver?.unobserve(this.navbar$.value?.nav.nativeElement);
43
+ });
44
+ }
45
+ set navbar(value) {
46
+ this.navbar$.next(value);
19
47
  }
20
48
  ngAfterViewInit() {
21
- const pt = parseInt(this.element.nativeElement.style.paddingTop.replace(/px$/, ''));
22
- this.initialPadding = isNaN(pt) ? 0 : pt;
23
- if (this.resizeObserver) {
24
- this.resizeObserver.observe(this.navbar.nav.nativeElement);
25
- }
49
+ this.viewInit$.next(true);
26
50
  }
27
51
  ngOnDestroy() {
28
- if (this.resizeObserver) {
29
- this.resizeObserver.unobserve(this.navbar.nav.nativeElement);
30
- }
52
+ this.destroyed$.next(true);
31
53
  }
32
54
  }
33
55
  NavbarContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NavbarContentDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
@@ -44,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
44
66
  type: Input,
45
67
  args: ['navbarContent']
46
68
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1jb250ZW50L25hdmJhci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFBb0IsT0FBbUIsRUFBK0IsVUFBZTtRQUFqRSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQStCLGVBQVUsR0FBVixVQUFVLENBQUs7UUFZckYsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFYakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN0RixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFPRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7O21IQTlCVSxzQkFBc0IsNENBRWdCLFdBQVc7dUdBRmpELHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzswQkFHMkMsTUFBTTsyQkFBQyxXQUFXOzRDQWNwQyxNQUFNO3NCQUE3QixLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuYXZiYXJDb250ZW50XSdcbn0pXG5leHBvcnQgY2xhc3MgTmF2YmFyQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSkge1xuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodDtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucGFkZGluZ1RvcCA9ICh0aGlzLmluaXRpYWxQYWRkaW5nICsgaGVpZ2h0KSArICdweCc7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbDtcbiAgaW5pdGlhbFBhZGRpbmcgPSAwO1xuXG4gIEBJbnB1dCgnbmF2YmFyQ29udGVudCcpIG5hdmJhciE6IEJzTmF2YmFyQ29tcG9uZW50O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBwdCA9IHBhcnNlSW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnBhZGRpbmdUb3AucmVwbGFjZSgvcHgkLywgJycpKTtcbiAgICB0aGlzLmluaXRpYWxQYWRkaW5nID0gaXNOYU4ocHQpID8gMCA6IHB0O1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5uYXZiYXIubmF2Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLm5hdmJhci5uYXYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1jb250ZW50L25hdmJhci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUsvRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLFlBQW9CLE9BQW1CLEVBQStCLFVBQWU7UUFBakUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBbUM3RSxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUN0RSxtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFDN0MsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUF0Q2pCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7YUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pDLGdDQUFnQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNuRCxNQUFNLE1BQU0sR0FBRyxNQUFNO3dCQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWTt3QkFDdkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO29CQUVsQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RGLENBQUMsQ0FBQyxDQUFDO2dCQUVILG1CQUFtQjtnQkFDbkIsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDeEYsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sRUFBRTtvQkFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDdkQ7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFVBQVU7YUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQsSUFBNEIsTUFBTSxDQUFDLEtBQXdCO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOzttSEFyRFUsc0JBQXNCLDRDQUVnQixXQUFXO3VHQUZqRCxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjs7MEJBRzJDLE1BQU07MkJBQUMsV0FBVzs0Q0F5Q2hDLE1BQU07c0JBQWpDLEtBQUs7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgU3ViamVjdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25hdmJhckNvbnRlbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBOYXZiYXJDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55KSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy52aWV3SW5pdCQsIHRoaXMubmF2YmFyJF0pXG4gICAgICAucGlwZShmaWx0ZXIoKFt2aWV3SW5pdCwgbmF2YmFyXSkgPT4ge1xuICAgICAgICByZXR1cm4gdmlld0luaXQgJiYgISFuYXZiYXI7XG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt2aWV3SW5pdCwgbmF2YmFyXSkgPT4ge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBSZXNpemVPYnNlcnZlclxuICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IG5hdmJhclxuICAgICAgICAgICAgICA/IG5hdmJhci5uYXYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHRcbiAgICAgICAgICAgICAgOiBlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodDtcblxuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucGFkZGluZ1RvcCA9ICh0aGlzLmluaXRpYWxQYWRkaW5nICsgaGVpZ2h0KSArICdweCc7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBNb25pdG9yIHRoZSBzaXplXG4gICAgICAgICAgY29uc3QgcHggPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpO1xuICAgICAgICAgIGNvbnN0IHB0ID0gcGFyc2VJbnQocHgucmVwbGFjZSgvcHgkLywgJycpKTtcbiAgICAgICAgICB0aGlzLmluaXRpYWxQYWRkaW5nID0gaXNOYU4ocHQpID8gMCA6IHB0O1xuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyICYmIG5hdmJhcikge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKG5hdmJhci5uYXYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuZGVzdHJveWVkJFxuICAgICAgLnBpcGUoZmlsdGVyKGQgPT4gISFkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUodGhpcy5uYXZiYXIkLnZhbHVlPy5uYXYubmF0aXZlRWxlbWVudCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgdmlld0luaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgbmF2YmFyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNOYXZiYXJDb21wb25lbnQgfCBudWxsPihudWxsKTtcbiAgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gIGluaXRpYWxQYWRkaW5nID0gMDtcblxuICBASW5wdXQoJ25hdmJhckNvbnRlbnQnKSBzZXQgbmF2YmFyKHZhbHVlOiBCc05hdmJhckNvbXBvbmVudCkge1xuICAgIHRoaXMubmF2YmFyJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBcbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudmlld0luaXQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxufVxuIl19
@@ -16,8 +16,9 @@ export class BsNavbarItemComponent {
16
16
  this.anchorTag = this.element.nativeElement.querySelector('li a');
17
17
  if (this.hasDropdown) {
18
18
  (this.anchorTag) && this.anchorTag.classList.add('dropdown-toggle');
19
- if (this.anchorTag && !this.anchorTag.onclick) {
20
- this.anchorTag.onclick = (ev) => {
19
+ if (this.anchorTag && !this.anchorTag.getAttribute('close-init-b')) {
20
+ this.anchorTag.setAttribute('close-init-b', '1');
21
+ this.anchorTag.addEventListener('click', (ev) => {
21
22
  ev.preventDefault();
22
23
  // Normally there should be only one dropdown in this list
23
24
  this.dropdowns.forEach((dropdown) => {
@@ -28,24 +29,23 @@ export class BsNavbarItemComponent {
28
29
  }
29
30
  });
30
31
  return false;
31
- };
32
+ });
32
33
  }
33
34
  }
34
35
  else {
35
36
  // Close if this is a link
36
- if (this.dropdowns.length === 0) {
37
- if (this.anchorTag && !this.anchorTag.onclick) {
38
- this.anchorTag.onclick = (ev) => {
39
- let d = this.parentDropdown;
40
- while (d && d.autoclose) {
41
- d.isVisible = false;
42
- d = d.parentDropdown;
43
- }
44
- if (this.navbar.autoclose) {
45
- this.navbar.isExpanded$.next(false);
46
- }
47
- };
48
- }
37
+ if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {
38
+ this.anchorTag.setAttribute('close-init-a', '1');
39
+ this.anchorTag.addEventListener('click', (ev) => {
40
+ let d = this.parentDropdown;
41
+ while (d && d.autoclose) {
42
+ d.isVisible = false;
43
+ d = d.parentDropdown;
44
+ }
45
+ if (this.navbar.autoclose) {
46
+ this.navbar.isExpanded$.next(false);
47
+ }
48
+ });
49
49
  }
50
50
  }
51
51
  }
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
61
61
  type: ContentChildren,
62
62
  args: [forwardRef(() => BsNavbarDropdownComponent)]
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBT3pGLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBb0IsTUFBeUIsRUFBYyxjQUF5QyxFQUFVLE9BQW1CO1FBQTdHLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQWlFLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFLakksZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUE2QixJQUFJLENBQUM7UUFMekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQU9ELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFcEUsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBUyxFQUFFLEVBQUU7b0JBQ3JDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDcEIsMERBQTBEO29CQUMxRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO3dCQUNsQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFOzRCQUMvQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dDQUN4QyxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzs0QkFDMUIsQ0FBQyxDQUFDLENBQUM7eUJBQ0o7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQyxDQUFBO2FBQ0Y7U0FDRjthQUFNO1lBRUwsMEJBQTBCO1lBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtvQkFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFTLEVBQUUsRUFBRTt3QkFDckMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQzt3QkFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRTs0QkFDdkIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7NEJBQ3BCLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO3lCQUN0Qjt3QkFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFOzRCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7eUJBQ3JDO29CQUNILENBQUMsQ0FBQztpQkFDSDthQUNGO1NBRUY7SUFDSCxDQUFDOztrSEFsRFUscUJBQXFCO3NHQUFyQixxQkFBcUIsbUhBU0UseUJBQXlCLGlDQ2xCN0QsME9BRUs7MkZET1EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQjs7MEJBTXNCLFFBQVE7cUVBT00sU0FBUztzQkFBdEUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgT3B0aW9uYWwsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9uYXZiYXIvbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci1kcm9wZG93bi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtbmF2YmFyLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXItaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzTmF2YmFySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmF2YmFyOiBCc05hdmJhckNvbXBvbmVudCwgQE9wdGlvbmFsKCkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgIHRoaXMucGFyZW50RHJvcGRvd24gPSBwYXJlbnREcm9wZG93bjtcbiAgfVxuXG4gIHBhcmVudERyb3Bkb3duOiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50O1xuICBoYXNEcm9wZG93biA9IGZhbHNlO1xuICBhbmNob3JUYWc6IEhUTUxBbmNob3JFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50KSkgZHJvcGRvd25zITogUXVlcnlMaXN0PEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmFuY2hvclRhZyA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpIGEnKTtcblxuICAgIGlmICh0aGlzLmhhc0Ryb3Bkb3duKSB7XG4gICAgICAodGhpcy5hbmNob3JUYWcpICYmIHRoaXMuYW5jaG9yVGFnLmNsYXNzTGlzdC5hZGQoJ2Ryb3Bkb3duLXRvZ2dsZScpO1xuXG4gICAgICBpZiAodGhpcy5hbmNob3JUYWcgJiYgIXRoaXMuYW5jaG9yVGFnLm9uY2xpY2spIHtcbiAgICAgICAgdGhpcy5hbmNob3JUYWcub25jbGljayA9IChldjogRXZlbnQpID0+IHtcbiAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIC8vIE5vcm1hbGx5IHRoZXJlIHNob3VsZCBiZSBvbmx5IG9uZSBkcm9wZG93biBpbiB0aGlzIGxpc3RcbiAgICAgICAgICB0aGlzLmRyb3Bkb3ducy5mb3JFYWNoKChkcm9wZG93bikgPT4ge1xuICAgICAgICAgICAgaWYgKCEoZHJvcGRvd24uaXNWaXNpYmxlID0gIWRyb3Bkb3duLmlzVmlzaWJsZSkpIHtcbiAgICAgICAgICAgICAgZHJvcGRvd24uY2hpbGREcm9wZG93bnMuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZC5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcblxuICAgICAgLy8gQ2xvc2UgaWYgdGhpcyBpcyBhIGxpbmtcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3ducy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKHRoaXMuYW5jaG9yVGFnICYmICF0aGlzLmFuY2hvclRhZy5vbmNsaWNrKSB7XG4gICAgICAgICAgdGhpcy5hbmNob3JUYWcub25jbGljayA9IChldjogRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGxldCBkID0gdGhpcy5wYXJlbnREcm9wZG93bjtcbiAgICAgICAgICAgIHdoaWxlIChkICYmIGQuYXV0b2Nsb3NlKSB7XG4gICAgICAgICAgICAgIGQuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgIGQgPSBkLnBhcmVudERyb3Bkb3duO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubmF2YmFyLmF1dG9jbG9zZSkge1xuICAgICAgICAgICAgICB0aGlzLm5hdmJhci5pc0V4cGFuZGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIjxsaSBbY2xhc3MubmF2LWl0ZW1dPVwicGFyZW50RHJvcGRvd24gPT09IG51bGxcIiBbY2xhc3MuZHJvcGRvd25dPVwiKGRyb3Bkb3ducy5sZW5ndGggPiAwKSAmJiAocGFyZW50RHJvcGRvd24gPT09IG51bGwpXCIgW2NsYXNzLmRyb3BlbmRdPVwiKGRyb3Bkb3ducy5sZW5ndGggPiAwKSAmJiAocGFyZW50RHJvcGRvd24gIT09IG51bGwpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9saT4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBT3pGLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBb0IsTUFBeUIsRUFBYyxjQUF5QyxFQUFVLE9BQW1CO1FBQTdHLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQWlFLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFLakksZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUE2QixJQUFJLENBQUM7UUFMekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQU9ELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFcEUsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFjLEVBQUUsRUFBRTtvQkFDMUQsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNwQiwwREFBMEQ7b0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7d0JBQ2xDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7NEJBQy9DLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0NBQ3hDLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDOzRCQUMxQixDQUFDLENBQUMsQ0FBQzt5QkFDSjtvQkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDSCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7YUFBTTtZQUVMLDBCQUEwQjtZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNuRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBYyxFQUFFLEVBQUU7b0JBQzFELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7b0JBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUU7d0JBQ3ZCLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO3dCQUNwQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQztxQkFDdEI7b0JBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTt3QkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNyQztnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1NBRUY7SUFDSCxDQUFDOztrSEFsRFUscUJBQXFCO3NHQUFyQixxQkFBcUIsbUhBU0UseUJBQXlCLGlDQ2xCN0QsME9BRUs7MkZET1EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQjs7MEJBTXNCLFFBQVE7cUVBT00sU0FBUztzQkFBdEUsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgT3B0aW9uYWwsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9uYXZiYXIvbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci1kcm9wZG93bi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtbmF2YmFyLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXItaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzTmF2YmFySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmF2YmFyOiBCc05hdmJhckNvbXBvbmVudCwgQE9wdGlvbmFsKCkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgIHRoaXMucGFyZW50RHJvcGRvd24gPSBwYXJlbnREcm9wZG93bjtcbiAgfVxuXG4gIHBhcmVudERyb3Bkb3duOiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50O1xuICBoYXNEcm9wZG93biA9IGZhbHNlO1xuICBhbmNob3JUYWc6IEhUTUxBbmNob3JFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50KSkgZHJvcGRvd25zITogUXVlcnlMaXN0PEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmFuY2hvclRhZyA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpIGEnKTtcblxuICAgIGlmICh0aGlzLmhhc0Ryb3Bkb3duKSB7XG4gICAgICAodGhpcy5hbmNob3JUYWcpICYmIHRoaXMuYW5jaG9yVGFnLmNsYXNzTGlzdC5hZGQoJ2Ryb3Bkb3duLXRvZ2dsZScpO1xuXG4gICAgICBpZiAodGhpcy5hbmNob3JUYWcgJiYgIXRoaXMuYW5jaG9yVGFnLmdldEF0dHJpYnV0ZSgnY2xvc2UtaW5pdC1iJykpIHtcbiAgICAgICAgdGhpcy5hbmNob3JUYWcuc2V0QXR0cmlidXRlKCdjbG9zZS1pbml0LWInLCAnMScpO1xuICAgICAgICB0aGlzLmFuY2hvclRhZy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldjogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgLy8gTm9ybWFsbHkgdGhlcmUgc2hvdWxkIGJlIG9ubHkgb25lIGRyb3Bkb3duIGluIHRoaXMgbGlzdFxuICAgICAgICAgIHRoaXMuZHJvcGRvd25zLmZvckVhY2goKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgICAgICBpZiAoIShkcm9wZG93bi5pc1Zpc2libGUgPSAhZHJvcGRvd24uaXNWaXNpYmxlKSkge1xuICAgICAgICAgICAgICBkcm9wZG93bi5jaGlsZERyb3Bkb3ducy5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG5cbiAgICAgIC8vIENsb3NlIGlmIHRoaXMgaXMgYSBsaW5rXG4gICAgICBpZiAoKHRoaXMuZHJvcGRvd25zLmxlbmd0aCA9PT0gMCkgJiYgdGhpcy5hbmNob3JUYWcgJiYgIXRoaXMuYW5jaG9yVGFnLmdldEF0dHJpYnV0ZSgnY2xvc2UtaW5pdC1hJykpIHtcbiAgICAgICAgdGhpcy5hbmNob3JUYWcuc2V0QXR0cmlidXRlKCdjbG9zZS1pbml0LWEnLCAnMScpO1xuICAgICAgICB0aGlzLmFuY2hvclRhZy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldjogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGxldCBkID0gdGhpcy5wYXJlbnREcm9wZG93bjtcbiAgICAgICAgICB3aGlsZSAoZCAmJiBkLmF1dG9jbG9zZSkge1xuICAgICAgICAgICAgZC5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGQgPSBkLnBhcmVudERyb3Bkb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5uYXZiYXIuYXV0b2Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLm5hdmJhci5pc0V4cGFuZGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCI8bGkgW2NsYXNzLm5hdi1pdGVtXT1cInBhcmVudERyb3Bkb3duID09PSBudWxsXCIgW2NsYXNzLmRyb3Bkb3duXT1cIihkcm9wZG93bnMubGVuZ3RoID4gMCkgJiYgKHBhcmVudERyb3Bkb3duID09PSBudWxsKVwiIFtjbGFzcy5kcm9wZW5kXT1cIihkcm9wZG93bnMubGVuZ3RoID4gMCkgJiYgKHBhcmVudERyb3Bkb3duICE9PSBudWxsKVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGk+Il19
@@ -2921,10 +2921,10 @@ class BsNavbarComponent {
2921
2921
  }
2922
2922
  }
2923
2923
  BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2924
- BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose" }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@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"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe } });
2924
+ BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose" }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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: ["nav{left:0;top:0;right:0;z-index:10}@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"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe } });
2925
2925
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarComponent, decorators: [{
2926
2926
  type: Component,
2927
- args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@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"] }]
2927
+ args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\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: ["nav{left:0;top:0;right:0;z-index:10}@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"] }]
2928
2928
  }], propDecorators: { nav: [{
2929
2929
  type: ViewChild,
2930
2930
  args: ['nav']
@@ -3006,8 +3006,9 @@ class BsNavbarItemComponent {
3006
3006
  this.anchorTag = this.element.nativeElement.querySelector('li a');
3007
3007
  if (this.hasDropdown) {
3008
3008
  (this.anchorTag) && this.anchorTag.classList.add('dropdown-toggle');
3009
- if (this.anchorTag && !this.anchorTag.onclick) {
3010
- this.anchorTag.onclick = (ev) => {
3009
+ if (this.anchorTag && !this.anchorTag.getAttribute('close-init-b')) {
3010
+ this.anchorTag.setAttribute('close-init-b', '1');
3011
+ this.anchorTag.addEventListener('click', (ev) => {
3011
3012
  ev.preventDefault();
3012
3013
  // Normally there should be only one dropdown in this list
3013
3014
  this.dropdowns.forEach((dropdown) => {
@@ -3018,24 +3019,23 @@ class BsNavbarItemComponent {
3018
3019
  }
3019
3020
  });
3020
3021
  return false;
3021
- };
3022
+ });
3022
3023
  }
3023
3024
  }
3024
3025
  else {
3025
3026
  // Close if this is a link
3026
- if (this.dropdowns.length === 0) {
3027
- if (this.anchorTag && !this.anchorTag.onclick) {
3028
- this.anchorTag.onclick = (ev) => {
3029
- let d = this.parentDropdown;
3030
- while (d && d.autoclose) {
3031
- d.isVisible = false;
3032
- d = d.parentDropdown;
3033
- }
3034
- if (this.navbar.autoclose) {
3035
- this.navbar.isExpanded$.next(false);
3036
- }
3037
- };
3038
- }
3027
+ if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {
3028
+ this.anchorTag.setAttribute('close-init-a', '1');
3029
+ this.anchorTag.addEventListener('click', (ev) => {
3030
+ let d = this.parentDropdown;
3031
+ while (d && d.autoclose) {
3032
+ d.isVisible = false;
3033
+ d = d.parentDropdown;
3034
+ }
3035
+ if (this.navbar.autoclose) {
3036
+ this.navbar.isExpanded$.next(false);
3037
+ }
3038
+ });
3039
3039
  }
3040
3040
  }
3041
3041
  }
@@ -3155,28 +3155,50 @@ class NavbarContentDirective {
3155
3155
  constructor(element, platformId) {
3156
3156
  this.element = element;
3157
3157
  this.platformId = platformId;
3158
+ this.destroyed$ = new Subject();
3159
+ this.viewInit$ = new BehaviorSubject(false);
3160
+ this.navbar$ = new BehaviorSubject(null);
3161
+ this.resizeObserver = null;
3158
3162
  this.initialPadding = 0;
3159
- if (!isPlatformServer(platformId)) {
3160
- this.resizeObserver = new ResizeObserver((entries) => {
3161
- const height = entries[0].contentRect.height;
3162
- this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
3163
- });
3164
- }
3165
- else {
3166
- this.resizeObserver = null;
3167
- }
3163
+ combineLatest([this.viewInit$, this.navbar$])
3164
+ .pipe(filter(([viewInit, navbar]) => {
3165
+ return viewInit && !!navbar;
3166
+ }))
3167
+ .pipe(take(1))
3168
+ .pipe(takeUntil(this.destroyed$))
3169
+ .subscribe(([viewInit, navbar]) => {
3170
+ if (!isPlatformServer(platformId)) {
3171
+ // Initialize the ResizeObserver
3172
+ this.resizeObserver = new ResizeObserver((entries) => {
3173
+ const height = navbar
3174
+ ? navbar.nav.nativeElement.offsetHeight
3175
+ : entries[0].contentRect.height;
3176
+ this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
3177
+ });
3178
+ // Monitor the size
3179
+ const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');
3180
+ const pt = parseInt(px.replace(/px$/, ''));
3181
+ this.initialPadding = isNaN(pt) ? 0 : pt;
3182
+ if (this.resizeObserver && navbar) {
3183
+ this.resizeObserver.observe(navbar.nav.nativeElement);
3184
+ }
3185
+ }
3186
+ });
3187
+ this.destroyed$
3188
+ .pipe(filter(d => !!d))
3189
+ .subscribe(() => {
3190
+ var _a, _b;
3191
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve((_b = this.navbar$.value) === null || _b === void 0 ? void 0 : _b.nav.nativeElement);
3192
+ });
3193
+ }
3194
+ set navbar(value) {
3195
+ this.navbar$.next(value);
3168
3196
  }
3169
3197
  ngAfterViewInit() {
3170
- const pt = parseInt(this.element.nativeElement.style.paddingTop.replace(/px$/, ''));
3171
- this.initialPadding = isNaN(pt) ? 0 : pt;
3172
- if (this.resizeObserver) {
3173
- this.resizeObserver.observe(this.navbar.nav.nativeElement);
3174
- }
3198
+ this.viewInit$.next(true);
3175
3199
  }
3176
3200
  ngOnDestroy() {
3177
- if (this.resizeObserver) {
3178
- this.resizeObserver.unobserve(this.navbar.nav.nativeElement);
3179
- }
3201
+ this.destroyed$.next(true);
3180
3202
  }
3181
3203
  }
3182
3204
  NavbarContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NavbarContentDirective, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });