@mintplayer/ng-bootstrap 21.9.1 → 21.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -30,11 +30,11 @@ class BsTabPageComponent {
|
|
|
30
30
|
this.tabId = signal(++this.tabControl.tabCounter, ...(ngDevMode ? [{ debugName: "tabId" }] : []));
|
|
31
31
|
}
|
|
32
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsTabPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsTabPageComponent, isStandalone: true, selector: "bs-tab-page", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: BsTabPageHeaderDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div [id]=\"tabName() + '-panel'\"\n class=\"tab-page-content\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabName()\"\n [class.d-block]=\"tabControl.activeTab() === this\"\n [attr.tabindex]=\"tabControl.activeTab() === this ? 0 : null\">\n <ng-content></ng-content>\n</div>\n", styles: [".tab-page-content{display:none}
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsTabPageComponent, isStandalone: true, selector: "bs-tab-page", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: BsTabPageHeaderDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div [id]=\"tabName() + '-panel'\"\n class=\"tab-page-content\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabName() + '-header'\"\n [class.d-block]=\"tabControl.activeTab() === this\"\n [attr.tabindex]=\"tabControl.activeTab() === this ? 0 : null\">\n <ng-content></ng-content>\n</div>\n", styles: [".tab-page-content{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsTabPageComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
|
-
args: [{ selector: 'bs-tab-page', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [id]=\"tabName() + '-panel'\"\n class=\"tab-page-content\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabName()\"\n [class.d-block]=\"tabControl.activeTab() === this\"\n [attr.tabindex]=\"tabControl.activeTab() === this ? 0 : null\">\n <ng-content></ng-content>\n</div>\n", styles: [".tab-page-content{display:none}
|
|
37
|
+
args: [{ selector: 'bs-tab-page', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [id]=\"tabName() + '-panel'\"\n class=\"tab-page-content\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabName() + '-header'\"\n [class.d-block]=\"tabControl.activeTab() === this\"\n [attr.tabindex]=\"tabControl.activeTab() === this ? 0 : null\">\n <ng-content></ng-content>\n</div>\n", styles: [".tab-page-content{display:none}\n"] }]
|
|
38
38
|
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], headerTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => BsTabPageHeaderDirective), { isSignal: true }] }] } });
|
|
39
39
|
|
|
40
40
|
class BsTabControlComponent {
|
|
@@ -54,6 +54,14 @@ class BsTabControlComponent {
|
|
|
54
54
|
this.topTabs = computed(() => this.tabsPosition() === 'top', ...(ngDevMode ? [{ debugName: "topTabs" }] : []));
|
|
55
55
|
this.bottomTabs = computed(() => this.tabsPosition() === 'bottom', ...(ngDevMode ? [{ debugName: "bottomTabs" }] : []));
|
|
56
56
|
this.disableDragDrop = computed(() => !this.allowDragDrop(), ...(ngDevMode ? [{ debugName: "disableDragDrop" }] : []));
|
|
57
|
+
this.checkedTab = computed(() => {
|
|
58
|
+
const active = this.activeTab();
|
|
59
|
+
if (active)
|
|
60
|
+
return active;
|
|
61
|
+
if (!this.selectFirstTab())
|
|
62
|
+
return null;
|
|
63
|
+
return this.orderedTabPages().find(t => !t.disabled()) ?? null;
|
|
64
|
+
}, ...(ngDevMode ? [{ debugName: "checkedTab" }] : []));
|
|
57
65
|
this.tabCounter = 0;
|
|
58
66
|
this.tabControlId = signal(++BsTabControlComponent.tabControlCounter, ...(ngDevMode ? [{ debugName: "tabControlId" }] : []));
|
|
59
67
|
effect(() => {
|
|
@@ -77,12 +85,19 @@ class BsTabControlComponent {
|
|
|
77
85
|
});
|
|
78
86
|
}
|
|
79
87
|
static { this.tabControlCounter = 0; }
|
|
80
|
-
setActiveTab(tab) {
|
|
88
|
+
setActiveTab(tab, event) {
|
|
89
|
+
event?.preventDefault();
|
|
81
90
|
if (!tab.disabled()) {
|
|
82
91
|
this.activeTab.set(tab);
|
|
83
92
|
}
|
|
84
93
|
return false;
|
|
85
94
|
}
|
|
95
|
+
headerKeydown(tab, event) {
|
|
96
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
this.setActiveTab(tab);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
86
101
|
startDragTab(ev) {
|
|
87
102
|
if ('vibrate' in navigator) {
|
|
88
103
|
navigator.vibrate([30]);
|
|
@@ -100,7 +115,7 @@ class BsTabControlComponent {
|
|
|
100
115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsTabControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
116
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsTabControlComponent, isStandalone: true, selector: "bs-tab-control", inputs: { border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, restrictDragging: { classPropertyName: "restrictDragging", publicName: "restrictDragging", isSignal: true, isRequired: false, transformFunction: null }, selectFirstTab: { classPropertyName: "selectFirstTab", publicName: "selectFirstTab", isSignal: true, isRequired: false, transformFunction: null }, tabsPosition: { classPropertyName: "tabsPosition", publicName: "tabsPosition", isSignal: true, isRequired: false, transformFunction: null }, allowDragDrop: { classPropertyName: "allowDragDrop", publicName: "allowDragDrop", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-block position-relative" }, providers: [
|
|
102
117
|
{ provide: 'TAB_CONTROL', useExisting: BsTabControlComponent }
|
|
103
|
-
], queries: [{ propertyName: "tabPages", predicate: BsTabPageComponent, isSignal: true }], ngImport: i0, template: "@let activeTabValue = activeTab();\n@if (topTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages()\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\t\trole=\"tablist\">\n\t\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\t[id]=\"tab.tabName()\"\n\t\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t\t[disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\t(click)=\"setActiveTab(tab)\">\n\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n}\n<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border() && activeTabValue\" [class.border-top]=\"border() && !activeTabValue\">\n\t<ng-content></ng-content>\n</div>\n@if (bottomTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages()\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\t\trole=\"tablist\">\n\t\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\t[id]=\"tab.tabName()\"\n\t\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t\t[disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\t(click)=\"setActiveTab(tab)\">\n\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n}\n", 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: var(--bs-secondary-color);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;background:none;border:0;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:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,: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: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);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));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.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: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}: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-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}: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-grow:1;flex-basis:0;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;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: BsNoNoscriptDirective, selector: "[bsNoNoscript]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
118
|
+
], queries: [{ propertyName: "tabPages", predicate: BsTabPageComponent, isSignal: true }], ngImport: i0, template: "@for (tab of orderedTabPages(); track tab) {\n\t<input type=\"radio\" class=\"d-none\" bsNoNoscript\n\t\t[name]=\"tabControlName()\"\n\t\t[id]=\"tab.tabName()\"\n\t\t[checked]=\"checkedTab() === tab\"\n\t\t[disabled]=\"tab.disabled()\">\n}\n@let activeTabValue = activeTab();\n<ng-template #tabStrip>\n\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t[cdkDropListData]=\"tabPages()\"\n\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\trole=\"tablist\">\n\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label\n\t\t\t\t\t\t[for]=\"tab.tabName()\"\n\t\t\t\t\t\t[id]=\"tab.tabName() + '-header'\"\n\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t[attr.tabindex]=\"tab.disabled() ? -1 : 0\"\n\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t(click)=\"setActiveTab(tab, $event)\"\n\t\t\t\t\t\t(keydown)=\"headerKeydown(tab, $event)\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</li>\n\t\t\t}\n\t\t}\n\t</ul>\n</ng-template>\n@if (topTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t<ng-container [ngTemplateOutlet]=\"tabStrip\"></ng-container>\n\t</div>\n}\n<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border() && activeTabValue\" [class.border-top]=\"border() && !activeTabValue\">\n\t<ng-content></ng-content>\n</div>\n@if (bottomTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t<ng-container [ngTemplateOutlet]=\"tabStrip\"></ng-container>\n\t</div>\n}\n", 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: var(--bs-secondary-color);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;background:none;border:0;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:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,: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: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);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));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.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: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}: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-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}: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-grow:1;flex-basis:0;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;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.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}.tsc .nav-link{cursor:pointer}:host input.noscript:nth-of-type(1):checked~.tsc .nav-item:nth-child(1)>.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 input.noscript:nth-of-type(2):checked~.tsc .nav-item:nth-child(2)>.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 input.noscript:nth-of-type(3):checked~.tsc .nav-item:nth-child(3)>.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 input.noscript:nth-of-type(4):checked~.tsc .nav-item:nth-child(4)>.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 input.noscript:nth-of-type(5):checked~.tsc .nav-item:nth-child(5)>.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 input.noscript:nth-of-type(6):checked~.tsc .nav-item:nth-child(6)>.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 input.noscript:nth-of-type(7):checked~.tsc .nav-item:nth-child(7)>.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 input.noscript:nth-of-type(8):checked~.tsc .nav-item:nth-child(8)>.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 input.noscript:nth-of-type(9):checked~.tsc .nav-item:nth-child(9)>.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 input.noscript:nth-of-type(10):checked~.tsc .nav-item:nth-child(10)>.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 input.noscript:nth-of-type(11):checked~.tsc .nav-item:nth-child(11)>.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 input.noscript:nth-of-type(12):checked~.tsc .nav-item:nth-child(12)>.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 input.noscript:nth-of-type(13):checked~.tsc .nav-item:nth-child(13)>.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 input.noscript:nth-of-type(14):checked~.tsc .nav-item:nth-child(14)>.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 input.noscript:nth-of-type(15):checked~.tsc .nav-item:nth-child(15)>.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 input.noscript:nth-of-type(16):checked~.tsc .nav-item:nth-child(16)>.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 input.noscript:nth-of-type(17):checked~.tsc .nav-item:nth-child(17)>.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 input.noscript:nth-of-type(18):checked~.tsc .nav-item:nth-child(18)>.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 input.noscript:nth-of-type(19):checked~.tsc .nav-item:nth-child(19)>.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 input.noscript:nth-of-type(20):checked~.tsc .nav-item:nth-child(20)>.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 input.noscript:nth-of-type(1):checked~.tab-content>bs-tab-page:nth-child(1)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(2):checked~.tab-content>bs-tab-page:nth-child(2)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(3):checked~.tab-content>bs-tab-page:nth-child(3)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(4):checked~.tab-content>bs-tab-page:nth-child(4)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(5):checked~.tab-content>bs-tab-page:nth-child(5)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(6):checked~.tab-content>bs-tab-page:nth-child(6)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(7):checked~.tab-content>bs-tab-page:nth-child(7)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(8):checked~.tab-content>bs-tab-page:nth-child(8)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(9):checked~.tab-content>bs-tab-page:nth-child(9)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(10):checked~.tab-content>bs-tab-page:nth-child(10)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(11):checked~.tab-content>bs-tab-page:nth-child(11)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(12):checked~.tab-content>bs-tab-page:nth-child(12)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(13):checked~.tab-content>bs-tab-page:nth-child(13)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(14):checked~.tab-content>bs-tab-page:nth-child(14)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(15):checked~.tab-content>bs-tab-page:nth-child(15)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(16):checked~.tab-content>bs-tab-page:nth-child(16)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(17):checked~.tab-content>bs-tab-page:nth-child(17)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(18):checked~.tab-content>bs-tab-page:nth-child(18)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(19):checked~.tab-content>bs-tab-page:nth-child(19)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(20):checked~.tab-content>bs-tab-page:nth-child(20)>.tab-page-content{display:block}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: BsNoNoscriptDirective, selector: "[bsNoNoscript]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
119
|
}
|
|
105
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsTabControlComponent, decorators: [{
|
|
106
121
|
type: Component,
|
|
@@ -108,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
108
123
|
{ provide: 'TAB_CONTROL', useExisting: BsTabControlComponent }
|
|
109
124
|
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
110
125
|
'class': 'd-block position-relative',
|
|
111
|
-
}, template: "@let activeTabValue = activeTab();\n@if (topTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages()\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\t\trole=\"tablist\">\n\t\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\t[id]=\"tab.tabName()\"\n\t\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t\t[disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\t(click)=\"setActiveTab(tab)\">\n\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n}\n<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border() && activeTabValue\" [class.border-top]=\"border() && !activeTabValue\">\n\t<ng-content></ng-content>\n</div>\n@if (bottomTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages()\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\t\trole=\"tablist\">\n\t\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\t[id]=\"tab.tabName()\"\n\t\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t\t[disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\t(click)=\"setActiveTab(tab)\">\n\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n}\n", 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: var(--bs-secondary-color);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;background:none;border:0;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:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,: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: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);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));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.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: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}: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-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}: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-grow:1;flex-basis:0;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;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.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"] }]
|
|
126
|
+
}, template: "@for (tab of orderedTabPages(); track tab) {\n\t<input type=\"radio\" class=\"d-none\" bsNoNoscript\n\t\t[name]=\"tabControlName()\"\n\t\t[id]=\"tab.tabName()\"\n\t\t[checked]=\"checkedTab() === tab\"\n\t\t[disabled]=\"tab.disabled()\">\n}\n@let activeTabValue = activeTab();\n<ng-template #tabStrip>\n\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t[cdkDropListData]=\"tabPages()\"\n\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\trole=\"tablist\">\n\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label\n\t\t\t\t\t\t[for]=\"tab.tabName()\"\n\t\t\t\t\t\t[id]=\"tab.tabName() + '-header'\"\n\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t[attr.tabindex]=\"tab.disabled() ? -1 : 0\"\n\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t(click)=\"setActiveTab(tab, $event)\"\n\t\t\t\t\t\t(keydown)=\"headerKeydown(tab, $event)\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</li>\n\t\t\t}\n\t\t}\n\t</ul>\n</ng-template>\n@if (topTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t<ng-container [ngTemplateOutlet]=\"tabStrip\"></ng-container>\n\t</div>\n}\n<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border() && activeTabValue\" [class.border-top]=\"border() && !activeTabValue\">\n\t<ng-content></ng-content>\n</div>\n@if (bottomTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t<ng-container [ngTemplateOutlet]=\"tabStrip\"></ng-container>\n\t</div>\n}\n", 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: var(--bs-secondary-color);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;background:none;border:0;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:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,: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: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);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));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.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: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}: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-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}: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-grow:1;flex-basis:0;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;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.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}.tsc .nav-link{cursor:pointer}:host input.noscript:nth-of-type(1):checked~.tsc .nav-item:nth-child(1)>.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 input.noscript:nth-of-type(2):checked~.tsc .nav-item:nth-child(2)>.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 input.noscript:nth-of-type(3):checked~.tsc .nav-item:nth-child(3)>.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 input.noscript:nth-of-type(4):checked~.tsc .nav-item:nth-child(4)>.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 input.noscript:nth-of-type(5):checked~.tsc .nav-item:nth-child(5)>.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 input.noscript:nth-of-type(6):checked~.tsc .nav-item:nth-child(6)>.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 input.noscript:nth-of-type(7):checked~.tsc .nav-item:nth-child(7)>.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 input.noscript:nth-of-type(8):checked~.tsc .nav-item:nth-child(8)>.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 input.noscript:nth-of-type(9):checked~.tsc .nav-item:nth-child(9)>.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 input.noscript:nth-of-type(10):checked~.tsc .nav-item:nth-child(10)>.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 input.noscript:nth-of-type(11):checked~.tsc .nav-item:nth-child(11)>.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 input.noscript:nth-of-type(12):checked~.tsc .nav-item:nth-child(12)>.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 input.noscript:nth-of-type(13):checked~.tsc .nav-item:nth-child(13)>.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 input.noscript:nth-of-type(14):checked~.tsc .nav-item:nth-child(14)>.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 input.noscript:nth-of-type(15):checked~.tsc .nav-item:nth-child(15)>.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 input.noscript:nth-of-type(16):checked~.tsc .nav-item:nth-child(16)>.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 input.noscript:nth-of-type(17):checked~.tsc .nav-item:nth-child(17)>.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 input.noscript:nth-of-type(18):checked~.tsc .nav-item:nth-child(18)>.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 input.noscript:nth-of-type(19):checked~.tsc .nav-item:nth-child(19)>.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 input.noscript:nth-of-type(20):checked~.tsc .nav-item:nth-child(20)>.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 input.noscript:nth-of-type(1):checked~.tab-content>bs-tab-page:nth-child(1)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(2):checked~.tab-content>bs-tab-page:nth-child(2)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(3):checked~.tab-content>bs-tab-page:nth-child(3)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(4):checked~.tab-content>bs-tab-page:nth-child(4)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(5):checked~.tab-content>bs-tab-page:nth-child(5)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(6):checked~.tab-content>bs-tab-page:nth-child(6)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(7):checked~.tab-content>bs-tab-page:nth-child(7)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(8):checked~.tab-content>bs-tab-page:nth-child(8)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(9):checked~.tab-content>bs-tab-page:nth-child(9)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(10):checked~.tab-content>bs-tab-page:nth-child(10)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(11):checked~.tab-content>bs-tab-page:nth-child(11)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(12):checked~.tab-content>bs-tab-page:nth-child(12)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(13):checked~.tab-content>bs-tab-page:nth-child(13)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(14):checked~.tab-content>bs-tab-page:nth-child(14)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(15):checked~.tab-content>bs-tab-page:nth-child(15)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(16):checked~.tab-content>bs-tab-page:nth-child(16)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(17):checked~.tab-content>bs-tab-page:nth-child(17)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(18):checked~.tab-content>bs-tab-page:nth-child(18)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(19):checked~.tab-content>bs-tab-page:nth-child(19)>.tab-page-content{display:block}:host ::ng-deep input.noscript:nth-of-type(20):checked~.tab-content>bs-tab-page:nth-child(20)>.tab-page-content{display:block}\n"] }]
|
|
112
127
|
}], ctorParameters: () => [], propDecorators: { border: [{ type: i0.Input, args: [{ isSignal: true, alias: "border", required: false }] }], restrictDragging: [{ type: i0.Input, args: [{ isSignal: true, alias: "restrictDragging", required: false }] }], selectFirstTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectFirstTab", required: false }] }], tabsPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabsPosition", required: false }] }], allowDragDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowDragDrop", required: false }] }], tabPages: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => BsTabPageComponent), { isSignal: true }] }] } });
|
|
113
128
|
|
|
114
129
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page-header/tab-page-header.directive.ts","../../../../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/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[bsTabPageHeader]',\n})\nexport class BsTabPageHeaderDirective {\n template = inject(TemplateRef);\n}\n","import { ChangeDetectionStrategy, Component, contentChild, computed, inject, input, ElementRef, signal } from '@angular/core';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\nimport { BsTabPageHeaderDirective } from '../tab-page-header/tab-page-header.directive';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsTabPageComponent {\n element = inject(ElementRef);\n tabControl = inject(BsTabControlComponent);\n\n constructor() {\n this.tabId = signal(++this.tabControl.tabCounter);\n }\n tabId = signal<number>(0);\n tabName = computed(() => `${this.tabControl.tabControlName()}-${this.tabId()}`);\n\n disabled = input(false);\n readonly headerTemplate = contentChild(BsTabPageHeaderDirective);\n}\n","<div [id]=\"tabName() + '-panel'\"\n class=\"tab-page-content\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabName()\"\n [class.d-block]=\"tabControl.activeTab() === this\"\n [attr.tabindex]=\"tabControl.activeTab() === this ? 0 : null\">\n <ng-content></ng-content>\n</div>\n","import { CdkDragDrop, CdkDragStart, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, effect, ElementRef, inject, input, signal } from '@angular/core';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabPageComponent } from '../tab-page/tab-page.component';\nimport { BsTabsPosition } from '../tabs-position';\n\n@Component({\n selector: 'bs-tab-control',\n templateUrl: './tab-control.component.html',\n styleUrls: ['./tab-control.component.scss'],\n imports: [NgTemplateOutlet, DragDropModule, BsNoNoscriptDirective],\n providers: [\n { provide: 'TAB_CONTROL', useExisting: BsTabControlComponent }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'd-block position-relative',\n },\n})\nexport class BsTabControlComponent {\n element = inject(ElementRef);\n\n constructor() {\n this.tabControlId = signal(++BsTabControlComponent.tabControlCounter);\n\n effect(() => {\n const tabPages = this.tabPages();\n const activeTab = this.activeTab();\n const selectFirstTab = this.selectFirstTab();\n if (tabPages.length > 0 && (!activeTab || !tabPages.some(tp => tp === activeTab)) && selectFirstTab) {\n const notDisabled = tabPages.filter((tp) => !tp.disabled());\n if (notDisabled.length > 0) {\n setTimeout(() => this.activeTab.set(notDisabled[0]));\n }\n }\n });\n\n // Update orderedTabPages whenever content children change\n effect(() => {\n const list = this.tabPages();\n this.orderedTabPages.update(current => {\n const toAdd = list.filter(tp => !current.includes(tp));\n return current.concat(toAdd).filter((tp) => list.includes(tp));\n });\n });\n }\n\n border = input(true);\n restrictDragging = input(false);\n selectFirstTab = input(true);\n tabsPosition = input<BsTabsPosition>('top');\n allowDragDrop = input(false);\n\n dragBoundarySelector = computed(() => this.restrictDragging() ? 'ul' : '');\n readonly tabPages = contentChildren(BsTabPageComponent);\n activeTab = signal<BsTabPageComponent | null>(null);\n orderedTabPages = signal<BsTabPageComponent[]>([]);\n tabControlId = signal<number>(0);\n tabControlName = computed(() => `bs-tab-control-${this.tabControlId()}`);\n topTabs = computed(() => this.tabsPosition() === 'top');\n bottomTabs = computed(() => this.tabsPosition() === 'bottom');\n disableDragDrop = computed(() => !this.allowDragDrop());\n static tabControlCounter = 0;\n tabCounter = 0;\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled()) {\n this.activeTab.set(tab);\n }\n return false;\n }\n\n startDragTab(ev: CdkDragStart<BsTabPageComponent>) {\n if ('vibrate' in navigator) {\n navigator.vibrate([30]);\n }\n }\n\n moveTab(ev: CdkDragDrop<readonly BsTabPageComponent[]>) {\n if (ev.previousContainer === ev.container) {\n this.orderedTabPages.update(current => {\n const copy = [...current];\n moveItemInArray(copy, ev.previousIndex, ev.currentIndex);\n return copy;\n });\n }\n }\n}\n","@let activeTabValue = activeTab();\n@if (topTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages()\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\t\trole=\"tablist\">\n\t\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\t[id]=\"tab.tabName()\"\n\t\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t\t[disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\t(click)=\"setActiveTab(tab)\">\n\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n}\n<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border() && activeTabValue\" [class.border-top]=\"border() && !activeTabValue\">\n\t<ng-content></ng-content>\n</div>\n@if (bottomTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages()\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\t\trole=\"tablist\">\n\t\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\t[id]=\"tab.tabName()\"\n\t\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t\t[disabled]=\"tab.disabled()\"\n\t\t\t\t\t\t\t(click)=\"setActiveTab(tab)\">\n\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t}\n\t\t</ul>\n\t</div>\n}\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-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page-header/tab-page-header.directive.ts","../../../../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/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[bsTabPageHeader]',\n})\nexport class BsTabPageHeaderDirective {\n template = inject(TemplateRef);\n}\n","import { ChangeDetectionStrategy, Component, contentChild, computed, inject, input, ElementRef, signal } from '@angular/core';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\nimport { BsTabPageHeaderDirective } from '../tab-page-header/tab-page-header.directive';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsTabPageComponent {\n element = inject(ElementRef);\n tabControl = inject(BsTabControlComponent);\n\n constructor() {\n this.tabId = signal(++this.tabControl.tabCounter);\n }\n tabId = signal<number>(0);\n tabName = computed(() => `${this.tabControl.tabControlName()}-${this.tabId()}`);\n\n disabled = input(false);\n readonly headerTemplate = contentChild(BsTabPageHeaderDirective);\n}\n","<div [id]=\"tabName() + '-panel'\"\n class=\"tab-page-content\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tabName() + '-header'\"\n [class.d-block]=\"tabControl.activeTab() === this\"\n [attr.tabindex]=\"tabControl.activeTab() === this ? 0 : null\">\n <ng-content></ng-content>\n</div>\n","import { CdkDragDrop, CdkDragStart, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChildren, effect, ElementRef, inject, input, signal } from '@angular/core';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabPageComponent } from '../tab-page/tab-page.component';\nimport { BsTabsPosition } from '../tabs-position';\n\n@Component({\n selector: 'bs-tab-control',\n templateUrl: './tab-control.component.html',\n styleUrls: ['./tab-control.component.scss'],\n imports: [NgTemplateOutlet, DragDropModule, BsNoNoscriptDirective],\n providers: [\n { provide: 'TAB_CONTROL', useExisting: BsTabControlComponent }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'd-block position-relative',\n },\n})\nexport class BsTabControlComponent {\n element = inject(ElementRef);\n\n constructor() {\n this.tabControlId = signal(++BsTabControlComponent.tabControlCounter);\n\n effect(() => {\n const tabPages = this.tabPages();\n const activeTab = this.activeTab();\n const selectFirstTab = this.selectFirstTab();\n if (tabPages.length > 0 && (!activeTab || !tabPages.some(tp => tp === activeTab)) && selectFirstTab) {\n const notDisabled = tabPages.filter((tp) => !tp.disabled());\n if (notDisabled.length > 0) {\n setTimeout(() => this.activeTab.set(notDisabled[0]));\n }\n }\n });\n\n // Update orderedTabPages whenever content children change\n effect(() => {\n const list = this.tabPages();\n this.orderedTabPages.update(current => {\n const toAdd = list.filter(tp => !current.includes(tp));\n return current.concat(toAdd).filter((tp) => list.includes(tp));\n });\n });\n }\n\n border = input(true);\n restrictDragging = input(false);\n selectFirstTab = input(true);\n tabsPosition = input<BsTabsPosition>('top');\n allowDragDrop = input(false);\n\n dragBoundarySelector = computed(() => this.restrictDragging() ? 'ul' : '');\n readonly tabPages = contentChildren(BsTabPageComponent);\n activeTab = signal<BsTabPageComponent | null>(null);\n orderedTabPages = signal<BsTabPageComponent[]>([]);\n tabControlId = signal<number>(0);\n tabControlName = computed(() => `bs-tab-control-${this.tabControlId()}`);\n topTabs = computed(() => this.tabsPosition() === 'top');\n bottomTabs = computed(() => this.tabsPosition() === 'bottom');\n disableDragDrop = computed(() => !this.allowDragDrop());\n checkedTab = computed(() => {\n const active = this.activeTab();\n if (active) return active;\n if (!this.selectFirstTab()) return null;\n return this.orderedTabPages().find(t => !t.disabled()) ?? null;\n });\n static tabControlCounter = 0;\n tabCounter = 0;\n\n setActiveTab(tab: BsTabPageComponent, event?: Event) {\n event?.preventDefault();\n if (!tab.disabled()) {\n this.activeTab.set(tab);\n }\n return false;\n }\n\n headerKeydown(tab: BsTabPageComponent, event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.setActiveTab(tab);\n }\n }\n\n startDragTab(ev: CdkDragStart<BsTabPageComponent>) {\n if ('vibrate' in navigator) {\n navigator.vibrate([30]);\n }\n }\n\n moveTab(ev: CdkDragDrop<readonly BsTabPageComponent[]>) {\n if (ev.previousContainer === ev.container) {\n this.orderedTabPages.update(current => {\n const copy = [...current];\n moveItemInArray(copy, ev.previousIndex, ev.currentIndex);\n return copy;\n });\n }\n }\n}\n","@for (tab of orderedTabPages(); track tab) {\n\t<input type=\"radio\" class=\"d-none\" bsNoNoscript\n\t\t[name]=\"tabControlName()\"\n\t\t[id]=\"tab.tabName()\"\n\t\t[checked]=\"checkedTab() === tab\"\n\t\t[disabled]=\"tab.disabled()\">\n}\n@let activeTabValue = activeTab();\n<ng-template #tabStrip>\n\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t[cdkDropListData]=\"tabPages()\"\n\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t[cdkDropListDisabled]=\"disableDragDrop()\"\n\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\"\n\t\trole=\"tablist\">\n\t\t@for (tab of orderedTabPages(); track tab) {\n\t\t\t@if (tab.headerTemplate()) {\n\t\t\t\t<li class=\"nav-item\" role=\"presentation\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector()\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label\n\t\t\t\t\t\t[for]=\"tab.tabName()\"\n\t\t\t\t\t\t[id]=\"tab.tabName() + '-header'\"\n\t\t\t\t\t\tclass=\"nav-link text-nowrap\"\n\t\t\t\t\t\t[class.active]=\"activeTabValue === tab\"\n\t\t\t\t\t\t[class.disabled]=\"tab.disabled()\"\n\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t[attr.tabindex]=\"tab.disabled() ? -1 : 0\"\n\t\t\t\t\t\t[attr.aria-selected]=\"activeTabValue === tab\"\n\t\t\t\t\t\t[attr.aria-controls]=\"tab.tabName() + '-panel'\"\n\t\t\t\t\t\t[attr.aria-disabled]=\"tab.disabled() || null\"\n\t\t\t\t\t\t(click)=\"setActiveTab(tab, $event)\"\n\t\t\t\t\t\t(keydown)=\"headerKeydown(tab, $event)\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate()!.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</li>\n\t\t\t}\n\t\t}\n\t</ul>\n</ng-template>\n@if (topTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t<ng-container [ngTemplateOutlet]=\"tabStrip\"></ng-container>\n\t</div>\n}\n<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border() && activeTabValue\" [class.border-top]=\"border() && !activeTabValue\">\n\t<ng-content></ng-content>\n</div>\n@if (bottomTabs()) {\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t<ng-container [ngTemplateOutlet]=\"tabStrip\"></ng-container>\n\t</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -39,9 +39,11 @@ declare class BsTabControlComponent {
|
|
|
39
39
|
topTabs: _angular_core.Signal<boolean>;
|
|
40
40
|
bottomTabs: _angular_core.Signal<boolean>;
|
|
41
41
|
disableDragDrop: _angular_core.Signal<boolean>;
|
|
42
|
+
checkedTab: _angular_core.Signal<BsTabPageComponent | null>;
|
|
42
43
|
static tabControlCounter: number;
|
|
43
44
|
tabCounter: number;
|
|
44
|
-
setActiveTab(tab: BsTabPageComponent): boolean;
|
|
45
|
+
setActiveTab(tab: BsTabPageComponent, event?: Event): boolean;
|
|
46
|
+
headerKeydown(tab: BsTabPageComponent, event: KeyboardEvent): void;
|
|
45
47
|
startDragTab(ev: CdkDragStart<BsTabPageComponent>): void;
|
|
46
48
|
moveTab(ev: CdkDragDrop<readonly BsTabPageComponent[]>): void;
|
|
47
49
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsTabControlComponent, never>;
|