@mintplayer/ng-bootstrap 15.18.6 → 15.18.8

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.
@@ -2,18 +2,24 @@ import * as i0 from '@angular/core';
2
2
  import { TemplateRef, Component, Input, ContentChild, HostBinding, ContentChildren, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@mintplayer/ng-bootstrap/no-noscript';
6
+ import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
7
+ import { BehaviorSubject, combineLatest, map } from 'rxjs';
5
8
 
6
9
  class BsTabPageComponent {
7
10
  constructor(tabControl) {
8
11
  this.disabled = false;
9
12
  this.tabControl = tabControl;
13
+ this.tabId$ = new BehaviorSubject(++this.tabControl.tabCounter);
14
+ this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])
15
+ .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));
10
16
  }
11
17
  }
12
18
  BsTabPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabPageComponent, deps: [{ token: BsTabControlComponent }], target: i0.ɵɵFactoryTarget.Component });
13
- BsTabPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabPageComponent, selector: "bs-tab-page", inputs: { disabled: "disabled" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-content *ngIf=\"tabControl.activeTab === this\"></ng-content>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
+ BsTabPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabPageComponent, selector: "bs-tab-page", inputs: { disabled: "disabled" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"tabControl.activeTab === this\">\n <ng-content></ng-content>\n</div>", styles: [".tab-page-content{display:none}input[type=radio].noscript:checked+.tab-page-content{display:block}\n"], dependencies: [{ kind: "directive", type: i2.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
14
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabPageComponent, decorators: [{
15
21
  type: Component,
16
- args: [{ selector: 'bs-tab-page', template: "<ng-content *ngIf=\"tabControl.activeTab === this\"></ng-content>" }]
22
+ args: [{ selector: 'bs-tab-page', template: "<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"tabControl.activeTab === this\">\n <ng-content></ng-content>\n</div>", styles: [".tab-page-content{display:none}input[type=radio].noscript:checked+.tab-page-content{display:block}\n"] }]
17
23
  }], ctorParameters: function () { return [{ type: BsTabControlComponent }]; }, propDecorators: { disabled: [{
18
24
  type: Input
19
25
  }], headerTemplate: [{
@@ -27,6 +33,9 @@ class BsTabControlComponent {
27
33
  this.positionRelative = true;
28
34
  this.border = true;
29
35
  this.activeTab = null;
36
+ this.tabCounter = 0;
37
+ this.tabControlId$ = new BehaviorSubject(++BsTabControlComponent.tabControlCounter);
38
+ this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));
30
39
  }
31
40
  setActiveTab(tab) {
32
41
  if (!tab.disabled) {
@@ -35,12 +44,13 @@ class BsTabControlComponent {
35
44
  return false;
36
45
  }
37
46
  }
47
+ BsTabControlComponent.tabControlCounter = 0;
38
48
  BsTabControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- BsTabControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, queries: [{ propertyName: "tabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n <ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n <ng-container *ngFor=\"let tab of tabPages\">\n <li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n <a class=\"nav-link text-nowrap\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\" href=\"\">\n <ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</div>\n<div class=\"tab-content\" [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.overflow-y-hidden{overflow-y: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"] }] });
49
+ BsTabControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, queries: [{ propertyName: "tabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n\t<ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t<ng-container *ngFor=\"let tab of tabPages\">\n\t\t\t<li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n\t\t\t\t</label>\n\t\t\t</li>\n\t\t</ng-container>\n\t</ul>\n</div>\n<div class=\"tab-content\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t<ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y: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.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
40
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlComponent, decorators: [{
41
51
  type: Component,
42
- args: [{ selector: 'bs-tab-control', template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n <ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n <ng-container *ngFor=\"let tab of tabPages\">\n <li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n <a class=\"nav-link text-nowrap\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\" href=\"\">\n <ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</div>\n<div class=\"tab-content\" [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.overflow-y-hidden{overflow-y:hidden}\n"] }]
43
- }], propDecorators: { dBlock: [{
52
+ args: [{ selector: 'bs-tab-control', template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n\t<ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t<ng-container *ngFor=\"let tab of tabPages\">\n\t\t\t<li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n\t\t\t\t</label>\n\t\t\t</li>\n\t\t</ng-container>\n\t</ul>\n</div>\n<div class=\"tab-content\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t<ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y:hidden}\n"] }]
53
+ }], ctorParameters: function () { return []; }, propDecorators: { dBlock: [{
44
54
  type: HostBinding,
45
55
  args: ['class.d-block']
46
56
  }], positionRelative: [{
@@ -57,9 +67,11 @@ class BsTabControlModule {
57
67
  }
58
68
  BsTabControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
59
69
  BsTabControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, declarations: [BsTabControlComponent,
60
- BsTabPageComponent], imports: [CommonModule], exports: [BsTabControlComponent,
70
+ BsTabPageComponent], imports: [CommonModule,
71
+ BsNoNoscriptModule], exports: [BsTabControlComponent,
61
72
  BsTabPageComponent] });
62
- BsTabControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, imports: [CommonModule] });
73
+ BsTabControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, imports: [CommonModule,
74
+ BsNoNoscriptModule] });
63
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, decorators: [{
64
76
  type: NgModule,
65
77
  args: [{
@@ -68,7 +80,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
68
80
  BsTabPageComponent,
69
81
  ],
70
82
  imports: [
71
- CommonModule
83
+ CommonModule,
84
+ BsNoNoscriptModule
72
85
  ],
73
86
  exports: [
74
87
  BsTabControlComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control.module.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss']\n})\nexport class BsTabPageComponent {\n\n tabControl: BsTabControlComponent;\n constructor(tabControl: BsTabControlComponent) {\n this.tabControl = tabControl;\n }\n\n @Input() disabled = false;\n @ContentChild(TemplateRef) headerTemplate!: TemplateRef<any>;\n\n}\n","<ng-content *ngIf=\"tabControl.activeTab === this\"></ng-content>","import { Component, ContentChildren, HostBinding, Input } from '@angular/core';\nimport { BsTabPageComponent } from '../tab-page/tab-page.component';\n\n@Component({\n selector: 'bs-tab-control',\n templateUrl: './tab-control.component.html',\n styleUrls: ['./tab-control.component.scss']\n})\nexport class BsTabControlComponent {\n\n @HostBinding('class.d-block') dBlock = true;\n @HostBinding('class.position-relative') positionRelative = true;\n @ContentChildren(BsTabPageComponent) tabPages!: BsTabPageComponent[];\n @Input() public border = true;\n activeTab: BsTabPageComponent | null = null;\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled) {\n this.activeTab = tab;\n }\n return false;\n }\n\n}\n","<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n <ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n <ng-container *ngFor=\"let tab of tabPages\">\n <li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n <a class=\"nav-link text-nowrap\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\" href=\"\">\n <ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</div>\n<div class=\"tab-content\" [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsTabControlComponent } from './tab-control/tab-control.component';\nimport { BsTabPageComponent } from './tab-page/tab-page.component';\n\n@NgModule({\n declarations: [\n BsTabControlComponent,\n BsTabPageComponent,\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsTabControlComponent,\n BsTabPageComponent,\n ]\n})\nexport class BsTabControlModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsTabControlComponent","i2"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control.module.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss']\n})\nexport class BsTabPageComponent {\n\n constructor(tabControl: BsTabControlComponent) {\n this.tabControl = tabControl;\n this.tabId$ = new BehaviorSubject<number>(++this.tabControl.tabCounter);\n this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])\n .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));\n }\n\n tabControl: BsTabControlComponent;\n tabId$: BehaviorSubject<number>;\n tabName$: Observable<string>;\n\n @Input() disabled = false;\n @ContentChild(TemplateRef) headerTemplate!: TemplateRef<any>;\n\n}\n","<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"tabControl.activeTab === this\">\n <ng-content></ng-content>\n</div>","import { Component, ContentChildren, HostBinding, Input } from '@angular/core';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsTabPageComponent } from '../tab-page/tab-page.component';\n\n@Component({\n selector: 'bs-tab-control',\n templateUrl: './tab-control.component.html',\n styleUrls: ['./tab-control.component.scss']\n})\nexport class BsTabControlComponent {\n\n constructor() {\n this.tabControlId$ = new BehaviorSubject<number>(++BsTabControlComponent.tabControlCounter);\n this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));\n }\n\n @HostBinding('class.d-block') dBlock = true;\n @HostBinding('class.position-relative') positionRelative = true;\n @ContentChildren(BsTabPageComponent) tabPages!: BsTabPageComponent[];\n @Input() public border = true;\n activeTab: BsTabPageComponent | null = null;\n tabControlId$: BehaviorSubject<number>;\n tabControlName$: Observable<string>;\n static tabControlCounter = 0;\n tabCounter = 0;\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled) {\n this.activeTab = tab;\n }\n return false;\n }\n\n}\n","<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n\t<ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t<ng-container *ngFor=\"let tab of tabPages\">\n\t\t\t<li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n\t\t\t\t</label>\n\t\t\t</li>\n\t\t</ng-container>\n\t</ul>\n</div>\n<div class=\"tab-content\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t<ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabControlComponent } from './tab-control/tab-control.component';\nimport { BsTabPageComponent } from './tab-page/tab-page.component';\n\n@NgModule({\n declarations: [\n BsTabControlComponent,\n BsTabPageComponent,\n ],\n imports: [\n CommonModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsTabControlComponent,\n BsTabPageComponent,\n ]\n})\nexport class BsTabControlModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsTabControlComponent","i3"],"mappings":"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"}
@@ -133,10 +133,10 @@ class BsToggleButtonComponent {
133
133
  }
134
134
  }
135
135
  BsToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
136
- BsToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: { type: "type", isToggled: "isToggled", disabled: "disabled", name: "name", value: "value", group: "group" }, outputs: { isToggledChange: "isToggledChange" }, host: { properties: { "class.d-inline-block": "this.dInlineBlockClass" } }, viewQueries: [{ propertyName: "checkbox", first: true, predicate: ["checkbox"], descendants: true }], ngImport: i0, template: "<label [class]=\"mainCheckStyle$ | async\" [class.form-switch]=\"isSwitch$ | async\">\n <input #checkbox [class]=\"inputClass$ | async\" [type]=\"checkOrRadio$ | async\" [name]=\"name$ | async\" [value]=\"value$ | async\">\n <span [class]=\"labelClass$ | async\">\n <ng-content></ng-content>\n </span>\n</label>", styles: [":host ::ng-deep .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}:host ::ng-deep .form-check .form-check-input{float:left;margin-left:-1.5em}:host ::ng-deep .form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}:host ::ng-deep .form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}:host ::ng-deep .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}:host ::ng-deep .form-check-input[type=checkbox]{border-radius:.25em}:host ::ng-deep .form-check-input[type=radio]{border-radius:50%}:host ::ng-deep .form-check-input:active{filter:brightness(90%)}:host ::ng-deep .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}:host ::ng-deep .form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}:host ::ng-deep .form-check-input[disabled]~.form-check-label,:host ::ng-deep .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}:host ::ng-deep .form-switch{padding-left:2.5em}:host ::ng-deep .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-switch .form-check-input{transition:none}}:host ::ng-deep .form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}:host ::ng-deep .form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}:host ::ng-deep .form-check-inline{display:inline-block;margin-right:1rem}:host ::ng-deep .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}:host ::ng-deep .btn-check[disabled]+.btn,:host ::ng-deep .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
136
+ BsToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: { type: "type", isToggled: "isToggled", disabled: "disabled", name: "name", value: "value", group: "group" }, outputs: { isToggledChange: "isToggledChange" }, host: { properties: { "class.d-inline-block": "this.dInlineBlockClass" } }, viewQueries: [{ propertyName: "checkbox", first: true, predicate: ["checkbox"], descendants: true }], ngImport: i0, template: "<label [class]=\"mainCheckStyle$ | async\" [class.form-switch]=\"isSwitch$ | async\">\n <input #checkbox [class]=\"inputClass$ | async\" [type]=\"checkOrRadio$ | async\" [name]=\"nameResult$ | async\" [value]=\"value$ | async\">\n <span [class]=\"labelClass$ | async\">\n <ng-content></ng-content>\n </span>\n</label>", styles: [":host ::ng-deep .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}:host ::ng-deep .form-check .form-check-input{float:left;margin-left:-1.5em}:host ::ng-deep .form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}:host ::ng-deep .form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}:host ::ng-deep .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}:host ::ng-deep .form-check-input[type=checkbox]{border-radius:.25em}:host ::ng-deep .form-check-input[type=radio]{border-radius:50%}:host ::ng-deep .form-check-input:active{filter:brightness(90%)}:host ::ng-deep .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}:host ::ng-deep .form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}:host ::ng-deep .form-check-input[disabled]~.form-check-label,:host ::ng-deep .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}:host ::ng-deep .form-switch{padding-left:2.5em}:host ::ng-deep .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-switch .form-check-input{transition:none}}:host ::ng-deep .form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}:host ::ng-deep .form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}:host ::ng-deep .form-check-inline{display:inline-block;margin-right:1rem}:host ::ng-deep .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}:host ::ng-deep .btn-check[disabled]+.btn,:host ::ng-deep .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
137
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsToggleButtonComponent, decorators: [{
138
138
  type: Component,
139
- args: [{ selector: 'bs-toggle-button', template: "<label [class]=\"mainCheckStyle$ | async\" [class.form-switch]=\"isSwitch$ | async\">\n <input #checkbox [class]=\"inputClass$ | async\" [type]=\"checkOrRadio$ | async\" [name]=\"name$ | async\" [value]=\"value$ | async\">\n <span [class]=\"labelClass$ | async\">\n <ng-content></ng-content>\n </span>\n</label>", styles: [":host ::ng-deep .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}:host ::ng-deep .form-check .form-check-input{float:left;margin-left:-1.5em}:host ::ng-deep .form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}:host ::ng-deep .form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}:host ::ng-deep .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}:host ::ng-deep .form-check-input[type=checkbox]{border-radius:.25em}:host ::ng-deep .form-check-input[type=radio]{border-radius:50%}:host ::ng-deep .form-check-input:active{filter:brightness(90%)}:host ::ng-deep .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}:host ::ng-deep .form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}:host ::ng-deep .form-check-input[disabled]~.form-check-label,:host ::ng-deep .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}:host ::ng-deep .form-switch{padding-left:2.5em}:host ::ng-deep .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-switch .form-check-input{transition:none}}:host ::ng-deep .form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}:host ::ng-deep .form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}:host ::ng-deep .form-check-inline{display:inline-block;margin-right:1rem}:host ::ng-deep .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}:host ::ng-deep .btn-check[disabled]+.btn,:host ::ng-deep .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}\n"] }]
139
+ args: [{ selector: 'bs-toggle-button', template: "<label [class]=\"mainCheckStyle$ | async\" [class.form-switch]=\"isSwitch$ | async\">\n <input #checkbox [class]=\"inputClass$ | async\" [type]=\"checkOrRadio$ | async\" [name]=\"nameResult$ | async\" [value]=\"value$ | async\">\n <span [class]=\"labelClass$ | async\">\n <ng-content></ng-content>\n </span>\n</label>", styles: [":host ::ng-deep .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}:host ::ng-deep .form-check .form-check-input{float:left;margin-left:-1.5em}:host ::ng-deep .form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}:host ::ng-deep .form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}:host ::ng-deep .form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}:host ::ng-deep .form-check-input[type=checkbox]{border-radius:.25em}:host ::ng-deep .form-check-input[type=radio]{border-radius:50%}:host ::ng-deep .form-check-input:active{filter:brightness(90%)}:host ::ng-deep .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}:host ::ng-deep .form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}:host ::ng-deep .form-check-input[disabled]~.form-check-label,:host ::ng-deep .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}:host ::ng-deep .form-switch{padding-left:2.5em}:host ::ng-deep .form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .form-switch .form-check-input{transition:none}}:host ::ng-deep .form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}:host ::ng-deep .form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}:host ::ng-deep .form-check-inline{display:inline-block;margin-right:1rem}:host ::ng-deep .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}:host ::ng-deep .btn-check[disabled]+.btn,:host ::ng-deep .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}\n"] }]
140
140
  }], ctorParameters: function () { return []; }, propDecorators: { checkbox: [{
141
141
  type: ViewChild,
142
142
  args: ['checkbox']
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-toggle-button.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.html","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/value-accessor/toggle-button-value-accessor.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/toggle-button.module.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/mintplayer-ng-bootstrap-toggle-button.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsToggleButtonGroupDirective } from '../directives/toggle-button-group/toggle-button-group.directive';\nimport { BsCheckStyle } from '../types/check-style';\n\n@Component({\n selector: 'bs-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss']\n})\nexport class BsToggleButtonComponent implements AfterViewInit {\n\n constructor() {\n this.mainCheckStyle$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check';\n default:\n return null;\n }\n }));\n\n this.isSwitch$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'switch':\n return true;\n default:\n return false;\n }\n }));\n\n this.inputClass$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-input';\n default:\n return 'btn-check';\n }\n }));\n \n this.labelClass$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-label';\n case 'toggle_button':\n return 'btn btn-primary'\n case 'radio_toggle_button':\n return 'btn btn-secondary';\n }\n }));\n\n this.checkOrRadio$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'radio':\n case 'radio_toggle_button':\n return 'radio';\n default:\n return 'checkbox';\n }\n }));\n\n this.nameResult$ = combineLatest([this.name$, this.type$, this.group$])\n .pipe(map(([name, type, group]) => {\n switch (type) {\n case 'radio':\n case 'radio_toggle_button':\n return name;\n case 'checkbox':\n case 'toggle_button':\n case 'switch':\n if (group) {\n return `${name}[]`;\n } else {\n return name;\n }\n default:\n throw 'Invalid value';\n }\n }));\n }\n\n @ViewChild('checkbox') checkbox!: ElementRef<HTMLInputElement>;\n @HostBinding('class.d-inline-block') dInlineBlockClass = true;\n\n disableAnimations = true;\n mainCheckStyle$: Observable<string | null>;\n isSwitch$: Observable<boolean>;\n inputClass$: Observable<string>;\n labelClass$: Observable<string>;\n checkOrRadio$: Observable<'checkbox' | 'radio'>;\n nameResult$: Observable<string | null>;\n\n //#region Type\n type$ = new BehaviorSubject<BsCheckStyle>('checkbox');\n public get type() {\n return this.type$.value;\n }\n @Input() public set type(value: BsCheckStyle) {\n this.type$.next(value);\n }\n //#endregion\n\n //#region isToggled\n _isToggled: boolean | null = false;\n @Output() public isToggledChange = new EventEmitter<boolean | null>();\n public get isToggled() {\n return this._isToggled;\n }\n @Input() public set isToggled(value: boolean | null) {\n this._isToggled = value;\n this.isToggledChange.emit(this._isToggled);\n }\n //#endregion\n\n //#region disabled\n @Input() public disabled = false;\n //#endregion\n\n //#region name\n name$ = new BehaviorSubject<string | null>(null);\n public get name() {\n return this.name$.value;\n }\n @Input() public set name(value: string | null) {\n this.name$.next(value);\n }\n //#endregion\n\n //#region value\n value$ = new BehaviorSubject<string | null>(null);\n public get value() {\n return this.value$.value;\n }\n @Input() public set value(value: string | null) {\n this.value$.next(value);\n }\n //#endregion\n\n //#region Group\n group$ = new BehaviorSubject<BsToggleButtonGroupDirective | null>(null);\n public get group() {\n return this.group$.value;\n }\n @Input() public set group(value: BsToggleButtonGroupDirective | null) {\n this.group$.next(value);\n }\n //#endregion\n\n ngAfterViewInit() {\n this.disableAnimations = false;\n }\n\n}\n","<label [class]=\"mainCheckStyle$ | async\" [class.form-switch]=\"isSwitch$ | async\">\n <input #checkbox [class]=\"inputClass$ | async\" [type]=\"checkOrRadio$ | async\" [name]=\"name$ | async\" [value]=\"value$ | async\">\n <span [class]=\"labelClass$ | async\">\n <ng-content></ng-content>\n </span>\n</label>","import { ContentChildren, Directive, Input, QueryList } from '@angular/core';\nimport { BsToggleButtonComponent } from '../../component/toggle-button.component';\n\n@Directive({\n selector: '[bsToggleButtonGroup]',\n exportAs: 'bsToggleButtonGroup'\n})\nexport class BsToggleButtonGroupDirective {\n\n constructor() { }\n\n @ContentChildren(BsToggleButtonComponent, { descendants: true }) toggleButtons!: QueryList<BsToggleButtonComponent>;\n}\n","import { AfterViewInit, Directive, forwardRef, HostListener, OnDestroy, Optional } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { BsToggleButtonComponent } from '../component/toggle-button.component';\n\n@Directive({\n selector: 'bs-toggle-button',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsToggleButtonValueAccessor),\n multi: true,\n }],\n})\nexport class BsToggleButtonValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy {\n constructor(private host: BsToggleButtonComponent) {}\n\n destroyed$ = new Subject();\n\n onValueChange?: (value: boolean | string | string[]) => void;\n onTouched?: () => void;\n\n //#region Lifecycle hooks\n ngAfterViewInit() {\n fromEvent(this.host.checkbox.nativeElement, 'change')\n .pipe(takeUntil(this.destroyed$))\n .subscribe((ev) => {\n if (this.onValueChange && this.host.checkbox) {\n const isChecked = (<HTMLInputElement>ev.target).checked;\n switch (this.host.type) {\n case 'radio':\n case 'radio_toggle_button':\n if (isChecked) {\n this.onValueChange(this.host.checkbox.nativeElement.value);\n }\n break;\n default:\n if (this.host['group']) {\n const group = this.host['group'];\n const itemValue = this.host.checkbox.nativeElement.value;\n \n const result = group.toggleButtons\n .map(tb => ({ value: tb.value, checked: tb.checkbox.nativeElement.checked }))\n .filter(tb => !!tb.value && tb.checked)\n .map(tb => <string>tb.value);\n\n if (this.host.checkbox.nativeElement.checked) {\n if (!result.includes(itemValue)) {\n result.push(itemValue);\n }\n } else {\n if (result.includes(itemValue)) {\n result.splice(result.indexOf(itemValue), 1);\n }\n }\n\n this.onValueChange(result);\n } else {\n this.onValueChange(isChecked);\n }\n break;\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n //#endregion\n\n //#region ControlValueAccessor implementation\n registerOnChange(fn: (_: any) => void) {\n this.onValueChange = fn;\n }\n \n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n writeValue(value: boolean | string | string[]) {\n if (this.host.checkbox) {\n switch (this.host.type) {\n case 'radio':\n case 'radio_toggle_button':\n if (<string>value === this.host.value) {\n this.host.checkbox.nativeElement.checked = true;\n }\n break;\n default:\n if (this.host.group) {\n this.host.checkbox.nativeElement.checked = (<string[]>value).includes(this.host.value!);\n } else {\n this.host.checkbox.nativeElement.checked = <boolean>value;\n }\n break;\n }\n }\n }\n\n setDisabledState(isDisabled: boolean) {\n if (this.host.checkbox) {\n this.host.checkbox.nativeElement.disabled = isDisabled;\n }\n }\n //#endregion\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsToggleButtonComponent } from './component/toggle-button.component';\nimport { BsToggleButtonValueAccessor } from './value-accessor/toggle-button-value-accessor';\nimport { BsToggleButtonGroupDirective } from './directives/toggle-button-group/toggle-button-group.directive';\n\n@NgModule({\n declarations: [\n BsToggleButtonComponent,\n BsToggleButtonValueAccessor,\n BsToggleButtonGroupDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsToggleButtonComponent,\n BsToggleButtonValueAccessor,\n BsToggleButtonGroupDirective\n ]\n})\nexport class BsToggleButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsToggleButtonComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-toggle-button.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.html","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/value-accessor/toggle-button-value-accessor.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/toggle-button.module.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/mintplayer-ng-bootstrap-toggle-button.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsToggleButtonGroupDirective } from '../directives/toggle-button-group/toggle-button-group.directive';\nimport { BsCheckStyle } from '../types/check-style';\n\n@Component({\n selector: 'bs-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss']\n})\nexport class BsToggleButtonComponent implements AfterViewInit {\n\n constructor() {\n this.mainCheckStyle$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check';\n default:\n return null;\n }\n }));\n\n this.isSwitch$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'switch':\n return true;\n default:\n return false;\n }\n }));\n\n this.inputClass$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-input';\n default:\n return 'btn-check';\n }\n }));\n \n this.labelClass$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-label';\n case 'toggle_button':\n return 'btn btn-primary'\n case 'radio_toggle_button':\n return 'btn btn-secondary';\n }\n }));\n\n this.checkOrRadio$ = this.type$.pipe(map((type) => {\n switch (type) {\n case 'radio':\n case 'radio_toggle_button':\n return 'radio';\n default:\n return 'checkbox';\n }\n }));\n\n this.nameResult$ = combineLatest([this.name$, this.type$, this.group$])\n .pipe(map(([name, type, group]) => {\n switch (type) {\n case 'radio':\n case 'radio_toggle_button':\n return name;\n case 'checkbox':\n case 'toggle_button':\n case 'switch':\n if (group) {\n return `${name}[]`;\n } else {\n return name;\n }\n default:\n throw 'Invalid value';\n }\n }));\n }\n\n @ViewChild('checkbox') checkbox!: ElementRef<HTMLInputElement>;\n @HostBinding('class.d-inline-block') dInlineBlockClass = true;\n\n disableAnimations = true;\n mainCheckStyle$: Observable<string | null>;\n isSwitch$: Observable<boolean>;\n inputClass$: Observable<string>;\n labelClass$: Observable<string>;\n checkOrRadio$: Observable<'checkbox' | 'radio'>;\n nameResult$: Observable<string | null>;\n\n //#region Type\n type$ = new BehaviorSubject<BsCheckStyle>('checkbox');\n public get type() {\n return this.type$.value;\n }\n @Input() public set type(value: BsCheckStyle) {\n this.type$.next(value);\n }\n //#endregion\n\n //#region isToggled\n _isToggled: boolean | null = false;\n @Output() public isToggledChange = new EventEmitter<boolean | null>();\n public get isToggled() {\n return this._isToggled;\n }\n @Input() public set isToggled(value: boolean | null) {\n this._isToggled = value;\n this.isToggledChange.emit(this._isToggled);\n }\n //#endregion\n\n //#region disabled\n @Input() public disabled = false;\n //#endregion\n\n //#region name\n name$ = new BehaviorSubject<string | null>(null);\n public get name() {\n return this.name$.value;\n }\n @Input() public set name(value: string | null) {\n this.name$.next(value);\n }\n //#endregion\n\n //#region value\n value$ = new BehaviorSubject<string | null>(null);\n public get value() {\n return this.value$.value;\n }\n @Input() public set value(value: string | null) {\n this.value$.next(value);\n }\n //#endregion\n\n //#region Group\n group$ = new BehaviorSubject<BsToggleButtonGroupDirective | null>(null);\n public get group() {\n return this.group$.value;\n }\n @Input() public set group(value: BsToggleButtonGroupDirective | null) {\n this.group$.next(value);\n }\n //#endregion\n\n ngAfterViewInit() {\n this.disableAnimations = false;\n }\n\n}\n","<label [class]=\"mainCheckStyle$ | async\" [class.form-switch]=\"isSwitch$ | async\">\n <input #checkbox [class]=\"inputClass$ | async\" [type]=\"checkOrRadio$ | async\" [name]=\"nameResult$ | async\" [value]=\"value$ | async\">\n <span [class]=\"labelClass$ | async\">\n <ng-content></ng-content>\n </span>\n</label>","import { ContentChildren, Directive, Input, QueryList } from '@angular/core';\nimport { BsToggleButtonComponent } from '../../component/toggle-button.component';\n\n@Directive({\n selector: '[bsToggleButtonGroup]',\n exportAs: 'bsToggleButtonGroup'\n})\nexport class BsToggleButtonGroupDirective {\n\n constructor() { }\n\n @ContentChildren(BsToggleButtonComponent, { descendants: true }) toggleButtons!: QueryList<BsToggleButtonComponent>;\n}\n","import { AfterViewInit, Directive, forwardRef, HostListener, OnDestroy, Optional } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { BsToggleButtonComponent } from '../component/toggle-button.component';\n\n@Directive({\n selector: 'bs-toggle-button',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsToggleButtonValueAccessor),\n multi: true,\n }],\n})\nexport class BsToggleButtonValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy {\n constructor(private host: BsToggleButtonComponent) {}\n\n destroyed$ = new Subject();\n\n onValueChange?: (value: boolean | string | string[]) => void;\n onTouched?: () => void;\n\n //#region Lifecycle hooks\n ngAfterViewInit() {\n fromEvent(this.host.checkbox.nativeElement, 'change')\n .pipe(takeUntil(this.destroyed$))\n .subscribe((ev) => {\n if (this.onValueChange && this.host.checkbox) {\n const isChecked = (<HTMLInputElement>ev.target).checked;\n switch (this.host.type) {\n case 'radio':\n case 'radio_toggle_button':\n if (isChecked) {\n this.onValueChange(this.host.checkbox.nativeElement.value);\n }\n break;\n default:\n if (this.host['group']) {\n const group = this.host['group'];\n const itemValue = this.host.checkbox.nativeElement.value;\n \n const result = group.toggleButtons\n .map(tb => ({ value: tb.value, checked: tb.checkbox.nativeElement.checked }))\n .filter(tb => !!tb.value && tb.checked)\n .map(tb => <string>tb.value);\n\n if (this.host.checkbox.nativeElement.checked) {\n if (!result.includes(itemValue)) {\n result.push(itemValue);\n }\n } else {\n if (result.includes(itemValue)) {\n result.splice(result.indexOf(itemValue), 1);\n }\n }\n\n this.onValueChange(result);\n } else {\n this.onValueChange(isChecked);\n }\n break;\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n //#endregion\n\n //#region ControlValueAccessor implementation\n registerOnChange(fn: (_: any) => void) {\n this.onValueChange = fn;\n }\n \n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n writeValue(value: boolean | string | string[]) {\n if (this.host.checkbox) {\n switch (this.host.type) {\n case 'radio':\n case 'radio_toggle_button':\n if (<string>value === this.host.value) {\n this.host.checkbox.nativeElement.checked = true;\n }\n break;\n default:\n if (this.host.group) {\n this.host.checkbox.nativeElement.checked = (<string[]>value).includes(this.host.value!);\n } else {\n this.host.checkbox.nativeElement.checked = <boolean>value;\n }\n break;\n }\n }\n }\n\n setDisabledState(isDisabled: boolean) {\n if (this.host.checkbox) {\n this.host.checkbox.nativeElement.disabled = isDisabled;\n }\n }\n //#endregion\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsToggleButtonComponent } from './component/toggle-button.component';\nimport { BsToggleButtonValueAccessor } from './value-accessor/toggle-button-value-accessor';\nimport { BsToggleButtonGroupDirective } from './directives/toggle-button-group/toggle-button-group.directive';\n\n@NgModule({\n declarations: [\n BsToggleButtonComponent,\n BsToggleButtonValueAccessor,\n BsToggleButtonGroupDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsToggleButtonComponent,\n BsToggleButtonValueAccessor,\n BsToggleButtonGroupDirective\n ]\n})\nexport class BsToggleButtonModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsToggleButtonComponent"],"mappings":"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"}
@@ -96,7 +96,7 @@ class BsCarouselComponent {
96
96
  this.currentImageIndex--;
97
97
  }
98
98
  else {
99
- this.currentImageIndex = this.images.length - 1;
99
+ this.currentImageIndex = this.images$.value.length - 1;
100
100
  }
101
101
  break;
102
102
  case 'slide':
@@ -107,7 +107,7 @@ class BsCarouselComponent {
107
107
  nextImage() {
108
108
  switch (this.animation) {
109
109
  case 'fade':
110
- if (this.currentImageIndex < this.images.length - 1) {
110
+ if (this.currentImageIndex < this.images$.value.length - 1) {
111
111
  this.currentImageIndex++;
112
112
  }
113
113
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-carousel.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-image/carousel-image.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.html","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel.module.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/mintplayer-ng-bootstrap-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '*[bsCarouselImage]'\n})\nexport class BsCarouselImageDirective {\n\n public itemTemplate: TemplateRef<any>;\n \n constructor(private templateRef: TemplateRef<any>) {\n this.itemTemplate = this.templateRef;\n }\n\n @HostBinding('class.w-100') width100class = true;\n}\n","import { isPlatformServer } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChildren, forwardRef, HostBinding, HostListener, Inject, Input, PLATFORM_ID, QueryList, TemplateRef, ViewChild } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsSwipeContainerDirective } from '@mintplayer/ng-swiper';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Component({\n selector: 'bs-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [FadeInOutAnimation]\n})\nexport class BsCarouselComponent {\n\n constructor(@Inject(PLATFORM_ID) platformId: any, private cdRef: ChangeDetectorRef) {\n this.isServerSide = isPlatformServer(platformId);\n this.imageCount$ = this.images$.pipe(map((images) => images?.length ?? 0));\n this.firstImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(0);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n this.lastImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n \n const img = images.get(images.length - 1);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n }\n \n colors = Color;\n isServerSide: boolean;\n currentImageIndex = 0;\n images$ = new BehaviorSubject<QueryList<BsCarouselImageDirective> | null>(null);\n imageCount$: Observable<number>;\n firstImageTemplate$: Observable<TemplateRef<any> | null>;\n lastImageTemplate$: Observable<TemplateRef<any> | null>;\n\n @Input() indicators = false;\n @Input() keyboardEvents = true;\n\n @ViewChild('container') swipeContainer!: BsSwipeContainerDirective;\n @ContentChildren(forwardRef(() => BsCarouselImageDirective)) set images(value: QueryList<BsCarouselImageDirective>) {\n this.images$.next(value);\n }\n\n //#region Animation\n @HostBinding('@.disabled') public animationsDisabled = false;\n private _animation: 'fade' | 'slide' = 'slide';\n @Input() public set animation(value: 'fade' | 'slide') {\n this.animationsDisabled = true;\n this._animation = value;\n setTimeout(() => this.animationsDisabled = false, 20);\n setTimeout(() => this.cdRef.detectChanges(), 50);\n }\n public get animation() {\n return this._animation;\n }\n //#endregion\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n onKeyPress(ev: KeyboardEvent) {\n if (this.keyboardEvents) {\n switch (ev.key) {\n case 'ArrowLeft':\n this.previousImage();\n break;\n case 'ArrowRight':\n this.nextImage();\n break;\n }\n ev.preventDefault();\n }\n }\n\n previousImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex > 0) {\n this.currentImageIndex--;\n } else {\n this.currentImageIndex = this.images.length - 1;\n }\n break;\n case 'slide':\n this.swipeContainer.previous();\n break;\n }\n }\n\n nextImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex < this.images.length - 1) {\n this.currentImageIndex++;\n } else {\n this.currentImageIndex = 0;\n }\n break;\n case 'slide':\n this.swipeContainer.next();\n break;\n }\n }\n\n\n}\n","<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\" *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of (images$ | async); 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$ | async); let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [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 + imageCount) % imageCount)\">\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) % imageCount)\">\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$ | async); 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 pe-none\">\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item d-inline-block float-none w-100 me-0 pe-auto\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async)\" class=\"carousel-item d-inline-block float-none w-100 me-0 pe-auto\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item d-inline-block float-none w-100 me-0 pe-auto\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></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$ | async); 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$ | async); 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>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwiperModule } from '@mintplayer/ng-swiper';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsCarouselComponent } from './carousel/carousel.component';\nimport { BsCarouselImageDirective } from './carousel-image/carousel-image.directive';\n\n@NgModule({\n declarations: [\n BsCarouselComponent,\n BsCarouselImageDirective\n ],\n imports: [\n CommonModule,\n BsSwiperModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsCarouselComponent,\n BsCarouselImageDirective\n ]\n})\nexport class BsCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-carousel.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-image/carousel-image.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.html","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel.module.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/mintplayer-ng-bootstrap-carousel.ts"],"sourcesContent":["import { Directive, TemplateRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '*[bsCarouselImage]'\n})\nexport class BsCarouselImageDirective {\n\n public itemTemplate: TemplateRef<any>;\n \n constructor(private templateRef: TemplateRef<any>) {\n this.itemTemplate = this.templateRef;\n }\n\n @HostBinding('class.w-100') width100class = true;\n}\n","import { isPlatformServer } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChildren, forwardRef, HostBinding, HostListener, Inject, Input, PLATFORM_ID, QueryList, TemplateRef, ViewChild } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsSwipeContainerDirective } from '@mintplayer/ng-swiper';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Component({\n selector: 'bs-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [FadeInOutAnimation]\n})\nexport class BsCarouselComponent {\n\n constructor(@Inject(PLATFORM_ID) platformId: any, private cdRef: ChangeDetectorRef) {\n this.isServerSide = isPlatformServer(platformId);\n this.imageCount$ = this.images$.pipe(map((images) => images?.length ?? 0));\n this.firstImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(0);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n this.lastImageTemplate$ = this.images$.pipe(map((images) => {\n if (!images) return null;\n if (images.length === 0) return null;\n \n const img = images.get(images.length - 1);\n if (!img) return null;\n\n return img.itemTemplate;\n }));\n }\n \n colors = Color;\n isServerSide: boolean;\n currentImageIndex = 0;\n images$ = new BehaviorSubject<QueryList<BsCarouselImageDirective> | null>(null);\n imageCount$: Observable<number>;\n firstImageTemplate$: Observable<TemplateRef<any> | null>;\n lastImageTemplate$: Observable<TemplateRef<any> | null>;\n\n @Input() indicators = false;\n @Input() keyboardEvents = true;\n\n @ViewChild('container') swipeContainer!: BsSwipeContainerDirective;\n @ContentChildren(forwardRef(() => BsCarouselImageDirective)) set images(value: QueryList<BsCarouselImageDirective>) {\n this.images$.next(value);\n }\n\n //#region Animation\n @HostBinding('@.disabled') public animationsDisabled = false;\n private _animation: 'fade' | 'slide' = 'slide';\n @Input() public set animation(value: 'fade' | 'slide') {\n this.animationsDisabled = true;\n this._animation = value;\n setTimeout(() => this.animationsDisabled = false, 20);\n setTimeout(() => this.cdRef.detectChanges(), 50);\n }\n public get animation() {\n return this._animation;\n }\n //#endregion\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n onKeyPress(ev: KeyboardEvent) {\n if (this.keyboardEvents) {\n switch (ev.key) {\n case 'ArrowLeft':\n this.previousImage();\n break;\n case 'ArrowRight':\n this.nextImage();\n break;\n }\n ev.preventDefault();\n }\n }\n\n previousImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex > 0) {\n this.currentImageIndex--;\n } else {\n this.currentImageIndex = this.images$.value!.length - 1;\n }\n break;\n case 'slide':\n this.swipeContainer.previous();\n break;\n }\n }\n\n nextImage() {\n switch (this.animation) {\n case 'fade':\n if (this.currentImageIndex < this.images$.value!.length - 1) {\n this.currentImageIndex++;\n } else {\n this.currentImageIndex = 0;\n }\n break;\n case 'slide':\n this.swipeContainer.next();\n break;\n }\n }\n\n\n}\n","<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\" *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of (images$ | async); 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$ | async); let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [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 + imageCount) % imageCount)\">\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) % imageCount)\">\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$ | async); 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 pe-none\">\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item d-inline-block float-none w-100 me-0 pe-auto\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async)\" class=\"carousel-item d-inline-block float-none w-100 me-0 pe-auto\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item d-inline-block float-none w-100 me-0 pe-auto\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></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$ | async); 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$ | async); 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>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSwiperModule } from '@mintplayer/ng-swiper';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsCarouselComponent } from './carousel/carousel.component';\nimport { BsCarouselImageDirective } from './carousel-image/carousel-image.directive';\n\n@NgModule({\n declarations: [\n BsCarouselComponent,\n BsCarouselImageDirective\n ],\n imports: [\n CommonModule,\n BsSwiperModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsCarouselComponent,\n BsCarouselImageDirective\n ]\n})\nexport class BsCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,18 +2,24 @@ import * as i0 from '@angular/core';
2
2
  import { TemplateRef, Component, Input, ContentChild, HostBinding, ContentChildren, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@mintplayer/ng-bootstrap/no-noscript';
6
+ import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
7
+ import { BehaviorSubject, combineLatest, map } from 'rxjs';
5
8
 
6
9
  class BsTabPageComponent {
7
10
  constructor(tabControl) {
8
11
  this.disabled = false;
9
12
  this.tabControl = tabControl;
13
+ this.tabId$ = new BehaviorSubject(++this.tabControl.tabCounter);
14
+ this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])
15
+ .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));
10
16
  }
11
17
  }
12
18
  BsTabPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabPageComponent, deps: [{ token: BsTabControlComponent }], target: i0.ɵɵFactoryTarget.Component });
13
- BsTabPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabPageComponent, selector: "bs-tab-page", inputs: { disabled: "disabled" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-content *ngIf=\"tabControl.activeTab === this\"></ng-content>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
+ BsTabPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabPageComponent, selector: "bs-tab-page", inputs: { disabled: "disabled" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"tabControl.activeTab === this\">\n <ng-content></ng-content>\n</div>", styles: [".tab-page-content{display:none}input[type=radio].noscript:checked+.tab-page-content{display:block}\n"], dependencies: [{ kind: "directive", type: i2.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
14
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabPageComponent, decorators: [{
15
21
  type: Component,
16
- args: [{ selector: 'bs-tab-page', template: "<ng-content *ngIf=\"tabControl.activeTab === this\"></ng-content>" }]
22
+ args: [{ selector: 'bs-tab-page', template: "<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"tabControl.activeTab === this\">\n <ng-content></ng-content>\n</div>", styles: [".tab-page-content{display:none}input[type=radio].noscript:checked+.tab-page-content{display:block}\n"] }]
17
23
  }], ctorParameters: function () { return [{ type: BsTabControlComponent }]; }, propDecorators: { disabled: [{
18
24
  type: Input
19
25
  }], headerTemplate: [{
@@ -27,6 +33,9 @@ class BsTabControlComponent {
27
33
  this.positionRelative = true;
28
34
  this.border = true;
29
35
  this.activeTab = null;
36
+ this.tabCounter = 0;
37
+ this.tabControlId$ = new BehaviorSubject(++BsTabControlComponent.tabControlCounter);
38
+ this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));
30
39
  }
31
40
  setActiveTab(tab) {
32
41
  if (!tab.disabled) {
@@ -35,12 +44,13 @@ class BsTabControlComponent {
35
44
  return false;
36
45
  }
37
46
  }
47
+ BsTabControlComponent.tabControlCounter = 0;
38
48
  BsTabControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- BsTabControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, queries: [{ propertyName: "tabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n <ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n <ng-container *ngFor=\"let tab of tabPages\">\n <li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n <a class=\"nav-link text-nowrap\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\" href=\"\">\n <ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</div>\n<div class=\"tab-content\" [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.overflow-y-hidden{overflow-y: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"] }] });
49
+ BsTabControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, queries: [{ propertyName: "tabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n\t<ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t<ng-container *ngFor=\"let tab of tabPages\">\n\t\t\t<li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n\t\t\t\t</label>\n\t\t\t</li>\n\t\t</ng-container>\n\t</ul>\n</div>\n<div class=\"tab-content\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t<ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y: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.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
40
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlComponent, decorators: [{
41
51
  type: Component,
42
- args: [{ selector: 'bs-tab-control', template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n <ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n <ng-container *ngFor=\"let tab of tabPages\">\n <li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n <a class=\"nav-link text-nowrap\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\" href=\"\">\n <ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n </a>\n </li>\n </ng-container>\n </ul>\n</div>\n<div class=\"tab-content\" [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.overflow-y-hidden{overflow-y:hidden}\n"] }]
43
- }], propDecorators: { dBlock: [{
52
+ args: [{ selector: 'bs-tab-control', template: "<div class=\"overflow-hidden position-absolute mw-100 tsc\">\n\t<ul class=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t<ng-container *ngFor=\"let tab of tabPages\">\n\t\t\t<li class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\">\n\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate\"></ng-container>\n\t\t\t\t</label>\n\t\t\t</li>\n\t\t</ng-container>\n\t</ul>\n</div>\n<div class=\"tab-content\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t<ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.disabled,:host ::ng-deep .nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;margin-top:-41px;top:1px}.tab-content{margin-top:48px}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y:hidden}\n"] }]
53
+ }], ctorParameters: function () { return []; }, propDecorators: { dBlock: [{
44
54
  type: HostBinding,
45
55
  args: ['class.d-block']
46
56
  }], positionRelative: [{
@@ -57,9 +67,11 @@ class BsTabControlModule {
57
67
  }
58
68
  BsTabControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
59
69
  BsTabControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, declarations: [BsTabControlComponent,
60
- BsTabPageComponent], imports: [CommonModule], exports: [BsTabControlComponent,
70
+ BsTabPageComponent], imports: [CommonModule,
71
+ BsNoNoscriptModule], exports: [BsTabControlComponent,
61
72
  BsTabPageComponent] });
62
- BsTabControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, imports: [CommonModule] });
73
+ BsTabControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, imports: [CommonModule,
74
+ BsNoNoscriptModule] });
63
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BsTabControlModule, decorators: [{
64
76
  type: NgModule,
65
77
  args: [{
@@ -68,7 +80,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
68
80
  BsTabPageComponent,
69
81
  ],
70
82
  imports: [
71
- CommonModule
83
+ CommonModule,
84
+ BsNoNoscriptModule
72
85
  ],
73
86
  exports: [
74
87
  BsTabControlComponent,