@mintplayer/ng-bootstrap 13.3.3 → 13.3.4

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.
@@ -1,33 +1,52 @@
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 = entries[0].contentRect.height;
26
+ this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
27
+ });
28
+ // Monitor the size
29
+ const pt = parseInt(this.element.nativeElement.style.paddingTop.replace(/px$/, ''));
30
+ this.initialPadding = isNaN(pt) ? 0 : pt;
31
+ if (this.resizeObserver && navbar) {
32
+ this.resizeObserver.observe(navbar.nav.nativeElement);
33
+ }
34
+ }
35
+ });
36
+ this.destroyed$
37
+ .pipe(filter(d => !!d))
38
+ .subscribe(() => {
39
+ this.resizeObserver?.unobserve(this.navbar$.value?.nav.nativeElement);
40
+ });
41
+ }
42
+ set navbar(value) {
43
+ this.navbar$.next(value);
19
44
  }
20
45
  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
- }
46
+ this.viewInit$.next(true);
26
47
  }
27
48
  ngOnDestroy() {
28
- if (this.resizeObserver) {
29
- this.resizeObserver.unobserve(this.navbar.nav.nativeElement);
30
- }
49
+ this.destroyed$.next(true);
31
50
  }
32
51
  }
33
52
  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 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
44
63
  type: Input,
45
64
  args: ['navbarContent']
46
65
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1jb250ZW50L25hdmJhci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFBb0IsT0FBbUIsRUFBK0IsVUFBZTtRQUFqRSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQStCLGVBQVUsR0FBVixVQUFVLENBQUs7UUFZckYsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFYakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN0RixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFPRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7O21IQTlCVSxzQkFBc0IsNENBRWdCLFdBQVc7dUdBRmpELHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzswQkFHMkMsTUFBTTsyQkFBQyxXQUFXOzRDQWNwQyxNQUFNO3NCQUE3QixLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuYXZiYXJDb250ZW50XSdcbn0pXG5leHBvcnQgY2xhc3MgTmF2YmFyQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSkge1xuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodDtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUucGFkZGluZ1RvcCA9ICh0aGlzLmluaXRpYWxQYWRkaW5nICsgaGVpZ2h0KSArICdweCc7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbDtcbiAgaW5pdGlhbFBhZGRpbmcgPSAwO1xuXG4gIEBJbnB1dCgnbmF2YmFyQ29udGVudCcpIG5hdmJhciE6IEJzTmF2YmFyQ29tcG9uZW50O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBwdCA9IHBhcnNlSW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnBhZGRpbmdUb3AucmVwbGFjZSgvcHgkLywgJycpKTtcbiAgICB0aGlzLmluaXRpYWxQYWRkaW5nID0gaXNOYU4ocHQpID8gMCA6IHB0O1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5uYXZiYXIubmF2Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLm5hdmJhci5uYXYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1jb250ZW50L25hdmJhci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUsvRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLFlBQW9CLE9BQW1CLEVBQStCLFVBQWU7UUFBakUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBK0I3RSxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUN0RSxtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFDN0MsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFsQ2pCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7YUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pDLGdDQUFnQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNuRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztvQkFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUN0RixDQUFDLENBQUMsQ0FBQztnQkFFSCxtQkFBbUI7Z0JBQ25CLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFFO29CQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2lCQUN2RDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsVUFBVTthQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFRRCxJQUE0QixNQUFNLENBQUMsS0FBd0I7UUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7O21IQWpEVSxzQkFBc0IsNENBRWdCLFdBQVc7dUdBRmpELHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzswQkFHMkMsTUFBTTsyQkFBQyxXQUFXOzRDQXFDaEMsTUFBTTtzQkFBakMsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzTmF2YmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmF2YmFyQ29udGVudF0nXG59KVxuZXhwb3J0IGNsYXNzIE5hdmJhckNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnZpZXdJbml0JCwgdGhpcy5uYXZiYXIkXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3ZpZXdJbml0LCBuYXZiYXJdKSA9PiB7XG4gICAgICAgIHJldHVybiB2aWV3SW5pdCAmJiAhIW5hdmJhcjtcbiAgICAgIH0pKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoW3ZpZXdJbml0LCBuYXZiYXJdKSA9PiB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIFJlc2l6ZU9ic2VydmVyXG4gICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5wYWRkaW5nVG9wID0gKHRoaXMuaW5pdGlhbFBhZGRpbmcgKyBoZWlnaHQpICsgJ3B4JztcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIE1vbml0b3IgdGhlIHNpemVcbiAgICAgICAgICBjb25zdCBwdCA9IHBhcnNlSW50KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnBhZGRpbmdUb3AucmVwbGFjZSgvcHgkLywgJycpKTtcbiAgICAgICAgICB0aGlzLmluaXRpYWxQYWRkaW5nID0gaXNOYU4ocHQpID8gMCA6IHB0O1xuICAgICAgICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyICYmIG5hdmJhcikge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKG5hdmJhci5uYXYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuZGVzdHJveWVkJFxuICAgICAgLnBpcGUoZmlsdGVyKGQgPT4gISFkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUodGhpcy5uYXZiYXIkLnZhbHVlPy5uYXYubmF0aXZlRWxlbWVudCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgdmlld0luaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgbmF2YmFyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNOYXZiYXJDb21wb25lbnQgfCBudWxsPihudWxsKTtcbiAgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG4gIGluaXRpYWxQYWRkaW5nID0gMDtcblxuICBASW5wdXQoJ25hdmJhckNvbnRlbnQnKSBzZXQgbmF2YmFyKHZhbHVlOiBCc05hdmJhckNvbXBvbmVudCkge1xuICAgIHRoaXMubmF2YmFyJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBcbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudmlld0luaXQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxufVxuIl19
@@ -3155,28 +3155,47 @@ 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 = entries[0].contentRect.height;
3174
+ this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';
3175
+ });
3176
+ // Monitor the size
3177
+ const pt = parseInt(this.element.nativeElement.style.paddingTop.replace(/px$/, ''));
3178
+ this.initialPadding = isNaN(pt) ? 0 : pt;
3179
+ if (this.resizeObserver && navbar) {
3180
+ this.resizeObserver.observe(navbar.nav.nativeElement);
3181
+ }
3182
+ }
3183
+ });
3184
+ this.destroyed$
3185
+ .pipe(filter(d => !!d))
3186
+ .subscribe(() => {
3187
+ var _a, _b;
3188
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve((_b = this.navbar$.value) === null || _b === void 0 ? void 0 : _b.nav.nativeElement);
3189
+ });
3190
+ }
3191
+ set navbar(value) {
3192
+ this.navbar$.next(value);
3168
3193
  }
3169
3194
  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
- }
3195
+ this.viewInit$.next(true);
3175
3196
  }
3176
3197
  ngOnDestroy() {
3177
- if (this.resizeObserver) {
3178
- this.resizeObserver.unobserve(this.navbar.nav.nativeElement);
3179
- }
3198
+ this.destroyed$.next(true);
3180
3199
  }
3181
3200
  }
3182
3201
  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 });