@mintplayer/ng-bootstrap 15.21.0 → 15.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +2 -2
- package/esm2020/tab-control/src/index.mjs +2 -1
- package/esm2020/tab-control/src/tab-control/tab-control.component.mjs +16 -3
- package/esm2020/tab-control/src/tabs-position.mjs +2 -0
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-tab-control.mjs +15 -2
- package/fesm2015/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-tab-control.mjs +15 -2
- package/fesm2020/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/package.json +1 -1
- package/tab-control/src/index.d.ts +1 -0
- package/tab-control/src/tab-control/tab-control.component.d.ts +7 -1
- package/tab-control/src/tabs-position.d.ts +1 -0
|
@@ -46,11 +46,11 @@ export class BsDockPaneRendererComponent {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
49
|
+
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>" }]
|
|
53
53
|
}], ctorParameters: function () { return []; }, propDecorators: { layout: [{
|
|
54
54
|
type: Input
|
|
55
55
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1wYW5lLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZG9jay9zcmMvZG9jay1wYW5lLXJlbmRlcmVyL2RvY2stcGFuZS1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2RvY2svc3JjL2RvY2stcGFuZS1yZW5kZXJlci9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBbUIsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQU96RCxNQUFNLE9BQU8sMkJBQTJCO0lBRXRDO1FBbUJBLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFDYix1QkFBa0IsR0FBRyxjQUFjLENBQUM7UUFDcEMsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFDN0Isc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRTNDLGdCQUFnQjtRQUNoQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBekJyRCwyRUFBMkU7UUFDM0UsMkJBQTJCO1FBQzNCLG1CQUFtQjtRQUNuQixtREFBbUQ7UUFDbkQscUNBQXFDO1FBQ3JDLGdEQUFnRDtRQUNoRCxrQ0FBa0M7UUFDbEMsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxtREFBbUQ7UUFDbkQscUNBQXFDO1FBQ3JDLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsb0NBQW9DO1FBQ3BDLE1BQU07UUFDTixPQUFPO0lBQ1QsQ0FBQztJQVVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQW9CLE1BQU0sQ0FBQyxLQUF3QjtRQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOzt3SEFuQ1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsMkZDZHhDLDZsQ0FzQmUsMmxDRFJGLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1QjswRUFvQ2IsTUFBTTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0RvY2tQYW5lIH0gZnJvbSAnLi4vcGFuZXMvZG9jay1wYW5lJztcbmltcG9ydCB7IEVQYW5lVHlwZSB9IGZyb20gJy4uL2VudW1zL3BhbmUtdHlwZS5lbnVtJztcbmltcG9ydCB7IEJzU3BsaXRQYW5lIH0gZnJvbSAnLi4vcGFuZXMvc3BsaXQtcGFuZSc7XG5pbXBvcnQgeyBCc0NvbnRlbnRQYW5lIH0gZnJvbSAnLi4vcGFuZXMvY29udGVudC1wYW5lJztcbmltcG9ydCB7IEJzRG9jdW1lbnRIb3N0IH0gZnJvbSAnLi4vcGFuZXMvZG9jdW1lbnQtaG9zdC1wYW5lJztcbmltcG9ydCB7IEJzVGFiR3JvdXBQYW5lIH0gZnJvbSAnLi4vcGFuZXMvdGFiLWdyb3VwLXBhbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1kb2NrLXBhbmUtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jay1wYW5lLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jay1wYW5lLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNEb2NrUGFuZVJlbmRlcmVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyB0aGlzLmxheW91dFR5cGUkID0gdGhpcy5sYXlvdXQkLnBpcGU8RVBhbmVUeXBlIHwgbnVsbD4obWFwKChsYXlvdXQpID0+IHtcbiAgICAvLyAgIGlmIChsYXlvdXQgPT09IG51bGwpIHtcbiAgICAvLyAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICB9IGVsc2UgaWYgKGxheW91dCBpbnN0YW5jZW9mIEJzRG9jdW1lbnRIb3N0KSB7XG4gICAgLy8gICAgIHJldHVybiBFUGFuZVR5cGUuZG9jdW1lbnRIb3N0O1xuICAgIC8vICAgfSBlbHNlIGlmIChsYXlvdXQgaW5zdGFuY2VvZiBCc1NwbGl0UGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLnNwbGl0UGFuZTtcbiAgICAvLyAgIH0gZWxzZSBpZiAobGF5b3V0IGluc3RhbmNlb2YgQnNDb250ZW50UGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLmNvbnRlbnRQYW5lO1xuICAgIC8vICAgfSBlbHNlIGlmIChsYXlvdXQgaW5zdGFuY2VvZiBCc1RhYkdyb3VwUGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLnRhYkdyb3VwUGFuZTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIHJldHVybiBudWxsO1xuICAgIC8vICAgICAvLyB0aHJvdyAndW5rbm93biBwYW5lIHR5cGUnO1xuICAgIC8vICAgfVxuICAgIC8vIH0pKTtcbiAgfVxuXG4gIHBhbmVUeXBlcyA9IEVQYW5lVHlwZTtcbiAgcmVhZG9ubHkgQnNEb2N1bWVudEhvc3RUeXBlID0gQnNEb2N1bWVudEhvc3Q7XG4gIHJlYWRvbmx5IEJzVGFiR3JvdXBUeXBlID0gQnNUYWJHcm91cFBhbmU7XG4gIHJlYWRvbmx5IEJzU3BsaXR0ZXJUeXBlID0gQnNTcGxpdFBhbmU7XG4gIHJlYWRvbmx5IEJzQ29udGVudFBhbmVUeXBlID0gQnNDb250ZW50UGFuZTtcblxuICAvLyNyZWdpb24gTGF5b3V0XG4gIGxheW91dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzRG9ja1BhbmUgfCBudWxsPihudWxsKTtcbiAgcHVibGljIGdldCBsYXlvdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0JC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGxheW91dCh2YWx1ZTogQnNEb2NrUGFuZSB8IG51bGwpIHtcbiAgICBjb25zb2xlLmxvZygnc2V0IGxheW91dCcsIHZhbHVlKTtcbiAgICB0aGlzLmxheW91dCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8gbGF5b3V0VHlwZSQ6IE9ic2VydmFibGU8RVBhbmVUeXBlIHwgbnVsbD47XG59XG4iLCI8IS0tIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gLS0+XG48bmctY29udGFpbmVyIFtic0luc3RhbmNlb2ZdPVwibGF5b3V0JCB8IGFzeW5jXCI+XG4gICAgPGRpdiAqYnNJbnN0YW5jZW9mQ2FzZT1cIkJzRG9jdW1lbnRIb3N0VHlwZTsgbGV0IGRvY3VtZW50SG9zdFwiPlxuICAgICAgICA8YnMtZG9jay1wYW5lLXJlbmRlcmVyIFtsYXlvdXRdPVwiZG9jdW1lbnRIb3N0XCI+PC9icy1kb2NrLXBhbmUtcmVuZGVyZXI+XG4gICAgPC9kaXY+XG4gICAgPGJzLXRhYi1jb250cm9sICpic0luc3RhbmNlb2ZDYXNlPVwiQnNUYWJHcm91cFR5cGU7IGxldCB0YWJHcm91cFwiPlxuICAgICAgICA8YnMtdGFiLXBhZ2UgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJHcm91cC5wYW5lc1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlRhYiBwYWdlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxicy1kb2NrLXBhbmUtcmVuZGVyZXIgW2xheW91dF09XCJ0YWJcIj48L2JzLWRvY2stcGFuZS1yZW5kZXJlcj5cbiAgICAgICAgPC9icy10YWItcGFnZT5cbiAgICA8L2JzLXRhYi1jb250cm9sPlxuICAgIDxicy1zcGxpdHRlciAqYnNJbnN0YW5jZW9mQ2FzZT1cIkJzU3BsaXR0ZXJUeXBlOyBsZXQgc3BsaXR0ZXJcIiBbb3JpZW50YXRpb25dPVwic3BsaXR0ZXIub3JpZW50YXRpb25cIj5cbiAgICAgICAgPGJzLXNwbGl0LXBhbmVsICpuZ0Zvcj1cImxldCBwYW5lbCBvZiBzcGxpdHRlci5wYW5lc1wiPlxuICAgICAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cInBhbmVsXCI+PC9icy1kb2NrLXBhbmUtcmVuZGVyZXI+XG4gICAgICAgIDwvYnMtc3BsaXQtcGFuZWw+XG4gICAgPC9icy1zcGxpdHRlcj5cbiAgICA8bmctY29udGFpbmVyICpic0luc3RhbmNlb2ZDYXNlPVwiQnNDb250ZW50UGFuZVR5cGU7IGxldCBjb250ZW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cImNvbnRlbnQuZG9ja1BhbmVsLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqYnNJbnN0YW5jZW9mRGVmYXVsdD5cbiAgICAgICAgTm8gbWF0Y2hcbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './tab-control.module';
|
|
2
2
|
export * from './tab-control/tab-control.component';
|
|
3
3
|
export * from './tab-page/tab-page.component';
|
|
4
|
-
|
|
4
|
+
export * from './tabs-position';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3RhYi1jb250cm9sL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWItY29udHJvbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWItY29udHJvbC90YWItY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWItcGFnZS90YWItcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLXBvc2l0aW9uJzsiXX0=
|
|
@@ -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;
|
|
@@ -34,6 +37,8 @@ export class BsTabControlComponent {
|
|
|
34
37
|
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
44
|
console.log('tabpages', value);
|
|
@@ -50,6 +55,12 @@ export class BsTabControlComponent {
|
|
|
50
55
|
set selectFirstTab(value) {
|
|
51
56
|
this.selectFirstTab$.next(value);
|
|
52
57
|
}
|
|
58
|
+
get tabsPosition() {
|
|
59
|
+
return this.tabsPosition$.value;
|
|
60
|
+
}
|
|
61
|
+
set tabsPosition(value) {
|
|
62
|
+
this.tabsPosition$.next(value);
|
|
63
|
+
}
|
|
53
64
|
//#endregion
|
|
54
65
|
setActiveTab(tab) {
|
|
55
66
|
if (!tab.disabled) {
|
|
@@ -75,10 +86,10 @@ export class BsTabControlComponent {
|
|
|
75
86
|
}
|
|
76
87
|
BsTabControlComponent.tabControlCounter = 0;
|
|
77
88
|
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
|
|
89
|
+
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\"></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\" 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\"></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}.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
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, decorators: [{
|
|
80
91
|
type: Component,
|
|
81
|
-
args: [{ selector: 'bs-tab-control', template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden
|
|
92
|
+
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\"></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\" 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\"></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}.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
93
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dBlock: [{
|
|
83
94
|
type: HostBinding,
|
|
84
95
|
args: ['class.d-block']
|
|
@@ -94,5 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
94
105
|
type: Input
|
|
95
106
|
}], selectFirstTab: [{
|
|
96
107
|
type: Input
|
|
108
|
+
}], tabsPosition: [{
|
|
109
|
+
type: Input
|
|
97
110
|
}] } });
|
|
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==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBcUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7QUFRcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUFZLE9BQXdCO1FBbUJOLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDSixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFPaEQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUk5Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFFMUIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUF1QyxJQUFJLENBQUMsQ0FBQztRQUM1RSxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQTRCLElBQUksQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQXlCLEVBQUUsQ0FBQztRQU0zQyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUFHLElBQUks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QUFXO3VCQUFDLHlCQUF5QjtnQkFDRyxXQUFXO3NCQUFuRCxlQUFlO3VCQUFDLGtCQUFrQjtnQkFNbkIsTUFBTTtzQkFBckIsS0FBSztnQkFDYyxnQkFBZ0I7c0JBQW5DLEtBQUs7Z0JBcUJjLGNBQWM7c0JBQWpDLEtBQUs7Z0JBU2MsWUFBWTtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzVGFiUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1wYWdlL3RhYi1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc1RhYnNQb3NpdGlvbiB9IGZyb20gJy4uL3RhYnMtcG9zaXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy10YWItY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1jb250cm9sLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNUYWJDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmPGFueT4pIHtcbiAgICB0aGlzLnRhYkNvbnRyb2xJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oKytCc1RhYkNvbnRyb2xDb21wb25lbnQudGFiQ29udHJvbENvdW50ZXIpO1xuICAgIHRoaXMudGFiQ29udHJvbE5hbWUkID0gdGhpcy50YWJDb250cm9sSWQkLnBpcGUobWFwKChpZCkgPT4gYGJzLXRhYi1jb250cm9sLSR7aWR9YCkpO1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy50YWJQYWdlcyQsIHRoaXMuYWN0aXZlVGFiJCwgdGhpcy5zZWxlY3RGaXJzdFRhYiRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbdGFiUGFnZXMsIGFjdGl2ZVRhYiwgc2VsZWN0Rmlyc3RUYWJdKSA9PiB7XG4gICAgICAgIHJldHVybiAhIXRhYlBhZ2VzICYmICghYWN0aXZlVGFiIHx8ICF0YWJQYWdlcy5zb21lKHRwID0+IHRwID09PSBhY3RpdmVUYWIpKSAmJiBzZWxlY3RGaXJzdFRhYjtcbiAgICAgIH0pKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChbdGFiUGFnZXMsIGFjdGl2ZVRhYiwgc2VsZWN0Rmlyc3RUYWJdKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vdERpc2FibGVkID0gdGFiUGFnZXMhLmZpbHRlcigodHApID0+ICF0cC5kaXNhYmxlZCk7XG4gICAgICAgIGlmIChub3REaXNhYmxlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWIkLm5leHQobm90RGlzYWJsZWRbMF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnRvcFRhYnMkID0gdGhpcy50YWJzUG9zaXRpb24kLnBpcGUobWFwKHBvc2l0aW9uID0+IHBvc2l0aW9uID09PSAndG9wJykpO1xuICAgIHRoaXMuYm90dG9tVGFicyQgPSB0aGlzLnRhYnNQb3NpdGlvbiQucGlwZShtYXAocG9zaXRpb24gPT4gcG9zaXRpb24gPT09ICdib3R0b20nKSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKSBkQmxvY2sgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBvc2l0aW9uLXJlbGF0aXZlJykgcG9zaXRpb25SZWxhdGl2ZSA9IHRydWU7XG4gIEBDb250ZW50Q2hpbGRyZW4oQnNUYWJQYWdlQ29tcG9uZW50KSBzZXQgc2V0VGFiUGFnZXModmFsdWU6IFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+KSB7XG4gICAgY29uc29sZS5sb2coJ3RhYnBhZ2VzJywgdmFsdWUpO1xuICAgIHRoaXMudGFiUGFnZXMkLm5leHQodmFsdWUpO1xuICAgIGNvbnN0IG1pc3NpbmcgPSB2YWx1ZS5maWx0ZXIodHAgPT4gIXRoaXMub3JkZXJlZFRhYlBhZ2VzLmluY2x1ZGVzKHRwKSk7XG4gICAgdGhpcy5vcmRlcmVkVGFiUGFnZXMgPSB0aGlzLm9yZGVyZWRUYWJQYWdlcy5jb25jYXQobWlzc2luZyk7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIGJvcmRlciA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVzdHJpY3REcmFnZ2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZHJhZ0JvdW5kYXJ5U2VsZWN0b3IgPSB2YWx1ZSA/ICd1bCcgOiAnJztcbiAgfVxuICBkcmFnQm91bmRhcnlTZWxlY3RvciA9ICcnO1xuICBlbGVtZW50OiBFbGVtZW50UmVmPGFueT47XG4gIHRhYlBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlMaXN0PEJzVGFiUGFnZUNvbXBvbmVudD4gfCBudWxsPihudWxsKTtcbiAgYWN0aXZlVGFiJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNUYWJQYWdlQ29tcG9uZW50IHwgbnVsbD4obnVsbCk7XG4gIG9yZGVyZWRUYWJQYWdlczogQnNUYWJQYWdlQ29tcG9uZW50W10gPSBbXTtcbiAgdGFiQ29udHJvbElkJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gIHRhYkNvbnRyb2xOYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB0b3BUYWJzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgYm90dG9tVGFicyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHN0YXRpYyB0YWJDb250cm9sQ291bnRlciA9IDA7XG4gIHRhYkNvdW50ZXIgPSAwO1xuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKVxuXG4gIC8vI3JlZ2lvbiBTZWxlY3RGaXJzdFRhYlxuICBzZWxlY3RGaXJzdFRhYiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwdWJsaWMgZ2V0IHNlbGVjdEZpcnN0VGFiKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdEZpcnN0VGFiJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNlbGVjdEZpcnN0VGFiKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RGaXJzdFRhYiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBUYWJzUG9zaXRpb25cbiAgdGFic1Bvc2l0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNUYWJzUG9zaXRpb24+KCd0b3AnKTtcbiAgcHVibGljIGdldCB0YWJzUG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudGFic1Bvc2l0aW9uJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRhYnNQb3NpdGlvbih2YWx1ZTogQnNUYWJzUG9zaXRpb24pIHtcbiAgICB0aGlzLnRhYnNQb3NpdGlvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgc2V0QWN0aXZlVGFiKHRhYjogQnNUYWJQYWdlQ29tcG9uZW50KSB7XG4gICAgaWYgKCF0YWIuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlVGFiJC5uZXh0KHRhYik7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG1vdmVUYWIoZXY6IENka0RyYWdEcm9wPFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+IHwgbnVsbD4pIHtcbiAgICBpZiAoZXYucHJldmlvdXNDb250YWluZXIgPT09IGV2LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KFxuICAgICAgICB0aGlzLm9yZGVyZWRUYWJQYWdlcyxcbiAgICAgICAgZXYucHJldmlvdXNJbmRleCwgXG4gICAgICAgIGV2LmN1cnJlbnRJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRyYW5zZmVyQXJyYXlJdGVtKFxuICAgICAgLy8gICBldi5wcmV2aW91c0NvbnRhaW5lci5kYXRhLFxuICAgICAgLy8gICBldi5jb250YWluZXIuZGF0YSxcbiAgICAgIC8vICAgZXYucHJldmlvdXNJbmRleCxcbiAgICAgIC8vICAgZXYuY3VycmVudEluZGV4KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpic0xldD1cIihhY3RpdmVUYWIkIHwgYXN5bmMpIGFzIGFjdGl2ZVRhYlwiPlxuXHQ8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIG13LTEwMCB0c2NcIiAqbmdJZj1cInRvcFRhYnMkIHwgYXN5bmNcIj5cblx0XHQ8dWwgY2RrRHJvcExpc3QgI2xpc3QgI3RhYkxpc3Q9XCJjZGtEcm9wTGlzdFwiXG5cdFx0XHRbY2RrRHJvcExpc3REYXRhXT1cInRhYlBhZ2VzJCB8IGFzeW5jXCJcblx0XHRcdFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltdXCJcblx0XHRcdFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cIidob3Jpem9udGFsJ1wiXG5cdFx0XHQoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVUYWIoJGV2ZW50KVwiXG5cdFx0XHRjbGFzcz1cIm5hdiBuYXYtdGFicyBmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8gb3ZlcmZsb3cteS1oaWRkZW5cIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBvcmRlcmVkVGFiUGFnZXNcIj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJzZXRBY3RpdmVUYWIodGFiKVwiICpuZ0lmPVwiISF0YWIuaGVhZGVyVGVtcGxhdGVcIiBjZGtEcmFnIFtjZGtEcmFnQm91bmRhcnldPVwiZHJhZ0JvdW5kYXJ5U2VsZWN0b3JcIiBbY2RrRHJhZ1N0YXJ0RGVsYXldPVwiMTAwMFwiPlxuXHRcdFx0XHRcdDxsYWJlbCBbZm9yXT1cInRhYi50YWJOYW1lJCB8IGFzeW5jXCIgY2xhc3M9XCJuYXYtbGluayB0ZXh0LW5vd3JhcCBjdXJzb3ItcG9pbnRlclwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSB0YWJcIiBbY2xhc3MuZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCIgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZVRhYiA9PT0gdGFiID8gJ3BhZ2UnIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCI+XG5cdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdDwvdWw+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIiBic05vTm9zY3JpcHQgW2NsYXNzLmJvcmRlcl09XCJib3JkZXIgJiYgYWN0aXZlVGFiXCIgW2NsYXNzLmJvcmRlci10b3BdPVwiYm9yZGVyICYmICFhY3RpdmVUYWJcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIG13LTEwMCB0c2MgYm90dG9tLXRhYnNcIiAqbmdJZj1cImJvdHRvbVRhYnMkIHwgYXN5bmNcIj5cblx0XHQ8dWwgY2RrRHJvcExpc3QgI2xpc3QgI3RhYkxpc3Q9XCJjZGtEcm9wTGlzdFwiXG5cdFx0XHRbY2RrRHJvcExpc3REYXRhXT1cInRhYlBhZ2VzJCB8IGFzeW5jXCJcblx0XHRcdFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltdXCJcblx0XHRcdFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cIidob3Jpem9udGFsJ1wiXG5cdFx0XHQoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVUYWIoJGV2ZW50KVwiXG5cdFx0XHRjbGFzcz1cIm5hdiBuYXYtdGFicyBmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8gb3ZlcmZsb3cteS1oaWRkZW5cIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBvcmRlcmVkVGFiUGFnZXNcIj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJzZXRBY3RpdmVUYWIodGFiKVwiICpuZ0lmPVwiISF0YWIuaGVhZGVyVGVtcGxhdGVcIiBjZGtEcmFnIFtjZGtEcmFnQm91bmRhcnldPVwiZHJhZ0JvdW5kYXJ5U2VsZWN0b3JcIiBbY2RrRHJhZ1N0YXJ0RGVsYXldPVwiMTAwMFwiPlxuXHRcdFx0XHRcdDxsYWJlbCBbZm9yXT1cInRhYi50YWJOYW1lJCB8IGFzeW5jXCIgY2xhc3M9XCJuYXYtbGluayB0ZXh0LW5vd3JhcCBjdXJzb3ItcG9pbnRlclwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSB0YWJcIiBbY2xhc3MuZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCIgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZVRhYiA9PT0gdGFiID8gJ3BhZ2UnIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCI+XG5cdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdDwvdWw+XG5cdDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvdGFiLWNvbnRyb2wvc3JjL3RhYnMtcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJzVGFic1Bvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJzsiXX0=
|
|
@@ -112,7 +112,7 @@ class BsDockPaneRendererComponent {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>" }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-dock.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/dock-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/tab-group-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/document-host-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/enums/pane-type.enum.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/split-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/content-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock.module.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/floating-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-dock-panel',\n templateUrl: './dock-panel.component.html',\n styleUrls: ['./dock-panel.component.scss']\n})\nexport class BsDockPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef<any>) {\n this.portal = new DomPortal(this.element.nativeElement);\n }\n\n portal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n console.log('attach dockpanel', this.element.nativeElement);\n this.portal = new DomPortal(this.element.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n <bs-card [rounded]=\"false\">\n <bs-card-header [noPadding]=\"true\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n </bs-card-header>\n <ng-content></ng-content>\n </bs-card>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsTabGroupPane extends BsDockPane {\n constructor(data?: Partial<BsTabGroupPane>) {\n super();\n Object.assign(this, data);\n }\n\n panes: BsDockPane[] = [];\n}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsDocumentHost extends BsDockPane {\n constructor(data?: Partial<BsDocumentHost>) {\n super();\n Object.assign(this, data);\n }\n\n rootPane?: BsDockPane\n}","export enum EPaneType {\n documentHost = 1,\n splitPane = 2,\n contentPane = 3,\n tabGroupPane = 4,\n}","import { SplitPaneOrientation } from \"../types/split-pane-orientation.type\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsSplitPane extends BsDockPane {\n constructor(data?: Partial<BsSplitPane>) {\n super();\n Object.assign(this, data);\n }\n\n orientation: SplitPaneOrientation = 'horizontal';\n panes: BsDockPane[] = [];\n}","import { BsDockPanelComponent } from \"../dock-panel/dock-panel.component\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsContentPane extends BsDockPane {\n constructor(data?: Partial<BsContentPane>) {\n super();\n Object.assign(this, data);\n }\n\n dockPanel!: BsDockPanelComponent;\n isPinned?: boolean;\n}","import { Component, Input } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\n\n@Component({\n selector: 'bs-dock-pane-renderer',\n templateUrl: './dock-pane-renderer.component.html',\n styleUrls: ['./dock-pane-renderer.component.scss']\n})\nexport class BsDockPaneRendererComponent {\n\n constructor() {\n // this.layoutType$ = this.layout$.pipe<EPaneType | null>(map((layout) => {\n // if (layout === null) {\n // return null;\n // } else if (layout instanceof BsDocumentHost) {\n // return EPaneType.documentHost;\n // } else if (layout instanceof BsSplitPane) {\n // return EPaneType.splitPane;\n // } else if (layout instanceof BsContentPane) {\n // return EPaneType.contentPane;\n // } else if (layout instanceof BsTabGroupPane) {\n // return EPaneType.tabGroupPane;\n // } else {\n // return null;\n // // throw 'unknown pane type';\n // }\n // }));\n }\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n\n //#region Layout\n layout$ = new BehaviorSubject<BsDockPane | null>(null);\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockPane | null) {\n console.log('set layout', value);\n this.layout$.next(value);\n }\n //#endregion\n\n // layoutType$: Observable<EPaneType | null>;\n}\n","<!-- <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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, combineLatestAll, Subject, takeUntil } from 'rxjs';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsDockLayout } from '../interfaces/dock-layout';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\n\n@Component({\n selector: 'bs-dock',\n templateUrl: './dock.component.html',\n styleUrls: ['./dock.component.scss']\n})\nexport class BsDockComponent implements OnDestroy {\n constructor() {\n const tabs = new BsTabGroupPane();\n const docHost = new BsDocumentHost();\n docHost.rootPane = tabs;\n\n this.layout$ = new BehaviorSubject<BsDockLayout>({\n rootPane: docHost,\n floatingPanes: []\n });\n\n // combineLatest([this.layout$, this.panels$])\n // .pipe(takeUntil(this.destroyed$))\n // .subscribe(([layout, panels]) => {\n \n // })\n }\n\n //#region Panels\n panels$ = new BehaviorSubject<BsDockPanelComponent[]>([]);\n @ContentChildren(BsDockPanelComponent) set panels(value: QueryList<BsDockPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n //#endregion\n //#region Layout\n layout$: BehaviorSubject<BsDockLayout>;\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockLayout) {\n this.layout$.next(value);\n }\n //#endregion\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n}\n","<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","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\n\n@Component({\n selector: 'bs-dock-panel-header',\n templateUrl: './dock-panel-header.component.html',\n styleUrls: ['./dock-panel-header.component.scss']\n})\nexport class BsDockPanelHeaderComponent {\n constructor(private overlay: Overlay, private dockPanel: BsDockPanelComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.isDragging = true;\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n // console.log('attached', this.overlayRef.hasAttached);\n if (this.isDragging && !this.overlayRef.hasAttached()) {\n this.dockPanel.portal?.attach(this.overlayRef);\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.isDragging = false;\n }\n\n @HostBinding('class.d-block') dBlock = true;\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsCardModule } from '@mintplayer/ng-bootstrap/card';\nimport { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';\nimport { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';\nimport { BsDockComponent } from './dock/dock.component';\nimport { BsDockPanelComponent } from './dock-panel/dock-panel.component';\nimport { BsDockPanelHeaderComponent } from './dock-panel-header/dock-panel-header.component';\nimport { BsDockPaneRendererComponent } from './dock-pane-renderer/dock-pane-renderer.component';\n\n@NgModule({\n declarations: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ],\n imports: [\n CommonModule,\n PortalModule,\n BsCardModule,\n BsInstanceOfModule,\n BsSplitterModule,\n BsTabControlModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","import { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.BsDockPaneRendererComponent","i2.BsDockPanelComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-dock.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/dock-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/tab-group-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/document-host-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/enums/pane-type.enum.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/split-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/content-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock.module.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/floating-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-dock-panel',\n templateUrl: './dock-panel.component.html',\n styleUrls: ['./dock-panel.component.scss']\n})\nexport class BsDockPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef<any>) {\n this.portal = new DomPortal(this.element.nativeElement);\n }\n\n portal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n console.log('attach dockpanel', this.element.nativeElement);\n this.portal = new DomPortal(this.element.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n <bs-card [rounded]=\"false\">\n <bs-card-header [noPadding]=\"true\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n </bs-card-header>\n <ng-content></ng-content>\n </bs-card>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsTabGroupPane extends BsDockPane {\n constructor(data?: Partial<BsTabGroupPane>) {\n super();\n Object.assign(this, data);\n }\n\n panes: BsDockPane[] = [];\n}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsDocumentHost extends BsDockPane {\n constructor(data?: Partial<BsDocumentHost>) {\n super();\n Object.assign(this, data);\n }\n\n rootPane?: BsDockPane\n}","export enum EPaneType {\n documentHost = 1,\n splitPane = 2,\n contentPane = 3,\n tabGroupPane = 4,\n}","import { SplitPaneOrientation } from \"../types/split-pane-orientation.type\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsSplitPane extends BsDockPane {\n constructor(data?: Partial<BsSplitPane>) {\n super();\n Object.assign(this, data);\n }\n\n orientation: SplitPaneOrientation = 'horizontal';\n panes: BsDockPane[] = [];\n}","import { BsDockPanelComponent } from \"../dock-panel/dock-panel.component\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsContentPane extends BsDockPane {\n constructor(data?: Partial<BsContentPane>) {\n super();\n Object.assign(this, data);\n }\n\n dockPanel!: BsDockPanelComponent;\n isPinned?: boolean;\n}","import { Component, Input } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\n\n@Component({\n selector: 'bs-dock-pane-renderer',\n templateUrl: './dock-pane-renderer.component.html',\n styleUrls: ['./dock-pane-renderer.component.scss']\n})\nexport class BsDockPaneRendererComponent {\n\n constructor() {\n // this.layoutType$ = this.layout$.pipe<EPaneType | null>(map((layout) => {\n // if (layout === null) {\n // return null;\n // } else if (layout instanceof BsDocumentHost) {\n // return EPaneType.documentHost;\n // } else if (layout instanceof BsSplitPane) {\n // return EPaneType.splitPane;\n // } else if (layout instanceof BsContentPane) {\n // return EPaneType.contentPane;\n // } else if (layout instanceof BsTabGroupPane) {\n // return EPaneType.tabGroupPane;\n // } else {\n // return null;\n // // throw 'unknown pane type';\n // }\n // }));\n }\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n\n //#region Layout\n layout$ = new BehaviorSubject<BsDockPane | null>(null);\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockPane | null) {\n console.log('set layout', value);\n this.layout$.next(value);\n }\n //#endregion\n\n // layoutType$: Observable<EPaneType | null>;\n}\n","<!-- <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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, combineLatestAll, Subject, takeUntil } from 'rxjs';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsDockLayout } from '../interfaces/dock-layout';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\n\n@Component({\n selector: 'bs-dock',\n templateUrl: './dock.component.html',\n styleUrls: ['./dock.component.scss']\n})\nexport class BsDockComponent implements OnDestroy {\n constructor() {\n const tabs = new BsTabGroupPane();\n const docHost = new BsDocumentHost();\n docHost.rootPane = tabs;\n\n this.layout$ = new BehaviorSubject<BsDockLayout>({\n rootPane: docHost,\n floatingPanes: []\n });\n\n // combineLatest([this.layout$, this.panels$])\n // .pipe(takeUntil(this.destroyed$))\n // .subscribe(([layout, panels]) => {\n \n // })\n }\n\n //#region Panels\n panels$ = new BehaviorSubject<BsDockPanelComponent[]>([]);\n @ContentChildren(BsDockPanelComponent) set panels(value: QueryList<BsDockPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n //#endregion\n //#region Layout\n layout$: BehaviorSubject<BsDockLayout>;\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockLayout) {\n this.layout$.next(value);\n }\n //#endregion\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n}\n","<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","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\n\n@Component({\n selector: 'bs-dock-panel-header',\n templateUrl: './dock-panel-header.component.html',\n styleUrls: ['./dock-panel-header.component.scss']\n})\nexport class BsDockPanelHeaderComponent {\n constructor(private overlay: Overlay, private dockPanel: BsDockPanelComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.isDragging = true;\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n // console.log('attached', this.overlayRef.hasAttached);\n if (this.isDragging && !this.overlayRef.hasAttached()) {\n this.dockPanel.portal?.attach(this.overlayRef);\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.isDragging = false;\n }\n\n @HostBinding('class.d-block') dBlock = true;\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsCardModule } from '@mintplayer/ng-bootstrap/card';\nimport { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';\nimport { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';\nimport { BsDockComponent } from './dock/dock.component';\nimport { BsDockPanelComponent } from './dock-panel/dock-panel.component';\nimport { BsDockPanelHeaderComponent } from './dock-panel-header/dock-panel-header.component';\nimport { BsDockPaneRendererComponent } from './dock-pane-renderer/dock-pane-renderer.component';\n\n@NgModule({\n declarations: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ],\n imports: [\n CommonModule,\n PortalModule,\n BsCardModule,\n BsInstanceOfModule,\n BsSplitterModule,\n BsTabControlModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","import { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.BsDockPaneRendererComponent","i2.BsDockPanelComponent"],"mappings":"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"}
|
|
@@ -45,6 +45,9 @@ class BsTabControlComponent {
|
|
|
45
45
|
this.destroyed$ = new Subject();
|
|
46
46
|
//#region SelectFirstTab
|
|
47
47
|
this.selectFirstTab$ = new BehaviorSubject(true);
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region TabsPosition
|
|
50
|
+
this.tabsPosition$ = new BehaviorSubject('top');
|
|
48
51
|
this.tabControlId$ = new BehaviorSubject(++BsTabControlComponent.tabControlCounter);
|
|
49
52
|
this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));
|
|
50
53
|
this.element = element;
|
|
@@ -59,6 +62,8 @@ class BsTabControlComponent {
|
|
|
59
62
|
this.activeTab$.next(notDisabled[0]);
|
|
60
63
|
}
|
|
61
64
|
});
|
|
65
|
+
this.topTabs$ = this.tabsPosition$.pipe(map(position => position === 'top'));
|
|
66
|
+
this.bottomTabs$ = this.tabsPosition$.pipe(map(position => position === 'bottom'));
|
|
62
67
|
}
|
|
63
68
|
set setTabPages(value) {
|
|
64
69
|
console.log('tabpages', value);
|
|
@@ -75,6 +80,12 @@ class BsTabControlComponent {
|
|
|
75
80
|
set selectFirstTab(value) {
|
|
76
81
|
this.selectFirstTab$.next(value);
|
|
77
82
|
}
|
|
83
|
+
get tabsPosition() {
|
|
84
|
+
return this.tabsPosition$.value;
|
|
85
|
+
}
|
|
86
|
+
set tabsPosition(value) {
|
|
87
|
+
this.tabsPosition$.next(value);
|
|
88
|
+
}
|
|
78
89
|
//#endregion
|
|
79
90
|
setActiveTab(tab) {
|
|
80
91
|
if (!tab.disabled) {
|
|
@@ -100,10 +111,10 @@ class BsTabControlComponent {
|
|
|
100
111
|
}
|
|
101
112
|
BsTabControlComponent.tabControlCounter = 0;
|
|
102
113
|
BsTabControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
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
|
|
114
|
+
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\"></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\" 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\"></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}.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$1.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$1.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: i2.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
104
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, decorators: [{
|
|
105
116
|
type: Component,
|
|
106
|
-
args: [{ selector: 'bs-tab-control', template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden
|
|
117
|
+
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\"></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\" 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\"></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}.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"] }]
|
|
107
118
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dBlock: [{
|
|
108
119
|
type: HostBinding,
|
|
109
120
|
args: ['class.d-block']
|
|
@@ -119,6 +130,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
119
130
|
type: Input
|
|
120
131
|
}], selectFirstTab: [{
|
|
121
132
|
type: Input
|
|
133
|
+
}], tabsPosition: [{
|
|
134
|
+
type: Input
|
|
122
135
|
}] } });
|
|
123
136
|
|
|
124
137
|
class BsTabControlModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control.module.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, Input, ElementRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss']\n})\nexport class BsTabPageComponent {\n\n constructor(tabControl: BsTabControlComponent, element: ElementRef<any>) {\n this.element = element;\n this.tabControl = tabControl;\n this.tabId$ = new BehaviorSubject<number>(++this.tabControl.tabCounter);\n this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])\n .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));\n }\n\n element: ElementRef<any>;\n tabControl: BsTabControlComponent;\n tabId$: BehaviorSubject<number>;\n tabName$: Observable<string>;\n\n @Input() disabled = false;\n @ContentChild(TemplateRef) headerTemplate!: TemplateRef<any>;\n\n}\n","<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"(tabControl.activeTab$ | async) === this\">\n <ng-content></ng-content>\n</div>","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, ContentChildren, ElementRef, HostBinding, Input, OnDestroy, QueryList, Renderer2 } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, map, Observable, Subject, takeUntil } from 'rxjs';\nimport { BsTabPageComponent } from '../tab-page/tab-page.component';\n\n@Component({\n selector: 'bs-tab-control',\n templateUrl: './tab-control.component.html',\n styleUrls: ['./tab-control.component.scss']\n})\nexport class BsTabControlComponent implements OnDestroy {\n\n constructor(element: ElementRef<any>) {\n this.tabControlId$ = new BehaviorSubject<number>(++BsTabControlComponent.tabControlCounter);\n this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));\n this.element = element;\n combineLatest([this.tabPages$, this.activeTab$, this.selectFirstTab$])\n .pipe(filter(([tabPages, activeTab, selectFirstTab]) => {\n return !!tabPages && (!activeTab || !tabPages.some(tp => tp === activeTab)) && selectFirstTab;\n }))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(([tabPages, activeTab, selectFirstTab]) => {\n const notDisabled = tabPages!.filter((tp) => !tp.disabled);\n if (notDisabled.length > 0) {\n this.activeTab$.next(notDisabled[0]);\n }\n });\n }\n\n @HostBinding('class.d-block') dBlock = true;\n @HostBinding('class.position-relative') positionRelative = true;\n @ContentChildren(BsTabPageComponent) set setTabPages(value: QueryList<BsTabPageComponent>) {\n console.log('tabpages', value);\n this.tabPages$.next(value);\n const missing = value.filter(tp => !this.orderedTabPages.includes(tp));\n this.orderedTabPages = this.orderedTabPages.concat(missing);\n }\n @Input() public border = true;\n @Input() public set restrictDragging(value: boolean) {\n this.dragBoundarySelector = value ? 'ul' : '';\n }\n dragBoundarySelector = '';\n element: ElementRef<any>;\n tabPages$ = new BehaviorSubject<QueryList<BsTabPageComponent> | null>(null);\n activeTab$ = new BehaviorSubject<BsTabPageComponent | null>(null);\n orderedTabPages: BsTabPageComponent[] = [];\n tabControlId$: BehaviorSubject<number>;\n tabControlName$: Observable<string>;\n static tabControlCounter = 0;\n tabCounter = 0;\n destroyed$ = new Subject()\n\n //#region SelectFirstTab\n selectFirstTab$ = new BehaviorSubject<boolean>(true);\n public get selectFirstTab() {\n return this.selectFirstTab$.value;\n }\n @Input() public set selectFirstTab(value: boolean) {\n this.selectFirstTab$.next(value);\n }\n //#endregion\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled) {\n this.activeTab$.next(tab);\n }\n return false;\n }\n\n moveTab(ev: CdkDragDrop<QueryList<BsTabPageComponent> | null>) {\n if (ev.previousContainer === ev.container) {\n moveItemInArray(\n this.orderedTabPages,\n ev.previousIndex, \n ev.currentIndex);\n } else {\n // transferArrayItem(\n // ev.previousContainer.data,\n // ev.container.data,\n // ev.previousIndex,\n // ev.currentIndex);\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n}\n","<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden position-absolute mw-100 tsc\">\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\"></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\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabControlComponent } from './tab-control/tab-control.component';\nimport { BsTabPageComponent } from './tab-page/tab-page.component';\n\n@NgModule({\n declarations: [\n BsTabControlComponent,\n BsTabPageComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n BsLetModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsTabControlComponent,\n BsTabPageComponent,\n ]\n})\nexport class BsTabControlModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsTabControlComponent","i3","i2","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control.module.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, Input, ElementRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss']\n})\nexport class BsTabPageComponent {\n\n constructor(tabControl: BsTabControlComponent, element: ElementRef<any>) {\n this.element = element;\n this.tabControl = tabControl;\n this.tabId$ = new BehaviorSubject<number>(++this.tabControl.tabCounter);\n this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])\n .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));\n }\n\n element: ElementRef<any>;\n tabControl: BsTabControlComponent;\n tabId$: BehaviorSubject<number>;\n tabName$: Observable<string>;\n\n @Input() disabled = false;\n @ContentChild(TemplateRef) headerTemplate!: TemplateRef<any>;\n\n}\n","<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"(tabControl.activeTab$ | async) === this\">\n <ng-content></ng-content>\n</div>","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, ContentChildren, ElementRef, HostBinding, Input, OnDestroy, QueryList, Renderer2 } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, map, Observable, Subject, takeUntil } from 'rxjs';\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})\nexport class BsTabControlComponent implements OnDestroy {\n\n constructor(element: ElementRef<any>) {\n this.tabControlId$ = new BehaviorSubject<number>(++BsTabControlComponent.tabControlCounter);\n this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));\n this.element = element;\n combineLatest([this.tabPages$, this.activeTab$, this.selectFirstTab$])\n .pipe(filter(([tabPages, activeTab, selectFirstTab]) => {\n return !!tabPages && (!activeTab || !tabPages.some(tp => tp === activeTab)) && selectFirstTab;\n }))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(([tabPages, activeTab, selectFirstTab]) => {\n const notDisabled = tabPages!.filter((tp) => !tp.disabled);\n if (notDisabled.length > 0) {\n this.activeTab$.next(notDisabled[0]);\n }\n });\n this.topTabs$ = this.tabsPosition$.pipe(map(position => position === 'top'));\n this.bottomTabs$ = this.tabsPosition$.pipe(map(position => position === 'bottom'));\n }\n\n @HostBinding('class.d-block') dBlock = true;\n @HostBinding('class.position-relative') positionRelative = true;\n @ContentChildren(BsTabPageComponent) set setTabPages(value: QueryList<BsTabPageComponent>) {\n console.log('tabpages', value);\n this.tabPages$.next(value);\n const missing = value.filter(tp => !this.orderedTabPages.includes(tp));\n this.orderedTabPages = this.orderedTabPages.concat(missing);\n }\n @Input() public border = true;\n @Input() public set restrictDragging(value: boolean) {\n this.dragBoundarySelector = value ? 'ul' : '';\n }\n dragBoundarySelector = '';\n element: ElementRef<any>;\n tabPages$ = new BehaviorSubject<QueryList<BsTabPageComponent> | null>(null);\n activeTab$ = new BehaviorSubject<BsTabPageComponent | null>(null);\n orderedTabPages: BsTabPageComponent[] = [];\n tabControlId$: BehaviorSubject<number>;\n tabControlName$: Observable<string>;\n topTabs$: Observable<boolean>;\n bottomTabs$: Observable<boolean>;\n static tabControlCounter = 0;\n tabCounter = 0;\n destroyed$ = new Subject()\n\n //#region SelectFirstTab\n selectFirstTab$ = new BehaviorSubject<boolean>(true);\n public get selectFirstTab() {\n return this.selectFirstTab$.value;\n }\n @Input() public set selectFirstTab(value: boolean) {\n this.selectFirstTab$.next(value);\n }\n //#endregion\n //#region TabsPosition\n tabsPosition$ = new BehaviorSubject<BsTabsPosition>('top');\n public get tabsPosition() {\n return this.tabsPosition$.value;\n }\n @Input() public set tabsPosition(value: BsTabsPosition) {\n this.tabsPosition$.next(value);\n }\n //#endregion\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled) {\n this.activeTab$.next(tab);\n }\n return false;\n }\n\n moveTab(ev: CdkDragDrop<QueryList<BsTabPageComponent> | null>) {\n if (ev.previousContainer === ev.container) {\n moveItemInArray(\n this.orderedTabPages,\n ev.previousIndex, \n ev.currentIndex);\n } else {\n // transferArrayItem(\n // ev.previousContainer.data,\n // ev.container.data,\n // ev.previousIndex,\n // ev.currentIndex);\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n}\n","<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\"></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\" 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\"></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>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabControlComponent } from './tab-control/tab-control.component';\nimport { BsTabPageComponent } from './tab-page/tab-page.component';\n\n@NgModule({\n declarations: [\n BsTabControlComponent,\n BsTabPageComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n BsLetModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsTabControlComponent,\n BsTabPageComponent,\n ]\n})\nexport class BsTabControlModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsTabControlComponent","i3","i2","i4"],"mappings":"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"}
|
|
@@ -112,7 +112,7 @@ class BsDockPaneRendererComponent {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>" }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-dock.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/dock-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/tab-group-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/document-host-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/enums/pane-type.enum.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/split-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/content-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock.module.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/floating-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-dock-panel',\n templateUrl: './dock-panel.component.html',\n styleUrls: ['./dock-panel.component.scss']\n})\nexport class BsDockPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef<any>) {\n this.portal = new DomPortal(this.element.nativeElement);\n }\n\n portal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n console.log('attach dockpanel', this.element.nativeElement);\n this.portal = new DomPortal(this.element.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n <bs-card [rounded]=\"false\">\n <bs-card-header [noPadding]=\"true\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n </bs-card-header>\n <ng-content></ng-content>\n </bs-card>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsTabGroupPane extends BsDockPane {\n constructor(data?: Partial<BsTabGroupPane>) {\n super();\n Object.assign(this, data);\n }\n\n panes: BsDockPane[] = [];\n}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsDocumentHost extends BsDockPane {\n constructor(data?: Partial<BsDocumentHost>) {\n super();\n Object.assign(this, data);\n }\n\n rootPane?: BsDockPane\n}","export enum EPaneType {\n documentHost = 1,\n splitPane = 2,\n contentPane = 3,\n tabGroupPane = 4,\n}","import { SplitPaneOrientation } from \"../types/split-pane-orientation.type\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsSplitPane extends BsDockPane {\n constructor(data?: Partial<BsSplitPane>) {\n super();\n Object.assign(this, data);\n }\n\n orientation: SplitPaneOrientation = 'horizontal';\n panes: BsDockPane[] = [];\n}","import { BsDockPanelComponent } from \"../dock-panel/dock-panel.component\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsContentPane extends BsDockPane {\n constructor(data?: Partial<BsContentPane>) {\n super();\n Object.assign(this, data);\n }\n\n dockPanel!: BsDockPanelComponent;\n isPinned?: boolean;\n}","import { Component, Input } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\n\n@Component({\n selector: 'bs-dock-pane-renderer',\n templateUrl: './dock-pane-renderer.component.html',\n styleUrls: ['./dock-pane-renderer.component.scss']\n})\nexport class BsDockPaneRendererComponent {\n\n constructor() {\n // this.layoutType$ = this.layout$.pipe<EPaneType | null>(map((layout) => {\n // if (layout === null) {\n // return null;\n // } else if (layout instanceof BsDocumentHost) {\n // return EPaneType.documentHost;\n // } else if (layout instanceof BsSplitPane) {\n // return EPaneType.splitPane;\n // } else if (layout instanceof BsContentPane) {\n // return EPaneType.contentPane;\n // } else if (layout instanceof BsTabGroupPane) {\n // return EPaneType.tabGroupPane;\n // } else {\n // return null;\n // // throw 'unknown pane type';\n // }\n // }));\n }\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n\n //#region Layout\n layout$ = new BehaviorSubject<BsDockPane | null>(null);\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockPane | null) {\n console.log('set layout', value);\n this.layout$.next(value);\n }\n //#endregion\n\n // layoutType$: Observable<EPaneType | null>;\n}\n","<!-- <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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, combineLatestAll, Subject, takeUntil } from 'rxjs';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsDockLayout } from '../interfaces/dock-layout';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\n\n@Component({\n selector: 'bs-dock',\n templateUrl: './dock.component.html',\n styleUrls: ['./dock.component.scss']\n})\nexport class BsDockComponent implements OnDestroy {\n constructor() {\n const tabs = new BsTabGroupPane();\n const docHost = new BsDocumentHost();\n docHost.rootPane = tabs;\n\n this.layout$ = new BehaviorSubject<BsDockLayout>({\n rootPane: docHost,\n floatingPanes: []\n });\n\n // combineLatest([this.layout$, this.panels$])\n // .pipe(takeUntil(this.destroyed$))\n // .subscribe(([layout, panels]) => {\n \n // })\n }\n\n //#region Panels\n panels$ = new BehaviorSubject<BsDockPanelComponent[]>([]);\n @ContentChildren(BsDockPanelComponent) set panels(value: QueryList<BsDockPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n //#endregion\n //#region Layout\n layout$: BehaviorSubject<BsDockLayout>;\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockLayout) {\n this.layout$.next(value);\n }\n //#endregion\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n}\n","<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","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\n\n@Component({\n selector: 'bs-dock-panel-header',\n templateUrl: './dock-panel-header.component.html',\n styleUrls: ['./dock-panel-header.component.scss']\n})\nexport class BsDockPanelHeaderComponent {\n constructor(private overlay: Overlay, private dockPanel: BsDockPanelComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.isDragging = true;\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n // console.log('attached', this.overlayRef.hasAttached);\n if (this.isDragging && !this.overlayRef.hasAttached()) {\n this.dockPanel.portal?.attach(this.overlayRef);\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.isDragging = false;\n }\n\n @HostBinding('class.d-block') dBlock = true;\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsCardModule } from '@mintplayer/ng-bootstrap/card';\nimport { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';\nimport { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';\nimport { BsDockComponent } from './dock/dock.component';\nimport { BsDockPanelComponent } from './dock-panel/dock-panel.component';\nimport { BsDockPanelHeaderComponent } from './dock-panel-header/dock-panel-header.component';\nimport { BsDockPaneRendererComponent } from './dock-pane-renderer/dock-pane-renderer.component';\n\n@NgModule({\n declarations: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ],\n imports: [\n CommonModule,\n PortalModule,\n BsCardModule,\n BsInstanceOfModule,\n BsSplitterModule,\n BsTabControlModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","import { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.BsDockPaneRendererComponent","i2.BsDockPanelComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-dock.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel/dock-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/dock-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/tab-group-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/document-host-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/enums/pane-type.enum.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/split-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/content-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-pane-renderer/dock-pane-renderer.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock/dock.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock-panel-header/dock-panel-header.component.html","../../../../libs/mintplayer-ng-bootstrap/dock/src/dock.module.ts","../../../../libs/mintplayer-ng-bootstrap/dock/src/panes/floating-pane.ts","../../../../libs/mintplayer-ng-bootstrap/dock/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-dock-panel',\n templateUrl: './dock-panel.component.html',\n styleUrls: ['./dock-panel.component.scss']\n})\nexport class BsDockPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef<any>) {\n this.portal = new DomPortal(this.element.nativeElement);\n }\n\n portal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n console.log('attach dockpanel', this.element.nativeElement);\n this.portal = new DomPortal(this.element.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n <bs-card [rounded]=\"false\">\n <bs-card-header [noPadding]=\"true\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n </bs-card-header>\n <ng-content></ng-content>\n </bs-card>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsTabGroupPane extends BsDockPane {\n constructor(data?: Partial<BsTabGroupPane>) {\n super();\n Object.assign(this, data);\n }\n\n panes: BsDockPane[] = [];\n}","import { BsDockPane } from \"./dock-pane\";\n\nexport class BsDocumentHost extends BsDockPane {\n constructor(data?: Partial<BsDocumentHost>) {\n super();\n Object.assign(this, data);\n }\n\n rootPane?: BsDockPane\n}","export enum EPaneType {\n documentHost = 1,\n splitPane = 2,\n contentPane = 3,\n tabGroupPane = 4,\n}","import { SplitPaneOrientation } from \"../types/split-pane-orientation.type\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsSplitPane extends BsDockPane {\n constructor(data?: Partial<BsSplitPane>) {\n super();\n Object.assign(this, data);\n }\n\n orientation: SplitPaneOrientation = 'horizontal';\n panes: BsDockPane[] = [];\n}","import { BsDockPanelComponent } from \"../dock-panel/dock-panel.component\";\nimport { BsDockPane } from \"./dock-pane\";\n\nexport class BsContentPane extends BsDockPane {\n constructor(data?: Partial<BsContentPane>) {\n super();\n Object.assign(this, data);\n }\n\n dockPanel!: BsDockPanelComponent;\n isPinned?: boolean;\n}","import { Component, Input } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsDockPane } from '../panes/dock-pane';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsSplitPane } from '../panes/split-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\n\n@Component({\n selector: 'bs-dock-pane-renderer',\n templateUrl: './dock-pane-renderer.component.html',\n styleUrls: ['./dock-pane-renderer.component.scss']\n})\nexport class BsDockPaneRendererComponent {\n\n constructor() {\n // this.layoutType$ = this.layout$.pipe<EPaneType | null>(map((layout) => {\n // if (layout === null) {\n // return null;\n // } else if (layout instanceof BsDocumentHost) {\n // return EPaneType.documentHost;\n // } else if (layout instanceof BsSplitPane) {\n // return EPaneType.splitPane;\n // } else if (layout instanceof BsContentPane) {\n // return EPaneType.contentPane;\n // } else if (layout instanceof BsTabGroupPane) {\n // return EPaneType.tabGroupPane;\n // } else {\n // return null;\n // // throw 'unknown pane type';\n // }\n // }));\n }\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n\n //#region Layout\n layout$ = new BehaviorSubject<BsDockPane | null>(null);\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockPane | null) {\n console.log('set layout', value);\n this.layout$.next(value);\n }\n //#endregion\n\n // layoutType$: Observable<EPaneType | null>;\n}\n","<!-- <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>Tab page</ng-template>\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.portal\"></ng-template>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { BehaviorSubject, combineLatest, combineLatestAll, Subject, takeUntil } from 'rxjs';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { EPaneType } from '../enums/pane-type.enum';\nimport { BsDockLayout } from '../interfaces/dock-layout';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsDocumentHost } from '../panes/document-host-pane';\n\n@Component({\n selector: 'bs-dock',\n templateUrl: './dock.component.html',\n styleUrls: ['./dock.component.scss']\n})\nexport class BsDockComponent implements OnDestroy {\n constructor() {\n const tabs = new BsTabGroupPane();\n const docHost = new BsDocumentHost();\n docHost.rootPane = tabs;\n\n this.layout$ = new BehaviorSubject<BsDockLayout>({\n rootPane: docHost,\n floatingPanes: []\n });\n\n // combineLatest([this.layout$, this.panels$])\n // .pipe(takeUntil(this.destroyed$))\n // .subscribe(([layout, panels]) => {\n \n // })\n }\n\n //#region Panels\n panels$ = new BehaviorSubject<BsDockPanelComponent[]>([]);\n @ContentChildren(BsDockPanelComponent) set panels(value: QueryList<BsDockPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n //#endregion\n //#region Layout\n layout$: BehaviorSubject<BsDockLayout>;\n public get layout() {\n return this.layout$.value;\n }\n @Input() public set layout(value: BsDockLayout) {\n this.layout$.next(value);\n }\n //#endregion\n\n destroyed$ = new Subject();\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n}\n","<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","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\n\n@Component({\n selector: 'bs-dock-panel-header',\n templateUrl: './dock-panel-header.component.html',\n styleUrls: ['./dock-panel-header.component.scss']\n})\nexport class BsDockPanelHeaderComponent {\n constructor(private overlay: Overlay, private dockPanel: BsDockPanelComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n @HostListener('mousedown', ['$event']) onMouseDown(ev: MouseEvent) {\n ev.preventDefault();\n this.isDragging = true;\n }\n\n @HostListener('document:mousemove', ['$event']) onMouseMove(ev: MouseEvent) {\n // console.log('attached', this.overlayRef.hasAttached);\n if (this.isDragging && !this.overlayRef.hasAttached()) {\n this.dockPanel.portal?.attach(this.overlayRef);\n }\n }\n\n @HostListener('document:mouseup', ['$event']) onMouseUp(ev: Event) {\n this.isDragging = false;\n }\n\n @HostBinding('class.d-block') dBlock = true;\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsCardModule } from '@mintplayer/ng-bootstrap/card';\nimport { BsSplitterModule } from '@mintplayer/ng-bootstrap/splitter';\nimport { BsTabControlModule } from '@mintplayer/ng-bootstrap/tab-control';\nimport { BsInstanceOfModule } from '@mintplayer/ng-bootstrap/instance-of';\nimport { BsDockComponent } from './dock/dock.component';\nimport { BsDockPanelComponent } from './dock-panel/dock-panel.component';\nimport { BsDockPanelHeaderComponent } from './dock-panel-header/dock-panel-header.component';\nimport { BsDockPaneRendererComponent } from './dock-pane-renderer/dock-pane-renderer.component';\n\n@NgModule({\n declarations: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ],\n imports: [\n CommonModule,\n PortalModule,\n BsCardModule,\n BsInstanceOfModule,\n BsSplitterModule,\n BsTabControlModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","import { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.BsDockPaneRendererComponent","i2.BsDockPanelComponent"],"mappings":";;;;;;;;;;;;;;;;;MAQa,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAoB,OAAwB,EAAA;QAAxB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;QAKnC,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAJpB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KACzD;IAKD,eAAe,GAAA;QACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KACzD;;iHAXU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,qFCRjC,8RAO0B,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDCb,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,8RAAA,EAAA,CAAA;iGAUhB,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEdc,UAAU,CAAA;AAAG;;ACE7B,MAAO,cAAe,SAAQ,UAAU,CAAA;AAC1C,IAAA,WAAA,CAAY,IAA8B,EAAA;AACtC,QAAA,KAAK,EAAE,CAAC;QAIZ,IAAK,CAAA,KAAA,GAAiB,EAAE,CAAC;AAHrB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7B;AAGJ;;ACPK,MAAO,cAAe,SAAQ,UAAU,CAAA;AAC1C,IAAA,WAAA,CAAY,IAA8B,EAAA;AACtC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7B;AAGJ;;ICTW,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;AAChB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACb,IAAA,SAAA,CAAA,SAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,IAAA,SAAA,CAAA,SAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;AACpB,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA;;ACFK,MAAO,WAAY,SAAQ,UAAU,CAAA;AACvC,IAAA,WAAA,CAAY,IAA2B,EAAA;AACnC,QAAA,KAAK,EAAE,CAAC;QAIZ,IAAW,CAAA,WAAA,GAAyB,YAAY,CAAC;QACjD,IAAK,CAAA,KAAA,GAAiB,EAAE,CAAC;AAJrB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7B;AAIJ;;ACRK,MAAO,aAAc,SAAQ,UAAU,CAAA;AACzC,IAAA,WAAA,CAAY,IAA6B,EAAA;AACrC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7B;AAIJ;;MCGY,2BAA2B,CAAA;AAEtC,IAAA,WAAA,GAAA;QAmBA,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC;QACb,IAAkB,CAAA,kBAAA,GAAG,cAAc,CAAC;QACpC,IAAc,CAAA,cAAA,GAAG,cAAc,CAAC;QAChC,IAAc,CAAA,cAAA,GAAG,WAAW,CAAC;QAC7B,IAAiB,CAAA,iBAAA,GAAG,aAAa,CAAC;;AAG3C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAoB,IAAI,CAAC,CAAC;;;;;;;;;;;;;;;;;KATtD;AAUD,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC3B;IACD,IAAoB,MAAM,CAAC,KAAwB,EAAA;AACjD,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;;wHAnCU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA3B,2BAA2B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdxC,6lCAsBe,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRF,2BAA2B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,6lCAAA,EAAA,CAAA;0EAoCb,MAAM,EAAA,CAAA;sBAAzB,KAAK;;;MEjCK,eAAe,CAAA;AAC1B,IAAA,WAAA,GAAA;;AAkBA,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAyB,EAAE,CAAC,CAAC;;AAe1D,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;AAhCzB,QAAA,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;AAClC,QAAA,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACrC,QAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAExB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAe;AAC/C,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,aAAa,EAAE,EAAE;AAClB,SAAA,CAAC,CAAC;;;;;KAOJ;IAID,IAA2C,MAAM,CAAC,KAAsC,EAAA;QACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACpC;AAID,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC3B;IACD,IAAoB,MAAM,CAAC,KAAmB,EAAA;AAC5C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;IAID,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;4GArCU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAoBT,oBAAoB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCvC,idAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDCa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,SAAS,EAAA,QAAA,EAAA,idAAA,EAAA,CAAA;0EAwBwB,MAAM,EAAA,CAAA;sBAAhD,eAAe;uBAAC,oBAAoB,CAAA;gBASjB,MAAM,EAAA,CAAA;sBAAzB,KAAK;;;MEjCK,0BAA0B,CAAA;IACrC,WAAoB,CAAA,OAAgB,EAAU,SAA+B,EAAA;QAAzD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;QAM7E,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAkBW,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QAvB1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;AACnD,SAAA,CAAC,CAAC;KACJ;AAIsC,IAAA,WAAW,CAAC,EAAc,EAAA;QAC/D,EAAE,CAAC,cAAc,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;AAE+C,IAAA,WAAW,CAAC,EAAc,EAAA;;QAExE,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;YACrD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,SAAA;KACF;AAE6C,IAAA,SAAS,CAAC,EAAS,EAAA;AAC/D,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;;uHAvBU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,+PCTvC,2BAAyB,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA,CAAA;2FDSZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;gIAaO,WAAW,EAAA,CAAA;sBAAjD,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAKW,WAAW,EAAA,CAAA;sBAA1D,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAOA,SAAS,EAAA,CAAA;sBAAtD,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAId,MAAM,EAAA,CAAA;sBAAnC,WAAW;uBAAC,eAAe,CAAA;;;MEAjB,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBApBrB,eAAe;QACf,oBAAoB;QACpB,0BAA0B;AAC1B,QAAA,2BAA2B,aAG3B,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;AAChB,QAAA,kBAAkB,aAGlB,eAAe;QACf,oBAAoB;QACpB,0BAA0B;QAC1B,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGlB,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAdrB,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAST,YAAY,EAAA,UAAA,EAAA,CAAA;kBAtBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,oBAAoB;wBACpB,0BAA0B;wBAC1B,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,kBAAkB;wBAClB,gBAAgB;wBAChB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,oBAAoB;wBACpB,0BAA0B;wBAC1B,2BAA2B;AAC5B,qBAAA;AACF,iBAAA,CAAA;;;MC7BY,cAAc,CAAA;AAI1B;;ACRD;;AAEG;;;;"}
|
|
@@ -45,6 +45,9 @@ class BsTabControlComponent {
|
|
|
45
45
|
this.destroyed$ = new Subject();
|
|
46
46
|
//#region SelectFirstTab
|
|
47
47
|
this.selectFirstTab$ = new BehaviorSubject(true);
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region TabsPosition
|
|
50
|
+
this.tabsPosition$ = new BehaviorSubject('top');
|
|
48
51
|
this.tabControlId$ = new BehaviorSubject(++BsTabControlComponent.tabControlCounter);
|
|
49
52
|
this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));
|
|
50
53
|
this.element = element;
|
|
@@ -59,6 +62,8 @@ class BsTabControlComponent {
|
|
|
59
62
|
this.activeTab$.next(notDisabled[0]);
|
|
60
63
|
}
|
|
61
64
|
});
|
|
65
|
+
this.topTabs$ = this.tabsPosition$.pipe(map(position => position === 'top'));
|
|
66
|
+
this.bottomTabs$ = this.tabsPosition$.pipe(map(position => position === 'bottom'));
|
|
62
67
|
}
|
|
63
68
|
set setTabPages(value) {
|
|
64
69
|
console.log('tabpages', value);
|
|
@@ -75,6 +80,12 @@ class BsTabControlComponent {
|
|
|
75
80
|
set selectFirstTab(value) {
|
|
76
81
|
this.selectFirstTab$.next(value);
|
|
77
82
|
}
|
|
83
|
+
get tabsPosition() {
|
|
84
|
+
return this.tabsPosition$.value;
|
|
85
|
+
}
|
|
86
|
+
set tabsPosition(value) {
|
|
87
|
+
this.tabsPosition$.next(value);
|
|
88
|
+
}
|
|
78
89
|
//#endregion
|
|
79
90
|
setActiveTab(tab) {
|
|
80
91
|
if (!tab.disabled) {
|
|
@@ -100,10 +111,10 @@ class BsTabControlComponent {
|
|
|
100
111
|
}
|
|
101
112
|
BsTabControlComponent.tabControlCounter = 0;
|
|
102
113
|
BsTabControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
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
|
|
114
|
+
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\"></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\" 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\"></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}.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$1.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$1.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: i2.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
104
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: BsTabControlComponent, decorators: [{
|
|
105
116
|
type: Component,
|
|
106
|
-
args: [{ selector: 'bs-tab-control', template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden
|
|
117
|
+
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\"></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\" 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\"></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}.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"] }]
|
|
107
118
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dBlock: [{
|
|
108
119
|
type: HostBinding,
|
|
109
120
|
args: ['class.d-block']
|
|
@@ -119,6 +130,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
|
|
|
119
130
|
type: Input
|
|
120
131
|
}], selectFirstTab: [{
|
|
121
132
|
type: Input
|
|
133
|
+
}], tabsPosition: [{
|
|
134
|
+
type: Input
|
|
122
135
|
}] } });
|
|
123
136
|
|
|
124
137
|
class BsTabControlModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control.module.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, Input, ElementRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss']\n})\nexport class BsTabPageComponent {\n\n constructor(tabControl: BsTabControlComponent, element: ElementRef<any>) {\n this.element = element;\n this.tabControl = tabControl;\n this.tabId$ = new BehaviorSubject<number>(++this.tabControl.tabCounter);\n this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])\n .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));\n }\n\n element: ElementRef<any>;\n tabControl: BsTabControlComponent;\n tabId$: BehaviorSubject<number>;\n tabName$: Observable<string>;\n\n @Input() disabled = false;\n @ContentChild(TemplateRef) headerTemplate!: TemplateRef<any>;\n\n}\n","<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"(tabControl.activeTab$ | async) === this\">\n <ng-content></ng-content>\n</div>","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, ContentChildren, ElementRef, HostBinding, Input, OnDestroy, QueryList, Renderer2 } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, map, Observable, Subject, takeUntil } from 'rxjs';\nimport { BsTabPageComponent } from '../tab-page/tab-page.component';\n\n@Component({\n selector: 'bs-tab-control',\n templateUrl: './tab-control.component.html',\n styleUrls: ['./tab-control.component.scss']\n})\nexport class BsTabControlComponent implements OnDestroy {\n\n constructor(element: ElementRef<any>) {\n this.tabControlId$ = new BehaviorSubject<number>(++BsTabControlComponent.tabControlCounter);\n this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));\n this.element = element;\n combineLatest([this.tabPages$, this.activeTab$, this.selectFirstTab$])\n .pipe(filter(([tabPages, activeTab, selectFirstTab]) => {\n return !!tabPages && (!activeTab || !tabPages.some(tp => tp === activeTab)) && selectFirstTab;\n }))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(([tabPages, activeTab, selectFirstTab]) => {\n const notDisabled = tabPages!.filter((tp) => !tp.disabled);\n if (notDisabled.length > 0) {\n this.activeTab$.next(notDisabled[0]);\n }\n });\n }\n\n @HostBinding('class.d-block') dBlock = true;\n @HostBinding('class.position-relative') positionRelative = true;\n @ContentChildren(BsTabPageComponent) set setTabPages(value: QueryList<BsTabPageComponent>) {\n console.log('tabpages', value);\n this.tabPages$.next(value);\n const missing = value.filter(tp => !this.orderedTabPages.includes(tp));\n this.orderedTabPages = this.orderedTabPages.concat(missing);\n }\n @Input() public border = true;\n @Input() public set restrictDragging(value: boolean) {\n this.dragBoundarySelector = value ? 'ul' : '';\n }\n dragBoundarySelector = '';\n element: ElementRef<any>;\n tabPages$ = new BehaviorSubject<QueryList<BsTabPageComponent> | null>(null);\n activeTab$ = new BehaviorSubject<BsTabPageComponent | null>(null);\n orderedTabPages: BsTabPageComponent[] = [];\n tabControlId$: BehaviorSubject<number>;\n tabControlName$: Observable<string>;\n static tabControlCounter = 0;\n tabCounter = 0;\n destroyed$ = new Subject()\n\n //#region SelectFirstTab\n selectFirstTab$ = new BehaviorSubject<boolean>(true);\n public get selectFirstTab() {\n return this.selectFirstTab$.value;\n }\n @Input() public set selectFirstTab(value: boolean) {\n this.selectFirstTab$.next(value);\n }\n //#endregion\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled) {\n this.activeTab$.next(tab);\n }\n return false;\n }\n\n moveTab(ev: CdkDragDrop<QueryList<BsTabPageComponent> | null>) {\n if (ev.previousContainer === ev.container) {\n moveItemInArray(\n this.orderedTabPages,\n ev.previousIndex, \n ev.currentIndex);\n } else {\n // transferArrayItem(\n // ev.previousContainer.data,\n // ev.container.data,\n // ev.previousIndex,\n // ev.currentIndex);\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n}\n","<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden position-absolute mw-100 tsc\">\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\"></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\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabControlComponent } from './tab-control/tab-control.component';\nimport { BsTabPageComponent } from './tab-page/tab-page.component';\n\n@NgModule({\n declarations: [\n BsTabControlComponent,\n BsTabPageComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n BsLetModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsTabControlComponent,\n BsTabPageComponent,\n ]\n})\nexport class BsTabControlModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsTabControlComponent","i3","i2","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-tab-control.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-page/tab-page.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control/tab-control.component.html","../../../../libs/mintplayer-ng-bootstrap/tab-control/src/tab-control.module.ts","../../../../libs/mintplayer-ng-bootstrap/tab-control/mintplayer-ng-bootstrap-tab-control.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, Input, ElementRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsTabControlComponent } from '../tab-control/tab-control.component';\n\n@Component({\n selector: 'bs-tab-page',\n templateUrl: './tab-page.component.html',\n styleUrls: ['./tab-page.component.scss']\n})\nexport class BsTabPageComponent {\n\n constructor(tabControl: BsTabControlComponent, element: ElementRef<any>) {\n this.element = element;\n this.tabControl = tabControl;\n this.tabId$ = new BehaviorSubject<number>(++this.tabControl.tabCounter);\n this.tabName$ = combineLatest([this.tabControl.tabControlName$, this.tabId$])\n .pipe(map(([tabControlName, tabId]) => `${tabControlName}-${tabId}`));\n }\n\n element: ElementRef<any>;\n tabControl: BsTabControlComponent;\n tabId$: BehaviorSubject<number>;\n tabName$: Observable<string>;\n\n @Input() disabled = false;\n @ContentChild(TemplateRef) headerTemplate!: TemplateRef<any>;\n\n}\n","<input type=\"radio\" bsNoNoscript class=\"d-none\" [name]=\"tabControl.tabControlName$ | async\" [id]=\"tabName$ | async\">\n<div class=\"tab-page-content\" [class.d-block]=\"(tabControl.activeTab$ | async) === this\">\n <ng-content></ng-content>\n</div>","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, ContentChildren, ElementRef, HostBinding, Input, OnDestroy, QueryList, Renderer2 } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, map, Observable, Subject, takeUntil } from 'rxjs';\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})\nexport class BsTabControlComponent implements OnDestroy {\n\n constructor(element: ElementRef<any>) {\n this.tabControlId$ = new BehaviorSubject<number>(++BsTabControlComponent.tabControlCounter);\n this.tabControlName$ = this.tabControlId$.pipe(map((id) => `bs-tab-control-${id}`));\n this.element = element;\n combineLatest([this.tabPages$, this.activeTab$, this.selectFirstTab$])\n .pipe(filter(([tabPages, activeTab, selectFirstTab]) => {\n return !!tabPages && (!activeTab || !tabPages.some(tp => tp === activeTab)) && selectFirstTab;\n }))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(([tabPages, activeTab, selectFirstTab]) => {\n const notDisabled = tabPages!.filter((tp) => !tp.disabled);\n if (notDisabled.length > 0) {\n this.activeTab$.next(notDisabled[0]);\n }\n });\n this.topTabs$ = this.tabsPosition$.pipe(map(position => position === 'top'));\n this.bottomTabs$ = this.tabsPosition$.pipe(map(position => position === 'bottom'));\n }\n\n @HostBinding('class.d-block') dBlock = true;\n @HostBinding('class.position-relative') positionRelative = true;\n @ContentChildren(BsTabPageComponent) set setTabPages(value: QueryList<BsTabPageComponent>) {\n console.log('tabpages', value);\n this.tabPages$.next(value);\n const missing = value.filter(tp => !this.orderedTabPages.includes(tp));\n this.orderedTabPages = this.orderedTabPages.concat(missing);\n }\n @Input() public border = true;\n @Input() public set restrictDragging(value: boolean) {\n this.dragBoundarySelector = value ? 'ul' : '';\n }\n dragBoundarySelector = '';\n element: ElementRef<any>;\n tabPages$ = new BehaviorSubject<QueryList<BsTabPageComponent> | null>(null);\n activeTab$ = new BehaviorSubject<BsTabPageComponent | null>(null);\n orderedTabPages: BsTabPageComponent[] = [];\n tabControlId$: BehaviorSubject<number>;\n tabControlName$: Observable<string>;\n topTabs$: Observable<boolean>;\n bottomTabs$: Observable<boolean>;\n static tabControlCounter = 0;\n tabCounter = 0;\n destroyed$ = new Subject()\n\n //#region SelectFirstTab\n selectFirstTab$ = new BehaviorSubject<boolean>(true);\n public get selectFirstTab() {\n return this.selectFirstTab$.value;\n }\n @Input() public set selectFirstTab(value: boolean) {\n this.selectFirstTab$.next(value);\n }\n //#endregion\n //#region TabsPosition\n tabsPosition$ = new BehaviorSubject<BsTabsPosition>('top');\n public get tabsPosition() {\n return this.tabsPosition$.value;\n }\n @Input() public set tabsPosition(value: BsTabsPosition) {\n this.tabsPosition$.next(value);\n }\n //#endregion\n\n setActiveTab(tab: BsTabPageComponent) {\n if (!tab.disabled) {\n this.activeTab$.next(tab);\n }\n return false;\n }\n\n moveTab(ev: CdkDragDrop<QueryList<BsTabPageComponent> | null>) {\n if (ev.previousContainer === ev.container) {\n moveItemInArray(\n this.orderedTabPages,\n ev.previousIndex, \n ev.currentIndex);\n } else {\n // transferArrayItem(\n // ev.previousContainer.data,\n // ev.container.data,\n // ev.previousIndex,\n // ev.currentIndex);\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n}\n","<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\"></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\" 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\"></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>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsTabControlComponent } from './tab-control/tab-control.component';\nimport { BsTabPageComponent } from './tab-page/tab-page.component';\n\n@NgModule({\n declarations: [\n BsTabControlComponent,\n BsTabPageComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n BsLetModule,\n BsNoNoscriptModule\n ],\n exports: [\n BsTabControlComponent,\n BsTabPageComponent,\n ]\n})\nexport class BsTabControlModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsTabControlComponent","i3","i2","i4"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,6 +2,7 @@ import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
|
2
2
|
import { ElementRef, OnDestroy, QueryList } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
4
4
|
import { BsTabPageComponent } from '../tab-page/tab-page.component';
|
|
5
|
+
import { BsTabsPosition } from '../tabs-position';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class BsTabControlComponent implements OnDestroy {
|
|
7
8
|
constructor(element: ElementRef<any>);
|
|
@@ -17,15 +18,20 @@ export declare class BsTabControlComponent implements OnDestroy {
|
|
|
17
18
|
orderedTabPages: BsTabPageComponent[];
|
|
18
19
|
tabControlId$: BehaviorSubject<number>;
|
|
19
20
|
tabControlName$: Observable<string>;
|
|
21
|
+
topTabs$: Observable<boolean>;
|
|
22
|
+
bottomTabs$: Observable<boolean>;
|
|
20
23
|
static tabControlCounter: number;
|
|
21
24
|
tabCounter: number;
|
|
22
25
|
destroyed$: Subject<unknown>;
|
|
23
26
|
selectFirstTab$: BehaviorSubject<boolean>;
|
|
24
27
|
get selectFirstTab(): boolean;
|
|
25
28
|
set selectFirstTab(value: boolean);
|
|
29
|
+
tabsPosition$: BehaviorSubject<BsTabsPosition>;
|
|
30
|
+
get tabsPosition(): BsTabsPosition;
|
|
31
|
+
set tabsPosition(value: BsTabsPosition);
|
|
26
32
|
setActiveTab(tab: BsTabPageComponent): boolean;
|
|
27
33
|
moveTab(ev: CdkDragDrop<QueryList<BsTabPageComponent> | null>): void;
|
|
28
34
|
ngOnDestroy(): void;
|
|
29
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsTabControlComponent, never>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BsTabControlComponent, "bs-tab-control", never, { "border": "border"; "restrictDragging": "restrictDragging"; "selectFirstTab": "selectFirstTab"; }, {}, ["setTabPages"], ["*"], false, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BsTabControlComponent, "bs-tab-control", never, { "border": "border"; "restrictDragging": "restrictDragging"; "selectFirstTab": "selectFirstTab"; "tabsPosition": "tabsPosition"; }, {}, ["setTabPages"], ["*"], false, never>;
|
|
31
37
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type BsTabsPosition = 'top' | 'bottom';
|