@mintplayer/ng-bootstrap 13.1.9 → 13.1.10
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.
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +9 -6
- package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +46 -9
- package/fesm2015/mintplayer-ng-bootstrap.mjs +51 -13
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +51 -13
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/lib/components/navbar/navbar/navbar.component.d.ts +3 -3
- package/lib/components/navbar/navbar-nav/navbar-nav.component.d.ts +10 -4
- package/package.json +1 -1
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, take } from 'rxjs';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class BsNavbarComponent {
|
|
4
5
|
constructor() {
|
|
5
|
-
this.isExpanded = false;
|
|
6
|
+
this.isExpanded$ = new BehaviorSubject(false);
|
|
6
7
|
}
|
|
7
8
|
toggleExpanded() {
|
|
8
|
-
this.isExpanded
|
|
9
|
+
this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
|
|
10
|
+
this.isExpanded$.next(!isExpanded);
|
|
11
|
+
});
|
|
9
12
|
}
|
|
10
13
|
}
|
|
11
14
|
BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", 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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\"
|
|
15
|
+
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", 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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", 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}}\n"] });
|
|
13
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, decorators: [{
|
|
14
17
|
type: Component,
|
|
15
|
-
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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\"
|
|
16
|
-
}],
|
|
18
|
+
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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", 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}}\n"] }]
|
|
19
|
+
}], propDecorators: { nav: [{
|
|
17
20
|
type: ViewChild,
|
|
18
21
|
args: ['nav']
|
|
19
22
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPN0MsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVNFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0FPbkQ7SUFOQyxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQVRVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDZJQ1I5QiwrZkFVTTsyRkRGTyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFNSCxHQUFHO3NCQUFwQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoJ25hdicpIG5hdiE6IEVsZW1lbnRSZWY7XG5cbiAgaXNFeHBhbmRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdG9nZ2xlRXhwYW5kZWQoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaXNFeHBhbmRlZCkgPT4ge1xuICAgICAgdGhpcy5pc0V4cGFuZGVkJC5uZXh0KCFpc0V4cGFuZGVkKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8bmF2ICNuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBwb3NpdGlvbi1maXhlZCBuYXZiYXItZGFyayBiZy1kYXJrXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHctMTAwIHctbWQtYXV0b1wiPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJuYXZiYXItYnJhbmQgbXgtYXV0byBteC1tZC11bnNldFwiIGhyZWY9XCIjXCI+TmF2YmFyIDI8L2E+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgpXCIgY2xhc3M9XCJuYXZiYXItdG9nZ2xlciBhbGlnbi1zZWxmLWVuZFwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmF2PiJdfQ==
|
|
@@ -1,30 +1,67 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, HostListener, Input } from '@angular/core';
|
|
2
2
|
import { BsNavbarComponent } from '../navbar/navbar.component';
|
|
3
3
|
import { SlideUpDownAnimation } from '@mintplayer/ng-animations';
|
|
4
|
+
import { BehaviorSubject, combineLatest, debounceTime, filter, map, Subject, takeUntil } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../navbar/navbar.component";
|
|
6
7
|
import * as i2 from "@angular/common";
|
|
7
8
|
export class BsNavbarNavComponent {
|
|
8
9
|
constructor(bsNavbar) {
|
|
9
|
-
|
|
10
|
-
this.
|
|
10
|
+
this.collapse$ = new BehaviorSubject(true);
|
|
11
|
+
this.windowWidth$ = new BehaviorSubject(null);
|
|
12
|
+
this.isResizing$ = new BehaviorSubject(false);
|
|
13
|
+
this.destroyed$ = new Subject();
|
|
11
14
|
this.bsNavbar = bsNavbar;
|
|
15
|
+
this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.windowWidth$])
|
|
16
|
+
.pipe(filter(([isExpanded, windowWidth]) => {
|
|
17
|
+
return windowWidth !== null;
|
|
18
|
+
}))
|
|
19
|
+
.pipe(map(([isExpanded, windowWidth]) => {
|
|
20
|
+
if (windowWidth === null) {
|
|
21
|
+
throw 'windowWidth should not be null here';
|
|
22
|
+
}
|
|
23
|
+
else if (windowWidth >= 768) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
else if (isExpanded) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}));
|
|
33
|
+
this.windowWidth$
|
|
34
|
+
.pipe(debounceTime(300), takeUntil(this.destroyed$))
|
|
35
|
+
.subscribe(() => {
|
|
36
|
+
this.isResizing$.next(false);
|
|
37
|
+
});
|
|
38
|
+
this.onWindowResize();
|
|
12
39
|
}
|
|
13
|
-
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
this.destroyed$.next(true);
|
|
14
42
|
}
|
|
43
|
+
//#region collapse
|
|
15
44
|
set collapse(value) {
|
|
16
|
-
this.
|
|
45
|
+
this.collapse$.next(value);
|
|
17
46
|
}
|
|
18
47
|
get collapse() {
|
|
19
|
-
return this.
|
|
48
|
+
return this.collapse$.value;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
onWindowResize() {
|
|
52
|
+
this.isResizing$.next(true);
|
|
53
|
+
this.windowWidth$.next(window.innerWidth);
|
|
20
54
|
}
|
|
21
55
|
}
|
|
22
56
|
BsNavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, deps: [{ token: i1.BsNavbarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, ngImport: i0, template: "<div class=\"navbar-collapse
|
|
57
|
+
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", 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"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, animations: [SlideUpDownAnimation] });
|
|
24
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, decorators: [{
|
|
25
59
|
type: Component,
|
|
26
|
-
args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse
|
|
60
|
+
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"] }]
|
|
27
61
|
}], ctorParameters: function () { return [{ type: i1.BsNavbarComponent }]; }, propDecorators: { collapse: [{
|
|
28
62
|
type: Input
|
|
63
|
+
}], onWindowResize: [{
|
|
64
|
+
type: HostListener,
|
|
65
|
+
args: ['window:resize']
|
|
29
66
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLW5hdi9uYXZiYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItbmF2L25hdmJhci1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBYyxNQUFNLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFRN0gsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFZLFFBQTJCO1FBMkJ2QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDL0MsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFFeEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQTlCekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDekMsT0FBTyxXQUFXLEtBQUssSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO2FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUN4QixNQUFNLHFDQUFxQyxDQUFDO2FBQzdDO2lCQUFNLElBQUksV0FBVyxJQUFJLEdBQUcsRUFBRTtnQkFDN0IsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTSxJQUFJLFVBQVUsRUFBRTtnQkFDckIsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVOLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBU0QsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBb0IsUUFBUSxDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxZQUFZO0lBR1osY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDOztpSEFwRFUsb0JBQW9CO3FHQUFwQixvQkFBb0IscUpDWGpDLGdRQUlNLGtTREtRLENBQUMsb0JBQW9CLENBQUM7MkZBRXZCLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsQ0FBQyxvQkFBb0IsQ0FBQzt3R0EwQ2QsUUFBUTtzQkFBM0IsS0FBSztnQkFTTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzTmF2YmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVVcERvd25BbmltYXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1hbmltYXRpb25zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBleGhhdXN0QWxsLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhci1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmJhci1uYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1NsaWRlVXBEb3duQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhck5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoYnNOYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5ic05hdmJhciA9IGJzTmF2YmFyO1xuICAgIHRoaXMuc2hvd05hdnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5ic05hdmJhci5pc0V4cGFuZGVkJCwgdGhpcy53aW5kb3dXaWR0aCRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbaXNFeHBhbmRlZCwgd2luZG93V2lkdGhdKSA9PiB7XG4gICAgICAgIHJldHVybiB3aW5kb3dXaWR0aCAhPT0gbnVsbDtcbiAgICAgIH0pKVxuICAgICAgLnBpcGUobWFwKChbaXNFeHBhbmRlZCwgd2luZG93V2lkdGhdKSA9PiB7XG4gICAgICAgIGlmICh3aW5kb3dXaWR0aCA9PT0gbnVsbCkge1xuICAgICAgICAgIHRocm93ICd3aW5kb3dXaWR0aCBzaG91bGQgbm90IGJlIG51bGwgaGVyZSc7XG4gICAgICAgIH0gZWxzZSBpZiAod2luZG93V2lkdGggPj0gNzY4KSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNFeHBhbmRlZCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgdGhpcy53aW5kb3dXaWR0aCRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzUmVzaXppbmckLm5leHQoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgdGhpcy5vbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG4gIFxuICBic05hdmJhcjogQnNOYXZiYXJDb21wb25lbnQ7XG4gIGNvbGxhcHNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHdpbmRvd1dpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHNob3dOYXZzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNSZXNpemluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIFxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuICBcbiAgLy8jcmVnaW9uIGNvbGxhcHNlXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgY29sbGFwc2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbGxhcHNlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbGxhcHNlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbGxhcHNlJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgdGhpcy5pc1Jlc2l6aW5nJC5uZXh0KHRydWUpO1xuICAgIHRoaXMud2luZG93V2lkdGgkLm5leHQod2luZG93LmlubmVyV2lkdGgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlIHctMTAwIHNob3dcIiBbY2xhc3MuY29sbGFwc2VdPVwiY29sbGFwc2UkIHwgYXN5bmNcIiAqbmdJZj1cInNob3dOYXZzJCB8IGFzeW5jXCIgW0BzbGlkZVVwRG93bl0gW0AuZGlzYWJsZWRdPVwiaXNSZXNpemluZyQgfCBhc3luY1wiPlxuICAgIDx1bCBjbGFzcz1cIm5hdmJhci1uYXYgbXItYXV0b1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC91bD5cbjwvZGl2PiJdfQ==
|
|
@@ -4,7 +4,7 @@ import * as i1 from '@angular/common';
|
|
|
4
4
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
5
5
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
6
6
|
import { SlideUpDownAnimation, FadeInOutAnimation, CarouselSlideAnimation, ColorTransitionAnimation } from '@mintplayer/ng-animations';
|
|
7
|
-
import { Subject, BehaviorSubject, map, takeUntil, filter, take, Observable, combineLatest } from 'rxjs';
|
|
7
|
+
import { Subject, BehaviorSubject, map, takeUntil, filter, take, Observable, combineLatest, debounceTime } from 'rxjs';
|
|
8
8
|
import { map as map$1, takeUntil as takeUntil$1, take as take$1 } from 'rxjs/operators';
|
|
9
9
|
import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
|
|
10
10
|
import * as i1$1 from '@angular/cdk/overlay';
|
|
@@ -1411,44 +1411,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1411
1411
|
|
|
1412
1412
|
class BsNavbarComponent {
|
|
1413
1413
|
constructor() {
|
|
1414
|
-
this.isExpanded = false;
|
|
1414
|
+
this.isExpanded$ = new BehaviorSubject(false);
|
|
1415
1415
|
}
|
|
1416
1416
|
toggleExpanded() {
|
|
1417
|
-
this.isExpanded
|
|
1417
|
+
this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
|
|
1418
|
+
this.isExpanded$.next(!isExpanded);
|
|
1419
|
+
});
|
|
1418
1420
|
}
|
|
1419
1421
|
}
|
|
1420
1422
|
BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1421
|
-
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", 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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\"
|
|
1423
|
+
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", 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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", 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}}\n"] });
|
|
1422
1424
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, decorators: [{
|
|
1423
1425
|
type: Component,
|
|
1424
|
-
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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\"
|
|
1425
|
-
}],
|
|
1426
|
+
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 <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", 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}}\n"] }]
|
|
1427
|
+
}], propDecorators: { nav: [{
|
|
1426
1428
|
type: ViewChild,
|
|
1427
1429
|
args: ['nav']
|
|
1428
1430
|
}] } });
|
|
1429
1431
|
|
|
1430
1432
|
class BsNavbarNavComponent {
|
|
1431
1433
|
constructor(bsNavbar) {
|
|
1432
|
-
|
|
1433
|
-
this.
|
|
1434
|
+
this.collapse$ = new BehaviorSubject(true);
|
|
1435
|
+
this.windowWidth$ = new BehaviorSubject(null);
|
|
1436
|
+
this.isResizing$ = new BehaviorSubject(false);
|
|
1437
|
+
this.destroyed$ = new Subject();
|
|
1434
1438
|
this.bsNavbar = bsNavbar;
|
|
1439
|
+
this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.windowWidth$])
|
|
1440
|
+
.pipe(filter(([isExpanded, windowWidth]) => {
|
|
1441
|
+
return windowWidth !== null;
|
|
1442
|
+
}))
|
|
1443
|
+
.pipe(map(([isExpanded, windowWidth]) => {
|
|
1444
|
+
if (windowWidth === null) {
|
|
1445
|
+
throw 'windowWidth should not be null here';
|
|
1446
|
+
}
|
|
1447
|
+
else if (windowWidth >= 768) {
|
|
1448
|
+
return true;
|
|
1449
|
+
}
|
|
1450
|
+
else if (isExpanded) {
|
|
1451
|
+
return true;
|
|
1452
|
+
}
|
|
1453
|
+
else {
|
|
1454
|
+
return false;
|
|
1455
|
+
}
|
|
1456
|
+
}));
|
|
1457
|
+
this.windowWidth$
|
|
1458
|
+
.pipe(debounceTime(300), takeUntil(this.destroyed$))
|
|
1459
|
+
.subscribe(() => {
|
|
1460
|
+
this.isResizing$.next(false);
|
|
1461
|
+
});
|
|
1462
|
+
this.onWindowResize();
|
|
1435
1463
|
}
|
|
1436
|
-
|
|
1464
|
+
ngOnDestroy() {
|
|
1465
|
+
this.destroyed$.next(true);
|
|
1437
1466
|
}
|
|
1467
|
+
//#region collapse
|
|
1438
1468
|
set collapse(value) {
|
|
1439
|
-
this.
|
|
1469
|
+
this.collapse$.next(value);
|
|
1440
1470
|
}
|
|
1441
1471
|
get collapse() {
|
|
1442
|
-
return this.
|
|
1472
|
+
return this.collapse$.value;
|
|
1473
|
+
}
|
|
1474
|
+
//#endregion
|
|
1475
|
+
onWindowResize() {
|
|
1476
|
+
this.isResizing$.next(true);
|
|
1477
|
+
this.windowWidth$.next(window.innerWidth);
|
|
1443
1478
|
}
|
|
1444
1479
|
}
|
|
1445
1480
|
BsNavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, deps: [{ token: BsNavbarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1446
|
-
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, ngImport: i0, template: "<div class=\"navbar-collapse
|
|
1481
|
+
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", 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"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [SlideUpDownAnimation] });
|
|
1447
1482
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, decorators: [{
|
|
1448
1483
|
type: Component,
|
|
1449
|
-
args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse
|
|
1484
|
+
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"] }]
|
|
1450
1485
|
}], ctorParameters: function () { return [{ type: BsNavbarComponent }]; }, propDecorators: { collapse: [{
|
|
1451
1486
|
type: Input
|
|
1487
|
+
}], onWindowResize: [{
|
|
1488
|
+
type: HostListener,
|
|
1489
|
+
args: ['window:resize']
|
|
1452
1490
|
}] } });
|
|
1453
1491
|
|
|
1454
1492
|
class BsNavbarItemComponent {
|