@mintplayer/ng-bootstrap 15.16.0 → 15.16.2

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
@@ -3,6 +3,7 @@ import { CommonModule } from '@angular/common';
3
3
  import { ClickOutsideModule } from '@mintplayer/ng-click-outside';
4
4
  import { BsUserAgentModule } from '@mintplayer/ng-bootstrap/user-agent';
5
5
  import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
6
+ import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
6
7
  import { BsNavbarComponent } from './navbar/navbar.component';
7
8
  import { BsNavbarNavComponent } from './navbar-nav/navbar-nav.component';
8
9
  import { BsNavbarDropdownComponent } from './navbar-dropdown/navbar-dropdown.component';
@@ -14,7 +15,6 @@ import { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';
14
15
  import { BsExpandButtonDirective } from './expand-button/expand-button.directive';
15
16
  import { BsNavbarTogglerComponent } from './navbar-toggler/navbar-toggler.component';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQXFDckYsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFqQ3ZCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QixhQUd4QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCLGFBR2xCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3Qjs0R0FHZixjQUFjLFlBcEJ2QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCOzJGQWdCVCxjQUFjO2tCQW5DMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUVyQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBRXJCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1jbGljay1vdXRzaWRlJztcbmltcG9ydCB7IEJzVXNlckFnZW50TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL3VzZXItYWdlbnQnO1xuaW1wb3J0IHsgQnNOb05vc2NyaXB0TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL25vLW5vc2NyaXB0JztcbmltcG9ydCB7IEJzSGFzT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9oYXMtb3ZlcmxheSc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJOYXZDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci1uYXYvbmF2YmFyLW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLWRyb3Bkb3duL25hdmJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNOYXZiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLXRvZ2dsZS9kcm9wZG93bi10b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hdkxpbmtEaXJlY3RpdmUgfSBmcm9tICcuL25hdi1saW5rL25hdi1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCc05hdmJhckNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL25hdmJhci1jb250ZW50L25hdmJhci1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCc05hdmJhckJyYW5kQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItYnJhbmQvbmF2YmFyLWJyYW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc0V4cGFuZEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZXhwYW5kLWJ1dHRvbi9leHBhbmQtYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCc05hdmJhclRvZ2dsZXJDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci10b2dnbGVyL25hdmJhci10b2dnbGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEJzTmF2YmFyTmF2Q29tcG9uZW50LFxuICAgIEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuXG4gICAgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUsXG4gICAgTmF2TGlua0RpcmVjdGl2ZSxcbiAgICBCc05hdmJhckNvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJCcmFuZENvbXBvbmVudCxcbiAgICBCc0V4cGFuZEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBCc05hdmJhclRvZ2dsZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2xpY2tPdXRzaWRlTW9kdWxlLFxuICAgIEJzVXNlckFnZW50TW9kdWxlLFxuICAgIEJzTm9Ob3NjcmlwdE1vZHVsZSxcbiAgICBCc0hhc092ZXJsYXlNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc05hdmJhckNvbXBvbmVudCxcbiAgICBCc05hdmJhck5hdkNvbXBvbmVudCxcbiAgICBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJzTmF2YmFySXRlbUNvbXBvbmVudCxcblxuICAgIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlLFxuICAgIE5hdkxpbmtEaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJDb250ZW50RGlyZWN0aXZlLFxuICAgIEJzTmF2YmFyQnJhbmRDb21wb25lbnQsXG4gICAgQnNFeHBhbmRCdXR0b25EaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJUb2dnbGVyQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzTmF2YmFyTW9kdWxlIHsgfVxuIl19
@@ -1,10 +1,12 @@
1
+ import * as i1 from '@angular/common';
2
+ import { isPlatformServer, CommonModule } from '@angular/common';
1
3
  import * as i0 from '@angular/core';
2
- import { Directive, Component, HostBinding, Input, ContentChildren, HostListener, NgModule } from '@angular/core';
4
+ import { Directive, PLATFORM_ID, Component, Inject, ContentChildren, Input, HostBinding, HostListener, NgModule } from '@angular/core';
3
5
  import { FadeInOutAnimation, CarouselSlideAnimation } from '@mintplayer/ng-animations';
4
6
  import { Subject, BehaviorSubject } from 'rxjs';
5
7
  import { map, takeUntil, take } from 'rxjs/operators';
6
- import * as i1 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
+ import * as i2 from '@mintplayer/ng-bootstrap/no-noscript';
9
+ import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
8
10
 
9
11
  class BsCarouselImageDirective {
10
12
  constructor(templateRef) {
@@ -22,12 +24,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
22
24
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
23
25
 
24
26
  class BsCarouselComponent {
25
- constructor() {
26
- this.animationsDisabled = false;
27
- this.indicators = true;
28
- this._animation = 'slide';
27
+ constructor(platformId) {
28
+ this.indicators = false;
29
29
  this.destroyed$ = new Subject();
30
30
  this.currentImageCounter$ = new BehaviorSubject(-1);
31
+ //#region Animation
32
+ this.animationsDisabled = false;
33
+ this._animation = 'slide';
34
+ this.isServerSide = isPlatformServer(platformId);
31
35
  this.currentImageIndex$ = this.currentImageCounter$
32
36
  .pipe(map((counter) => {
33
37
  const l = this.images.length;
@@ -49,7 +53,6 @@ class BsCarouselComponent {
49
53
  this.currentImageCounter$.next(-1);
50
54
  }
51
55
  }
52
- //#region Animation
53
56
  set animation(value) {
54
57
  this.animationsDisabled = true;
55
58
  this._animation = value;
@@ -94,19 +97,24 @@ class BsCarouselComponent {
94
97
  ev.preventDefault();
95
98
  }
96
99
  }
97
- BsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
- BsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: BsCarouselImageDirective }], ngImport: i0, template: "<div class=\"carousel slide\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation, CarouselSlideAnimation] });
100
+ BsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
101
+ BsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: BsCarouselImageDirective }], ngImport: i0, template: "<div class=\"carousel\" bsNoNoscript>\n <!-- Only client-side -->\n <div *ngIf=\"!isServerSide && indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <!-- Only server-side -->\n <div class=\"carousel-inner d-grid\" *ngIf=\"isServerSide\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <!-- Only server-side -->\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; let j = index\" [attr.for]=\"'car-' + (j % images.length)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <!-- Only server-side -->\n <ng-container *ngIf=\"isServerSide\">\n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + images.length) % images.length)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % images.length)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Only client-side -->\n <ng-container *ngIf=\"!isServerSide\">\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Only client-side -->\n <ng-container *ngIf=\"!isServerSide\">\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </ng-container>\n</div>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation, CarouselSlideAnimation] });
99
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselComponent, decorators: [{
100
103
  type: Component,
101
- args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation, CarouselSlideAnimation], template: "<div class=\"carousel slide\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px}\n"] }]
102
- }], ctorParameters: function () { return []; }, propDecorators: { animationsDisabled: [{
103
- type: HostBinding,
104
- args: ['@.disabled']
105
- }], indicators: [{
106
- type: Input
107
- }], images: [{
104
+ args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation, CarouselSlideAnimation], template: "<div class=\"carousel\" bsNoNoscript>\n <!-- Only client-side -->\n <div *ngIf=\"!isServerSide && indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <!-- Only server-side -->\n <div class=\"carousel-inner d-grid\" *ngIf=\"isServerSide\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <!-- Only server-side -->\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; let j = index\" [attr.for]=\"'car-' + (j % images.length)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <!-- Only server-side -->\n <ng-container *ngIf=\"isServerSide\">\n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + images.length) % images.length)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % images.length)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Only client-side -->\n <ng-container *ngIf=\"!isServerSide\">\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Only client-side -->\n <ng-container *ngIf=\"!isServerSide\">\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </ng-container>\n</div>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}\n"] }]
105
+ }], ctorParameters: function () {
106
+ return [{ type: undefined, decorators: [{
107
+ type: Inject,
108
+ args: [PLATFORM_ID]
109
+ }] }];
110
+ }, propDecorators: { images: [{
108
111
  type: ContentChildren,
109
112
  args: [BsCarouselImageDirective]
113
+ }], indicators: [{
114
+ type: Input
115
+ }], animationsDisabled: [{
116
+ type: HostBinding,
117
+ args: ['@.disabled']
110
118
  }], animation: [{
111
119
  type: Input
112
120
  }], onKeyPress: [{
@@ -121,9 +129,11 @@ class BsCarouselModule {
121
129
  }
122
130
  BsCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
123
131
  BsCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, declarations: [BsCarouselComponent,
124
- BsCarouselImageDirective], imports: [CommonModule], exports: [BsCarouselComponent,
132
+ BsCarouselImageDirective], imports: [CommonModule,
133
+ BsNoNoscriptModule], exports: [BsCarouselComponent,
125
134
  BsCarouselImageDirective] });
126
- BsCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, imports: [CommonModule] });
135
+ BsCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, imports: [CommonModule,
136
+ BsNoNoscriptModule] });
127
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, decorators: [{
128
138
  type: NgModule,
129
139
  args: [{
@@ -132,7 +142,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
132
142
  BsCarouselImageDirective
133
143
  ],
134
144
  imports: [
135
- CommonModule
145
+ CommonModule,
146
+ BsNoNoscriptModule
136
147
  ],
137
148
  exports: [
138
149
  BsCarouselComponent,