@mintplayer/ng-bootstrap 15.16.0 → 15.16.1

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,18 +1,23 @@
1
1
  import { DOCUMENT, isPlatformServer } from '@angular/common';
2
- import { Component, ContentChildren, ElementRef, forwardRef, Host, Inject, Input, Optional, PLATFORM_ID, QueryList, SkipSelf, ViewChild } from '@angular/core';
2
+ import { Component, ContentChildren, ElementRef, forwardRef, Host, Inject, Injector, Input, Optional, PLATFORM_ID, QueryList, SkipSelf, ViewChild } from '@angular/core';
3
3
  import { BehaviorSubject, combineLatest, map, Subject, takeUntil } from 'rxjs';
4
4
  import { BsNavbarComponent } from '../navbar/navbar.component';
5
5
  import { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';
6
+ import { DomPortal } from '@angular/cdk/portal';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../navbar/navbar.component";
8
9
  import * as i2 from "@mintplayer/ng-click-outside";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "../navbar-item/navbar-item.component";
10
+ import * as i3 from "@mintplayer/ng-bootstrap/no-noscript";
11
+ import * as i4 from "@mintplayer/ng-bootstrap/has-overlay";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "../navbar-item/navbar-item.component";
11
14
  export class BsNavbarDropdownComponent {
12
- constructor(navbar, parentDropdown, navbarItem, element, document, platformId) {
15
+ constructor(navbar, parentDropdown, navbarItem, element, injector, document, platformId) {
13
16
  this.navbar = navbar;
14
17
  this.element = element;
18
+ this.injector = injector;
15
19
  this.document = document;
20
+ this.isAttached = false;
16
21
  this.autoclose = true;
17
22
  this.destroyed$ = new Subject();
18
23
  this.isBrowser = false;
@@ -24,6 +29,7 @@ export class BsNavbarDropdownComponent {
24
29
  this.isBrowser = !isPlatformServer(platformId);
25
30
  this.isVisible$.pipe(takeUntil(this.destroyed$)).subscribe((isVisible) => {
26
31
  if (isVisible) {
32
+ setTimeout(() => this.overlay && this.overlay.updatePosition(), 20);
27
33
  this.topPos$.next(this.element.nativeElement.offsetTop);
28
34
  }
29
35
  else {
@@ -47,10 +53,48 @@ export class BsNavbarDropdownComponent {
47
53
  if (isSmallMode) {
48
54
  return null;
49
55
  }
56
+ else if (isPlatformServer(platformId)) {
57
+ // Javascript disabled
58
+ // Only apply max-height to the top-dropdown
59
+ return parentDropdown ? null : maxHeight;
60
+ }
50
61
  else {
62
+ // If javascript enabled
51
63
  return maxHeight;
52
64
  }
53
65
  }));
66
+ if (!!parentDropdown) {
67
+ // Setup overlay
68
+ import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {
69
+ const overlayService = this.injector.get(Overlay);
70
+ return overlayService;
71
+ }).then((overlayService) => {
72
+ this.domPortal = new DomPortal(this.element);
73
+ this.overlay = overlayService.create({
74
+ positionStrategy: overlayService.position()
75
+ .flexibleConnectedTo(this.navbarItem.element)
76
+ .withPositions([
77
+ { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -7, offsetY: -9 }
78
+ ])
79
+ });
80
+ // For some reason we have to trigger this from the BsDropdownItem
81
+ // this.showInOverlay = true;
82
+ });
83
+ }
84
+ }
85
+ set showInOverlay(value) {
86
+ if (this.overlay && this.domPortal) {
87
+ console.log('showInOverlay', value);
88
+ // if (value && !this.overlay.hasAttached()) {
89
+ if (value && !this.isAttached) {
90
+ this.overlay.attach(this.domPortal);
91
+ this.isAttached = true;
92
+ }
93
+ if (!value && this.isAttached) {
94
+ this.overlay.detach();
95
+ this.isAttached = false;
96
+ }
97
+ }
54
98
  }
55
99
  get isVisible() {
56
100
  return this.isVisible$.value;
@@ -66,23 +110,23 @@ export class BsNavbarDropdownComponent {
66
110
  this.destroyed$.next(true);
67
111
  }
68
112
  }
69
- BsNavbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarDropdownComponent, deps: [{ token: i1.BsNavbarComponent }, { token: BsNavbarDropdownComponent, host: true, optional: true, skipSelf: true }, { token: forwardRef(() => BsNavbarItemComponent), host: true }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
70
- BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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: "<!-- <bs-has-overlay></bs-has-overlay> -->\n<!-- [class.overflow-auto]=\"isBrowser\" -->\n<!-- [style.max-height]=\"maxHeightOrNull$ | async\" -->\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", 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.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
113
+ BsNavbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarDropdownComponent, deps: [{ token: i1.BsNavbarComponent }, { token: BsNavbarDropdownComponent, host: true, optional: true, skipSelf: true }, { token: forwardRef(() => BsNavbarItemComponent), host: true }, { token: i0.ElementRef }, { token: i0.Injector }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
114
+ BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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: "<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull$ | async\" bsNoNoscript (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", styles: [".submenu:not(.noscript){margin:0 .5rem!important}.submenu.noscript{margin:0 .5rem;position:initial!important}:not(.submenu).noscript{max-height:calc(100vh - 100% - 1rem);overflow-y:auto}.overflow-y-auto{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "directive", type: i3.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "component", type: i4.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
71
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarDropdownComponent, decorators: [{
72
116
  type: Component,
73
- args: [{ selector: 'bs-navbar-dropdown', template: "<!-- <bs-has-overlay></bs-has-overlay> -->\n<!-- [class.overflow-auto]=\"isBrowser\" -->\n<!-- [style.max-height]=\"maxHeightOrNull$ | async\" -->\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", 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"] }]
117
+ args: [{ selector: 'bs-navbar-dropdown', template: "<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull$ | async\" bsNoNoscript (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", styles: [".submenu:not(.noscript){margin:0 .5rem!important}.submenu.noscript{margin:0 .5rem;position:initial!important}:not(.submenu).noscript{max-height:calc(100vh - 100% - 1rem);overflow-y:auto}.overflow-y-auto{overflow-y:auto}\n"] }]
74
118
  }], ctorParameters: function () { return [{ type: i1.BsNavbarComponent }, { type: BsNavbarDropdownComponent, decorators: [{
75
119
  type: SkipSelf
76
120
  }, {
77
121
  type: Host
78
122
  }, {
79
123
  type: Optional
80
- }] }, { type: i4.BsNavbarItemComponent, decorators: [{
124
+ }] }, { type: i6.BsNavbarItemComponent, decorators: [{
81
125
  type: Host
82
126
  }, {
83
127
  type: Inject,
84
128
  args: [forwardRef(() => BsNavbarItemComponent)]
85
- }] }, { type: i0.ElementRef }, { type: Document, decorators: [{
129
+ }] }, { type: i0.ElementRef }, { type: i0.Injector }, { type: Document, decorators: [{
86
130
  type: Inject,
87
131
  args: [DOCUMENT]
88
132
  }] }, { type: Object, decorators: [{
@@ -97,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
97
141
  type: ContentChildren,
98
142
  args: [forwardRef(() => BsNavbarDropdownComponent), { descendants: true }]
99
143
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUssT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQU83RSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQ1UsTUFBeUIsRUFDRCxjQUF5QyxFQUNoQixVQUFpQyxFQUNuRixPQUFnQyxFQUNiLFFBQWtCLEVBQ3ZCLFVBQWtCO1FBTC9CLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRzFCLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBQ2IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQW9DOUIsY0FBUyxHQUFHLElBQUks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cUJBQXFCLENBQUMsbURBRS9DLFFBQVEsYUFDUixXQUFXOzBHQVJWLHlCQUF5QixnS0FtRUYseUJBQXlCLDJKQzlFN0QsbXZCQWVLOzJGREpRLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQVEzQixRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFROzswQkFDNUIsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7OzBCQUV0RCxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsV0FBVzs0Q0FtQ0wsU0FBUztzQkFBeEIsS0FBSztnQkFJVyxlQUFlO3NCQUEvQixTQUFTO3VCQUFDLElBQUk7Z0JBb0JzRSxjQUFjO3NCQUFsRyxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBQTEFURk9STV9JRCwgUXVlcnlMaXN0LCBTa2lwU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzTmF2YmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhci1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5hdmJhcjogQnNOYXZiYXJDb21wb25lbnQsXG4gICAgQFNraXBTZWxmKCkgQEhvc3QoKSBAT3B0aW9uYWwoKSBwYXJlbnREcm9wZG93bjogQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBASG9zdCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckl0ZW1Db21wb25lbnQpKSBuYXZiYXJJdGVtOiBCc05hdmJhckl0ZW1Db21wb25lbnQsXG4gICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgKSB7XG4gICAgdGhpcy5wYXJlbnREcm9wZG93biA9IHBhcmVudERyb3Bkb3duO1xuICAgIHRoaXMubmF2YmFySXRlbSA9IG5hdmJhckl0ZW07XG4gICAgdGhpcy5pc0Jyb3dzZXIgPSAhaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKTtcblxuICAgIHRoaXMuaXNWaXNpYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKGlzVmlzaWJsZSkgPT4ge1xuICAgICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICB0aGlzLnRvcFBvcyQubmV4dCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3BQb3MkLm5leHQobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm1heEhlaWdodCQgPSB0aGlzLnRvcFBvcyQucGlwZShtYXAoKHRvcFBvcykgPT4ge1xuICAgICAgY29uc3QgdzogV2luZG93IHwgbnVsbCA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgICBpZiAoIXRvcFBvcykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gZWxzZSBpZiAodykge1xuICAgICAgICBjb25zdCBzdHlsZSA9IHcuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRyb3Bkb3duRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGBjYWxjKDEwMHZoIC0gJHt0b3BQb3N9cHggLSAke3N0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctdG9wJyl9IC0gJHtzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWJvdHRvbScpfSlgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgdGhpcy5tYXhIZWlnaHRPck51bGwkID0gY29tYmluZUxhdGVzdChbdGhpcy5tYXhIZWlnaHQkLCB0aGlzLm5hdmJhci5pc1NtYWxsTW9kZSRdKS5waXBlKG1hcCgoW21heEhlaWdodCwgaXNTbWFsbE1vZGVdKSA9PiB7XG4gICAgICBpZiAoaXNTbWFsbE1vZGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvY2xvc2UgPSB0cnVlO1xuICBuYXZiYXJJdGVtOiBCc05hdmJhckl0ZW1Db21wb25lbnQ7XG4gIHBhcmVudERyb3Bkb3duOiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50O1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xuICBAVmlld0NoaWxkKCdkZCcpIGRyb3Bkb3duRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBpc0Jyb3dzZXIgPSBmYWxzZTtcbiAgdG9wUG9zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIG1heEhlaWdodCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD47XG4gIG1heEhlaWdodE9yTnVsbCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD47XG5cbiAgLy8jcmVnaW9uIElzVmlzaWJsZVxuICBpc1Zpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBnZXQgaXNWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSQudmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBpc1Zpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzVmlzaWJsZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgZ2V0IGVsZW1lbnRzVG9FeGNsdWRlKCkge1xuICAgIHJldHVybiBbdGhpcy5uYXZiYXJJdGVtLmFuY2hvclRhZ10uZmlsdGVyKChhKSA9PiBhKS5tYXAoKGEpID0+IDxIVE1MRWxlbWVudD5hKTtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBjaGlsZERyb3Bkb3ducyE6IFF1ZXJ5TGlzdDxCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50PjtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxufVxuIiwiPCEtLSA8YnMtaGFzLW92ZXJsYXk+PC9icy1oYXMtb3ZlcmxheT4gLS0+XG48IS0tIFtjbGFzcy5vdmVyZmxvdy1hdXRvXT1cImlzQnJvd3NlclwiIC0tPlxuPCEtLSBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRPck51bGwkIHwgYXN5bmNcIiAtLT5cbjx1bCAjZGQgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgW2NsYXNzLnNob3ddPVwiaXNWaXNpYmxlJCB8IGFzeW5jXCIgW2NsYXNzLnN1Ym1lbnVdPVwiISFwYXJlbnREcm9wZG93blwiIChjbGlja091dHNpZGUpPVwiaXNWaXNpYmxlID0gZmFsc2VcIiBbZXhjbHVkZV09XCJlbGVtZW50c1RvRXhjbHVkZVwiIGFyaWEtbGFiZWxsZWRieT1cIm5hdmJhckRyb3Bkb3duXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC91bD5cblxuPCEtLSBcbiAgICAtIFdvcmtpbmcgZGVtbzogaHR0cHM6Ly9jb2RlcGVuLmlvL2Fnb3AvcGVuL1Z3d01HUlxuICAgIC0gTG9jYXRpb24gbXVzdCBiZSBzZXQgdGhyb3VnaCBqYXZhc2NyaXB0XG4gICAgLSBic05vU2NyaXB0ID0+IElmIG5vc2NyaXB0LCAybmQtbGV2ZWwgc3VibWVudXMgbXVzdCBiZSBzaG93biBpbnNpZGUgdGhlIDFzdC1sZXZlbCBzdWJtZW51XG4gLS0+XG4gPCEtLSBcbiAgICAtIEFub3RoZXIgb3B0aW9uOiBodHRwczovL3N0YWNrYmxpdHouY29tL2VkaXQvd2ViLXBsYXRmb3JtLXZtc3I0bD9maWxlPWluZGV4Lmh0bWxcbiAgICAtIEJ1dCB0aGlzIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGhlcmVcbiAgLS0+Il19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BMLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUNVLE1BQXlCLEVBQ0QsY0FBeUMsRUFDaEIsVUFBaUMsRUFDbkYsT0FBZ0MsRUFDL0IsUUFBa0IsRUFDQSxRQUFrQixFQUN2QixVQUFrQjtRQU4vQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUcxQixZ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SztnQkFJVyxlQUFlO3NCQUEvQixTQUFTO3VCQUFDLElBQUk7Z0JBb0JzRSxjQUFjO3NCQUFsRyxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgUExBVEZPUk1fSUQsIFF1ZXJ5TGlzdCwgU2tpcFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1uYXZiYXItZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEBTa2lwU2VsZigpIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQEhvc3QoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gQnNOYXZiYXJJdGVtQ29tcG9uZW50KSkgbmF2YmFySXRlbTogQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICkge1xuICAgIHRoaXMucGFyZW50RHJvcGRvd24gPSBwYXJlbnREcm9wZG93bjtcbiAgICB0aGlzLm5hdmJhckl0ZW0gPSBuYXZiYXJJdGVtO1xuICAgIHRoaXMuaXNCcm93c2VyID0gIWlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG5cbiAgICB0aGlzLmlzVmlzaWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChpc1Zpc2libGUpID0+IHtcbiAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm92ZXJsYXkgJiYgdGhpcy5vdmVybGF5LnVwZGF0ZVBvc2l0aW9uKCksIDIwKTtcbiAgICAgICAgdGhpcy50b3BQb3MkLm5leHQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9wUG9zJC5uZXh0KG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5tYXhIZWlnaHQkID0gdGhpcy50b3BQb3MkLnBpcGUobWFwKCh0b3BQb3MpID0+IHtcbiAgICAgIGNvbnN0IHc6IFdpbmRvdyB8IG51bGwgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgICAgaWYgKCF0b3BQb3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHcpIHtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3LmdldENvbXB1dGVkU3R5bGUodGhpcy5kcm9wZG93bkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDB2aCAtICR7dG9wUG9zfXB4IC0gJHtzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpfSAtICR7c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1ib3R0b20nKX0pYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHRoaXMubWF4SGVpZ2h0T3JOdWxsJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubWF4SGVpZ2h0JCwgdGhpcy5uYXZiYXIuaXNTbWFsbE1vZGUkXSkucGlwZShtYXAoKFttYXhIZWlnaHQsIGlzU21hbGxNb2RlXSkgPT4ge1xuICAgICAgaWYgKGlzU21hbGxNb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICAgIC8vIEphdmFzY3JpcHQgZGlzYWJsZWRcbiAgICAgICAgLy8gT25seSBhcHBseSBtYXgtaGVpZ2h0IHRvIHRoZSB0b3AtZHJvcGRvd25cbiAgICAgICAgcmV0dXJuIHBhcmVudERyb3Bkb3duID8gbnVsbCA6IG1heEhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIGphdmFzY3JpcHQgZW5hYmxlZFxuICAgICAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIGlmICghIXBhcmVudERyb3Bkb3duKSB7XG4gICAgICAvLyBTZXR1cCBvdmVybGF5XG4gICAgICBpbXBvcnQoJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JykudGhlbigoeyBPdmVybGF5TW9kdWxlLCBPdmVybGF5IH0pID0+IHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPdmVybGF5KTtcbiAgICAgICAgcmV0dXJuIG92ZXJsYXlTZXJ2aWNlO1xuICAgICAgfSkudGhlbigob3ZlcmxheVNlcnZpY2UpID0+IHtcblxuICAgICAgICB0aGlzLmRvbVBvcnRhbCA9IG5ldyBEb21Qb3J0YWwodGhpcy5lbGVtZW50KTtcbiAgICAgICAgdGhpcy5vdmVybGF5ID0gb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBvdmVybGF5U2VydmljZS5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm5hdmJhckl0ZW0uZWxlbWVudClcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IC03LCBvZmZzZXRZOiAtOSB9XG4gICAgICAgICAgICBdKVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gd2UgaGF2ZSB0byB0cmlnZ2VyIHRoaXMgZnJvbSB0aGUgQnNEcm9wZG93bkl0ZW1cbiAgICAgICAgLy8gdGhpcy5zaG93SW5PdmVybGF5ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dGFjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgZG9tUG9ydGFsPzogRG9tUG9ydGFsO1xuICBwcml2YXRlIG92ZXJsYXk/OiBPdmVybGF5UmVmO1xuICBwdWJsaWMgc2V0IHNob3dJbk92ZXJsYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5vdmVybGF5ICYmIHRoaXMuZG9tUG9ydGFsKSB7XG4gICAgICBjb25zb2xlLmxvZygnc2hvd0luT3ZlcmxheScsIHZhbHVlKTtcbiAgICAgIC8vIGlmICh2YWx1ZSAmJiAhdGhpcy5vdmVybGF5Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5pc0F0dGFjaGVkKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2godGhpcy5kb21Qb3J0YWwpO1xuICAgICAgICB0aGlzLmlzQXR0YWNoZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKCF2YWx1ZSAmJiB0aGlzLmlzQXR0YWNoZWQpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5LmRldGFjaCgpO1xuICAgICAgICB0aGlzLmlzQXR0YWNoZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2Nsb3NlID0gdHJ1ZTtcbiAgbmF2YmFySXRlbTogQnNOYXZiYXJJdGVtQ29tcG9uZW50O1xuICBwYXJlbnREcm9wZG93bjogQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudDtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgQFZpZXdDaGlsZCgnZGQnKSBkcm9wZG93bkVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNCcm93c2VyID0gZmFsc2U7XG4gIHRvcFBvcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICBtYXhIZWlnaHQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xuICBtYXhIZWlnaHRPck51bGwkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xuXG4gIC8vI3JlZ2lvbiBJc1Zpc2libGVcbiAgaXNWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgZ2V0IGlzVmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1Zpc2libGUkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGdldCBlbGVtZW50c1RvRXhjbHVkZSgpIHtcbiAgICByZXR1cm4gW3RoaXMubmF2YmFySXRlbS5hbmNob3JUYWddLmZpbHRlcigoYSkgPT4gYSkubWFwKChhKSA9PiA8SFRNTEVsZW1lbnQ+YSk7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgY2hpbGREcm9wZG93bnMhOiBRdWVyeUxpc3Q8QnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudD47XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjxicy1oYXMtb3ZlcmxheT48L2JzLWhhcy1vdmVybGF5PlxuPHVsICNkZCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBbY2xhc3Muc2hvd109XCJpc1Zpc2libGUkIHwgYXN5bmNcIiBbY2xhc3Muc3VibWVudV09XCIhIXBhcmVudERyb3Bkb3duXCIgW2NsYXNzLm92ZXJmbG93LXktYXV0b109XCJpc0Jyb3dzZXJcIiBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRPck51bGwkIHwgYXN5bmNcIiBic05vTm9zY3JpcHQgKGNsaWNrT3V0c2lkZSk9XCJpc1Zpc2libGUgPSBmYWxzZVwiIFtleGNsdWRlXT1cImVsZW1lbnRzVG9FeGNsdWRlXCIgYXJpYS1sYWJlbGxlZGJ5PVwibmF2YmFyRHJvcGRvd25cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3VsPlxuXG48IS0tIFxuICAgIC0gV29ya2luZyBkZW1vOiBodHRwczovL2NvZGVwZW4uaW8vYWdvcC9wZW4vVnd3TUdSXG4gICAgLSBMb2NhdGlvbiBtdXN0IGJlIHNldCB0aHJvdWdoIGphdmFzY3JpcHRcbiAgICAtIGJzTm9TY3JpcHQgPT4gSWYgbm9zY3JpcHQsIDJuZC1sZXZlbCBzdWJtZW51cyBtdXN0IGJlIHNob3duIGluc2lkZSB0aGUgMXN0LWxldmVsIHN1Ym1lbnVcbiAtLT5cbiA8IS0tIFxuICAgIC0gQW5vdGhlciBvcHRpb246IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZWRpdC93ZWItcGxhdGZvcm0tdm1zcjRsP2ZpbGU9aW5kZXguaHRtbFxuICAgIC0gQnV0IHRoaXMgZG9lc24ndCBzZWVtIHRvIHdvcmsgaGVyZVxuICAtLT4iXX0=
@@ -1,18 +1,22 @@
1
- import { Component, ContentChildren, ElementRef, forwardRef, Inject, Injector, Optional, PLATFORM_ID, QueryList } from '@angular/core';
1
+ import { Component, ContentChildren, ElementRef, forwardRef, Inject, Optional, PLATFORM_ID, QueryList } from '@angular/core';
2
+ import { isPlatformServer } from '@angular/common';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
2
5
  import { BsNavbarComponent } from '../navbar/navbar.component';
3
6
  import { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';
4
- import { isPlatformServer } from '@angular/common';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "../navbar/navbar.component";
7
9
  import * as i2 from "../navbar-dropdown/navbar-dropdown.component";
8
10
  export class BsNavbarItemComponent {
9
- constructor(navbar, element, injector, platformId, parentDropdown) {
11
+ constructor(navbar, element,
12
+ // private injector: Injector,
13
+ platformId, parentDropdown) {
10
14
  this.navbar = navbar;
11
- this.element = element;
12
- this.injector = injector;
13
15
  this.platformId = platformId;
14
16
  this.hasDropdown = false;
15
17
  this.anchorTag = null;
18
+ this.destroyed$ = new Subject();
19
+ this.element = element;
16
20
  this.parentDropdown = parentDropdown;
17
21
  }
18
22
  ngAfterContentChecked() {
@@ -33,16 +37,28 @@ export class BsNavbarItemComponent {
33
37
  dropdown.childDropdowns.forEach((child) => {
34
38
  child.isVisible = false;
35
39
  });
36
- // } else {
40
+ }
41
+ else if (this.parentDropdown) {
37
42
  // import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {
38
43
  // const overlayService = this.injector.get(Overlay);
39
44
  // return overlayService;
40
45
  // }).then((overlayService) => {
41
46
  // const p = new DomPortal(dropdown.element);
42
47
  // const overlayRef = overlayService.create({
48
+ // positionStrategy: overlayService.position()
49
+ // .flexibleConnectedTo(this.element)
50
+ // .withPositions([
51
+ // { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' }
52
+ // ])
43
53
  // });
44
- // overlayRef.attach(p);
54
+ // overlayRef.attach(p);
45
55
  // });
56
+ // dropdown.showInOverlay = true;
57
+ this.navbar.isSmallMode$
58
+ .pipe(takeUntil(this.destroyed$))
59
+ .subscribe((isSmallMode) => {
60
+ dropdown.showInOverlay = !isSmallMode;
61
+ });
46
62
  }
47
63
  });
48
64
  return false;
@@ -67,13 +83,16 @@ export class BsNavbarItemComponent {
67
83
  }
68
84
  }
69
85
  }
86
+ ngOnDestroy() {
87
+ this.destroyed$.next(true);
88
+ }
70
89
  }
71
- BsNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarItemComponent, deps: [{ token: i1.BsNavbarComponent }, { token: i0.ElementRef }, { token: i0.Injector }, { token: PLATFORM_ID }, { token: i2.BsNavbarDropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
90
+ BsNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarItemComponent, deps: [{ token: i1.BsNavbarComponent }, { token: i0.ElementRef }, { token: PLATFORM_ID }, { token: i2.BsNavbarDropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
72
91
  BsNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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"] });
73
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarItemComponent, decorators: [{
74
93
  type: Component,
75
94
  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"] }]
76
- }], ctorParameters: function () { return [{ type: i1.BsNavbarComponent }, { type: i0.ElementRef }, { type: i0.Injector }, { type: Object, decorators: [{
95
+ }], ctorParameters: function () { return [{ type: i1.BsNavbarComponent }, { type: i0.ElementRef }, { type: Object, decorators: [{
77
96
  type: Inject,
78
97
  args: [PLATFORM_ID]
79
98
  }] }, { type: i2.BsNavbarDropdownComponent, decorators: [{
@@ -82,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
82
101
  type: ContentChildren,
83
102
  args: [forwardRef(() => BsNavbarDropdownComponent)]
84
103
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9uYXZiYXIvc3JjL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM5SyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVFuRCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQ1UsTUFBeUIsRUFDekIsT0FBbUIsRUFDbkIsUUFBa0IsRUFDRyxVQUFrQixFQUNuQyxjQUF5QztRQUo3QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDRyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBT2pELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBNkIsSUFBSSxDQUFDO1FBTHpDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFPRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMs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b3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBQTEFURk9STV9JRCwgUXVlcnlMaXN0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvbVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1uYXZiYXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmJhci1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICBAT3B0aW9uYWwoKSBwYXJlbnREcm9wZG93bjogQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgKSB7XG4gICAgdGhpcy5wYXJlbnREcm9wZG93biA9IHBhcmVudERyb3Bkb3duO1xuICB9XG5cbiAgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQ7XG4gIGhhc0Ryb3Bkb3duID0gZmFsc2U7XG4gIGFuY2hvclRhZzogSFRNTEFuY2hvckVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQpKSBkcm9wZG93bnMhOiBRdWVyeUxpc3Q8QnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudD47XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIHRoaXMuYW5jaG9yVGFnID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignbGkgYScpO1xuXG4gICAgaWYgKHRoaXMuaGFzRHJvcGRvd24pIHtcbiAgICAgIGlmICh0aGlzLmFuY2hvclRhZykge1xuICAgICAgICB0aGlzLmFuY2hvclRhZy5jbGFzc0xpc3QuYWRkKCdkcm9wZG93bi10b2dnbGUnKTtcblxuICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgdGhpcy5hbmNob3JUYWcuaHJlZiA9ICdqYXZhc2NyaXB0OjsnO1xuICAgICAgICB9XG4gIFxuICAgICAgICBpZiAoIXRoaXMuYW5jaG9yVGFnLmdldEF0dHJpYnV0ZSgnY2xvc2UtaW5pdC1iJykpIHtcbiAgICAgICAgICB0aGlzLmFuY2hvclRhZy5zZXRBdHRyaWJ1dGUoJ2Nsb3NlLWluaXQtYicsICcxJyk7XG4gICAgICAgICAgdGhpcy5hbmNob3JUYWcuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXY6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAvLyBOb3JtYWxseSB0aGVyZSBzaG91bGQgYmUgb25seSBvbmUgZHJvcGRvd24gaW4gdGhpcyBsaXN0XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3ducy5mb3JFYWNoKChkcm9wZG93bikgPT4ge1xuICAgICAgICAgICAgICBpZiAoIShkcm9wZG93bi5pc1Zpc2libGUgPSAhZHJvcGRvd24uaXNWaXNpYmxlKSkge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNoaWxkRHJvcGRvd25zLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjaGlsZC5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBpbXBvcnQoJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JykudGhlbigoeyBPdmVybGF5TW9kdWxlLCBPdmVybGF5IH0pID0+IHtcbiAgICAgICAgICAgICAgICAvLyAgIGNvbnN0IG92ZXJsYXlTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT3ZlcmxheSk7XG4gICAgICAgICAgICAgICAgLy8gICByZXR1cm4gb3ZlcmxheVNlcnZpY2U7XG4gICAgICAgICAgICAgICAgLy8gfSkudGhlbigob3ZlcmxheVNlcnZpY2UpID0+IHtcblxuICAgICAgICAgICAgICAgIC8vICAgY29uc3QgcCA9IG5ldyBEb21Qb3J0YWwoZHJvcGRvd24uZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgLy8gICBjb25zdCBvdmVybGF5UmVmID0gb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAvLyAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICAgb3ZlcmxheVJlZi5hdHRhY2gocCk7XG5cbiAgICAgICAgICAgICAgICAvLyB9KTtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG5cbiAgICAgIC8vIENsb3NlIGlmIHRoaXMgaXMgYSBsaW5rXG4gICAgICBpZiAoKHRoaXMuZHJvcGRvd25zLmxlbmd0aCA9PT0gMCkgJiYgdGhpcy5hbmNob3JUYWcgJiYgIXRoaXMuYW5jaG9yVGFnLmdldEF0dHJpYnV0ZSgnY2xvc2UtaW5pdC1hJykpIHtcbiAgICAgICAgdGhpcy5hbmNob3JUYWcuc2V0QXR0cmlidXRlKCdjbG9zZS1pbml0LWEnLCAnMScpO1xuICAgICAgICB0aGlzLmFuY2hvclRhZy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldjogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGxldCBkID0gdGhpcy5wYXJlbnREcm9wZG93bjtcbiAgICAgICAgICB3aGlsZSAoZCAmJiBkLmF1dG9jbG9zZSkge1xuICAgICAgICAgICAgZC5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGQgPSBkLnBhcmVudERyb3Bkb3duO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5uYXZiYXIuYXV0b2Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLm5hdmJhci5pc0V4cGFuZGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCI8bGkgW2NsYXNzLm5hdi1pdGVtXT1cInBhcmVudERyb3Bkb3duID09PSBudWxsXCIgW2NsYXNzLmRyb3Bkb3duXT1cIihkcm9wZG93bnMubGVuZ3RoID4gMCkgJiYgKHBhcmVudERyb3Bkb3duID09PSBudWxsKVwiIFtjbGFzcy5kcm9wZW5kXT1cIihkcm9wZG93bnMubGVuZ3RoID4gMCkgJiYgKHBhcmVudERyb3Bkb3duICE9PSBudWxsKVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGk+Il19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9uYXZiYXIvc3JjL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVksUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3pMLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBT3pGLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDVSxNQUF5QixFQUNqQyxPQUFtQjtJQUNuQiw4QkFBOEI7SUFDRCxVQUFrQixFQUNuQyxjQUF5QztRQUo3QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUdKLGVBQVUsR0FBVixVQUFVLENBQVE7UUFTakQsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUE2QixJQUFJLENBQUM7UUFDbkMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFSakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7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Q3RCO29CQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7d0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDckM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUVGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztrSEE3RlUscUJBQXFCLDZFQU10QixXQUFXO3NHQU5WLHFCQUFxQixtSEFrQkUseUJBQXlCLGlDQy9CN0QsME9BRUs7MkZEV1EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQjs7MEJBVXZCLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLFFBQVE7NENBV21ELFNBQVM7c0JBQXRFLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWwsIFBMQVRGT1JNX0lELCBRdWVyeUxpc3QsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmF2YmFyOiBCc05hdmJhckNvbXBvbmVudCxcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIC8vIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIEBPcHRpb25hbCgpIHBhcmVudERyb3Bkb3duOiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50LFxuICApIHtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMucGFyZW50RHJvcGRvd24gPSBwYXJlbnREcm9wZG93bjtcbiAgfVxuXG4gIGVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIHBhcmVudERyb3Bkb3duOiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50O1xuICBoYXNEcm9wZG93biA9IGZhbHNlO1xuICBhbmNob3JUYWc6IEhUTUxBbmNob3JFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50KSkgZHJvcGRvd25zITogUXVlcnlMaXN0PEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmFuY2hvclRhZyA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpIGEnKTtcblxuICAgIGlmICh0aGlzLmhhc0Ryb3Bkb3duKSB7XG4gICAgICBpZiAodGhpcy5hbmNob3JUYWcpIHtcbiAgICAgICAgdGhpcy5hbmNob3JUYWcuY2xhc3NMaXN0LmFkZCgnZHJvcGRvd24tdG9nZ2xlJyk7XG5cbiAgICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgIHRoaXMuYW5jaG9yVGFnLmhyZWYgPSAnamF2YXNjcmlwdDo7JztcbiAgICAgICAgfVxuICBcbiAgICAgICAgaWYgKCF0aGlzLmFuY2hvclRhZy5nZXRBdHRyaWJ1dGUoJ2Nsb3NlLWluaXQtYicpKSB7XG4gICAgICAgICAgdGhpcy5hbmNob3JUYWcuc2V0QXR0cmlidXRlKCdjbG9zZS1pbml0LWInLCAnMScpO1xuICAgICAgICAgIHRoaXMuYW5jaG9yVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgLy8gTm9ybWFsbHkgdGhlcmUgc2hvdWxkIGJlIG9ubHkgb25lIGRyb3Bkb3duIGluIHRoaXMgbGlzdFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bnMuZm9yRWFjaCgoZHJvcGRvd24pID0+IHtcbiAgICAgICAgICAgICAgaWYgKCEoZHJvcGRvd24uaXNWaXNpYmxlID0gIWRyb3Bkb3duLmlzVmlzaWJsZSkpIHtcbiAgICAgICAgICAgICAgICBkcm9wZG93bi5jaGlsZERyb3Bkb3ducy5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY2hpbGQuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5wYXJlbnREcm9wZG93bikge1xuICAgICAgICAgICAgICAgIC8vIGltcG9ydCgnQGFuZ3VsYXIvY2RrL292ZXJsYXknKS50aGVuKCh7IE92ZXJsYXlNb2R1bGUsIE92ZXJsYXkgfSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vICAgY29uc3Qgb3ZlcmxheVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPdmVybGF5KTtcbiAgICAgICAgICAgICAgICAvLyAgIHJldHVybiBvdmVybGF5U2VydmljZTtcbiAgICAgICAgICAgICAgICAvLyB9KS50aGVuKChvdmVybGF5U2VydmljZSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgLy8gICBjb25zdCBwID0gbmV3IERvbVBvcnRhbChkcm9wZG93bi5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICAvLyAgIGNvbnN0IG92ZXJsYXlSZWYgPSBvdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIC8vICAgICBwb3NpdGlvblN0cmF0ZWd5OiBvdmVybGF5U2VydmljZS5wb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgLy8gICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50KVxuICAgICAgICAgICAgICAgIC8vICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH1cbiAgICAgICAgICAgICAgICAvLyAgICAgICBdKVxuICAgICAgICAgICAgICAgIC8vICAgfSk7XG4gICAgICAgICAgICAgICAgICAvLyBvdmVybGF5UmVmLmF0dGFjaChwKTtcblxuICAgICAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICAgICAgICAgIC8vIGRyb3Bkb3duLnNob3dJbk92ZXJsYXkgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5uYXZiYXIuaXNTbWFsbE1vZGUkXG4gICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGlzU21hbGxNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duLnNob3dJbk92ZXJsYXkgPSAhaXNTbWFsbE1vZGU7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuXG4gICAgICAvLyBDbG9zZSBpZiB0aGlzIGlzIGEgbGlua1xuICAgICAgaWYgKCh0aGlzLmRyb3Bkb3ducy5sZW5ndGggPT09IDApICYmIHRoaXMuYW5jaG9yVGFnICYmICF0aGlzLmFuY2hvclRhZy5nZXRBdHRyaWJ1dGUoJ2Nsb3NlLWluaXQtYScpKSB7XG4gICAgICAgIHRoaXMuYW5jaG9yVGFnLnNldEF0dHJpYnV0ZSgnY2xvc2UtaW5pdC1hJywgJzEnKTtcbiAgICAgICAgdGhpcy5hbmNob3JUYWcuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXY6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICBsZXQgZCA9IHRoaXMucGFyZW50RHJvcGRvd247XG4gICAgICAgICAgd2hpbGUgKGQgJiYgZC5hdXRvY2xvc2UpIHtcbiAgICAgICAgICAgIGQuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICBkID0gZC5wYXJlbnREcm9wZG93bjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMubmF2YmFyLmF1dG9jbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5uYXZiYXIuaXNFeHBhbmRlZCQubmV4dChmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG59XG4iLCI8bGkgW2NsYXNzLm5hdi1pdGVtXT1cInBhcmVudERyb3Bkb3duID09PSBudWxsXCIgW2NsYXNzLmRyb3Bkb3duXT1cIihkcm9wZG93bnMubGVuZ3RoID4gMCkgJiYgKHBhcmVudERyb3Bkb3duID09PSBudWxsKVwiIFtjbGFzcy5kcm9wZW5kXT1cIihkcm9wZG93bnMubGVuZ3RoID4gMCkgJiYgKHBhcmVudERyb3Bkb3duICE9PSBudWxsKVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGk+Il19
@@ -13,8 +13,8 @@ import { BsNavbarContentDirective } from './navbar-content/navbar-content.direct
13
13
  import { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';
14
14
  import { BsExpandButtonDirective } from './expand-button/expand-button.directive';
15
15
  import { BsNavbarTogglerComponent } from './navbar-toggler/navbar-toggler.component';
16
+ import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
16
17
  import * as i0 from "@angular/core";
17
- // import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
18
18
  export class BsNavbarModule {
19
19
  }
20
20
  BsNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -30,7 +30,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
30
30
  BsNavbarTogglerComponent], imports: [CommonModule,
31
31
  ClickOutsideModule,
32
32
  BsUserAgentModule,
33
- BsNoNoscriptModule], exports: [BsNavbarComponent,
33
+ BsNoNoscriptModule,
34
+ BsHasOverlayModule], exports: [BsNavbarComponent,
34
35
  BsNavbarNavComponent,
35
36
  BsNavbarDropdownComponent,
36
37
  BsNavbarItemComponent,
@@ -43,7 +44,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
43
44
  BsNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, imports: [CommonModule,
44
45
  ClickOutsideModule,
45
46
  BsUserAgentModule,
46
- BsNoNoscriptModule] });
47
+ BsNoNoscriptModule,
48
+ BsHasOverlayModule] });
47
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, decorators: [{
48
50
  type: NgModule,
49
51
  args: [{
@@ -64,7 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
64
66
  ClickOutsideModule,
65
67
  BsUserAgentModule,
66
68
  BsNoNoscriptModule,
67
- // BsHasOverlayModule,
69
+ BsHasOverlayModule,
68
70
  ],
69
71
  exports: [
70
72
  BsNavbarComponent,
@@ -80,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
80
82
  ]
81
83
  }]
82
84
  }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUNyRiw2RUFBNkU7QUFxQzdFLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBakN2QixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFFckIsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUNoQix3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2Qix3QkFBd0IsYUFHeEIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsa0JBQWtCLGFBSWxCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3Qjs0R0FHZixjQUFjLFlBcEJ2QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7MkZBaUJULGNBQWM7a0JBbkMxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBRXJCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFFckIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWNsaWNrLW91dHNpZGUnO1xuaW1wb3J0IHsgQnNVc2VyQWdlbnRNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvdXNlci1hZ2VudCc7XG5pbXBvcnQgeyBCc05vTm9zY3JpcHRNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvbm8tbm9zY3JpcHQnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzTmF2YmFyTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItbmF2L25hdmJhci1uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL25hdmJhci1kcm9wZG93bi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEJzTmF2YmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLWl0ZW0vbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi10b2dnbGUvZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOYXZMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9uYXYtbGluay9uYXYtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9uYXZiYXItY29udGVudC9uYXZiYXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJCcmFuZENvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLWJyYW5kL25hdmJhci1icmFuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNFeHBhbmRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2V4cGFuZC1idXR0b24vZXhwYW5kLWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJUb2dnbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItdG9nZ2xlci9uYXZiYXItdG9nZ2xlci5jb21wb25lbnQnO1xuLy8gaW1wb3J0IHsgQnNIYXNPdmVybGF5TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL2hhcy1vdmVybGF5JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnNOYXZiYXJDb21wb25lbnQsXG4gICAgQnNOYXZiYXJOYXZDb21wb25lbnQsXG4gICAgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBCc05hdmJhckl0ZW1Db21wb25lbnQsXG5cbiAgICBEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSxcbiAgICBOYXZMaW5rRGlyZWN0aXZlLFxuICAgIEJzTmF2YmFyQ29udGVudERpcmVjdGl2ZSxcbiAgICBCc05hdmJhckJyYW5kQ29tcG9uZW50LFxuICAgIEJzRXhwYW5kQnV0dG9uRGlyZWN0aXZlLFxuICAgIEJzTmF2YmFyVG9nZ2xlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDbGlja091dHNpZGVNb2R1bGUsXG4gICAgQnNVc2VyQWdlbnRNb2R1bGUsXG4gICAgQnNOb05vc2NyaXB0TW9kdWxlLFxuICAgIC8vIEJzSGFzT3ZlcmxheU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEJzTmF2YmFyTmF2Q29tcG9uZW50LFxuICAgIEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuXG4gICAgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUsXG4gICAgTmF2TGlua0RpcmVjdGl2ZSxcbiAgICBCc05hdmJhckNvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJCcmFuZENvbXBvbmVudCxcbiAgICBCc0V4cGFuZEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBCc05hdmJhclRvZ2dsZXJDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJNb2R1bGUgeyB9XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQXFDMUUsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFqQ3ZCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QixhQUd4QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCLGFBR2xCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3Qjs0R0FHZixjQUFjLFlBcEJ2QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCOzJGQWdCVCxjQUFjO2tCQW5DMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUVyQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBRXJCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1jbGljay1vdXRzaWRlJztcbmltcG9ydCB7IEJzVXNlckFnZW50TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL3VzZXItYWdlbnQnO1xuaW1wb3J0IHsgQnNOb05vc2NyaXB0TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL25vLW5vc2NyaXB0JztcbmltcG9ydCB7IEJzTmF2YmFyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhck5hdkNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLW5hdi9uYXZiYXItbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tdG9nZ2xlL2Ryb3Bkb3duLXRvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmF2TGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbmF2LWxpbmsvbmF2LWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzTmF2YmFyQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmF2YmFyLWNvbnRlbnQvbmF2YmFyLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzTmF2YmFyQnJhbmRDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci1icmFuZC9uYXZiYXItYnJhbmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJzRXhwYW5kQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9leHBhbmQtYnV0dG9uL2V4cGFuZC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzTmF2YmFyVG9nZ2xlckNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLXRvZ2dsZXIvbmF2YmFyLXRvZ2dsZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzSGFzT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9oYXMtb3ZlcmxheSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEJzTmF2YmFyTmF2Q29tcG9uZW50LFxuICAgIEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuXG4gICAgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUsXG4gICAgTmF2TGlua0RpcmVjdGl2ZSxcbiAgICBCc05hdmJhckNvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJCcmFuZENvbXBvbmVudCxcbiAgICBCc0V4cGFuZEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBCc05hdmJhclRvZ2dsZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2xpY2tPdXRzaWRlTW9kdWxlLFxuICAgIEJzVXNlckFnZW50TW9kdWxlLFxuICAgIEJzTm9Ob3NjcmlwdE1vZHVsZSxcbiAgICBCc0hhc092ZXJsYXlNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc05hdmJhckNvbXBvbmVudCxcbiAgICBCc05hdmJhck5hdkNvbXBvbmVudCxcbiAgICBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJzTmF2YmFySXRlbUNvbXBvbmVudCxcblxuICAgIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlLFxuICAgIE5hdkxpbmtEaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJDb250ZW50RGlyZWN0aXZlLFxuICAgIEJzTmF2YmFyQnJhbmRDb21wb25lbnQsXG4gICAgQnNFeHBhbmRCdXR0b25EaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJUb2dnbGVyQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzTmF2YmFyTW9kdWxlIHsgfVxuIl19
@@ -11,6 +11,10 @@ import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
11
11
  import { Color } from '@mintplayer/ng-bootstrap';
12
12
  import { BehaviorSubject, Subject, map, combineLatest, filter, debounceTime, takeUntil, take } from 'rxjs';
13
13
  import { SlideUpDownAnimation } from '@mintplayer/ng-animations';
14
+ import { takeUntil as takeUntil$1 } from 'rxjs/operators';
15
+ import { DomPortal } from '@angular/cdk/portal';
16
+ import * as i4 from '@mintplayer/ng-bootstrap/has-overlay';
17
+ import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
14
18
 
15
19
  class BsNavbarComponent {
16
20
  constructor() {
@@ -209,13 +213,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
209
213
  }] } });
210
214
 
211
215
  class BsNavbarItemComponent {
212
- constructor(navbar, element, injector, platformId, parentDropdown) {
216
+ constructor(navbar, element,
217
+ // private injector: Injector,
218
+ platformId, parentDropdown) {
213
219
  this.navbar = navbar;
214
- this.element = element;
215
- this.injector = injector;
216
220
  this.platformId = platformId;
217
221
  this.hasDropdown = false;
218
222
  this.anchorTag = null;
223
+ this.destroyed$ = new Subject();
224
+ this.element = element;
219
225
  this.parentDropdown = parentDropdown;
220
226
  }
221
227
  ngAfterContentChecked() {
@@ -236,16 +242,28 @@ class BsNavbarItemComponent {
236
242
  dropdown.childDropdowns.forEach((child) => {
237
243
  child.isVisible = false;
238
244
  });
239
- // } else {
245
+ }
246
+ else if (this.parentDropdown) {
240
247
  // import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {
241
248
  // const overlayService = this.injector.get(Overlay);
242
249
  // return overlayService;
243
250
  // }).then((overlayService) => {
244
251
  // const p = new DomPortal(dropdown.element);
245
252
  // const overlayRef = overlayService.create({
253
+ // positionStrategy: overlayService.position()
254
+ // .flexibleConnectedTo(this.element)
255
+ // .withPositions([
256
+ // { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' }
257
+ // ])
246
258
  // });
247
- // overlayRef.attach(p);
259
+ // overlayRef.attach(p);
248
260
  // });
261
+ // dropdown.showInOverlay = true;
262
+ this.navbar.isSmallMode$
263
+ .pipe(takeUntil$1(this.destroyed$))
264
+ .subscribe((isSmallMode) => {
265
+ dropdown.showInOverlay = !isSmallMode;
266
+ });
249
267
  }
250
268
  });
251
269
  return false;
@@ -270,14 +288,17 @@ class BsNavbarItemComponent {
270
288
  }
271
289
  }
272
290
  }
291
+ ngOnDestroy() {
292
+ this.destroyed$.next(true);
293
+ }
273
294
  }
274
- BsNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarItemComponent, deps: [{ token: BsNavbarComponent }, { token: i0.ElementRef }, { token: i0.Injector }, { token: PLATFORM_ID }, { token: BsNavbarDropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
295
+ BsNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarItemComponent, deps: [{ token: BsNavbarComponent }, { token: i0.ElementRef }, { token: PLATFORM_ID }, { token: BsNavbarDropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
275
296
  BsNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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"] });
276
297
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarItemComponent, decorators: [{
277
298
  type: Component,
278
299
  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"] }]
279
300
  }], ctorParameters: function () {
280
- return [{ type: BsNavbarComponent }, { type: i0.ElementRef }, { type: i0.Injector }, { type: Object, decorators: [{
301
+ return [{ type: BsNavbarComponent }, { type: i0.ElementRef }, { type: Object, decorators: [{
281
302
  type: Inject,
282
303
  args: [PLATFORM_ID]
283
304
  }] }, { type: BsNavbarDropdownComponent, decorators: [{
@@ -289,10 +310,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
289
310
  }] } });
290
311
 
291
312
  class BsNavbarDropdownComponent {
292
- constructor(navbar, parentDropdown, navbarItem, element, document, platformId) {
313
+ constructor(navbar, parentDropdown, navbarItem, element, injector, document, platformId) {
293
314
  this.navbar = navbar;
294
315
  this.element = element;
316
+ this.injector = injector;
295
317
  this.document = document;
318
+ this.isAttached = false;
296
319
  this.autoclose = true;
297
320
  this.destroyed$ = new Subject();
298
321
  this.isBrowser = false;
@@ -304,6 +327,7 @@ class BsNavbarDropdownComponent {
304
327
  this.isBrowser = !isPlatformServer(platformId);
305
328
  this.isVisible$.pipe(takeUntil(this.destroyed$)).subscribe((isVisible) => {
306
329
  if (isVisible) {
330
+ setTimeout(() => this.overlay && this.overlay.updatePosition(), 20);
307
331
  this.topPos$.next(this.element.nativeElement.offsetTop);
308
332
  }
309
333
  else {
@@ -327,10 +351,48 @@ class BsNavbarDropdownComponent {
327
351
  if (isSmallMode) {
328
352
  return null;
329
353
  }
354
+ else if (isPlatformServer(platformId)) {
355
+ // Javascript disabled
356
+ // Only apply max-height to the top-dropdown
357
+ return parentDropdown ? null : maxHeight;
358
+ }
330
359
  else {
360
+ // If javascript enabled
331
361
  return maxHeight;
332
362
  }
333
363
  }));
364
+ if (!!parentDropdown) {
365
+ // Setup overlay
366
+ import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {
367
+ const overlayService = this.injector.get(Overlay);
368
+ return overlayService;
369
+ }).then((overlayService) => {
370
+ this.domPortal = new DomPortal(this.element);
371
+ this.overlay = overlayService.create({
372
+ positionStrategy: overlayService.position()
373
+ .flexibleConnectedTo(this.navbarItem.element)
374
+ .withPositions([
375
+ { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -7, offsetY: -9 }
376
+ ])
377
+ });
378
+ // For some reason we have to trigger this from the BsDropdownItem
379
+ // this.showInOverlay = true;
380
+ });
381
+ }
382
+ }
383
+ set showInOverlay(value) {
384
+ if (this.overlay && this.domPortal) {
385
+ console.log('showInOverlay', value);
386
+ // if (value && !this.overlay.hasAttached()) {
387
+ if (value && !this.isAttached) {
388
+ this.overlay.attach(this.domPortal);
389
+ this.isAttached = true;
390
+ }
391
+ if (!value && this.isAttached) {
392
+ this.overlay.detach();
393
+ this.isAttached = false;
394
+ }
395
+ }
334
396
  }
335
397
  get isVisible() {
336
398
  return this.isVisible$.value;
@@ -346,11 +408,11 @@ class BsNavbarDropdownComponent {
346
408
  this.destroyed$.next(true);
347
409
  }
348
410
  }
349
- BsNavbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", 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 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
350
- BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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: "<!-- <bs-has-overlay></bs-has-overlay> -->\n<!-- [class.overflow-auto]=\"isBrowser\" -->\n<!-- [style.max-height]=\"maxHeightOrNull$ | async\" -->\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", 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" }] });
411
+ BsNavbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarDropdownComponent, deps: [{ token: BsNavbarComponent }, { token: BsNavbarDropdownComponent, host: true, optional: true, skipSelf: true }, { token: forwardRef(() => BsNavbarItemComponent), host: true }, { token: i0.ElementRef }, { token: i0.Injector }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
412
+ BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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: "<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull$ | async\" bsNoNoscript (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", styles: [".submenu:not(.noscript){margin:0 .5rem!important}.submenu.noscript{margin:0 .5rem;position:initial!important}:not(.submenu).noscript{max-height:calc(100vh - 100% - 1rem);overflow-y:auto}.overflow-y-auto{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i2$1.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "directive", type: i3.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "component", type: i4.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
351
413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarDropdownComponent, decorators: [{
352
414
  type: Component,
353
- args: [{ selector: 'bs-navbar-dropdown', template: "<!-- <bs-has-overlay></bs-has-overlay> -->\n<!-- [class.overflow-auto]=\"isBrowser\" -->\n<!-- [style.max-height]=\"maxHeightOrNull$ | async\" -->\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", 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"] }]
415
+ args: [{ selector: 'bs-navbar-dropdown', template: "<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull$ | async\" bsNoNoscript (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->", styles: [".submenu:not(.noscript){margin:0 .5rem!important}.submenu.noscript{margin:0 .5rem;position:initial!important}:not(.submenu).noscript{max-height:calc(100vh - 100% - 1rem);overflow-y:auto}.overflow-y-auto{overflow-y:auto}\n"] }]
354
416
  }], ctorParameters: function () {
355
417
  return [{ type: BsNavbarComponent }, { type: BsNavbarDropdownComponent, decorators: [{
356
418
  type: SkipSelf
@@ -363,7 +425,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
363
425
  }, {
364
426
  type: Inject,
365
427
  args: [forwardRef(() => BsNavbarItemComponent)]
366
- }] }, { type: i0.ElementRef }, { type: Document, decorators: [{
428
+ }] }, { type: i0.ElementRef }, { type: i0.Injector }, { type: Document, decorators: [{
367
429
  type: Inject,
368
430
  args: [DOCUMENT]
369
431
  }] }, { type: Object, decorators: [{
@@ -592,7 +654,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
592
654
  args: ['click', ['$event']]
593
655
  }] } });
594
656
 
595
- // import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
596
657
  class BsNavbarModule {
597
658
  }
598
659
  BsNavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -608,7 +669,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
608
669
  BsNavbarTogglerComponent], imports: [CommonModule,
609
670
  ClickOutsideModule,
610
671
  BsUserAgentModule,
611
- BsNoNoscriptModule], exports: [BsNavbarComponent,
672
+ BsNoNoscriptModule,
673
+ BsHasOverlayModule], exports: [BsNavbarComponent,
612
674
  BsNavbarNavComponent,
613
675
  BsNavbarDropdownComponent,
614
676
  BsNavbarItemComponent,
@@ -621,7 +683,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
621
683
  BsNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, imports: [CommonModule,
622
684
  ClickOutsideModule,
623
685
  BsUserAgentModule,
624
- BsNoNoscriptModule] });
686
+ BsNoNoscriptModule,
687
+ BsHasOverlayModule] });
625
688
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, decorators: [{
626
689
  type: NgModule,
627
690
  args: [{
@@ -642,7 +705,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
642
705
  ClickOutsideModule,
643
706
  BsUserAgentModule,
644
707
  BsNoNoscriptModule,
645
- // BsHasOverlayModule,
708
+ BsHasOverlayModule,
646
709
  ],
647
710
  exports: [
648
711
  BsNavbarComponent,