@mintplayer/ng-bootstrap 15.21.0 → 15.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dock/src/dock/dock.component.d.ts +8 -1
- package/dock/src/dock-pane-renderer/dock-pane-renderer.component.d.ts +4 -1
- package/dock/src/dock-panel/dock-panel.component.d.ts +5 -3
- package/dock/src/dock-panel-header/dock-panel-header.component.d.ts +4 -1
- package/dock/src/panes/floating-pane.d.ts +1 -0
- package/dock/src/panes/tab-group-pane.d.ts +2 -1
- package/esm2020/dock/src/dock/dock.component.mjs +45 -10
- package/esm2020/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +9 -7
- package/esm2020/dock/src/dock-panel/dock-panel.component.mjs +17 -12
- package/esm2020/dock/src/dock-panel-header/dock-panel-header.component.mjs +28 -9
- package/esm2020/dock/src/panes/floating-pane.mjs +4 -1
- package/esm2020/dock/src/panes/tab-group-pane.mjs +1 -1
- package/esm2020/navbar/src/navbar-content/navbar-content.directive.mjs +4 -4
- package/esm2020/tab-control/src/index.mjs +3 -1
- package/esm2020/tab-control/src/tab-control/tab-control.component.mjs +17 -5
- package/esm2020/tab-control/src/tab-control.module.mjs +8 -3
- package/esm2020/tab-control/src/tab-page/tab-page.component.mjs +5 -4
- package/esm2020/tab-control/src/tab-page-header/tab-page-header.directive.mjs +16 -0
- package/esm2020/tab-control/src/tabs-position.mjs +2 -0
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs +92 -37
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-navbar.mjs +3 -3
- package/fesm2015/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-tab-control.mjs +40 -10
- package/fesm2015/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs +92 -36
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-navbar.mjs +3 -3
- package/fesm2020/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-tab-control.mjs +40 -10
- package/fesm2020/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/navbar/src/navbar-content/navbar-content.directive.d.ts +1 -1
- package/package.json +1 -1
- package/tab-control/src/index.d.ts +2 -0
- package/tab-control/src/tab-control/tab-control.component.d.ts +7 -1
- package/tab-control/src/tab-control.module.d.ts +6 -5
- package/tab-control/src/tab-page/tab-page.component.d.ts +3 -2
- package/tab-control/src/tab-page-header/tab-page-header.directive.d.ts +8 -0
- package/tab-control/src/tabs-position.d.ts +1 -0
|
@@ -20,6 +20,9 @@ export class BsTabControlComponent {
|
|
|
20
20
|
this.destroyed$ = new Subject();
|
|
21
21
|
//#region SelectFirstTab
|
|
22
22
|
this.selectFirstTab$ = new BehaviorSubject(true);
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region TabsPosition
|
|
25
|
+
this.tabsPosition$ = new BehaviorSubject('top');
|
|
23
26
|
this.tabControlId$ = new BehaviorSubject(++BsTabControlComponent.tabControlCounter);
|
|
24
27
|
this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));
|
|
25
28
|
this.element = element;
|
|
@@ -31,12 +34,13 @@ export class BsTabControlComponent {
|
|
|
31
34
|
.subscribe(([tabPages, activeTab, selectFirstTab]) => {
|
|
32
35
|
const notDisabled = tabPages.filter((tp) => !tp.disabled);
|
|
33
36
|
if (notDisabled.length > 0) {
|
|
34
|
-
this.activeTab$.next(notDisabled[0]);
|
|
37
|
+
setTimeout(() => this.activeTab$.next(notDisabled[0]));
|
|
35
38
|
}
|
|
36
39
|
});
|
|
40
|
+
this.topTabs$ = this.tabsPosition$.pipe(map(position => position === 'top'));
|
|
41
|
+
this.bottomTabs$ = this.tabsPosition$.pipe(map(position => position === 'bottom'));
|
|
37
42
|
}
|
|
38
43
|
set setTabPages(value) {
|
|
39
|
-
console.log('tabpages', value);
|
|
40
44
|
this.tabPages$.next(value);
|
|
41
45
|
const missing = value.filter(tp => !this.orderedTabPages.includes(tp));
|
|
42
46
|
this.orderedTabPages = this.orderedTabPages.concat(missing);
|
|
@@ -50,6 +54,12 @@ export class BsTabControlComponent {
|
|
|
50
54
|
set selectFirstTab(value) {
|
|
51
55
|
this.selectFirstTab$.next(value);
|
|
52
56
|
}
|
|
57
|
+
get tabsPosition() {
|
|
58
|
+
return this.tabsPosition$.value;
|
|
59
|
+
}
|
|
60
|
+
set tabsPosition(value) {
|
|
61
|
+
this.tabsPosition$.next(value);
|
|
62
|
+
}
|
|
53
63
|
//#endregion
|
|
54
64
|
setActiveTab(tab) {
|
|
55
65
|
if (!tab.disabled) {
|
|
@@ -75,10 +85,10 @@ export class BsTabControlComponent {
|
|
|
75
85
|
}
|
|
76
86
|
BsTabControlComponent.tabControlCounter = 0;
|
|
77
87
|
BsTabControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
BsTabControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border", restrictDragging: "restrictDragging", selectFirstTab: "selectFirstTab" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, queries: [{ propertyName: "setTabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden
|
|
88
|
+
BsTabControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border", restrictDragging: "restrictDragging", selectFirstTab: "selectFirstTab", tabsPosition: "tabsPosition" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, queries: [{ propertyName: "setTabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden mw-100 tsc\" *ngIf=\"topTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"1000\">\n\t\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\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n\t<div class=\"tab-content flex-grow-1\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\" *ngIf=\"bottomTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"1000\">\n\t\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\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n</ng-container>", 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;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: 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.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
79
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, decorators: [{
|
|
80
90
|
type: Component,
|
|
81
|
-
args: [{ selector: 'bs-tab-control', template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden
|
|
91
|
+
args: [{ selector: 'bs-tab-control', template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden mw-100 tsc\" *ngIf=\"topTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"1000\">\n\t\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\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n\t<div class=\"tab-content flex-grow-1\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\" *ngIf=\"bottomTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"1000\">\n\t\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\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n</ng-container>", 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;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"] }]
|
|
82
92
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dBlock: [{
|
|
83
93
|
type: HostBinding,
|
|
84
94
|
args: ['class.d-block']
|
|
@@ -94,5 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
94
104
|
type: Input
|
|
95
105
|
}], selectFirstTab: [{
|
|
96
106
|
type: Input
|
|
107
|
+
}], tabsPosition: [{
|
|
108
|
+
type: Input
|
|
97
109
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBcUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7QUFPcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFZLE9BQXdCO1FBaUJOLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDSixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFPaEQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUk5Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUF1QyxJQUFJLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQTRCLElBQUksQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQXlCLEVBQUUsQ0FBQztRQUkzQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUFHLElBQUks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QyxTQUFTLEVBQUU7WUFDekMsZUFBZSxDQUNiLElBQUksQ0FBQyxlQUFlLEVBQ3BCLEVBQUUsQ0FBQyxhQUFhLEVBQ2hCLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQjthQUFNO1lBQ0wscUJBQXFCO1lBQ3JCLCtCQUErQjtZQUMvQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtTQUN2QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7QUF0Q00sdUNBQWlCLEdBQUcsQ0FBQyxDQUFDO2tIQXRDbEIscUJBQXFCO3NHQUFyQixxQkFBcUIsc1NBcUJmLGtCQUFrQiw2QkMvQnJDLHV3Q0FvQmU7MkZEVkYscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQjtpR0F1QkksTUFBTTtzQkFBbkMsV0FBVzt1QkFBQyxlQUFlO2dCQUNZLGdCQUFnQjtzQkFBdkQsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBQ0csV0FBVztzQkFBbkQsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBTW5CLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ2MsZ0JBQWdCO3NCQUFuQyxLQUFLO2dCQW1CYyxjQUFjO3NCQUFqQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgdHJhbnNmZXJBcnJheUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNUYWJQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLXBhZ2UvdGFiLXBhZ2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtdGFiLWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItY29udHJvbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzVGFiQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XG4gICAgdGhpcy50YWJDb250cm9sSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KCsrQnNUYWJDb250cm9sQ29tcG9uZW50LnRhYkNvbnRyb2xDb3VudGVyKTtcbiAgICB0aGlzLnRhYkNvbnRyb2xOYW1lJCA9IHRoaXMudGFiQ29udHJvbElkJC5waXBlKG1hcCgoaWQpID0+IGBicy10YWItY29udHJvbC0ke2lkfWApKTtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudGFiUGFnZXMkLCB0aGlzLmFjdGl2ZVRhYiQsIHRoaXMuc2VsZWN0Rmlyc3RUYWIkXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3RhYlBhZ2VzLCBhY3RpdmVUYWIsIHNlbGVjdEZpcnN0VGFiXSkgPT4ge1xuICAgICAgICByZXR1cm4gISF0YWJQYWdlcyAmJiAoIWFjdGl2ZVRhYiB8fCAhdGFiUGFnZXMuc29tZSh0cCA9PiB0cCA9PT0gYWN0aXZlVGFiKSkgJiYgc2VsZWN0Rmlyc3RUYWI7XG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoW3RhYlBhZ2VzLCBhY3RpdmVUYWIsIHNlbGVjdEZpcnN0VGFiXSkgPT4ge1xuICAgICAgICBjb25zdCBub3REaXNhYmxlZCA9IHRhYlBhZ2VzIS5maWx0ZXIoKHRwKSA9PiAhdHAuZGlzYWJsZWQpO1xuICAgICAgICBpZiAobm90RGlzYWJsZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlVGFiJC5uZXh0KG5vdERpc2FibGVkWzBdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKSBkQmxvY2sgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBvc2l0aW9uLXJlbGF0aXZlJykgcG9zaXRpb25SZWxhdGl2ZSA9IHRydWU7XG4gIEBDb250ZW50Q2hpbGRyZW4oQnNUYWJQYWdlQ29tcG9uZW50KSBzZXQgc2V0VGFiUGFnZXModmFsdWU6IFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+KSB7XG4gICAgY29uc29sZS5sb2coJ3RhYnBhZ2VzJywgdmFsdWUpO1xuICAgIHRoaXMudGFiUGFnZXMkLm5leHQodmFsdWUpO1xuICAgIGNvbnN0IG1pc3NpbmcgPSB2YWx1ZS5maWx0ZXIodHAgPT4gIXRoaXMub3JkZXJlZFRhYlBhZ2VzLmluY2x1ZGVzKHRwKSk7XG4gICAgdGhpcy5vcmRlcmVkVGFiUGFnZXMgPSB0aGlzLm9yZGVyZWRUYWJQYWdlcy5jb25jYXQobWlzc2luZyk7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIGJvcmRlciA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVzdHJpY3REcmFnZ2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZHJhZ0JvdW5kYXJ5U2VsZWN0b3IgPSB2YWx1ZSA/ICd1bCcgOiAnJztcbiAgfVxuICBkcmFnQm91bmRhcnlTZWxlY3RvciA9ICcnO1xuICBlbGVtZW50OiBFbGVtZW50UmVmPGFueT47XG4gIHRhYlBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlMaXN0PEJzVGFiUGFnZUNvbXBvbmVudD4gfCBudWxsPihudWxsKTtcbiAgYWN0aXZlVGFiJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNUYWJQYWdlQ29tcG9uZW50IHwgbnVsbD4obnVsbCk7XG4gIG9yZGVyZWRUYWJQYWdlczogQnNUYWJQYWdlQ29tcG9uZW50W10gPSBbXTtcbiAgdGFiQ29udHJvbElkJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gIHRhYkNvbnRyb2xOYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBzdGF0aWMgdGFiQ29udHJvbENvdW50ZXIgPSAwO1xuICB0YWJDb3VudGVyID0gMDtcbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KClcblxuICAvLyNyZWdpb24gU2VsZWN0Rmlyc3RUYWJcbiAgc2VsZWN0Rmlyc3RUYWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHVibGljIGdldCBzZWxlY3RGaXJzdFRhYigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RGaXJzdFRhYiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RGaXJzdFRhYih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2VsZWN0Rmlyc3RUYWIkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHNldEFjdGl2ZVRhYih0YWI6IEJzVGFiUGFnZUNvbXBvbmVudCkge1xuICAgIGlmICghdGFiLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmFjdGl2ZVRhYiQubmV4dCh0YWIpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBtb3ZlVGFiKGV2OiBDZGtEcmFnRHJvcDxRdWVyeUxpc3Q8QnNUYWJQYWdlQ29tcG9uZW50PiB8IG51bGw+KSB7XG4gICAgaWYgKGV2LnByZXZpb3VzQ29udGFpbmVyID09PSBldi5jb250YWluZXIpIHtcbiAgICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgICAgdGhpcy5vcmRlcmVkVGFiUGFnZXMsXG4gICAgICAgIGV2LnByZXZpb3VzSW5kZXgsIFxuICAgICAgICBldi5jdXJyZW50SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgIC8vICAgZXYucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgIC8vICAgZXYuY29udGFpbmVyLmRhdGEsXG4gICAgICAvLyAgIGV2LnByZXZpb3VzSW5kZXgsXG4gICAgICAvLyAgIGV2LmN1cnJlbnRJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoYWN0aXZlVGFiJCB8IGFzeW5jKSBhcyBhY3RpdmVUYWJcIj5cblx0PGRpdiBjbGFzcz1cIm92ZXJmbG93LWhpZGRlbiBwb3NpdGlvbi1hYnNvbHV0ZSBtdy0xMDAgdHNjXCI+XG5cdFx0PHVsIGNka0Ryb3BMaXN0ICNsaXN0ICN0YWJMaXN0PVwiY2RrRHJvcExpc3RcIlxuXHRcdFx0W2Nka0Ryb3BMaXN0RGF0YV09XCJ0YWJQYWdlcyQgfCBhc3luY1wiXG5cdFx0XHRbY2RrRHJvcExpc3RDb25uZWN0ZWRUb109XCJbXVwiXG5cdFx0XHRbY2RrRHJvcExpc3RPcmllbnRhdGlvbl09XCInaG9yaXpvbnRhbCdcIlxuXHRcdFx0KGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJtb3ZlVGFiKCRldmVudClcIlxuXHRcdFx0Y2xhc3M9XCJuYXYgbmF2LXRhYnMgZmxleC1ub3dyYXAgb3ZlcmZsb3cteC1hdXRvIG92ZXJmbG93LXktaGlkZGVuXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2Ygb3JkZXJlZFRhYlBhZ2VzXCI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwic2V0QWN0aXZlVGFiKHRhYilcIiAqbmdJZj1cIiEhdGFiLmhlYWRlclRlbXBsYXRlXCIgY2RrRHJhZyBbY2RrRHJhZ0JvdW5kYXJ5XT1cImRyYWdCb3VuZGFyeVNlbGVjdG9yXCIgW2Nka0RyYWdTdGFydERlbGF5XT1cIjEwMDBcIj5cblx0XHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJ0YWIudGFiTmFtZSQgfCBhc3luY1wiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1ub3dyYXAgY3Vyc29yLXBvaW50ZXJcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gdGFiXCIgW2NsYXNzLmRpc2FibGVkXT1cInRhYi5kaXNhYmxlZFwiIFthdHRyLmFyaWEtY3VycmVudF09XCJhY3RpdmVUYWIgPT09IHRhYiA/ICdwYWdlJyA6IG51bGxcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInRhYi5kaXNhYmxlZFwiPlxuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHQ8L2xhYmVsPlxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHQ8L3VsPlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cInRhYi1jb250ZW50XCIgYnNOb05vc2NyaXB0IFtjbGFzcy5ib3JkZXJdPVwiYm9yZGVyICYmIGFjdGl2ZVRhYlwiIFtjbGFzcy5ib3JkZXItdG9wXT1cImJvcmRlciAmJiAhYWN0aXZlVGFiXCI+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBcUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7QUFRcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFZLE9BQXdCO1FBbUJOLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDSixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFNaEQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUk5Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUF1QyxJQUFJLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQTRCLElBQUksQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQXlCLEVBQUUsQ0FBQztRQU0zQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUFHLElBQUks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RyxXQUFXO3NCQUFuRCxlQUFlO3VCQUFDLGtCQUFrQjtnQkFLbkIsTUFBTTtzQkFBckIsS0FBSztnQkFDYyxnQkFBZ0I7c0JBQW5DLEtBQUs7Z0JBcUJjLGNBQWM7c0JBQWpDLEtBQUs7Z0JBU2MsWUFBWTtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzVGFiUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1wYWdlL3RhYi1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc1RhYnNQb3NpdGlvbiB9IGZyb20gJy4uL3RhYnMtcG9zaXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy10YWItY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1jb250cm9sLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNUYWJDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmPGFueT4pIHtcbiAgICB0aGlzLnRhYkNvbnRyb2xJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oKytCc1RhYkNvbnRyb2xDb21wb25lbnQudGFiQ29udHJvbENvdW50ZXIpO1xuICAgIHRoaXMudGFiQ29udHJvbE5hbWUkID0gdGhpcy50YWJDb250cm9sSWQkLnBpcGUobWFwKChpZCkgPT4gYGJzLXRhYi1jb250cm9sLSR7aWR9YCkpO1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy50YWJQYWdlcyQsIHRoaXMuYWN0aXZlVGFiJCwgdGhpcy5zZWxlY3RGaXJzdFRhYiRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbdGFiUGFnZXMsIGFjdGl2ZVRhYiwgc2VsZWN0Rmlyc3RUYWJdKSA9PiB7XG4gICAgICAgIHJldHVybiAhIXRhYlBhZ2VzICYmICghYWN0aXZlVGFiIHx8ICF0YWJQYWdlcy5zb21lKHRwID0+IHRwID09PSBhY3RpdmVUYWIpKSAmJiBzZWxlY3RGaXJzdFRhYjtcbiAgICAgIH0pKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChbdGFiUGFnZXMsIGFjdGl2ZVRhYiwgc2VsZWN0Rmlyc3RUYWJdKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vdERpc2FibGVkID0gdGFiUGFnZXMhLmZpbHRlcigodHApID0+ICF0cC5kaXNhYmxlZCk7XG4gICAgICAgIGlmIChub3REaXNhYmxlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFjdGl2ZVRhYiQubmV4dChub3REaXNhYmxlZFswXSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnRvcFRhYnMkID0gdGhpcy50YWJzUG9zaXRpb24kLnBpcGUobWFwKHBvc2l0aW9uID0+IHBvc2l0aW9uID09PSAndG9wJykpO1xuICAgIHRoaXMuYm90dG9tVGFicyQgPSB0aGlzLnRhYnNQb3NpdGlvbiQucGlwZShtYXAocG9zaXRpb24gPT4gcG9zaXRpb24gPT09ICdib3R0b20nKSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKSBkQmxvY2sgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBvc2l0aW9uLXJlbGF0aXZlJykgcG9zaXRpb25SZWxhdGl2ZSA9IHRydWU7XG4gIEBDb250ZW50Q2hpbGRyZW4oQnNUYWJQYWdlQ29tcG9uZW50KSBzZXQgc2V0VGFiUGFnZXModmFsdWU6IFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+KSB7XG4gICAgdGhpcy50YWJQYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgY29uc3QgbWlzc2luZyA9IHZhbHVlLmZpbHRlcih0cCA9PiAhdGhpcy5vcmRlcmVkVGFiUGFnZXMuaW5jbHVkZXModHApKTtcbiAgICB0aGlzLm9yZGVyZWRUYWJQYWdlcyA9IHRoaXMub3JkZXJlZFRhYlBhZ2VzLmNvbmNhdChtaXNzaW5nKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgYm9yZGVyID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHNldCByZXN0cmljdERyYWdnaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kcmFnQm91bmRhcnlTZWxlY3RvciA9IHZhbHVlID8gJ3VsJyA6ICcnO1xuICB9XG4gIGRyYWdCb3VuZGFyeVNlbGVjdG9yID0gJyc7XG4gIGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PjtcbiAgdGFiUGFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNUYWJQYWdlQ29tcG9uZW50PiB8IG51bGw+KG51bGwpO1xuICBhY3RpdmVUYWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCc1RhYlBhZ2VDb21wb25lbnQgfCBudWxsPihudWxsKTtcbiAgb3JkZXJlZFRhYlBhZ2VzOiBCc1RhYlBhZ2VDb21wb25lbnRbXSA9IFtdO1xuICB0YWJDb250cm9sSWQkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcbiAgdGFiQ29udHJvbE5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHRvcFRhYnMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBib3R0b21UYWJzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc3RhdGljIHRhYkNvbnRyb2xDb3VudGVyID0gMDtcbiAgdGFiQ291bnRlciA9IDA7XG4gIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpXG5cbiAgLy8jcmVnaW9uIFNlbGVjdEZpcnN0VGFiXG4gIHNlbGVjdEZpcnN0VGFiJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyBnZXQgc2VsZWN0Rmlyc3RUYWIoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0Rmlyc3RUYWIkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VsZWN0Rmlyc3RUYWIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNlbGVjdEZpcnN0VGFiJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgLy8jcmVnaW9uIFRhYnNQb3NpdGlvblxuICB0YWJzUG9zaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCc1RhYnNQb3NpdGlvbj4oJ3RvcCcpO1xuICBwdWJsaWMgZ2V0IHRhYnNQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzUG9zaXRpb24kLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdGFic1Bvc2l0aW9uKHZhbHVlOiBCc1RhYnNQb3NpdGlvbikge1xuICAgIHRoaXMudGFic1Bvc2l0aW9uJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBzZXRBY3RpdmVUYWIodGFiOiBCc1RhYlBhZ2VDb21wb25lbnQpIHtcbiAgICBpZiAoIXRhYi5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5hY3RpdmVUYWIkLm5leHQodGFiKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbW92ZVRhYihldjogQ2RrRHJhZ0Ryb3A8UXVlcnlMaXN0PEJzVGFiUGFnZUNvbXBvbmVudD4gfCBudWxsPikge1xuICAgIGlmIChldi5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXYuY29udGFpbmVyKSB7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkoXG4gICAgICAgIHRoaXMub3JkZXJlZFRhYlBhZ2VzLFxuICAgICAgICBldi5wcmV2aW91c0luZGV4LCBcbiAgICAgICAgZXYuY3VycmVudEluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAvLyAgIGV2LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICAvLyAgIGV2LmNvbnRhaW5lci5kYXRhLFxuICAgICAgLy8gICBldi5wcmV2aW91c0luZGV4LFxuICAgICAgLy8gICBldi5jdXJyZW50SW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKmJzTGV0PVwiKGFjdGl2ZVRhYiQgfCBhc3luYykgYXMgYWN0aXZlVGFiXCI+XG5cdDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gbXctMTAwIHRzY1wiICpuZ0lmPVwidG9wVGFicyQgfCBhc3luY1wiPlxuXHRcdDx1bCBjZGtEcm9wTGlzdCAjbGlzdCAjdGFiTGlzdD1cImNka0Ryb3BMaXN0XCJcblx0XHRcdFtjZGtEcm9wTGlzdERhdGFdPVwidGFiUGFnZXMkIHwgYXN5bmNcIlxuXHRcdFx0W2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW11cIlxuXHRcdFx0W2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwiJ2hvcml6b250YWwnXCJcblx0XHRcdChjZGtEcm9wTGlzdERyb3BwZWQpPVwibW92ZVRhYigkZXZlbnQpXCJcblx0XHRcdGNsYXNzPVwibmF2IG5hdi10YWJzIGZsZXgtbm93cmFwIG92ZXJmbG93LXgtYXV0byBvdmVyZmxvdy15LWhpZGRlblwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIG9yZGVyZWRUYWJQYWdlc1wiPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cInNldEFjdGl2ZVRhYih0YWIpXCIgKm5nSWY9XCIhIXRhYi5oZWFkZXJUZW1wbGF0ZVwiIGNka0RyYWcgW2Nka0RyYWdCb3VuZGFyeV09XCJkcmFnQm91bmRhcnlTZWxlY3RvclwiIFtjZGtEcmFnU3RhcnREZWxheV09XCIxMDAwXCI+XG5cdFx0XHRcdFx0PGxhYmVsIFtmb3JdPVwidGFiLnRhYk5hbWUkIHwgYXN5bmNcIiBjbGFzcz1cIm5hdi1saW5rIHRleHQtbm93cmFwIGN1cnNvci1wb2ludGVyXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IHRhYlwiIFtjbGFzcy5kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYWN0aXZlVGFiID09PSB0YWIgPyAncGFnZScgOiBudWxsXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIj5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFiLmhlYWRlclRlbXBsYXRlLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC91bD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBmbGV4LWdyb3ctMVwiIGJzTm9Ob3NjcmlwdCBbY2xhc3MuYm9yZGVyXT1cImJvcmRlciAmJiBhY3RpdmVUYWJcIiBbY2xhc3MuYm9yZGVyLXRvcF09XCJib3JkZXIgJiYgIWFjdGl2ZVRhYlwiPlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gbXctMTAwIHRzYyBib3R0b20tdGFic1wiICpuZ0lmPVwiYm90dG9tVGFicyQgfCBhc3luY1wiPlxuXHRcdDx1bCBjZGtEcm9wTGlzdCAjbGlzdCAjdGFiTGlzdD1cImNka0Ryb3BMaXN0XCJcblx0XHRcdFtjZGtEcm9wTGlzdERhdGFdPVwidGFiUGFnZXMkIHwgYXN5bmNcIlxuXHRcdFx0W2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW11cIlxuXHRcdFx0W2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwiJ2hvcml6b250YWwnXCJcblx0XHRcdChjZGtEcm9wTGlzdERyb3BwZWQpPVwibW92ZVRhYigkZXZlbnQpXCJcblx0XHRcdGNsYXNzPVwibmF2IG5hdi10YWJzIGZsZXgtbm93cmFwIG92ZXJmbG93LXgtYXV0byBvdmVyZmxvdy15LWhpZGRlblwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIG9yZGVyZWRUYWJQYWdlc1wiPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cInNldEFjdGl2ZVRhYih0YWIpXCIgKm5nSWY9XCIhIXRhYi5oZWFkZXJUZW1wbGF0ZVwiIGNka0RyYWcgW2Nka0RyYWdCb3VuZGFyeV09XCJkcmFnQm91bmRhcnlTZWxlY3RvclwiIFtjZGtEcmFnU3RhcnREZWxheV09XCIxMDAwXCI+XG5cdFx0XHRcdFx0PGxhYmVsIFtmb3JdPVwidGFiLnRhYk5hbWUkIHwgYXN5bmNcIiBjbGFzcz1cIm5hdi1saW5rIHRleHQtbm93cmFwIGN1cnNvci1wb2ludGVyXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IHRhYlwiIFtjbGFzcy5kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYWN0aXZlVGFiID09PSB0YWIgPyAncGFnZScgOiBudWxsXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIj5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFiLmhlYWRlclRlbXBsYXRlLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC91bD5cblx0PC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -5,16 +5,19 @@ import { BsLetModule } from '@mintplayer/ng-bootstrap/let';
|
|
|
5
5
|
import { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';
|
|
6
6
|
import { BsTabControlComponent } from './tab-control/tab-control.component';
|
|
7
7
|
import { BsTabPageComponent } from './tab-page/tab-page.component';
|
|
8
|
+
import { BsTabPageHeaderDirective } from './tab-page-header/tab-page-header.directive';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class BsTabControlModule {
|
|
10
11
|
}
|
|
11
12
|
BsTabControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
13
|
BsTabControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlModule, declarations: [BsTabControlComponent,
|
|
13
|
-
BsTabPageComponent
|
|
14
|
+
BsTabPageComponent,
|
|
15
|
+
BsTabPageHeaderDirective], imports: [CommonModule,
|
|
14
16
|
DragDropModule,
|
|
15
17
|
BsLetModule,
|
|
16
18
|
BsNoNoscriptModule], exports: [BsTabControlComponent,
|
|
17
|
-
BsTabPageComponent
|
|
19
|
+
BsTabPageComponent,
|
|
20
|
+
BsTabPageHeaderDirective] });
|
|
18
21
|
BsTabControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlModule, imports: [CommonModule,
|
|
19
22
|
DragDropModule,
|
|
20
23
|
BsLetModule,
|
|
@@ -25,6 +28,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
25
28
|
declarations: [
|
|
26
29
|
BsTabControlComponent,
|
|
27
30
|
BsTabPageComponent,
|
|
31
|
+
BsTabPageHeaderDirective,
|
|
28
32
|
],
|
|
29
33
|
imports: [
|
|
30
34
|
CommonModule,
|
|
@@ -35,7 +39,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
35
39
|
exports: [
|
|
36
40
|
BsTabControlComponent,
|
|
37
41
|
BsTabPageComponent,
|
|
42
|
+
BsTabPageHeaderDirective,
|
|
38
43
|
]
|
|
39
44
|
}]
|
|
40
45
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRyb2wubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBb0J2RixNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBaEIzQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLHdCQUF3QixhQUd4QixZQUFZO1FBQ1osY0FBYztRQUNkLFdBQVc7UUFDWCxrQkFBa0IsYUFHbEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQix3QkFBd0I7Z0hBR2Ysa0JBQWtCLFlBWDNCLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLGtCQUFrQjsyRkFRVCxrQkFBa0I7a0JBbEI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBCc0xldE1vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9sZXQnO1xuaW1wb3J0IHsgQnNOb05vc2NyaXB0TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL25vLW5vc2NyaXB0JztcbmltcG9ydCB7IEJzVGFiQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEJzVGFiUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLXBhZ2UvdGFiLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJzVGFiUGFnZUhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLXBhZ2UtaGVhZGVyL3RhYi1wYWdlLWhlYWRlci5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc1RhYkNvbnRyb2xDb21wb25lbnQsXG4gICAgQnNUYWJQYWdlQ29tcG9uZW50LFxuICAgIEJzVGFiUGFnZUhlYWRlckRpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBCc0xldE1vZHVsZSxcbiAgICBCc05vTm9zY3JpcHRNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzVGFiQ29udHJvbENvbXBvbmVudCxcbiAgICBCc1RhYlBhZ2VDb21wb25lbnQsXG4gICAgQnNUYWJQYWdlSGVhZGVyRGlyZWN0aXZlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzVGFiQ29udHJvbE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Component, ContentChild,
|
|
1
|
+
import { Component, ContentChild, Input, ElementRef } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, combineLatest, map } from 'rxjs';
|
|
3
3
|
import { BsTabControlComponent } from '../tab-control/tab-control.component';
|
|
4
|
+
import { BsTabPageHeaderDirective } from '../tab-page-header/tab-page-header.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../tab-control/tab-control.component";
|
|
6
7
|
import * as i2 from "@mintplayer/ng-bootstrap/no-noscript";
|
|
@@ -16,7 +17,7 @@ export class BsTabPageComponent {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
BsTabPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabPageComponent, deps: [{ token: i1.BsTabControlComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
BsTabPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsTabPageComponent, selector: "bs-tab-page", inputs: { disabled: "disabled" }, queries: [{ propertyName: "headerTemplate", first: true, predicate:
|
|
20
|
+
BsTabPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsTabPageComponent, selector: "bs-tab-page", inputs: { disabled: "disabled" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: BsTabPageHeaderDirective, 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$ | async) === 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: i3.AsyncPipe, name: "async" }] });
|
|
20
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabPageComponent, decorators: [{
|
|
21
22
|
type: Component,
|
|
22
23
|
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$ | async) === 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"] }]
|
|
@@ -24,6 +25,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
24
25
|
type: Input
|
|
25
26
|
}], headerTemplate: [{
|
|
26
27
|
type: ContentChild,
|
|
27
|
-
args: [
|
|
28
|
+
args: [BsTabPageHeaderDirective]
|
|
28
29
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLXBhZ2UvdGFiLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLXBhZ2UvdGFiLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7O0FBT3hGLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBWSxVQUFpQyxFQUFFLE9BQXdCO1FBYTlELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFaeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBRSxHQUFHLGNBQWMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7K0dBUlUsa0JBQWtCO21HQUFsQixrQkFBa0IsaUlBZ0JmLHdCQUF3QixnREMxQnhDLG9RQUdNOzJGRE9PLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxhQUFhO3FJQW1CZCxRQUFRO3NCQUFoQixLQUFLO2dCQUNrQyxjQUFjO3NCQUFyRCxZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgSW5wdXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc1RhYkNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuLi90YWItY29udHJvbC90YWItY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNUYWJQYWdlSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vdGFiLXBhZ2UtaGVhZGVyL3RhYi1wYWdlLWhlYWRlci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy10YWItcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1wYWdlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNUYWJQYWdlQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcih0YWJDb250cm9sOiBCc1RhYkNvbnRyb2xDb21wb25lbnQsIGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55Pikge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy50YWJDb250cm9sID0gdGFiQ29udHJvbDtcbiAgICB0aGlzLnRhYklkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigrK3RoaXMudGFiQ29udHJvbC50YWJDb3VudGVyKTtcbiAgICB0aGlzLnRhYk5hbWUkID0gY29tYmluZUxhdGVzdChbdGhpcy50YWJDb250cm9sLnRhYkNvbnRyb2xOYW1lJCwgdGhpcy50YWJJZCRdKVxuICAgICAgLnBpcGUobWFwKChbdGFiQ29udHJvbE5hbWUsIHRhYklkXSkgPT4gIGAke3RhYkNvbnRyb2xOYW1lfS0ke3RhYklkfWApKTtcbiAgfVxuXG4gIGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PjtcbiAgdGFiQ29udHJvbDogQnNUYWJDb250cm9sQ29tcG9uZW50O1xuICB0YWJJZCQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICB0YWJOYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBDb250ZW50Q2hpbGQoQnNUYWJQYWdlSGVhZGVyRGlyZWN0aXZlKSBoZWFkZXJUZW1wbGF0ZSE6IEJzVGFiUGFnZUhlYWRlckRpcmVjdGl2ZTtcblxufVxuIiwiPGlucHV0IHR5cGU9XCJyYWRpb1wiIGJzTm9Ob3NjcmlwdCBjbGFzcz1cImQtbm9uZVwiIFtuYW1lXT1cInRhYkNvbnRyb2wudGFiQ29udHJvbE5hbWUkIHwgYXN5bmNcIiBbaWRdPVwidGFiTmFtZSQgfCBhc3luY1wiPlxuPGRpdiBjbGFzcz1cInRhYi1wYWdlLWNvbnRlbnRcIiBbY2xhc3MuZC1ibG9ja109XCIodGFiQ29udHJvbC5hY3RpdmVUYWIkIHwgYXN5bmMpID09PSB0aGlzXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BsTabPageHeaderDirective {
|
|
4
|
+
constructor(template) {
|
|
5
|
+
this.template = template;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
BsTabPageHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabPageHeaderDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
BsTabPageHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.3", type: BsTabPageHeaderDirective, selector: "[bsTabPageHeader]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabPageHeaderDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[bsTabPageHeader]'
|
|
14
|
+
}]
|
|
15
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhZ2UtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvdGFiLWNvbnRyb2wvc3JjL3RhYi1wYWdlLWhlYWRlci90YWItcGFnZS1oZWFkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt2RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQW1CLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQUcsQ0FBQzs7cUhBRnRDLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1RhYlBhZ2VIZWFkZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCc1RhYlBhZ2VIZWFkZXJEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cblxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvdGFiLWNvbnRyb2wvc3JjL3RhYnMtcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJzVGFic1Bvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJzsiXX0=
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, ContentChildren,
|
|
3
|
-
import * as
|
|
2
|
+
import { Component, ViewChild, Input, ContentChildren, ViewChildren, HostBinding, HostListener, NgModule } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i2 from '@angular/cdk/portal';
|
|
5
|
+
import * as i2$1 from '@angular/cdk/portal';
|
|
6
6
|
import { DomPortal, PortalModule } from '@angular/cdk/portal';
|
|
7
|
-
import * as i1 from '@mintplayer/ng-bootstrap/card';
|
|
8
7
|
import { BsCardModule } from '@mintplayer/ng-bootstrap/card';
|
|
9
8
|
import * as i4 from '@mintplayer/ng-bootstrap/splitter';
|
|
10
9
|
import { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';
|
|
@@ -12,26 +11,32 @@ import * as i5 from '@mintplayer/ng-bootstrap/tab-control';
|
|
|
12
11
|
import { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';
|
|
13
12
|
import * as i3 from '@mintplayer/ng-bootstrap/instance-of';
|
|
14
13
|
import { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';
|
|
15
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
16
|
-
import * as i1
|
|
14
|
+
import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
|
|
15
|
+
import * as i1 from '@angular/cdk/overlay';
|
|
17
16
|
|
|
18
17
|
class BsDockPanelComponent {
|
|
19
|
-
constructor(
|
|
20
|
-
this.element = element;
|
|
18
|
+
constructor() {
|
|
21
19
|
this.panelId = '';
|
|
22
|
-
this.
|
|
20
|
+
// this.contentPortal = new DomPortal(this.element.nativeElement);
|
|
23
21
|
}
|
|
24
22
|
ngAfterViewInit() {
|
|
25
|
-
console.log('attach dockpanel', this.element.nativeElement);
|
|
26
|
-
this.
|
|
23
|
+
// console.log('attach dockpanel', this.element.nativeElement);
|
|
24
|
+
this.headerPortal = new DomPortal(this.headerElement.nativeElement);
|
|
25
|
+
this.contentPortal = new DomPortal(this.contentElement.nativeElement);
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
|
-
BsDockPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPanelComponent, deps: [
|
|
30
|
-
BsDockPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockPanelComponent, selector: "bs-dock-panel", inputs: { panelId: "panelId" }, ngImport: i0, template: "<!-- <bs-split-panel> -->\n
|
|
28
|
+
BsDockPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
BsDockPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockPanelComponent, selector: "bs-dock-panel", inputs: { panelId: "panelId" }, viewQueries: [{ propertyName: "headerElement", first: true, predicate: ["headerElement"], descendants: true }, { propertyName: "contentElement", first: true, predicate: ["contentElement"], descendants: true }], ngImport: i0, template: "<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->", styles: [".dock-header{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] });
|
|
31
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPanelComponent, decorators: [{
|
|
32
31
|
type: Component,
|
|
33
|
-
args: [{ selector: 'bs-dock-panel', template: "<!-- <bs-split-panel> -->\n
|
|
34
|
-
}], ctorParameters: function () { return [
|
|
32
|
+
args: [{ selector: 'bs-dock-panel', template: "<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->", styles: [".dock-header{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] }]
|
|
33
|
+
}], ctorParameters: function () { return []; }, propDecorators: { headerElement: [{
|
|
34
|
+
type: ViewChild,
|
|
35
|
+
args: ['headerElement']
|
|
36
|
+
}], contentElement: [{
|
|
37
|
+
type: ViewChild,
|
|
38
|
+
args: ['contentElement']
|
|
39
|
+
}], panelId: [{
|
|
35
40
|
type: Input
|
|
36
41
|
}] } });
|
|
37
42
|
|
|
@@ -78,7 +83,7 @@ class BsContentPane extends BsDockPane {
|
|
|
78
83
|
}
|
|
79
84
|
|
|
80
85
|
class BsDockPaneRendererComponent {
|
|
81
|
-
constructor() {
|
|
86
|
+
constructor(element) {
|
|
82
87
|
this.paneTypes = EPaneType;
|
|
83
88
|
this.BsDocumentHostType = BsDocumentHost;
|
|
84
89
|
this.BsTabGroupType = BsTabGroupPane;
|
|
@@ -102,6 +107,7 @@ class BsDockPaneRendererComponent {
|
|
|
102
107
|
// // throw 'unknown pane type';
|
|
103
108
|
// }
|
|
104
109
|
// }));
|
|
110
|
+
this.portal = new DomPortal(element);
|
|
105
111
|
}
|
|
106
112
|
get layout() {
|
|
107
113
|
return this.layout$.value;
|
|
@@ -111,20 +117,24 @@ class BsDockPaneRendererComponent {
|
|
|
111
117
|
this.layout$.next(value);
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
|
-
BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\">\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-template
|
|
120
|
+
BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
+
BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3.BsInstanceOfDirective, selector: "[bsInstanceof]", inputs: ["bsInstanceof"] }, { kind: "directive", type: i3.BsInstanceofCaseDirective, selector: "[bsInstanceofCase]", inputs: ["bsInstanceofCase"] }, { kind: "directive", type: i3.BsInstanceOfDefaultDirective, selector: "[bsInstanceofDefault]" }, { kind: "component", type: i4.BsSplitterComponent, selector: "bs-splitter", inputs: ["orientation"] }, { kind: "component", type: i4.BsSplitPanelComponent, selector: "bs-split-panel" }, { kind: "component", type: i5.BsTabControlComponent, selector: "bs-tab-control", inputs: ["border", "restrictDragging", "selectFirstTab", "tabsPosition"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i5.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
116
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
|
|
117
123
|
type: Component,
|
|
118
|
-
args: [{ selector: 'bs-dock-pane-renderer', template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\">\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-template
|
|
119
|
-
}], ctorParameters: function () { return []; }, propDecorators: { layout: [{
|
|
124
|
+
args: [{ selector: 'bs-dock-pane-renderer', template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"] }]
|
|
125
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { layout: [{
|
|
120
126
|
type: Input
|
|
121
127
|
}] } });
|
|
122
128
|
|
|
123
129
|
class BsDockComponent {
|
|
124
|
-
constructor() {
|
|
130
|
+
constructor(overlay) {
|
|
131
|
+
this.overlay = overlay;
|
|
125
132
|
//#region Panels
|
|
126
133
|
this.panels$ = new BehaviorSubject([]);
|
|
127
134
|
//#endregion
|
|
135
|
+
this.floating$ = new BehaviorSubject([]);
|
|
136
|
+
this.positionAbsolute = true;
|
|
137
|
+
this.positionPx = 0;
|
|
128
138
|
this.destroyed$ = new Subject();
|
|
129
139
|
const tabs = new BsTabGroupPane();
|
|
130
140
|
const docHost = new BsDocumentHost();
|
|
@@ -137,6 +147,13 @@ class BsDockComponent {
|
|
|
137
147
|
// .pipe(takeUntil(this.destroyed$))
|
|
138
148
|
// .subscribe(([layout, panels]) => {
|
|
139
149
|
// })
|
|
150
|
+
this.floating$.pipe(takeUntil(this.destroyed$))
|
|
151
|
+
.subscribe((floating) => {
|
|
152
|
+
floating.forEach((panel) => {
|
|
153
|
+
const overlayRef = this.overlay.create({});
|
|
154
|
+
overlayRef.attach(panel.portal);
|
|
155
|
+
});
|
|
156
|
+
});
|
|
140
157
|
}
|
|
141
158
|
set panels(value) {
|
|
142
159
|
this.panels$.next(value.toArray());
|
|
@@ -147,27 +164,57 @@ class BsDockComponent {
|
|
|
147
164
|
set layout(value) {
|
|
148
165
|
this.layout$.next(value);
|
|
149
166
|
}
|
|
167
|
+
set floatingPanes(value) {
|
|
168
|
+
// value.changes.pipe(takeUntil(this.destroyed$)).subscribe((changes) => console.log('floatingPanes', changes));
|
|
169
|
+
this.floating$.next(value.toArray());
|
|
170
|
+
}
|
|
150
171
|
ngOnDestroy() {
|
|
151
172
|
this.destroyed$.next(true);
|
|
152
173
|
}
|
|
153
174
|
}
|
|
154
|
-
BsDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
155
|
-
BsDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockComponent, selector: "bs-dock", inputs: { layout: "layout" }, queries: [{ propertyName: "panels", predicate: BsDockPanelComponent }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [""], dependencies: [{ kind: "directive", type:
|
|
175
|
+
BsDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
+
BsDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockComponent, selector: "bs-dock", inputs: { layout: "layout" }, host: { properties: { "class.position-absolute": "this.positionAbsolute", "style.top": "this.positionPx", "style.left": "this.positionPx", "style.bottom": "this.positionPx", "style.right": "this.positionPx" } }, queries: [{ propertyName: "panels", predicate: BsDockPanelComponent }], viewQueries: [{ propertyName: "floatingPanes", predicate: ["floating"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane.pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [":host ::ng-deep .tab-content{max-height:calc(100% - 41px);overflow:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
156
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockComponent, decorators: [{
|
|
157
178
|
type: Component,
|
|
158
|
-
args: [{ selector: 'bs-dock', template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n" }]
|
|
159
|
-
}], ctorParameters: function () { return []; }, propDecorators: { panels: [{
|
|
179
|
+
args: [{ selector: 'bs-dock', template: "<ng-content></ng-content>\n<ng-container *ngIf=\"(layout$ | async) as layout\">\n <bs-dock-pane-renderer [layout]=\"layout.rootPane\"></bs-dock-pane-renderer>\n\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane.pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n", styles: [":host ::ng-deep .tab-content{max-height:calc(100% - 41px);overflow:auto}\n"] }]
|
|
180
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }]; }, propDecorators: { panels: [{
|
|
160
181
|
type: ContentChildren,
|
|
161
182
|
args: [BsDockPanelComponent]
|
|
162
183
|
}], layout: [{
|
|
163
184
|
type: Input
|
|
185
|
+
}], floatingPanes: [{
|
|
186
|
+
type: ViewChildren,
|
|
187
|
+
args: ['floating']
|
|
188
|
+
}], positionAbsolute: [{
|
|
189
|
+
type: HostBinding,
|
|
190
|
+
args: ['class.position-absolute']
|
|
191
|
+
}], positionPx: [{
|
|
192
|
+
type: HostBinding,
|
|
193
|
+
args: ['style.top']
|
|
194
|
+
}, {
|
|
195
|
+
type: HostBinding,
|
|
196
|
+
args: ['style.left']
|
|
197
|
+
}, {
|
|
198
|
+
type: HostBinding,
|
|
199
|
+
args: ['style.bottom']
|
|
200
|
+
}, {
|
|
201
|
+
type: HostBinding,
|
|
202
|
+
args: ['style.right']
|
|
164
203
|
}] } });
|
|
165
204
|
|
|
205
|
+
class BsFloatingPane {
|
|
206
|
+
constructor(data) {
|
|
207
|
+
Object.assign(this, data);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
166
211
|
class BsDockPanelHeaderComponent {
|
|
167
|
-
constructor(overlay, dockPanel) {
|
|
212
|
+
constructor(overlay, dockPanel, dock) {
|
|
168
213
|
this.overlay = overlay;
|
|
169
214
|
this.dockPanel = dockPanel;
|
|
215
|
+
this.dock = dock;
|
|
170
216
|
this.isDragging = false;
|
|
217
|
+
this.isLayoutDetached = false;
|
|
171
218
|
this.dBlock = true;
|
|
172
219
|
this.overlayRef = this.overlay.create({
|
|
173
220
|
positionStrategy: this.overlay.position().global()
|
|
@@ -178,22 +225,33 @@ class BsDockPanelHeaderComponent {
|
|
|
178
225
|
this.isDragging = true;
|
|
179
226
|
}
|
|
180
227
|
onMouseMove(ev) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
228
|
+
if (this.isDragging) {
|
|
229
|
+
if (!this.isLayoutDetached) {
|
|
230
|
+
this.isLayoutDetached = true;
|
|
231
|
+
this.dock.layout$.subscribe((layout) => {
|
|
232
|
+
layout.floatingPanes.push(new BsFloatingPane({
|
|
233
|
+
pane: new BsTabGroupPane({
|
|
234
|
+
panes: [
|
|
235
|
+
new BsContentPane({
|
|
236
|
+
dockPanel: this.dockPanel
|
|
237
|
+
})
|
|
238
|
+
]
|
|
239
|
+
})
|
|
240
|
+
}));
|
|
241
|
+
});
|
|
242
|
+
}
|
|
185
243
|
}
|
|
186
244
|
}
|
|
187
245
|
onMouseUp(ev) {
|
|
188
246
|
this.isDragging = false;
|
|
189
247
|
}
|
|
190
248
|
}
|
|
191
|
-
BsDockPanelHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPanelHeaderComponent, deps: [{ token: i1
|
|
192
|
-
BsDockPanelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockPanelHeaderComponent, selector: "bs-dock-panel-header", host: { listeners: { "mousedown": "onMouseDown($event)", "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.d-block": "this.dBlock" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{
|
|
249
|
+
BsDockPanelHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPanelHeaderComponent, deps: [{ token: i1.Overlay }, { token: BsDockPanelComponent }, { token: BsDockComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
250
|
+
BsDockPanelHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: BsDockPanelHeaderComponent, selector: "bs-dock-panel-header", host: { listeners: { "mousedown": "onMouseDown($event)", "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.d-block": "this.dBlock" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] });
|
|
193
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPanelHeaderComponent, decorators: [{
|
|
194
252
|
type: Component,
|
|
195
|
-
args: [{ selector: 'bs-dock-panel-header', template: "<ng-content></ng-content>", styles: [":host{
|
|
196
|
-
}], ctorParameters: function () { return [{ type: i1
|
|
253
|
+
args: [{ selector: 'bs-dock-panel-header', template: "<ng-content></ng-content>", styles: [":host{padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);margin:calc(-1 * var(--bs-nav-link-padding-y)) calc(-1 * var(--bs-nav-link-padding-x))}\n"] }]
|
|
254
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: BsDockPanelComponent }, { type: BsDockComponent }]; }, propDecorators: { onMouseDown: [{
|
|
197
255
|
type: HostListener,
|
|
198
256
|
args: ['mousedown', ['$event']]
|
|
199
257
|
}], onMouseMove: [{
|
|
@@ -254,9 +312,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
254
312
|
}]
|
|
255
313
|
}] });
|
|
256
314
|
|
|
257
|
-
class BsFloatingPane {
|
|
258
|
-
}
|
|
259
|
-
|
|
260
315
|
/**
|
|
261
316
|
* Generated bundle index. Do not edit.
|
|
262
317
|
*/
|