@mintplayer/ng-bootstrap 15.16.2 → 15.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/carousel/src/carousel/carousel.component.d.ts +14 -15
- package/carousel/src/carousel-image/carousel-image.directive.d.ts +1 -0
- package/carousel/src/carousel.module.d.ts +3 -2
- package/dropdown-divider/index.d.ts +1 -0
- package/dropdown-divider/src/dropdown-divider.directive.d.ts +6 -0
- package/dropdown-divider/src/dropdown-divider.module.d.ts +8 -0
- package/dropdown-divider/src/index.d.ts +2 -0
- package/dropdown-menu/src/dropdown-menu.module.d.ts +2 -1
- package/esm2020/carousel/src/carousel/carousel.component.mjs +62 -64
- package/esm2020/carousel/src/carousel-image/carousel-image.directive.mjs +8 -4
- package/esm2020/carousel/src/carousel.module.mjs +5 -1
- package/esm2020/dropdown-divider/index.mjs +2 -0
- package/esm2020/dropdown-divider/mintplayer-ng-bootstrap-dropdown-divider.mjs +5 -0
- package/esm2020/dropdown-divider/src/dropdown-divider.directive.mjs +19 -0
- package/esm2020/dropdown-divider/src/dropdown-divider.module.mjs +18 -0
- package/esm2020/dropdown-divider/src/index.mjs +3 -0
- package/esm2020/dropdown-menu/src/dropdown-menu.module.mjs +12 -5
- package/esm2020/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +2 -3
- package/esm2020/navbar/src/navbar.module.mjs +10 -4
- package/fesm2015/mintplayer-ng-bootstrap-carousel.mjs +71 -66
- package/fesm2015/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-dropdown-divider.mjs +41 -0
- package/fesm2015/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -0
- package/fesm2015/mintplayer-ng-bootstrap-dropdown-menu.mjs +11 -4
- package/fesm2015/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-navbar.mjs +10 -5
- package/fesm2015/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-carousel.mjs +70 -65
- package/fesm2020/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-dropdown-divider.mjs +41 -0
- package/fesm2020/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -0
- package/fesm2020/mintplayer-ng-bootstrap-dropdown-menu.mjs +11 -4
- package/fesm2020/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-navbar.mjs +10 -5
- package/fesm2020/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/navbar/src/navbar.module.d.ts +2 -1
- package/package.json +10 -1
|
@@ -2,18 +2,25 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { BsDropdownMenuComponent } from './dropdown-menu/dropdown-menu.component';
|
|
4
4
|
import { BsDropdownItemComponent } from './dropdown-item/dropdown-item.component';
|
|
5
|
+
import { BsDropdownDividerDirective, BsDropdownDividerModule } from '@mintplayer/ng-bootstrap/dropdown-divider';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class BsDropdownMenuModule {
|
|
7
8
|
}
|
|
8
9
|
BsDropdownMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsDropdownMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
BsDropdownMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: BsDropdownMenuModule, declarations: [BsDropdownMenuComponent, BsDropdownItemComponent], imports: [CommonModule], exports: [BsDropdownMenuComponent,
|
|
10
|
-
|
|
10
|
+
BsDropdownMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: BsDropdownMenuModule, declarations: [BsDropdownMenuComponent, BsDropdownItemComponent], imports: [CommonModule, BsDropdownDividerModule], exports: [BsDropdownMenuComponent,
|
|
11
|
+
BsDropdownItemComponent,
|
|
12
|
+
BsDropdownDividerDirective] });
|
|
13
|
+
BsDropdownMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsDropdownMenuModule, imports: [CommonModule, BsDropdownDividerModule] });
|
|
11
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsDropdownMenuModule, decorators: [{
|
|
12
15
|
type: NgModule,
|
|
13
16
|
args: [{
|
|
14
17
|
declarations: [BsDropdownMenuComponent, BsDropdownItemComponent],
|
|
15
|
-
imports: [CommonModule],
|
|
16
|
-
exports: [
|
|
18
|
+
imports: [CommonModule, BsDropdownDividerModule],
|
|
19
|
+
exports: [
|
|
20
|
+
BsDropdownMenuComponent,
|
|
21
|
+
BsDropdownItemComponent,
|
|
22
|
+
BsDropdownDividerDirective,
|
|
23
|
+
],
|
|
17
24
|
}]
|
|
18
25
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2Ryb3Bkb3duLW1lbnUvc3JjL2Ryb3Bkb3duLW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQVloSCxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBVGhCLHVCQUF1QixFQUFFLHVCQUF1QixhQUNyRCxZQUFZLEVBQUUsdUJBQXVCLGFBRTdDLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFFdkIsMEJBQTBCO2tIQUdqQixvQkFBb0IsWUFSckIsWUFBWSxFQUFFLHVCQUF1QjsyRkFRcEMsb0JBQW9CO2tCQVZoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDO29CQUNoRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLENBQUM7b0JBQ2hELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFFdkIsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNEcm9wZG93bk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNEcm9wZG93bkRpdmlkZXJEaXJlY3RpdmUsIEJzRHJvcGRvd25EaXZpZGVyTW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL2Ryb3Bkb3duLWRpdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtCc0Ryb3Bkb3duTWVudUNvbXBvbmVudCwgQnNEcm9wZG93bkl0ZW1Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCc0Ryb3Bkb3duRGl2aWRlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc0Ryb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBCc0Ryb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgXG4gICAgQnNEcm9wZG93bkRpdmlkZXJEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEJzRHJvcGRvd25NZW51TW9kdWxlIHt9XG4iXX0=
|
|
@@ -74,7 +74,7 @@ export class BsNavbarDropdownComponent {
|
|
|
74
74
|
positionStrategy: overlayService.position()
|
|
75
75
|
.flexibleConnectedTo(this.navbarItem.element)
|
|
76
76
|
.withPositions([
|
|
77
|
-
{ originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -
|
|
77
|
+
{ originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -9, offsetY: -9 }
|
|
78
78
|
])
|
|
79
79
|
});
|
|
80
80
|
// For some reason we have to trigger this from the BsDropdownItem
|
|
@@ -84,7 +84,6 @@ export class BsNavbarDropdownComponent {
|
|
|
84
84
|
}
|
|
85
85
|
set showInOverlay(value) {
|
|
86
86
|
if (this.overlay && this.domPortal) {
|
|
87
|
-
console.log('showInOverlay', value);
|
|
88
87
|
// if (value && !this.overlay.hasAttached()) {
|
|
89
88
|
if (value && !this.isAttached) {
|
|
90
89
|
this.overlay.attach(this.domPortal);
|
|
@@ -141,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
141
140
|
type: ContentChildren,
|
|
142
141
|
args: [forwardRef(() => BsNavbarDropdownComponent), { descendants: true }]
|
|
143
142
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BMLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUNVLE1BQXlCLEVBQ0QsY0FBeUMsRUFDaEIsVUFBaUMsRUFDbkYsT0FBZ0MsRUFDL0IsUUFBa0IsRUFDQSxRQUFrQixFQUN2QixVQUFrQjtRQU4vQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUcxQixZ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SztnQkFJVyxlQUFlO3NCQUEvQixTQUFTO3VCQUFDLElBQUk7Z0JBb0JzRSxjQUFjO3NCQUFsRyxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgUExBVEZPUk1fSUQsIFF1ZXJ5TGlzdCwgU2tpcFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1uYXZiYXItZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEBTa2lwU2VsZigpIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQEhvc3QoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gQnNOYXZiYXJJdGVtQ29tcG9uZW50KSkgbmF2YmFySXRlbTogQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICkge1xuICAgIHRoaXMucGFyZW50RHJvcGRvd24gPSBwYXJlbnREcm9wZG93bjtcbiAgICB0aGlzLm5hdmJhckl0ZW0gPSBuYXZiYXJJdGVtO1xuICAgIHRoaXMuaXNCcm93c2VyID0gIWlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG5cbiAgICB0aGlzLmlzVmlzaWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChpc1Zpc2libGUpID0+IHtcbiAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm92ZXJsYXkgJiYgdGhpcy5vdmVybGF5LnVwZGF0ZVBvc2l0aW9uKCksIDIwKTtcbiAgICAgICAgdGhpcy50b3BQb3MkLm5leHQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9wUG9zJC5uZXh0KG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5tYXhIZWlnaHQkID0gdGhpcy50b3BQb3MkLnBpcGUobWFwKCh0b3BQb3MpID0+IHtcbiAgICAgIGNvbnN0IHc6IFdpbmRvdyB8IG51bGwgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgICAgaWYgKCF0b3BQb3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHcpIHtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3LmdldENvbXB1dGVkU3R5bGUodGhpcy5kcm9wZG93bkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDB2aCAtICR7dG9wUG9zfXB4IC0gJHtzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpfSAtICR7c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1ib3R0b20nKX0pYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHRoaXMubWF4SGVpZ2h0T3JOdWxsJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubWF4SGVpZ2h0JCwgdGhpcy5uYXZiYXIuaXNTbWFsbE1vZGUkXSkucGlwZShtYXAoKFttYXhIZWlnaHQsIGlzU21hbGxNb2RlXSkgPT4ge1xuICAgICAgaWYgKGlzU21hbGxNb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICAgIC8vIEphdmFzY3JpcHQgZGlzYWJsZWRcbiAgICAgICAgLy8gT25seSBhcHBseSBtYXgtaGVpZ2h0IHRvIHRoZSB0b3AtZHJvcGRvd25cbiAgICAgICAgcmV0dXJuIHBhcmVudERyb3Bkb3duID8gbnVsbCA6IG1heEhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIGphdmFzY3JpcHQgZW5hYmxlZFxuICAgICAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIGlmICghIXBhcmVudERyb3Bkb3duKSB7XG4gICAgICAvLyBTZXR1cCBvdmVybGF5XG4gICAgICBpbXBvcnQoJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JykudGhlbigoeyBPdmVybGF5TW9kdWxlLCBPdmVybGF5IH0pID0+IHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPdmVybGF5KTtcbiAgICAgICAgcmV0dXJuIG92ZXJsYXlTZXJ2aWNlO1xuICAgICAgfSkudGhlbigob3ZlcmxheVNlcnZpY2UpID0+IHtcblxuICAgICAgICB0aGlzLmRvbVBvcnRhbCA9IG5ldyBEb21Qb3J0YWwodGhpcy5lbGVtZW50KTtcbiAgICAgICAgdGhpcy5vdmVybGF5ID0gb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBvdmVybGF5U2VydmljZS5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm5hdmJhckl0ZW0uZWxlbWVudClcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IC03LCBvZmZzZXRZOiAtOSB9XG4gICAgICAgICAgICBdKVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gd2UgaGF2ZSB0byB0cmlnZ2VyIHRoaXMgZnJvbSB0aGUgQnNEcm9wZG93bkl0ZW1cbiAgICAgICAgLy8gdGhpcy5zaG93SW5PdmVybGF5ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dGFjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgZG9tUG9ydGFsPzogRG9tUG9ydGFsO1xuICBwcml2YXRlIG92ZXJsYXk/OiBPdmVybGF5UmVmO1xuICBwdWJsaWMgc2V0IHNob3dJbk92ZXJsYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5vdmVybGF5ICYmIHRoaXMuZG9tUG9ydGFsKSB7XG4gICAgICBjb25zb2xlLmxvZygnc2hvd0luT3ZlcmxheScsIHZhbHVlKTtcbiAgICAgIC8vIGlmICh2YWx1ZSAmJiAhdGhpcy5vdmVybGF5Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5pc0F0dGFjaGVkKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2godGhpcy5kb21Qb3J0YWwpO1xuICAgICAgICB0aGlzLmlzQXR0YWNoZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKCF2YWx1ZSAmJiB0aGlzLmlzQXR0YWNoZWQpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5LmRldGFjaCgpO1xuICAgICAgICB0aGlzLmlzQXR0YWNoZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgYXV0b2Nsb3NlID0gdHJ1ZTtcbiAgbmF2YmFySXRlbTogQnNOYXZiYXJJdGVtQ29tcG9uZW50O1xuICBwYXJlbnREcm9wZG93bjogQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudDtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgQFZpZXdDaGlsZCgnZGQnKSBkcm9wZG93bkVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgaXNCcm93c2VyID0gZmFsc2U7XG4gIHRvcFBvcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICBtYXhIZWlnaHQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xuICBtYXhIZWlnaHRPck51bGwkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xuXG4gIC8vI3JlZ2lvbiBJc1Zpc2libGVcbiAgaXNWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgZ2V0IGlzVmlzaWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgaXNWaXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1Zpc2libGUkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGdldCBlbGVtZW50c1RvRXhjbHVkZSgpIHtcbiAgICByZXR1cm4gW3RoaXMubmF2YmFySXRlbS5hbmNob3JUYWddLmZpbHRlcigoYSkgPT4gYSkubWFwKChhKSA9PiA8SFRNTEVsZW1lbnQ+YSk7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgY2hpbGREcm9wZG93bnMhOiBRdWVyeUxpc3Q8QnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudD47XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cbn1cbiIsIjxicy1oYXMtb3ZlcmxheT48L2JzLWhhcy1vdmVybGF5PlxuPHVsICNkZCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBbY2xhc3Muc2hvd109XCJpc1Zpc2libGUkIHwgYXN5bmNcIiBbY2xhc3Muc3VibWVudV09XCIhIXBhcmVudERyb3Bkb3duXCIgW2NsYXNzLm92ZXJmbG93LXktYXV0b109XCJpc0Jyb3dzZXJcIiBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRPck51bGwkIHwgYXN5bmNcIiBic05vTm9zY3JpcHQgKGNsaWNrT3V0c2lkZSk9XCJpc1Zpc2libGUgPSBmYWxzZVwiIFtleGNsdWRlXT1cImVsZW1lbnRzVG9FeGNsdWRlXCIgYXJpYS1sYWJlbGxlZGJ5PVwibmF2YmFyRHJvcGRvd25cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3VsPlxuXG48IS0tIFxuICAgIC0gV29ya2luZyBkZW1vOiBodHRwczovL2NvZGVwZW4uaW8vYWdvcC9wZW4vVnd3TUdSXG4gICAgLSBMb2NhdGlvbiBtdXN0IGJlIHNldCB0aHJvdWdoIGphdmFzY3JpcHRcbiAgICAtIGJzTm9TY3JpcHQgPT4gSWYgbm9zY3JpcHQsIDJuZC1sZXZlbCBzdWJtZW51cyBtdXN0IGJlIHNob3duIGluc2lkZSB0aGUgMXN0LWxldmVsIHN1Ym1lbnVcbiAtLT5cbiA8IS0tIFxuICAgIC0gQW5vdGhlciBvcHRpb246IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZWRpdC93ZWItcGxhdGZvcm0tdm1zcjRsP2ZpbGU9aW5kZXguaHRtbFxuICAgIC0gQnV0IHRoaXMgZG9lc24ndCBzZWVtIHRvIHdvcmsgaGVyZVxuICAtLT4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BMLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUNVLE1BQXlCLEVBQ0QsY0FBeUMsRUFDaEIsVUFBaUMsRUFDbkYsT0FBZ0MsRUFDL0IsUUFBa0IsRUFDQSxRQUFrQixFQUN2QixVQUFrQjtRQU4vQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUcxQixZ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QUFsRyxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgUExBVEZPUk1fSUQsIFF1ZXJ5TGlzdCwgU2tpcFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNOYXZiYXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1uYXZiYXItZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEBTa2lwU2VsZigpIEBIb3N0KCkgQE9wdGlvbmFsKCkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQEhvc3QoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gQnNOYXZiYXJJdGVtQ29tcG9uZW50KSkgbmF2YmFySXRlbTogQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICkge1xuICAgIHRoaXMucGFyZW50RHJvcGRvd24gPSBwYXJlbnREcm9wZG93bjtcbiAgICB0aGlzLm5hdmJhckl0ZW0gPSBuYXZiYXJJdGVtO1xuICAgIHRoaXMuaXNCcm93c2VyID0gIWlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG5cbiAgICB0aGlzLmlzVmlzaWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChpc1Zpc2libGUpID0+IHtcbiAgICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm92ZXJsYXkgJiYgdGhpcy5vdmVybGF5LnVwZGF0ZVBvc2l0aW9uKCksIDIwKTtcbiAgICAgICAgdGhpcy50b3BQb3MkLm5leHQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9wUG9zJC5uZXh0KG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5tYXhIZWlnaHQkID0gdGhpcy50b3BQb3MkLnBpcGUobWFwKCh0b3BQb3MpID0+IHtcbiAgICAgIGNvbnN0IHc6IFdpbmRvdyB8IG51bGwgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgICAgaWYgKCF0b3BQb3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHcpIHtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3LmdldENvbXB1dGVkU3R5bGUodGhpcy5kcm9wZG93bkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHJldHVybiBgY2FsYygxMDB2aCAtICR7dG9wUG9zfXB4IC0gJHtzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXRvcCcpfSAtICR7c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1ib3R0b20nKX0pYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHRoaXMubWF4SGVpZ2h0T3JOdWxsJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubWF4SGVpZ2h0JCwgdGhpcy5uYXZiYXIuaXNTbWFsbE1vZGUkXSkucGlwZShtYXAoKFttYXhIZWlnaHQsIGlzU21hbGxNb2RlXSkgPT4ge1xuICAgICAgaWYgKGlzU21hbGxNb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICAgIC8vIEphdmFzY3JpcHQgZGlzYWJsZWRcbiAgICAgICAgLy8gT25seSBhcHBseSBtYXgtaGVpZ2h0IHRvIHRoZSB0b3AtZHJvcGRvd25cbiAgICAgICAgcmV0dXJuIHBhcmVudERyb3Bkb3duID8gbnVsbCA6IG1heEhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIGphdmFzY3JpcHQgZW5hYmxlZFxuICAgICAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIGlmICghIXBhcmVudERyb3Bkb3duKSB7XG4gICAgICAvLyBTZXR1cCBvdmVybGF5XG4gICAgICBpbXBvcnQoJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JykudGhlbigoeyBPdmVybGF5TW9kdWxlLCBPdmVybGF5IH0pID0+IHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPdmVybGF5KTtcbiAgICAgICAgcmV0dXJuIG92ZXJsYXlTZXJ2aWNlO1xuICAgICAgfSkudGhlbigob3ZlcmxheVNlcnZpY2UpID0+IHtcblxuICAgICAgICB0aGlzLmRvbVBvcnRhbCA9IG5ldyBEb21Qb3J0YWwodGhpcy5lbGVtZW50KTtcbiAgICAgICAgdGhpcy5vdmVybGF5ID0gb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBvdmVybGF5U2VydmljZS5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm5hdmJhckl0ZW0uZWxlbWVudClcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IC05LCBvZmZzZXRZOiAtOSB9XG4gICAgICAgICAgICBdKVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gd2UgaGF2ZSB0byB0cmlnZ2VyIHRoaXMgZnJvbSB0aGUgQnNEcm9wZG93bkl0ZW1cbiAgICAgICAgLy8gdGhpcy5zaG93SW5PdmVybGF5ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBpc0F0dGFjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgZG9tUG9ydGFsPzogRG9tUG9ydGFsO1xuICBwcml2YXRlIG92ZXJsYXk/OiBPdmVybGF5UmVmO1xuICBwdWJsaWMgc2V0IHNob3dJbk92ZXJsYXkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5vdmVybGF5ICYmIHRoaXMuZG9tUG9ydGFsKSB7XG4gICAgICAvLyBpZiAodmFsdWUgJiYgIXRoaXMub3ZlcmxheS5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICBpZiAodmFsdWUgJiYgIXRoaXMuaXNBdHRhY2hlZCkge1xuICAgICAgICB0aGlzLm92ZXJsYXkuYXR0YWNoKHRoaXMuZG9tUG9ydGFsKTtcbiAgICAgICAgdGhpcy5pc0F0dGFjaGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICghdmFsdWUgJiYgdGhpcy5pc0F0dGFjaGVkKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheS5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5pc0F0dGFjaGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgcHVibGljIGF1dG9jbG9zZSA9IHRydWU7XG4gIG5hdmJhckl0ZW06IEJzTmF2YmFySXRlbUNvbXBvbmVudDtcbiAgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQ7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIEBWaWV3Q2hpbGQoJ2RkJykgZHJvcGRvd25FbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIGlzQnJvd3NlciA9IGZhbHNlO1xuICB0b3BQb3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgbWF4SGVpZ2h0JDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcbiAgbWF4SGVpZ2h0T3JOdWxsJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcblxuICAvLyNyZWdpb24gSXNWaXNpYmxlXG4gIGlzVmlzaWJsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGdldCBpc1Zpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlJC52YWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IGlzVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNWaXNpYmxlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBnZXQgZWxlbWVudHNUb0V4Y2x1ZGUoKSB7XG4gICAgcmV0dXJuIFt0aGlzLm5hdmJhckl0ZW0uYW5jaG9yVGFnXS5maWx0ZXIoKGEpID0+IGEpLm1hcCgoYSkgPT4gPEhUTUxFbGVtZW50PmEpO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGNoaWxkRHJvcGRvd25zITogUXVlcnlMaXN0PEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG59XG4iLCI8YnMtaGFzLW92ZXJsYXk+PC9icy1oYXMtb3ZlcmxheT5cbjx1bCAjZGQgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgW2NsYXNzLnNob3ddPVwiaXNWaXNpYmxlJCB8IGFzeW5jXCIgW2NsYXNzLnN1Ym1lbnVdPVwiISFwYXJlbnREcm9wZG93blwiIFtjbGFzcy5vdmVyZmxvdy15LWF1dG9dPVwiaXNCcm93c2VyXCIgW3N0eWxlLm1heC1oZWlnaHRdPVwibWF4SGVpZ2h0T3JOdWxsJCB8IGFzeW5jXCIgYnNOb05vc2NyaXB0IChjbGlja091dHNpZGUpPVwiaXNWaXNpYmxlID0gZmFsc2VcIiBbZXhjbHVkZV09XCJlbGVtZW50c1RvRXhjbHVkZVwiIGFyaWEtbGFiZWxsZWRieT1cIm5hdmJhckRyb3Bkb3duXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC91bD5cblxuPCEtLSBcbiAgICAtIFdvcmtpbmcgZGVtbzogaHR0cHM6Ly9jb2RlcGVuLmlvL2Fnb3AvcGVuL1Z3d01HUlxuICAgIC0gTG9jYXRpb24gbXVzdCBiZSBzZXQgdGhyb3VnaCBqYXZhc2NyaXB0XG4gICAgLSBic05vU2NyaXB0ID0+IElmIG5vc2NyaXB0LCAybmQtbGV2ZWwgc3VibWVudXMgbXVzdCBiZSBzaG93biBpbnNpZGUgdGhlIDFzdC1sZXZlbCBzdWJtZW51XG4gLS0+XG4gPCEtLSBcbiAgICAtIEFub3RoZXIgb3B0aW9uOiBodHRwczovL3N0YWNrYmxpdHouY29tL2VkaXQvd2ViLXBsYXRmb3JtLXZtc3I0bD9maWxlPWluZGV4Lmh0bWxcbiAgICAtIEJ1dCB0aGlzIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGhlcmVcbiAgLS0+Il19
|
|
@@ -14,6 +14,7 @@ import { BsNavbarContentDirective } from './navbar-content/navbar-content.direct
|
|
|
14
14
|
import { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';
|
|
15
15
|
import { BsExpandButtonDirective } from './expand-button/expand-button.directive';
|
|
16
16
|
import { BsNavbarTogglerComponent } from './navbar-toggler/navbar-toggler.component';
|
|
17
|
+
import { BsDropdownDividerDirective, BsDropdownDividerModule } from '@mintplayer/ng-bootstrap/dropdown-divider';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
export class BsNavbarModule {
|
|
19
20
|
}
|
|
@@ -31,7 +32,8 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
31
32
|
ClickOutsideModule,
|
|
32
33
|
BsUserAgentModule,
|
|
33
34
|
BsNoNoscriptModule,
|
|
34
|
-
BsHasOverlayModule
|
|
35
|
+
BsHasOverlayModule,
|
|
36
|
+
BsDropdownDividerModule], exports: [BsNavbarComponent,
|
|
35
37
|
BsNavbarNavComponent,
|
|
36
38
|
BsNavbarDropdownComponent,
|
|
37
39
|
BsNavbarItemComponent,
|
|
@@ -40,12 +42,14 @@ BsNavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
40
42
|
BsNavbarContentDirective,
|
|
41
43
|
BsNavbarBrandComponent,
|
|
42
44
|
BsExpandButtonDirective,
|
|
43
|
-
BsNavbarTogglerComponent
|
|
45
|
+
BsNavbarTogglerComponent,
|
|
46
|
+
BsDropdownDividerDirective] });
|
|
44
47
|
BsNavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, imports: [CommonModule,
|
|
45
48
|
ClickOutsideModule,
|
|
46
49
|
BsUserAgentModule,
|
|
47
50
|
BsNoNoscriptModule,
|
|
48
|
-
BsHasOverlayModule
|
|
51
|
+
BsHasOverlayModule,
|
|
52
|
+
BsDropdownDividerModule] });
|
|
49
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsNavbarModule, decorators: [{
|
|
50
54
|
type: NgModule,
|
|
51
55
|
args: [{
|
|
@@ -67,6 +71,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
67
71
|
BsUserAgentModule,
|
|
68
72
|
BsNoNoscriptModule,
|
|
69
73
|
BsHasOverlayModule,
|
|
74
|
+
BsDropdownDividerModule,
|
|
70
75
|
],
|
|
71
76
|
exports: [
|
|
72
77
|
BsNavbarComponent,
|
|
@@ -79,7 +84,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
79
84
|
BsNavbarBrandComponent,
|
|
80
85
|
BsExpandButtonDirective,
|
|
81
86
|
BsNavbarTogglerComponent,
|
|
87
|
+
BsDropdownDividerDirective,
|
|
82
88
|
]
|
|
83
89
|
}]
|
|
84
90
|
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbmF2YmFyL3NyYy9uYXZiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQXdDaEgsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFwQ3ZCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUVyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QixhQUd4QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHVCQUF1QixhQUd2QixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QixxQkFBcUI7UUFFckIsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUNoQix3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFFeEIsMEJBQTBCOzRHQUdqQixjQUFjLFlBdkJ2QixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHVCQUF1QjsyRkFrQmQsY0FBYztrQkF0QzFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFFckIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBRXJCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBRXhCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWNsaWNrLW91dHNpZGUnO1xuaW1wb3J0IHsgQnNVc2VyQWdlbnRNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvdXNlci1hZ2VudCc7XG5pbXBvcnQgeyBCc05vTm9zY3JpcHRNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvbm8tbm9zY3JpcHQnO1xuaW1wb3J0IHsgQnNIYXNPdmVybGF5TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL2hhcy1vdmVybGF5JztcbmltcG9ydCB7IEJzTmF2YmFyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhck5hdkNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLW5hdi9uYXZiYXItbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXItZHJvcGRvd24vbmF2YmFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc05hdmJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tdG9nZ2xlL2Ryb3Bkb3duLXRvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmF2TGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbmF2LWxpbmsvbmF2LWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzTmF2YmFyQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmF2YmFyLWNvbnRlbnQvbmF2YmFyLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzTmF2YmFyQnJhbmRDb21wb25lbnQgfSBmcm9tICcuL25hdmJhci1icmFuZC9uYXZiYXItYnJhbmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJzRXhwYW5kQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9leHBhbmQtYnV0dG9uL2V4cGFuZC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzTmF2YmFyVG9nZ2xlckNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLXRvZ2dsZXIvbmF2YmFyLXRvZ2dsZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzRHJvcGRvd25EaXZpZGVyRGlyZWN0aXZlLCBCc0Ryb3Bkb3duRGl2aWRlck1vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9kcm9wZG93bi1kaXZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnNOYXZiYXJDb21wb25lbnQsXG4gICAgQnNOYXZiYXJOYXZDb21wb25lbnQsXG4gICAgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBCc05hdmJhckl0ZW1Db21wb25lbnQsXG5cbiAgICBEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSxcbiAgICBOYXZMaW5rRGlyZWN0aXZlLFxuICAgIEJzTmF2YmFyQ29udGVudERpcmVjdGl2ZSxcbiAgICBCc05hdmJhckJyYW5kQ29tcG9uZW50LFxuICAgIEJzRXhwYW5kQnV0dG9uRGlyZWN0aXZlLFxuICAgIEJzTmF2YmFyVG9nZ2xlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDbGlja091dHNpZGVNb2R1bGUsXG4gICAgQnNVc2VyQWdlbnRNb2R1bGUsXG4gICAgQnNOb05vc2NyaXB0TW9kdWxlLFxuICAgIEJzSGFzT3ZlcmxheU1vZHVsZSxcbiAgICBCc0Ryb3Bkb3duRGl2aWRlck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzTmF2YmFyQ29tcG9uZW50LFxuICAgIEJzTmF2YmFyTmF2Q29tcG9uZW50LFxuICAgIEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQnNOYXZiYXJJdGVtQ29tcG9uZW50LFxuXG4gICAgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUsXG4gICAgTmF2TGlua0RpcmVjdGl2ZSxcbiAgICBCc05hdmJhckNvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNOYXZiYXJCcmFuZENvbXBvbmVudCxcbiAgICBCc0V4cGFuZEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBCc05hdmJhclRvZ2dsZXJDb21wb25lbnQsXG5cbiAgICBCc0Ryb3Bkb3duRGl2aWRlckRpcmVjdGl2ZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhck1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,117 +1,119 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { isPlatformServer, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Directive, PLATFORM_ID, Component, Inject,
|
|
5
|
-
import { FadeInOutAnimation
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
4
|
+
import { Directive, HostBinding, PLATFORM_ID, Component, Inject, Input, ViewChild, ContentChildren, forwardRef, HostListener, NgModule } from '@angular/core';
|
|
5
|
+
import { FadeInOutAnimation } from '@mintplayer/ng-animations';
|
|
6
|
+
import { Color } from '@mintplayer/ng-bootstrap';
|
|
7
|
+
import * as i2 from '@mintplayer/ng-swiper';
|
|
8
|
+
import { BsSwiperModule } from '@mintplayer/ng-swiper';
|
|
9
|
+
import * as i3 from '@mintplayer/ng-bootstrap/no-noscript';
|
|
9
10
|
import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
|
|
10
11
|
|
|
11
12
|
class BsCarouselImageDirective {
|
|
12
13
|
constructor(templateRef) {
|
|
13
14
|
this.templateRef = templateRef;
|
|
15
|
+
this.width100class = true;
|
|
14
16
|
this.itemTemplate = this.templateRef;
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
BsCarouselImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselImageDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
-
BsCarouselImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: BsCarouselImageDirective, selector: "*[bsCarouselImage]", ngImport: i0 });
|
|
20
|
+
BsCarouselImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: BsCarouselImageDirective, selector: "*[bsCarouselImage]", host: { properties: { "class.w-100": "this.width100class" } }, ngImport: i0 });
|
|
19
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselImageDirective, decorators: [{
|
|
20
22
|
type: Directive,
|
|
21
23
|
args: [{
|
|
22
24
|
selector: '*[bsCarouselImage]'
|
|
23
25
|
}]
|
|
24
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { width100class: [{
|
|
27
|
+
type: HostBinding,
|
|
28
|
+
args: ['class.w-100']
|
|
29
|
+
}] } });
|
|
25
30
|
|
|
26
31
|
class BsCarouselComponent {
|
|
27
|
-
constructor(platformId) {
|
|
32
|
+
constructor(platformId, cdRef) {
|
|
33
|
+
this.cdRef = cdRef;
|
|
34
|
+
this.colors = Color;
|
|
35
|
+
this.currentImageIndex = 0;
|
|
28
36
|
this.indicators = false;
|
|
29
|
-
this.
|
|
30
|
-
this.currentImageCounter$ = new BehaviorSubject(-1);
|
|
37
|
+
this.keyboardEvents = true;
|
|
31
38
|
//#region Animation
|
|
32
39
|
this.animationsDisabled = false;
|
|
33
40
|
this._animation = 'slide';
|
|
34
41
|
this.isServerSide = isPlatformServer(platformId);
|
|
35
|
-
this.currentImageIndex$ = this.currentImageCounter$
|
|
36
|
-
.pipe(map((counter) => {
|
|
37
|
-
const l = this.images.length;
|
|
38
|
-
return ((counter % l) + l) % l;
|
|
39
|
-
}))
|
|
40
|
-
.pipe(takeUntil(this.destroyed$));
|
|
41
|
-
this.currentImage$ = this.currentImageIndex$
|
|
42
|
-
.pipe(map((index) => { var _a, _b; return (_b = (_a = this.images.get(index)) === null || _a === void 0 ? void 0 : _a.itemTemplate) !== null && _b !== void 0 ? _b : null; }))
|
|
43
|
-
.pipe(takeUntil(this.destroyed$));
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this.destroyed$.next(true);
|
|
47
|
-
}
|
|
48
|
-
ngAfterContentInit() {
|
|
49
|
-
if (this.images.length > 0) {
|
|
50
|
-
this.currentImageCounter$.next(0);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.currentImageCounter$.next(-1);
|
|
54
|
-
}
|
|
55
42
|
}
|
|
56
43
|
set animation(value) {
|
|
57
44
|
this.animationsDisabled = true;
|
|
58
45
|
this._animation = value;
|
|
59
|
-
setTimeout(() =>
|
|
60
|
-
|
|
61
|
-
}, 20);
|
|
46
|
+
setTimeout(() => this.animationsDisabled = false, 20);
|
|
47
|
+
setTimeout(() => this.cdRef.detectChanges(), 50);
|
|
62
48
|
}
|
|
63
49
|
get animation() {
|
|
64
50
|
return this._animation;
|
|
65
51
|
}
|
|
66
52
|
//#endregion
|
|
53
|
+
onKeyPress(ev) {
|
|
54
|
+
if (this.keyboardEvents) {
|
|
55
|
+
switch (ev.key) {
|
|
56
|
+
case 'ArrowLeft':
|
|
57
|
+
this.previousImage();
|
|
58
|
+
break;
|
|
59
|
+
case 'ArrowRight':
|
|
60
|
+
this.nextImage();
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
ev.preventDefault();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
67
66
|
previousImage() {
|
|
68
|
-
this.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
switch (this.animation) {
|
|
68
|
+
case 'fade':
|
|
69
|
+
if (this.currentImageIndex > 0) {
|
|
70
|
+
this.currentImageIndex--;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.currentImageIndex = this.images.length - 1;
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
case 'slide':
|
|
77
|
+
this.swipeContainer.previous();
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
73
80
|
}
|
|
74
81
|
nextImage() {
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const l = this.images.length;
|
|
84
|
-
const counterMod = ((currentValue % l) + l) % l;
|
|
85
|
-
const newValue = currentValue - counterMod + index;
|
|
86
|
-
this.currentImageCounter$.next(newValue);
|
|
87
|
-
}
|
|
88
|
-
onKeyPress(ev) {
|
|
89
|
-
switch (ev.key) {
|
|
90
|
-
case 'ArrowLeft':
|
|
91
|
-
this.previousImage();
|
|
82
|
+
switch (this.animation) {
|
|
83
|
+
case 'fade':
|
|
84
|
+
if (this.currentImageIndex < this.images.length - 1) {
|
|
85
|
+
this.currentImageIndex++;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.currentImageIndex = 0;
|
|
89
|
+
}
|
|
92
90
|
break;
|
|
93
|
-
case '
|
|
94
|
-
this.
|
|
91
|
+
case 'slide':
|
|
92
|
+
this.swipeContainer.next();
|
|
95
93
|
break;
|
|
96
94
|
}
|
|
97
|
-
ev.preventDefault();
|
|
98
95
|
}
|
|
99
96
|
}
|
|
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] });
|
|
97
|
+
BsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], 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", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(function () { return BsCarouselImageDirective; }) }], viewQueries: [{ propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\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 <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 <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 </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap\">\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div *ngFor=\"let image of images\" class=\"carousel-item d-inline-block float-none w-100 me-0\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n </div>\n </div>\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>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\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>\n</ng-container>", 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;max-width:500px}: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}.wrapper{overflow:hidden}\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.BsSwipeDirective, selector: "[bsSwipe]" }, { kind: "directive", type: i2.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i3.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] });
|
|
102
99
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselComponent, decorators: [{
|
|
103
100
|
type: Component,
|
|
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"] }]
|
|
101
|
+
args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\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 <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 <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 </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap\">\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div *ngFor=\"let image of images\" class=\"carousel-item d-inline-block float-none w-100 me-0\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n </div>\n </div>\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>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\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>\n</ng-container>", 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;max-width:500px}: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}.wrapper{overflow:hidden}\n"] }]
|
|
105
102
|
}], ctorParameters: function () {
|
|
106
103
|
return [{ type: undefined, decorators: [{
|
|
107
104
|
type: Inject,
|
|
108
105
|
args: [PLATFORM_ID]
|
|
109
|
-
}] }];
|
|
110
|
-
}, propDecorators: {
|
|
111
|
-
type: ContentChildren,
|
|
112
|
-
args: [BsCarouselImageDirective]
|
|
113
|
-
}], indicators: [{
|
|
106
|
+
}] }, { type: i0.ChangeDetectorRef }];
|
|
107
|
+
}, propDecorators: { indicators: [{
|
|
114
108
|
type: Input
|
|
109
|
+
}], keyboardEvents: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], swipeContainer: [{
|
|
112
|
+
type: ViewChild,
|
|
113
|
+
args: ['container']
|
|
114
|
+
}], images: [{
|
|
115
|
+
type: ContentChildren,
|
|
116
|
+
args: [forwardRef(() => BsCarouselImageDirective)]
|
|
115
117
|
}], animationsDisabled: [{
|
|
116
118
|
type: HostBinding,
|
|
117
119
|
args: ['@.disabled']
|
|
@@ -130,9 +132,11 @@ class BsCarouselModule {
|
|
|
130
132
|
BsCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
131
133
|
BsCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, declarations: [BsCarouselComponent,
|
|
132
134
|
BsCarouselImageDirective], imports: [CommonModule,
|
|
135
|
+
BsSwiperModule,
|
|
133
136
|
BsNoNoscriptModule], exports: [BsCarouselComponent,
|
|
134
137
|
BsCarouselImageDirective] });
|
|
135
138
|
BsCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, imports: [CommonModule,
|
|
139
|
+
BsSwiperModule,
|
|
136
140
|
BsNoNoscriptModule] });
|
|
137
141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BsCarouselModule, decorators: [{
|
|
138
142
|
type: NgModule,
|
|
@@ -143,6 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
143
147
|
],
|
|
144
148
|
imports: [
|
|
145
149
|
CommonModule,
|
|
150
|
+
BsSwiperModule,
|
|
146
151
|
BsNoNoscriptModule
|
|
147
152
|
],
|
|
148
153
|
exports: [
|