@mintplayer/ng-bootstrap 15.23.0 → 15.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,11 +51,11 @@ export class BsDockPaneRendererComponent {
51
51
  }
52
52
  }
53
53
  BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPaneRendererComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
54
- BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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", "allowDragDrop"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i5.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: i6.BsResizableComponent, selector: "bs-resizable" }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
54
+ BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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", "allowDragDrop"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i5.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: i6.BsResizableComponent, selector: "bs-resizable", inputs: ["positioning"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ selector: 'bs-dock-pane-renderer', template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"] }]
58
58
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { layout: [{
59
59
  type: Input
60
60
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1wYW5lLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZG9jay9zcmMvZG9jay1wYW5lLXJlbmRlcmVyL2RvY2stcGFuZS1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2RvY2svc3JjL2RvY2stcGFuZS1yZW5kZXJlci9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxZQUFZLE9BQW1CO1FBc0IvQixjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2IsdUJBQWtCLEdBQUcsY0FBYyxDQUFDO1FBQ3BDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxjQUFjLENBQUM7UUFFN0MsZ0JBQWdCO1FBQ2hCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUM7UUE3QnJELDJFQUEyRTtRQUMzRSwyQkFBMkI7UUFDM0IsbUJBQW1CO1FBQ25CLG1EQUFtRDtRQUNuRCxxQ0FBcUM7UUFDckMsZ0RBQWdEO1FBQ2hELGtDQUFrQztRQUNsQyxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLG1EQUFtRDtRQUNuRCxxQ0FBcUM7UUFDckMsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixvQ0FBb0M7UUFDcEMsTUFBTTtRQUNOLE9BQU87UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFhRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFvQixNQUFNLENBQUMsS0FBd0I7UUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7d0hBdkNVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJGQ2hCeEMsMmlEQTZCZSwyOUNEYkYsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsdUJBQXVCO2lHQXdDYixNQUFNO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNEb2NrUGFuZSB9IGZyb20gJy4uL3BhbmVzL2RvY2stcGFuZSc7XG5pbXBvcnQgeyBFUGFuZVR5cGUgfSBmcm9tICcuLi9lbnVtcy9wYW5lLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCc1NwbGl0UGFuZSB9IGZyb20gJy4uL3BhbmVzL3NwbGl0LXBhbmUnO1xuaW1wb3J0IHsgQnNDb250ZW50UGFuZSB9IGZyb20gJy4uL3BhbmVzL2NvbnRlbnQtcGFuZSc7XG5pbXBvcnQgeyBCc0RvY3VtZW50SG9zdCB9IGZyb20gJy4uL3BhbmVzL2RvY3VtZW50LWhvc3QtcGFuZSc7XG5pbXBvcnQgeyBCc1RhYkdyb3VwUGFuZSB9IGZyb20gJy4uL3BhbmVzL3RhYi1ncm91cC1wYW5lJztcbmltcG9ydCB7IEJzRmxvYXRpbmdQYW5lIH0gZnJvbSAnLi4vcGFuZXMvZmxvYXRpbmctcGFuZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLWRvY2stcGFuZS1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc0RvY2tQYW5lUmVuZGVyZXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAvLyB0aGlzLmxheW91dFR5cGUkID0gdGhpcy5sYXlvdXQkLnBpcGU8RVBhbmVUeXBlIHwgbnVsbD4obWFwKChsYXlvdXQpID0+IHtcbiAgICAvLyAgIGlmIChsYXlvdXQgPT09IG51bGwpIHtcbiAgICAvLyAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICB9IGVsc2UgaWYgKGxheW91dCBpbnN0YW5jZW9mIEJzRG9jdW1lbnRIb3N0KSB7XG4gICAgLy8gICAgIHJldHVybiBFUGFuZVR5cGUuZG9jdW1lbnRIb3N0O1xuICAgIC8vICAgfSBlbHNlIGlmIChsYXlvdXQgaW5zdGFuY2VvZiBCc1NwbGl0UGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLnNwbGl0UGFuZTtcbiAgICAvLyAgIH0gZWxzZSBpZiAobGF5b3V0IGluc3RhbmNlb2YgQnNDb250ZW50UGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLmNvbnRlbnRQYW5lO1xuICAgIC8vICAgfSBlbHNlIGlmIChsYXlvdXQgaW5zdGFuY2VvZiBCc1RhYkdyb3VwUGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLnRhYkdyb3VwUGFuZTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIHJldHVybiBudWxsO1xuICAgIC8vICAgICAvLyB0aHJvdyAndW5rbm93biBwYW5lIHR5cGUnO1xuICAgIC8vICAgfVxuICAgIC8vIH0pKTtcbiAgICB0aGlzLnBvcnRhbCA9IG5ldyBEb21Qb3J0YWwoZWxlbWVudCk7XG4gIH1cblxuICBwb3J0YWw6IERvbVBvcnRhbDtcblxuICBwYW5lVHlwZXMgPSBFUGFuZVR5cGU7XG4gIHJlYWRvbmx5IEJzRG9jdW1lbnRIb3N0VHlwZSA9IEJzRG9jdW1lbnRIb3N0O1xuICByZWFkb25seSBCc1RhYkdyb3VwVHlwZSA9IEJzVGFiR3JvdXBQYW5lO1xuICByZWFkb25seSBCc1NwbGl0dGVyVHlwZSA9IEJzU3BsaXRQYW5lO1xuICByZWFkb25seSBCc0NvbnRlbnRQYW5lVHlwZSA9IEJzQ29udGVudFBhbmU7XG4gIHJlYWRvbmx5IEJzRmxvYXRpbmdQYW5lVHlwZSA9IEJzRmxvYXRpbmdQYW5lO1xuXG4gIC8vI3JlZ2lvbiBMYXlvdXRcbiAgbGF5b3V0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNEb2NrUGFuZSB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgZ2V0IGxheW91dCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbGF5b3V0KHZhbHVlOiBCc0RvY2tQYW5lIHwgbnVsbCkge1xuICAgIGNvbnNvbGUubG9nKCdzZXQgbGF5b3V0JywgdmFsdWUpO1xuICAgIHRoaXMubGF5b3V0JC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyBsYXlvdXRUeXBlJDogT2JzZXJ2YWJsZTxFUGFuZVR5cGUgfCBudWxsPjtcbn1cbiIsIjwhLS0gPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiAtLT5cbjxuZy1jb250YWluZXIgW2JzSW5zdGFuY2VvZl09XCJsYXlvdXQkIHwgYXN5bmNcIj5cbiAgICA8ZGl2ICpic0luc3RhbmNlb2ZDYXNlPVwiQnNEb2N1bWVudEhvc3RUeXBlOyBsZXQgZG9jdW1lbnRIb3N0XCIgZGF0YS1oZWxsbz5cbiAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cImRvY3VtZW50SG9zdFwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgIDwvZGl2PlxuICAgIDxicy10YWItY29udHJvbCAqYnNJbnN0YW5jZW9mQ2FzZT1cIkJzVGFiR3JvdXBUeXBlOyBsZXQgdGFiR3JvdXBcIiBbYWxsb3dEcmFnRHJvcF09XCJmYWxzZVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwIGRvY2stdGFic1wiPlxuICAgICAgICA8YnMtdGFiLXBhZ2UgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJHcm91cC5wYW5lc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNUYWJQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi5kb2NrUGFuZWwuaGVhZGVyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cInRhYlwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgICAgICA8L2JzLXRhYi1wYWdlPlxuICAgIDwvYnMtdGFiLWNvbnRyb2w+XG4gICAgPGJzLXNwbGl0dGVyICpic0luc3RhbmNlb2ZDYXNlPVwiQnNTcGxpdHRlclR5cGU7IGxldCBzcGxpdHRlclwiIFtvcmllbnRhdGlvbl09XCJzcGxpdHRlci5vcmllbnRhdGlvblwiPlxuICAgICAgICA8YnMtc3BsaXQtcGFuZWwgKm5nRm9yPVwibGV0IHBhbmVsIG9mIHNwbGl0dGVyLnBhbmVzXCI+XG4gICAgICAgICAgICA8YnMtZG9jay1wYW5lLXJlbmRlcmVyIFtsYXlvdXRdPVwicGFuZWxcIj48L2JzLWRvY2stcGFuZS1yZW5kZXJlcj5cbiAgICAgICAgPC9icy1zcGxpdC1wYW5lbD5cbiAgICA8L2JzLXNwbGl0dGVyPlxuICAgIDxuZy1jb250YWluZXIgKmJzSW5zdGFuY2VvZkNhc2U9XCJCc0NvbnRlbnRQYW5lVHlwZTsgbGV0IGNvbnRlbnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiY29udGVudC5kb2NrUGFuZWwuY29udGVudFBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqYnNJbnN0YW5jZW9mQ2FzZT1cIkJzRmxvYXRpbmdQYW5lVHlwZTsgbGV0IGNvbnRlbnRcIj5cbiAgICAgICAgPGJzLXJlc2l6YWJsZSAqbmdJZj1cImNvbnRlbnQucGFuZVwiPlxuICAgICAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cImNvbnRlbnQucGFuZVwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgICAgICA8L2JzLXJlc2l6YWJsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpic0luc3RhbmNlb2ZEZWZhdWx0PlxuICAgICAgICBObyBtYXRjaFxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay1wYW5lLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZG9jay9zcmMvZG9jay1wYW5lLXJlbmRlcmVyL2RvY2stcGFuZS1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2RvY2svc3JjL2RvY2stcGFuZS1yZW5kZXJlci9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFPeEQsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxZQUFZLE9BQW1CO1FBc0IvQixjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2IsdUJBQWtCLEdBQUcsY0FBYyxDQUFDO1FBQ3BDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxjQUFjLENBQUM7UUFFN0MsZ0JBQWdCO1FBQ2hCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUM7UUE3QnJELDJFQUEyRTtRQUMzRSwyQkFBMkI7UUFDM0IsbUJBQW1CO1FBQ25CLG1EQUFtRDtRQUNuRCxxQ0FBcUM7UUFDckMsZ0RBQWdEO1FBQ2hELGtDQUFrQztRQUNsQyxrREFBa0Q7UUFDbEQsb0NBQW9DO1FBQ3BDLG1EQUFtRDtRQUNuRCxxQ0FBcUM7UUFDckMsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixvQ0FBb0M7UUFDcEMsTUFBTTtRQUNOLE9BQU87UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFhRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFvQixNQUFNLENBQUMsS0FBd0I7UUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7d0hBdkNVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJGQ2hCeEMsMmlEQTZCZSxvL0NEYkYsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsdUJBQXVCO2lHQXdDYixNQUFNO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNEb2NrUGFuZSB9IGZyb20gJy4uL3BhbmVzL2RvY2stcGFuZSc7XG5pbXBvcnQgeyBFUGFuZVR5cGUgfSBmcm9tICcuLi9lbnVtcy9wYW5lLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCc1NwbGl0UGFuZSB9IGZyb20gJy4uL3BhbmVzL3NwbGl0LXBhbmUnO1xuaW1wb3J0IHsgQnNDb250ZW50UGFuZSB9IGZyb20gJy4uL3BhbmVzL2NvbnRlbnQtcGFuZSc7XG5pbXBvcnQgeyBCc0RvY3VtZW50SG9zdCB9IGZyb20gJy4uL3BhbmVzL2RvY3VtZW50LWhvc3QtcGFuZSc7XG5pbXBvcnQgeyBCc1RhYkdyb3VwUGFuZSB9IGZyb20gJy4uL3BhbmVzL3RhYi1ncm91cC1wYW5lJztcbmltcG9ydCB7IEJzRmxvYXRpbmdQYW5lIH0gZnJvbSAnLi4vcGFuZXMvZmxvYXRpbmctcGFuZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLWRvY2stcGFuZS1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2NrLXBhbmUtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc0RvY2tQYW5lUmVuZGVyZXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAvLyB0aGlzLmxheW91dFR5cGUkID0gdGhpcy5sYXlvdXQkLnBpcGU8RVBhbmVUeXBlIHwgbnVsbD4obWFwKChsYXlvdXQpID0+IHtcbiAgICAvLyAgIGlmIChsYXlvdXQgPT09IG51bGwpIHtcbiAgICAvLyAgICAgcmV0dXJuIG51bGw7XG4gICAgLy8gICB9IGVsc2UgaWYgKGxheW91dCBpbnN0YW5jZW9mIEJzRG9jdW1lbnRIb3N0KSB7XG4gICAgLy8gICAgIHJldHVybiBFUGFuZVR5cGUuZG9jdW1lbnRIb3N0O1xuICAgIC8vICAgfSBlbHNlIGlmIChsYXlvdXQgaW5zdGFuY2VvZiBCc1NwbGl0UGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLnNwbGl0UGFuZTtcbiAgICAvLyAgIH0gZWxzZSBpZiAobGF5b3V0IGluc3RhbmNlb2YgQnNDb250ZW50UGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLmNvbnRlbnRQYW5lO1xuICAgIC8vICAgfSBlbHNlIGlmIChsYXlvdXQgaW5zdGFuY2VvZiBCc1RhYkdyb3VwUGFuZSkge1xuICAgIC8vICAgICByZXR1cm4gRVBhbmVUeXBlLnRhYkdyb3VwUGFuZTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIHJldHVybiBudWxsO1xuICAgIC8vICAgICAvLyB0aHJvdyAndW5rbm93biBwYW5lIHR5cGUnO1xuICAgIC8vICAgfVxuICAgIC8vIH0pKTtcbiAgICB0aGlzLnBvcnRhbCA9IG5ldyBEb21Qb3J0YWwoZWxlbWVudCk7XG4gIH1cblxuICBwb3J0YWw6IERvbVBvcnRhbDtcblxuICBwYW5lVHlwZXMgPSBFUGFuZVR5cGU7XG4gIHJlYWRvbmx5IEJzRG9jdW1lbnRIb3N0VHlwZSA9IEJzRG9jdW1lbnRIb3N0O1xuICByZWFkb25seSBCc1RhYkdyb3VwVHlwZSA9IEJzVGFiR3JvdXBQYW5lO1xuICByZWFkb25seSBCc1NwbGl0dGVyVHlwZSA9IEJzU3BsaXRQYW5lO1xuICByZWFkb25seSBCc0NvbnRlbnRQYW5lVHlwZSA9IEJzQ29udGVudFBhbmU7XG4gIHJlYWRvbmx5IEJzRmxvYXRpbmdQYW5lVHlwZSA9IEJzRmxvYXRpbmdQYW5lO1xuXG4gIC8vI3JlZ2lvbiBMYXlvdXRcbiAgbGF5b3V0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNEb2NrUGFuZSB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgZ2V0IGxheW91dCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbGF5b3V0KHZhbHVlOiBCc0RvY2tQYW5lIHwgbnVsbCkge1xuICAgIGNvbnNvbGUubG9nKCdzZXQgbGF5b3V0JywgdmFsdWUpO1xuICAgIHRoaXMubGF5b3V0JC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyBsYXlvdXRUeXBlJDogT2JzZXJ2YWJsZTxFUGFuZVR5cGUgfCBudWxsPjtcbn1cbiIsIjwhLS0gPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiAtLT5cbjxuZy1jb250YWluZXIgW2JzSW5zdGFuY2VvZl09XCJsYXlvdXQkIHwgYXN5bmNcIj5cbiAgICA8ZGl2ICpic0luc3RhbmNlb2ZDYXNlPVwiQnNEb2N1bWVudEhvc3RUeXBlOyBsZXQgZG9jdW1lbnRIb3N0XCIgZGF0YS1oZWxsbz5cbiAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cImRvY3VtZW50SG9zdFwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgIDwvZGl2PlxuICAgIDxicy10YWItY29udHJvbCAqYnNJbnN0YW5jZW9mQ2FzZT1cIkJzVGFiR3JvdXBUeXBlOyBsZXQgdGFiR3JvdXBcIiBbYWxsb3dEcmFnRHJvcF09XCJmYWxzZVwiIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwIGRvY2stdGFic1wiPlxuICAgICAgICA8YnMtdGFiLXBhZ2UgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJHcm91cC5wYW5lc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNUYWJQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi5kb2NrUGFuZWwuaGVhZGVyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cInRhYlwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgICAgICA8L2JzLXRhYi1wYWdlPlxuICAgIDwvYnMtdGFiLWNvbnRyb2w+XG4gICAgPGJzLXNwbGl0dGVyICpic0luc3RhbmNlb2ZDYXNlPVwiQnNTcGxpdHRlclR5cGU7IGxldCBzcGxpdHRlclwiIFtvcmllbnRhdGlvbl09XCJzcGxpdHRlci5vcmllbnRhdGlvblwiPlxuICAgICAgICA8YnMtc3BsaXQtcGFuZWwgKm5nRm9yPVwibGV0IHBhbmVsIG9mIHNwbGl0dGVyLnBhbmVzXCI+XG4gICAgICAgICAgICA8YnMtZG9jay1wYW5lLXJlbmRlcmVyIFtsYXlvdXRdPVwicGFuZWxcIj48L2JzLWRvY2stcGFuZS1yZW5kZXJlcj5cbiAgICAgICAgPC9icy1zcGxpdC1wYW5lbD5cbiAgICA8L2JzLXNwbGl0dGVyPlxuICAgIDxuZy1jb250YWluZXIgKmJzSW5zdGFuY2VvZkNhc2U9XCJCc0NvbnRlbnRQYW5lVHlwZTsgbGV0IGNvbnRlbnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiY29udGVudC5kb2NrUGFuZWwuY29udGVudFBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqYnNJbnN0YW5jZW9mQ2FzZT1cIkJzRmxvYXRpbmdQYW5lVHlwZTsgbGV0IGNvbnRlbnRcIj5cbiAgICAgICAgPGJzLXJlc2l6YWJsZSAqbmdJZj1cImNvbnRlbnQucGFuZVwiPlxuICAgICAgICAgICAgPGJzLWRvY2stcGFuZS1yZW5kZXJlciBbbGF5b3V0XT1cImNvbnRlbnQucGFuZVwiPjwvYnMtZG9jay1wYW5lLXJlbmRlcmVyPlxuICAgICAgICA8L2JzLXJlc2l6YWJsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpic0luc3RhbmNlb2ZEZWZhdWx0PlxuICAgICAgICBObyBtYXRjaFxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
@@ -3,4 +3,5 @@ export * from './resizable/resizable.component';
3
3
  export * from './resize-glyph/resize-glyph.directive';
4
4
  export * from './interfaces';
5
5
  export * from './providers';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3Jlc2l6YWJsZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jlc2l6YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1nbHlwaC9yZXNpemUtZ2x5cGguZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7Il19
6
+ export * from './types';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3Jlc2l6YWJsZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jlc2l6YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1nbHlwaC9yZXNpemUtZ2x5cGguZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJzsiXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9pbnRlcmZhY2VzL3Jlc2l6ZS1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzaXplQWN0aW9uIHtcbiAgICB0b3A/OiBSZXNpemVBY3Rpb25TaWRlO1xuICAgIHN0YXJ0PzogUmVzaXplQWN0aW9uU2lkZTtcbiAgICBib3R0b20/OiBSZXNpemVBY3Rpb25TaWRlO1xuICAgIGVuZD86IFJlc2l6ZUFjdGlvblNpZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaXplQWN0aW9uU2lkZSB7XG4gICAgLyoqIEZpeGVkIGVkZ2UgKi9cbiAgICBlZGdlOiBudW1iZXI7XG5cbiAgICAvKiogSW5pdGlhbCBtYXJnaW4gYXQgdGhlIGZpeGVkIGVkZ2UgKi9cbiAgICBtYXJnaW46IG51bWJlcjtcblxuICAgIC8qKiBJbml0aWFsIG1hcmdpbiBhdCB0aGUgZWRnZSB0aGF0J3MgYmVpbmcgZHJhZ2dlZCAqL1xuICAgIGRyYWdNYXJnaW46IG51bWJlcjtcblxuICAgIC8qKiBJbml0aWFsIHNpemUgKi9cbiAgICBzaXplOiBudW1iZXI7XG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9pbnRlcmZhY2VzL3Jlc2l6ZS1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6YWJsZVBvc2l0aW9uaW5nIH0gZnJvbSBcIi4uL3R5cGVzL3Bvc2l0aW9uaW5nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaXplQWN0aW9uIHtcbiAgICBwb3NpdGlvbmluZzogUmVzaXphYmxlUG9zaXRpb25pbmc7XG4gICAgdG9wPzogUmVzaXplQWN0aW9uU2lkZTtcbiAgICBzdGFydD86IFJlc2l6ZUFjdGlvblNpZGU7XG4gICAgYm90dG9tPzogUmVzaXplQWN0aW9uU2lkZTtcbiAgICBlbmQ/OiBSZXNpemVBY3Rpb25TaWRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2l6ZUFjdGlvblNpZGUge1xuICAgIC8qKiBGaXhlZCBlZGdlICovXG4gICAgZWRnZTogbnVtYmVyO1xuXG4gICAgLyoqIEluaXRpYWwgbWFyZ2luIGF0IHRoZSBmaXhlZCBlZGdlICovXG4gICAgbWFyZ2luPzogbnVtYmVyO1xuXG4gICAgLyoqIEluaXRpYWwgbWFyZ2luIGF0IHRoZSBlZGdlIHRoYXQncyBiZWluZyBkcmFnZ2VkICovXG4gICAgZHJhZ01hcmdpbj86IG51bWJlcjtcblxuICAgIC8qKiBJbml0aWFsIHNpemUgKi9cbiAgICBzaXplOiBudW1iZXI7XG59Il19
@@ -1,23 +1,54 @@
1
- import { Component, ElementRef, HostBinding, forwardRef } from '@angular/core';
1
+ import { Component, ElementRef, HostBinding, Input, forwardRef } from '@angular/core';
2
+ import { BehaviorSubject, map, Subject, takeUntil } from 'rxjs';
2
3
  import { RESIZABLE } from '../providers/resizable.provider';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../resize-glyph/resize-glyph.directive";
6
+ import * as i2 from "@angular/common";
5
7
  export class BsResizableComponent {
6
8
  constructor(element) {
9
+ //#region Positioning
10
+ this.positioning$ = new BehaviorSubject('inline');
7
11
  this.classes = true;
12
+ this.hostClass = null;
13
+ this.destroyed$ = new Subject();
8
14
  this.element = element;
15
+ this.hostPosition$ = this.positioning$.pipe(map((positioning) => {
16
+ switch (positioning) {
17
+ case 'absolute': return 'position-absolute';
18
+ case 'inline': return 'position-relative';
19
+ }
20
+ }));
21
+ this.wrapperPosition$ = this.positioning$.pipe(map((positioning) => {
22
+ switch (positioning) {
23
+ case 'absolute': return ['position-relative', 'h-100'];
24
+ case 'inline': return [];
25
+ }
26
+ }));
27
+ this.hostPosition$.pipe(takeUntil(this.destroyed$))
28
+ .subscribe(hostPosition => this.hostClass = hostPosition);
29
+ }
30
+ get positioning() {
31
+ return this.positioning$.value;
32
+ }
33
+ set positioning(value) {
34
+ this.positioning$.next(value);
35
+ }
36
+ ngOnDestroy() {
37
+ this.destroyed$.next(true);
9
38
  }
10
39
  }
11
40
  BsResizableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsResizableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
12
- BsResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsResizableComponent, selector: "bs-resizable", host: { properties: { "style.margin-left.px": "this.marginLeft", "style.margin-right.px": "this.marginRight", "style.margin-top.px": "this.marginTop", "style.margin-bottom.px": "this.marginBottom", "style.height.px": "this.height", "class.d-block": "this.classes", "class.border": "this.classes", "class.position-relative": "this.classes" } }, providers: [
41
+ BsResizableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsResizableComponent, selector: "bs-resizable", inputs: { positioning: "positioning" }, host: { properties: { "style.margin-left.px": "this.marginLeft", "style.margin-right.px": "this.marginRight", "style.margin-top.px": "this.marginTop", "style.margin-bottom.px": "this.marginBottom", "style.width.px": "this.width", "style.height.px": "this.height", "style.left.px": "this.left", "style.top.px": "this.top", "class.d-block": "this.classes", "class.border": "this.classes", "class": "this.hostClass" } }, providers: [
13
42
  { provide: RESIZABLE, useExisting: forwardRef(() => BsResizableComponent) }
14
- ], ngImport: i0, template: "<!-- <div class=\"border position-relative\"> -->\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n<!-- </div> -->", styles: [".glyph{position:absolute;width:8px;height:8px;transition:background-color .2s ease-in-out;border-radius:4px}.glyph.top{top:-4px}.glyph.start{left:-4px}.glyph.bottom{bottom:-4px}.glyph.end{right:-4px}.glyph.start:not(.top):not(.bottom),.glyph.end:not(.top):not(.bottom){top:4px;height:calc(100% - 8px)}.glyph.top:not(.start):not(.end),.glyph.bottom:not(.start):not(.end){left:4px;width:calc(100% - 8px)}.glyph:hover,.glyph.active{background-color:#1389fd}:host{min-width:2rem;min-height:2rem}\n"], dependencies: [{ kind: "directive", type: i1.BsResizeGlyphDirective, selector: "[bsResizeGlyph]", inputs: ["bsResizeGlyph"] }] });
43
+ ], ngImport: i0, template: "<div [class]=\"wrapperPosition$ | async\">\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n</div>", styles: [".glyph{position:absolute;width:8px;height:8px;transition:background-color .2s ease-in-out;border-radius:4px}.glyph.top{top:-4px}.glyph.start{left:-4px}.glyph.bottom{bottom:-4px}.glyph.end{right:-4px}.glyph.start:not(.top):not(.bottom),.glyph.end:not(.top):not(.bottom){top:4px;height:calc(100% - 8px)}.glyph.top:not(.start):not(.end),.glyph.bottom:not(.start):not(.end){left:4px;width:calc(100% - 8px)}.glyph:hover,.glyph.active{background-color:#1389fd}:host{min-width:2rem;min-height:2rem}\n"], dependencies: [{ kind: "directive", type: i1.BsResizeGlyphDirective, selector: "[bsResizeGlyph]", inputs: ["bsResizeGlyph"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
15
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsResizableComponent, decorators: [{
16
45
  type: Component,
17
46
  args: [{ selector: 'bs-resizable', providers: [
18
47
  { provide: RESIZABLE, useExisting: forwardRef(() => BsResizableComponent) }
19
- ], template: "<!-- <div class=\"border position-relative\"> -->\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n<!-- </div> -->", styles: [".glyph{position:absolute;width:8px;height:8px;transition:background-color .2s ease-in-out;border-radius:4px}.glyph.top{top:-4px}.glyph.start{left:-4px}.glyph.bottom{bottom:-4px}.glyph.end{right:-4px}.glyph.start:not(.top):not(.bottom),.glyph.end:not(.top):not(.bottom){top:4px;height:calc(100% - 8px)}.glyph.top:not(.start):not(.end),.glyph.bottom:not(.start):not(.end){left:4px;width:calc(100% - 8px)}.glyph:hover,.glyph.active{background-color:#1389fd}:host{min-width:2rem;min-height:2rem}\n"] }]
20
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { marginLeft: [{
48
+ ], template: "<div [class]=\"wrapperPosition$ | async\">\n <div class=\"cursor-nw-resize\" [bsResizeGlyph]=\"['top', 'start']\"></div>\n <div class=\"cursor-n-resize\" [bsResizeGlyph]=\"['top']\"></div>\n <div class=\"cursor-ne-resize\" [bsResizeGlyph]=\"['top', 'end']\"></div>\n <div class=\"cursor-e-resize\" [bsResizeGlyph]=\"['end']\"></div>\n <div class=\"cursor-se-resize\" [bsResizeGlyph]=\"['bottom', 'end']\"></div>\n <div class=\"cursor-s-resize\" [bsResizeGlyph]=\"['bottom']\"></div>\n <div class=\"cursor-sw-resize\" [bsResizeGlyph]=\"['bottom', 'start']\"></div>\n <div class=\"cursor-w-resize\" [bsResizeGlyph]=\"['start']\"></div>\n <ng-content></ng-content>\n</div>", styles: [".glyph{position:absolute;width:8px;height:8px;transition:background-color .2s ease-in-out;border-radius:4px}.glyph.top{top:-4px}.glyph.start{left:-4px}.glyph.bottom{bottom:-4px}.glyph.end{right:-4px}.glyph.start:not(.top):not(.bottom),.glyph.end:not(.top):not(.bottom){top:4px;height:calc(100% - 8px)}.glyph.top:not(.start):not(.end),.glyph.bottom:not(.start):not(.end){left:4px;width:calc(100% - 8px)}.glyph:hover,.glyph.active{background-color:#1389fd}:host{min-width:2rem;min-height:2rem}\n"] }]
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { positioning: [{
50
+ type: Input
51
+ }], marginLeft: [{
21
52
  type: HostBinding,
22
53
  args: ['style.margin-left.px']
23
54
  }], marginRight: [{
@@ -29,17 +60,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
29
60
  }], marginBottom: [{
30
61
  type: HostBinding,
31
62
  args: ['style.margin-bottom.px']
63
+ }], width: [{
64
+ type: HostBinding,
65
+ args: ['style.width.px']
32
66
  }], height: [{
33
67
  type: HostBinding,
34
68
  args: ['style.height.px']
69
+ }], left: [{
70
+ type: HostBinding,
71
+ args: ['style.left.px']
72
+ }], top: [{
73
+ type: HostBinding,
74
+ args: ['style.top.px']
35
75
  }], classes: [{
36
76
  type: HostBinding,
37
77
  args: ['class.d-block']
38
78
  }, {
39
79
  type: HostBinding,
40
80
  args: ['class.border']
41
- }, {
81
+ }], hostClass: [{
42
82
  type: HostBinding,
43
- args: ['class.position-relative']
83
+ args: ['class']
44
84
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFVNUQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFZLE9BQWdDO1FBZ0I1QyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBZmIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQzs7aUhBSFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsK1hBSnBCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRTtLQUM1RSwwQkNWSCwwc0JBVWU7MkZERUYsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGNBQWMsYUFHYjt3QkFDVCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUMsRUFBRTtxQkFDNUU7aUdBVW9DLFVBQVU7c0JBQTlDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNHLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNBLFNBQVM7c0JBQTVDLFdBQVc7dUJBQUMscUJBQXFCO2dCQUNLLFlBQVk7c0JBQWxELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNMLE1BQU07c0JBQXJDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUs5QixPQUFPO3NCQUhOLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLFdBQVc7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNpemVBY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3Jlc2l6ZS1hY3Rpb24nO1xuaW1wb3J0IHsgUkVTSVpBQkxFIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3Jlc2l6YWJsZS5wcm92aWRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXJlc2l6YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXNpemFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBSRVNJWkFCTEUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJzUmVzaXphYmxlQ29tcG9uZW50KSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNSZXNpemFibGVDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gIH1cblxuICByZXNpemVBY3Rpb24/OiBSZXNpemVBY3Rpb247XG4gIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tbGVmdC5weCcpIG1hcmdpbkxlZnQ/OiBudW1iZXI7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLXJpZ2h0LnB4JykgbWFyZ2luUmlnaHQ/OiBudW1iZXI7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLXRvcC5weCcpIG1hcmdpblRvcD86IG51bWJlcjtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXJnaW4tYm90dG9tLnB4JykgbWFyZ2luQm90dG9tPzogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpIGhlaWdodD86IG51bWJlcjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJvcmRlcicpXG4gIEBIb3N0QmluZGluZygnY2xhc3MucG9zaXRpb24tcmVsYXRpdmUnKVxuICBjbGFzc2VzID0gdHJ1ZTtcbn1cbiIsIjwhLS0gPGRpdiBjbGFzcz1cImJvcmRlciBwb3NpdGlvbi1yZWxhdGl2ZVwiPiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLW53LXJlc2l6ZVwiIFtic1Jlc2l6ZUdseXBoXT1cIlsndG9wJywgJ3N0YXJ0J11cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLW4tcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWyd0b3AnXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItbmUtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWyd0b3AnLCAnZW5kJ11cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLWUtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydlbmQnXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3Itc2UtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydib3R0b20nLCAnZW5kJ11cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXMtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydib3R0b20nXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3Itc3ctcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydib3R0b20nLCAnc3RhcnQnXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3Itdy1yZXNpemVcIiBbYnNSZXNpemVHbHlwaF09XCJbJ3N0YXJ0J11cIj48L2Rpdj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48IS0tIDwvZGl2PiAtLT4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxlQUFlLEVBQWMsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBVzVELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFBWSxPQUFnQztRQXlCNUMscUJBQXFCO1FBQ3JCLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXVCLFFBQVEsQ0FBQyxDQUFDO1FBcUJuRSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2YsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFaEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFuRHpCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxXQUFXLEVBQUU7Z0JBQ25CLEtBQUssVUFBVSxDQUFDLENBQUMsT0FBTyxtQkFBbUIsQ0FBQztnQkFDNUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLG1CQUFtQixDQUFDO2FBQzNDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNqRSxRQUFRLFdBQVcsRUFBRTtnQkFDbkIsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUE7Z0JBQ3RELEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFTRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBb0IsV0FBVyxDQUFDLEtBQTJCO1FBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFxQkQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7O2lIQXhEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixpZkFKcEI7UUFDVCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO0tBQzVFLDBCQ1pILDByQkFVTTsyRkRJTyxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsY0FBYyxhQUdiO3dCQUNULEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFO3FCQUM1RTtpR0FpQ21CLFdBQVc7c0JBQTlCLEtBQUs7Z0JBSytCLFVBQVU7c0JBQTlDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNHLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNBLFNBQVM7c0JBQTVDLFdBQVc7dUJBQUMscUJBQXFCO2dCQUNLLFlBQVk7c0JBQWxELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNOLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNHLE1BQU07c0JBQXJDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNBLElBQUk7c0JBQWpDLFdBQVc7dUJBQUMsZUFBZTtnQkFDQyxHQUFHO3NCQUEvQixXQUFXO3VCQUFDLGNBQWM7Z0JBSzNCLE9BQU87c0JBRk4sV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsV0FBVzt1QkFBQyxjQUFjO2dCQUkzQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBtYXAsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzaXplQWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXNpemUtYWN0aW9uJztcbmltcG9ydCB7IFJFU0laQUJMRSB9IGZyb20gJy4uL3Byb3ZpZGVycy9yZXNpemFibGUucHJvdmlkZXInO1xuaW1wb3J0IHsgUmVzaXphYmxlUG9zaXRpb25pbmcgfSBmcm9tICcuLi90eXBlcy9wb3NpdGlvbmluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXJlc2l6YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXNpemFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBSRVNJWkFCTEUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJzUmVzaXphYmxlQ29tcG9uZW50KSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNSZXNpemFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5ob3N0UG9zaXRpb24kID0gdGhpcy5wb3NpdGlvbmluZyQucGlwZShtYXAoKHBvc2l0aW9uaW5nKSA9PiB7XG4gICAgICBzd2l0Y2ggKHBvc2l0aW9uaW5nKSB7XG4gICAgICAgIGNhc2UgJ2Fic29sdXRlJzogcmV0dXJuICdwb3NpdGlvbi1hYnNvbHV0ZSc7XG4gICAgICAgIGNhc2UgJ2lubGluZSc6IHJldHVybiAncG9zaXRpb24tcmVsYXRpdmUnO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHRoaXMud3JhcHBlclBvc2l0aW9uJCA9IHRoaXMucG9zaXRpb25pbmckLnBpcGUobWFwKChwb3NpdGlvbmluZykgPT4ge1xuICAgICAgc3dpdGNoIChwb3NpdGlvbmluZykge1xuICAgICAgICBjYXNlICdhYnNvbHV0ZSc6IHJldHVybiBbJ3Bvc2l0aW9uLXJlbGF0aXZlJywgJ2gtMTAwJ11cbiAgICAgICAgY2FzZSAnaW5saW5lJzogcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIHRoaXMuaG9zdFBvc2l0aW9uJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZShob3N0UG9zaXRpb24gPT4gdGhpcy5ob3N0Q2xhc3MgPSBob3N0UG9zaXRpb24pO1xuICB9XG5cbiAgcmVzaXplQWN0aW9uPzogUmVzaXplQWN0aW9uO1xuICBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgaG9zdFBvc2l0aW9uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB3cmFwcGVyUG9zaXRpb24kOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICAvLyNyZWdpb24gUG9zaXRpb25pbmdcbiAgcG9zaXRpb25pbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXNpemFibGVQb3NpdGlvbmluZz4oJ2lubGluZScpO1xuICBwdWJsaWMgZ2V0IHBvc2l0aW9uaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uaW5nJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHBvc2l0aW9uaW5nKHZhbHVlOiBSZXNpemFibGVQb3NpdGlvbmluZykge1xuICAgIHRoaXMucG9zaXRpb25pbmckLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWxlZnQucHgnKSBtYXJnaW5MZWZ0PzogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi1yaWdodC5weCcpIG1hcmdpblJpZ2h0PzogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1hcmdpbi10b3AucHgnKSBtYXJnaW5Ub3A/OiBudW1iZXI7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWFyZ2luLWJvdHRvbS5weCcpIG1hcmdpbkJvdHRvbT86IG51bWJlcjtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpIHdpZHRoPzogbnVtYmVyO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpIGhlaWdodD86IG51bWJlcjtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0LnB4JykgbGVmdD86IG51bWJlcjtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AucHgnKSB0b3A/OiBudW1iZXI7XG4gIFxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1ibG9jaycpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYm9yZGVyJylcbiAgY2xhc3NlcyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGhvc3RDbGFzczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJ3cmFwcGVyUG9zaXRpb24kIHwgYXN5bmNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLW53LXJlc2l6ZVwiIFtic1Jlc2l6ZUdseXBoXT1cIlsndG9wJywgJ3N0YXJ0J11cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLW4tcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWyd0b3AnXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItbmUtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWyd0b3AnLCAnZW5kJ11cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLWUtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydlbmQnXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3Itc2UtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydib3R0b20nLCAnZW5kJ11cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXMtcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydib3R0b20nXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3Itc3ctcmVzaXplXCIgW2JzUmVzaXplR2x5cGhdPVwiWydib3R0b20nLCAnc3RhcnQnXVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjdXJzb3Itdy1yZXNpemVcIiBbYnNSZXNpemVHbHlwaF09XCJbJ3N0YXJ0J11cIj48L2Rpdj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
@@ -35,13 +35,15 @@ export class BsResizeGlyphDirective {
35
35
  this.onPointerUp();
36
36
  }
37
37
  onPointerDown() {
38
- let action = {};
38
+ let action = {
39
+ positioning: this.resizable.positioning
40
+ };
39
41
  const rect = this.resizable.element.nativeElement.getBoundingClientRect();
40
42
  const styles = window.getComputedStyle(this.resizable.element.nativeElement);
41
- const marginLeft = parseFloat(styles.marginLeft.slice(0, -2));
42
- const marginRight = parseFloat(styles.marginRight.slice(0, -2));
43
- const marginTop = parseFloat(styles.marginTop.slice(0, -2));
44
- const marginBottom = parseFloat(styles.marginBottom.slice(0, -2));
43
+ const marginLeft = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginLeft.slice(0, -2));
44
+ const marginRight = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginRight.slice(0, -2));
45
+ const marginTop = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginTop.slice(0, -2));
46
+ const marginBottom = (this.resizable.positioning === 'absolute') ? undefined : parseFloat(styles.marginBottom.slice(0, -2));
45
47
  if (this.positions?.includes('start')) {
46
48
  action = {
47
49
  ...action,
@@ -88,39 +90,83 @@ export class BsResizeGlyphDirective {
88
90
  }
89
91
  this.resizable.resizeAction = action;
90
92
  this.activeClass = true;
91
- console.log('resize', action);
92
93
  }
93
94
  onPointerMove(ev) {
94
95
  if (this.resizable.resizeAction && !this.isBusy) {
95
96
  ev.preventDefault();
96
97
  this.isBusy = true;
97
98
  const rct = this.resizable.element.nativeElement.getBoundingClientRect();
98
- // console.log('position', ev);
99
99
  if (this.resizable.resizeAction.start && this.positions?.includes('end')) {
100
100
  // Right glyph
101
- const initalMargin = this.resizable.marginRight ?? 0;
102
101
  const x = (ev.clientX < rct.left + 10) ? rct.left + 10 : ev.clientX;
103
- this.resizable.marginRight = initalMargin - (x - rct.right);
102
+ switch (this.resizable.positioning) {
103
+ case 'inline':
104
+ {
105
+ const initalMargin = this.resizable.marginRight ?? 0;
106
+ this.resizable.marginRight = initalMargin - (x - rct.right);
107
+ }
108
+ break;
109
+ case 'absolute':
110
+ {
111
+ this.resizable.width = x - rct.left;
112
+ }
113
+ break;
114
+ }
104
115
  }
105
116
  else if (this.resizable.resizeAction.end && this.positions?.includes('start')) {
106
117
  // Left glyph
107
- const initalMargin = this.resizable.marginLeft ?? 0;
108
118
  const x = (ev.clientX > rct.right - 10) ? rct.right - 10 : ev.clientX;
109
- this.resizable.marginLeft = initalMargin + x - rct.left;
119
+ switch (this.resizable.positioning) {
120
+ case 'inline':
121
+ {
122
+ const initalMargin = this.resizable.marginLeft ?? 0;
123
+ this.resizable.marginLeft = initalMargin + x - rct.left;
124
+ }
125
+ break;
126
+ case 'absolute':
127
+ {
128
+ this.resizable.left = x;
129
+ this.resizable.width = this.resizable.resizeAction.end.edge - x;
130
+ }
131
+ break;
132
+ }
110
133
  }
111
134
  if (this.resizable.resizeAction.top && this.positions?.includes('bottom')) {
112
135
  // Bottom glyph
113
- const initalMargin = this.resizable.marginBottom ?? 0;
114
136
  const y = (ev.clientY < rct.top + 10) ? rct.top + 10 : ev.clientY;
115
- this.resizable.height = y - rct.top;
116
- this.resizable.marginBottom = initalMargin - (y - rct.bottom);
137
+ switch (this.resizable.positioning) {
138
+ case 'inline':
139
+ {
140
+ const initalMargin = this.resizable.marginBottom ?? 0;
141
+ this.resizable.height = y - rct.top;
142
+ this.resizable.marginBottom = initalMargin - (y - rct.bottom);
143
+ }
144
+ break;
145
+ case 'absolute':
146
+ {
147
+ this.resizable.height = y - rct.top;
148
+ }
149
+ break;
150
+ }
117
151
  }
118
152
  else if (this.resizable.resizeAction.bottom && this.positions?.includes('top')) {
119
153
  // Top glyph
120
- const initalMargin = this.resizable.marginTop ?? 0;
121
154
  const y = (ev.clientY > rct.bottom - 10) ? rct.bottom - 10 : ev.clientY;
122
- this.resizable.height = rct.bottom - y;
123
- this.resizable.marginTop = initalMargin + y - rct.top;
155
+ switch (this.resizable.positioning) {
156
+ case 'inline':
157
+ {
158
+ const initalMargin = this.resizable.marginTop ?? 0;
159
+ this.resizable.height = rct.bottom - y;
160
+ this.resizable.marginTop = initalMargin + y - rct.top;
161
+ }
162
+ break;
163
+ case 'absolute':
164
+ {
165
+ this.resizable.top = y;
166
+ this.resizable.height = this.resizable.resizeAction.bottom.edge - y;
167
+ }
168
+ break;
169
+ }
124
170
  }
125
171
  this.isBusy = false;
126
172
  }
@@ -170,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
170
216
  type: HostListener,
171
217
  args: ['touchend', ['$event']]
172
218
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWdseXBoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9yZXNpemUtZ2x5cGgvcmVzaXplLWdseXBoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFLMUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUs1RCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQStCLFNBQWM7UUFJdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUE4RnpDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFuR3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFNRCxJQUFhLGFBQWEsQ0FBQyxLQUFpQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVzQyxXQUFXLENBQUMsRUFBYztRQUMvRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFFdUMsWUFBWSxDQUFDLEVBQWM7UUFDakUsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRStDLFdBQVcsQ0FBQyxFQUFjO1FBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUs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QVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFDRyxXQUFXO3NCQUF2QyxXQUFXO3VCQUFDLGNBQWM7Z0JBRWQsYUFBYTtzQkFBekIsS0FBSztnQkFJaUMsV0FBVztzQkFBakQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBS0csWUFBWTtzQkFBbkQsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBS1UsV0FBVztzQkFBMUQsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJUCxXQUFXO3NCQUFqRCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNUyxTQUFTO3NCQUF0RCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlOLFVBQVU7c0JBQS9DLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBmb3J3YXJkUmVmLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHR5cGUgeyBCc1Jlc2l6YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3Jlc2l6YWJsZS9yZXNpemFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc2l6ZUFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVzaXplLWFjdGlvbic7XG5pbXBvcnQgeyBQb2ludGVyRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnRlci1kYXRhJztcbmltcG9ydCB7IFJFU0laQUJMRSB9IGZyb20gJy4uL3Byb3ZpZGVycy9yZXNpemFibGUucHJvdmlkZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNSZXNpemVHbHlwaF0nXG59KVxuZXhwb3J0IGNsYXNzIEJzUmVzaXplR2x5cGhEaXJlY3RpdmUge1xuXG4gIHJlc2l6YWJsZTogQnNSZXNpemFibGVDb21wb25lbnRcbiAgY29uc3RydWN0b3IoQEluamVjdChSRVNJWkFCTEUpIHJlc2l6YWJsZTogYW55KSB7XG4gICAgdGhpcy5yZXNpemFibGUgPSByZXNpemFibGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcG9zaXRpb25zID0gJyc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZ2x5cGgnKSBnbHlwaENsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hY3RpdmUnKSBhY3RpdmVDbGFzcyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBic1Jlc2l6ZUdseXBoKHZhbHVlOiBQb3NpdGlvbltdKSB7XG4gICAgdGhpcy5wb3NpdGlvbnMgPSB2YWx1ZS5qb2luKCcgJyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKSBvbk1vdXNlRG93bihldjogTW91c2VFdmVudCkge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duKClcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJyRldmVudCddKSBvblRvdWNoU3RhcnQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMub25Qb2ludGVyRG93bigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSkgb25Nb3VzZU1vdmUoZXY6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uUG9pbnRlck1vdmUoeyBjbGllbnRYOiBldi5jbGllbnRYLCBjbGllbnRZOiBldi5jbGllbnRZLCBwcmV2ZW50RGVmYXVsdDogKCkgPT4gZXYucHJldmVudERlZmF1bHQoKSB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNobW92ZScsIFsnJGV2ZW50J10pIG9uVG91Y2hNb3ZlKGV2OiBUb3VjaEV2ZW50KSB7XG4gICAgaWYgKGV2LnRvdWNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLm9uUG9pbnRlck1vdmUoeyBjbGllbnRYOiBldi50b3VjaGVzWzBdLmNsaWVudFgsIGNsaWVudFk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSwgcHJldmVudERlZmF1bHQ6ICgpID0+IGV2LnByZXZlbnREZWZhdWx0KCkgfSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pIG9uTW91c2VVcChldjogRXZlbnQpIHtcbiAgICB0aGlzLm9uUG9pbnRlclVwKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcsIFsnJGV2ZW50J10pIG9uVG91Y2hFbmQoZXY6IEV2ZW50KSB7XG4gICAgdGhpcy5vblBvaW50ZXJVcCgpO1xuICB9XG5cbiAgb25Qb2ludGVyRG93bigpIHtcbiAgICBsZXQgYWN0aW9uOiBSZXNpemVBY3Rpb24gPSB7fTtcbiAgICBjb25zdCByZWN0ID0gdGhpcy5yZXNpemFibGUuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVzaXphYmxlLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cbiAgICBjb25zdCBtYXJnaW5MZWZ0ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luTGVmdC5zbGljZSgwLCAtMikpO1xuICAgIGNvbnN0IG1hcmdpblJpZ2h0ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luUmlnaHQuc2xpY2UoMCwgLTIpKTtcbiAgICBjb25zdCBtYXJnaW5Ub3AgPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Ub3Auc2xpY2UoMCwgLTIpKTtcbiAgICBjb25zdCBtYXJnaW5Cb3R0b20gPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Cb3R0b20uc2xpY2UoMCwgLTIpKTtcblxuICAgIGlmICh0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ3N0YXJ0JykpIHtcbiAgICAgIGFjdGlvbiA9IHtcbiAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICBlbmQ6IHtcbiAgICAgICAgICBlZGdlOiByZWN0LnJpZ2h0LFxuICAgICAgICAgIHNpemU6IHJlY3Qud2lkdGgsXG4gICAgICAgICAgbWFyZ2luOiBtYXJnaW5SaWdodCxcbiAgICAgICAgICBkcmFnTWFyZ2luOiBtYXJnaW5MZWZ0XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5wb3NpdGlvbnM/LmluY2x1ZGVzKCdlbmQnKSkge1xuICAgICAgYWN0aW9uID0ge1xuICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgIHN0YXJ0OiB7XG4gICAgICAgICAgZWRnZTogcmVjdC5sZWZ0LFxuICAgICAgICAgIHNpemU6IHJlY3Qud2lkdGgsXG4gICAgICAgICAgbWFyZ2luOiBtYXJnaW5MZWZ0LFxuICAgICAgICAgIGRyYWdNYXJnaW46IG1hcmdpblJpZ2h0XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5wb3NpdGlvbnM/LmluY2x1ZGVzKCd0b3AnKSkge1xuICAgICAgYWN0aW9uID0ge1xuICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgIGJvdHRvbToge1xuICAgICAgICAgIGVkZ2U6IHJlY3QuYm90dG9tLFxuICAgICAgICAgIHNpemU6IHJlY3QuaGVpZ2h0LFxuICAgICAgICAgIG1hcmdpbjogbWFyZ2luQm90dG9tLFxuICAgICAgICAgIGRyYWdNYXJnaW46IG1hcmdpblRvcFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHRoaXMucG9zaXRpb25zPy5pbmNsdWRlcygnYm90dG9tJykpIHtcbiAgICAgIGFjdGlvbiA9IHtcbiAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICB0b3A6IHtcbiAgICAgICAgICBlZGdlOiByZWN0LnRvcCxcbiAgICAgICAgICBzaXplOiByZWN0LmhlaWdodCxcbiAgICAgICAgICBtYXJnaW46IG1hcmdpblRvcCxcbiAgICAgICAgICBkcmFnTWFyZ2luOiBtYXJnaW5Cb3R0b21cbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uID0gYWN0aW9uO1xuICAgIHRoaXMuYWN0aXZlQ2xhc3MgPSB0cnVlO1xuICAgIGNvbnNvbGUubG9nKCdyZXNpemUnLCBhY3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0J1c3kgPSBmYWxzZTtcbiAgb25Qb2ludGVyTW92ZShldjogUG9pbnRlckRhdGEpIHtcbiAgICBpZiAodGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uICYmICF0aGlzLmlzQnVzeSkge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuaXNCdXN5ID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJjdCA9IHRoaXMucmVzaXphYmxlLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdwb3NpdGlvbicsIGV2KTtcbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZS5yZXNpemVBY3Rpb24uc3RhcnQgJiYgdGhpcy5wb3NpdGlvbnM/LmluY2x1ZGVzKCdlbmQnKSkge1xuICAgICAgICAvLyBSaWdodCBnbHlwaFxuICAgICAgICBjb25zdCBpbml0YWxNYXJnaW4gPSB0aGlzLnJlc2l6YWJsZS5tYXJnaW5SaWdodCA/PyAwO1xuICAgICAgICBjb25zdCB4ID0gKGV2LmNsaWVudFggPCByY3QubGVmdCArIDEwKSA/IHJjdC5sZWZ0ICsgMTAgOiBldi5jbGllbnRYO1xuICAgICAgICB0aGlzLnJlc2l6YWJsZS5tYXJnaW5SaWdodCA9IGluaXRhbE1hcmdpbiAtICh4IC0gcmN0LnJpZ2h0KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uLmVuZCAmJiB0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ3N0YXJ0JykpIHtcbiAgICAgICAgLy8gTGVmdCBnbHlwaFxuICAgICAgICBjb25zdCBpbml0YWxNYXJnaW4gPSB0aGlzLnJlc2l6YWJsZS5tYXJnaW5MZWZ0ID8/IDA7XG4gICAgICAgIGNvbnN0IHggPSAoZXYuY2xpZW50WCA+IHJjdC5yaWdodCAtIDEwKSA/IHJjdC5yaWdodCAtIDEwIDogZXYuY2xpZW50WDtcbiAgICAgICAgdGhpcy5yZXNpemFibGUubWFyZ2luTGVmdCA9IGluaXRhbE1hcmdpbiArIHggLSByY3QubGVmdDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucmVzaXphYmxlLnJlc2l6ZUFjdGlvbi50b3AgJiYgdGhpcy5wb3NpdGlvbnM/LmluY2x1ZGVzKCdib3R0b20nKSkge1xuICAgICAgICAvLyBCb3R0b20gZ2x5cGhcbiAgICAgICAgY29uc3QgaW5pdGFsTWFyZ2luID0gdGhpcy5yZXNpemFibGUubWFyZ2luQm90dG9tID8/IDA7XG4gICAgICAgIGNvbnN0IHkgPSAoZXYuY2xpZW50WSA8IHJjdC50b3AgKyAxMCkgPyByY3QudG9wICsgMTAgOiBldi5jbGllbnRZO1xuICAgICAgICB0aGlzLnJlc2l6YWJsZS5oZWlnaHQgPSB5IC0gcmN0LnRvcDtcbiAgICAgICAgdGhpcy5yZXNpemFibGUubWFyZ2luQm90dG9tID0gaW5pdGFsTWFyZ2luIC0gKHkgLSByY3QuYm90dG9tKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uLmJvdHRvbSAmJiB0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ3RvcCcpKSB7XG4gICAgICAgIC8vIFRvcCBnbHlwaFxuICAgICAgICBjb25zdCBpbml0YWxNYXJnaW4gPSB0aGlzLnJlc2l6YWJsZS5tYXJnaW5Ub3AgPz8gMDtcbiAgICAgICAgY29uc3QgeSA9IChldi5jbGllbnRZID4gcmN0LmJvdHRvbSAtIDEwKSA/IHJjdC5ib3R0b20gLSAxMCA6IGV2LmNsaWVudFk7XG4gICAgICAgIHRoaXMucmVzaXphYmxlLmhlaWdodCA9IHJjdC5ib3R0b20gLSB5O1xuICAgICAgICB0aGlzLnJlc2l6YWJsZS5tYXJnaW5Ub3AgPSBpbml0YWxNYXJnaW4gKyB5IC0gcmN0LnRvcDtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNCdXN5ID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIFxuICBvblBvaW50ZXJVcCgpIHtcbiAgICB0aGlzLnJlc2l6YWJsZS5yZXNpemVBY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5hY3RpdmVDbGFzcyA9IGZhbHNlO1xuICB9XG59XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWdseXBoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmVzaXphYmxlL3NyYy9yZXNpemUtZ2x5cGgvcmVzaXplLWdseXBoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFLMUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUs1RCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQStCLFNBQWM7UUFJdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUErRnpDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFwR3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFNRCxJQUFhLGFBQWEsQ0FBQyxLQUFpQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVzQyxXQUFXLENBQUMsRUFBYztRQUMvRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFFdUMsWUFBWSxDQUFDLEVBQWM7UUFDakUsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRStDLFdBQVcsQ0FBQyxFQUFjO1FBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUs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Q0Y7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7O21IQTVLVSxzQkFBc0Isa0JBR2IsU0FBUzt1R0FIbEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OzBCQUljLE1BQU07MkJBQUMsU0FBUzs0Q0FJUCxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBQ1EsVUFBVTtzQkFBckMsV0FBVzt1QkFBQyxhQUFhO2dCQUNHLFdBQVc7c0JBQXZDLFdBQVc7dUJBQUMsY0FBYztnQkFFZCxhQUFhO3NCQUF6QixLQUFLO2dCQUlpQyxXQUFXO3NCQUFqRCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLRyxZQUFZO3NCQUFuRCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLVSxXQUFXO3NCQUExRCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlQLFdBQVc7c0JBQWpELFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1TLFNBQVM7c0JBQXRELFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBSU4sVUFBVTtzQkFBL0MsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgdHlwZSB7IEJzUmVzaXphYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzaXphYmxlL3Jlc2l6YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzaXplQWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXNpemUtYWN0aW9uJztcbmltcG9ydCB7IFBvaW50ZXJEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludGVyLWRhdGEnO1xuaW1wb3J0IHsgUkVTSVpBQkxFIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3Jlc2l6YWJsZS5wcm92aWRlcic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic1Jlc2l6ZUdseXBoXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNSZXNpemVHbHlwaERpcmVjdGl2ZSB7XG5cbiAgcmVzaXphYmxlOiBCc1Jlc2l6YWJsZUNvbXBvbmVudFxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFJFU0laQUJMRSkgcmVzaXphYmxlOiBhbnkpIHtcbiAgICB0aGlzLnJlc2l6YWJsZSA9IHJlc2l6YWJsZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBwb3NpdGlvbnMgPSAnJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5nbHlwaCcpIGdseXBoQ2xhc3MgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGFjdGl2ZUNsYXNzID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IGJzUmVzaXplR2x5cGgodmFsdWU6IFBvc2l0aW9uW10pIHtcbiAgICB0aGlzLnBvc2l0aW9ucyA9IHZhbHVlLmpvaW4oJyAnKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pIG9uTW91c2VEb3duKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd24oKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnJGV2ZW50J10pIG9uVG91Y2hTdGFydChldjogVG91Y2hFdmVudCkge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKSBvbk1vdXNlTW92ZShldjogTW91c2VFdmVudCkge1xuICAgIHRoaXMub25Qb2ludGVyTW92ZSh7IGNsaWVudFg6IGV2LmNsaWVudFgsIGNsaWVudFk6IGV2LmNsaWVudFksIHByZXZlbnREZWZhdWx0OiAoKSA9PiBldi5wcmV2ZW50RGVmYXVsdCgpIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2htb3ZlJywgWyckZXZlbnQnXSkgb25Ub3VjaE1vdmUoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICBpZiAoZXYudG91Y2hlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMub25Qb2ludGVyTW92ZSh7IGNsaWVudFg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCwgY2xpZW50WTogZXYudG91Y2hlc1swXS5jbGllbnRZLCBwcmV2ZW50RGVmYXVsdDogKCkgPT4gZXYucHJldmVudERlZmF1bHQoKSB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSkgb25Nb3VzZVVwKGV2OiBFdmVudCkge1xuICAgIHRoaXMub25Qb2ludGVyVXAoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kJywgWyckZXZlbnQnXSkgb25Ub3VjaEVuZChldjogRXZlbnQpIHtcbiAgICB0aGlzLm9uUG9pbnRlclVwKCk7XG4gIH1cblxuICBvblBvaW50ZXJEb3duKCkge1xuICAgIGxldCBhY3Rpb246IFJlc2l6ZUFjdGlvbiA9IHtcbiAgICAgIHBvc2l0aW9uaW5nOiB0aGlzLnJlc2l6YWJsZS5wb3NpdGlvbmluZ1xuICAgIH07XG4gICAgY29uc3QgcmVjdCA9IHRoaXMucmVzaXphYmxlLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJlc2l6YWJsZS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgY29uc3QgbWFyZ2luTGVmdCA9ICh0aGlzLnJlc2l6YWJsZS5wb3NpdGlvbmluZyA9PT0gJ2Fic29sdXRlJykgPyB1bmRlZmluZWQgOiBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5MZWZ0LnNsaWNlKDAsIC0yKSk7XG4gICAgY29uc3QgbWFyZ2luUmlnaHQgPSAodGhpcy5yZXNpemFibGUucG9zaXRpb25pbmcgPT09ICdhYnNvbHV0ZScpID8gdW5kZWZpbmVkIDogcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luUmlnaHQuc2xpY2UoMCwgLTIpKTtcbiAgICBjb25zdCBtYXJnaW5Ub3AgPSAodGhpcy5yZXNpemFibGUucG9zaXRpb25pbmcgPT09ICdhYnNvbHV0ZScpID8gdW5kZWZpbmVkIDogcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luVG9wLnNsaWNlKDAsIC0yKSk7XG4gICAgY29uc3QgbWFyZ2luQm90dG9tID0gKHRoaXMucmVzaXphYmxlLnBvc2l0aW9uaW5nID09PSAnYWJzb2x1dGUnKSA/IHVuZGVmaW5lZCA6IHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpbkJvdHRvbS5zbGljZSgwLCAtMikpO1xuXG4gICAgaWYgKHRoaXMucG9zaXRpb25zPy5pbmNsdWRlcygnc3RhcnQnKSkge1xuICAgICAgYWN0aW9uID0ge1xuICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgIGVuZDoge1xuICAgICAgICAgIGVkZ2U6IHJlY3QucmlnaHQsXG4gICAgICAgICAgc2l6ZTogcmVjdC53aWR0aCxcbiAgICAgICAgICBtYXJnaW46IG1hcmdpblJpZ2h0LFxuICAgICAgICAgIGRyYWdNYXJnaW46IG1hcmdpbkxlZnRcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ2VuZCcpKSB7XG4gICAgICBhY3Rpb24gPSB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgc3RhcnQ6IHtcbiAgICAgICAgICBlZGdlOiByZWN0LmxlZnQsXG4gICAgICAgICAgc2l6ZTogcmVjdC53aWR0aCxcbiAgICAgICAgICBtYXJnaW46IG1hcmdpbkxlZnQsXG4gICAgICAgICAgZHJhZ01hcmdpbjogbWFyZ2luUmlnaHRcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ3RvcCcpKSB7XG4gICAgICBhY3Rpb24gPSB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgYm90dG9tOiB7XG4gICAgICAgICAgZWRnZTogcmVjdC5ib3R0b20sXG4gICAgICAgICAgc2l6ZTogcmVjdC5oZWlnaHQsXG4gICAgICAgICAgbWFyZ2luOiBtYXJnaW5Cb3R0b20sXG4gICAgICAgICAgZHJhZ01hcmdpbjogbWFyZ2luVG9wXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5wb3NpdGlvbnM/LmluY2x1ZGVzKCdib3R0b20nKSkge1xuICAgICAgYWN0aW9uID0ge1xuICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgIHRvcDoge1xuICAgICAgICAgIGVkZ2U6IHJlY3QudG9wLFxuICAgICAgICAgIHNpemU6IHJlY3QuaGVpZ2h0LFxuICAgICAgICAgIG1hcmdpbjogbWFyZ2luVG9wLFxuICAgICAgICAgIGRyYWdNYXJnaW46IG1hcmdpbkJvdHRvbVxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2l6YWJsZS5yZXNpemVBY3Rpb24gPSBhY3Rpb247XG4gICAgdGhpcy5hY3RpdmVDbGFzcyA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGlzQnVzeSA9IGZhbHNlO1xuICBvblBvaW50ZXJNb3ZlKGV2OiBQb2ludGVyRGF0YSkge1xuICAgIGlmICh0aGlzLnJlc2l6YWJsZS5yZXNpemVBY3Rpb24gJiYgIXRoaXMuaXNCdXN5KSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5pc0J1c3kgPSB0cnVlO1xuICAgICAgY29uc3QgcmN0ID0gdGhpcy5yZXNpemFibGUuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgaWYgKHRoaXMucmVzaXphYmxlLnJlc2l6ZUFjdGlvbi5zdGFydCAmJiB0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ2VuZCcpKSB7XG4gICAgICAgIC8vIFJpZ2h0IGdseXBoXG4gICAgICAgIGNvbnN0IHggPSAoZXYuY2xpZW50WCA8IHJjdC5sZWZ0ICsgMTApID8gcmN0LmxlZnQgKyAxMCA6IGV2LmNsaWVudFg7XG4gICAgICAgIHN3aXRjaCAodGhpcy5yZXNpemFibGUucG9zaXRpb25pbmcpIHtcbiAgICAgICAgICBjYXNlICdpbmxpbmUnOiB7XG4gICAgICAgICAgICBjb25zdCBpbml0YWxNYXJnaW4gPSB0aGlzLnJlc2l6YWJsZS5tYXJnaW5SaWdodCA/PyAwO1xuICAgICAgICAgICAgdGhpcy5yZXNpemFibGUubWFyZ2luUmlnaHQgPSBpbml0YWxNYXJnaW4gLSAoeCAtIHJjdC5yaWdodCk7XG4gICAgICAgICAgfSBicmVhaztcbiAgICAgICAgICBjYXNlICdhYnNvbHV0ZSc6IHtcbiAgICAgICAgICAgIHRoaXMucmVzaXphYmxlLndpZHRoID0geCAtIHJjdC5sZWZ0O1xuICAgICAgICAgIH0gYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uLmVuZCAmJiB0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ3N0YXJ0JykpIHtcbiAgICAgICAgLy8gTGVmdCBnbHlwaFxuICAgICAgICBjb25zdCB4ID0gKGV2LmNsaWVudFggPiByY3QucmlnaHQgLSAxMCkgPyByY3QucmlnaHQgLSAxMCA6IGV2LmNsaWVudFg7XG4gICAgICAgIHN3aXRjaCAodGhpcy5yZXNpemFibGUucG9zaXRpb25pbmcpIHtcbiAgICAgICAgICBjYXNlICdpbmxpbmUnOiB7XG4gICAgICAgICAgICBjb25zdCBpbml0YWxNYXJnaW4gPSB0aGlzLnJlc2l6YWJsZS5tYXJnaW5MZWZ0ID8/IDA7XG4gICAgICAgICAgICB0aGlzLnJlc2l6YWJsZS5tYXJnaW5MZWZ0ID0gaW5pdGFsTWFyZ2luICsgeCAtIHJjdC5sZWZ0O1xuICAgICAgICAgIH0gYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYWJzb2x1dGUnOiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6YWJsZS5sZWZ0ID0geDtcbiAgICAgICAgICAgIHRoaXMucmVzaXphYmxlLndpZHRoID0gdGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uLmVuZC5lZGdlIC0geDtcbiAgICAgICAgICB9IGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZS5yZXNpemVBY3Rpb24udG9wICYmIHRoaXMucG9zaXRpb25zPy5pbmNsdWRlcygnYm90dG9tJykpIHtcbiAgICAgICAgLy8gQm90dG9tIGdseXBoXG4gICAgICAgIGNvbnN0IHkgPSAoZXYuY2xpZW50WSA8IHJjdC50b3AgKyAxMCkgPyByY3QudG9wICsgMTAgOiBldi5jbGllbnRZO1xuICAgICAgICBzd2l0Y2ggKHRoaXMucmVzaXphYmxlLnBvc2l0aW9uaW5nKSB7XG4gICAgICAgICAgY2FzZSAnaW5saW5lJzoge1xuICAgICAgICAgICAgY29uc3QgaW5pdGFsTWFyZ2luID0gdGhpcy5yZXNpemFibGUubWFyZ2luQm90dG9tID8/IDA7XG4gICAgICAgICAgICB0aGlzLnJlc2l6YWJsZS5oZWlnaHQgPSB5IC0gcmN0LnRvcDtcbiAgICAgICAgICAgIHRoaXMucmVzaXphYmxlLm1hcmdpbkJvdHRvbSA9IGluaXRhbE1hcmdpbiAtICh5IC0gcmN0LmJvdHRvbSk7XG4gICAgICAgICAgfSBicmVhaztcbiAgICAgICAgICBjYXNlICdhYnNvbHV0ZSc6IHtcbiAgICAgICAgICAgIHRoaXMucmVzaXphYmxlLmhlaWdodCA9IHkgLSByY3QudG9wO1xuICAgICAgICAgIH0gYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXNpemFibGUucmVzaXplQWN0aW9uLmJvdHRvbSAmJiB0aGlzLnBvc2l0aW9ucz8uaW5jbHVkZXMoJ3RvcCcpKSB7XG4gICAgICAgIC8vIFRvcCBnbHlwaFxuICAgICAgICBjb25zdCB5ID0gKGV2LmNsaWVudFkgPiByY3QuYm90dG9tIC0gMTApID8gcmN0LmJvdHRvbSAtIDEwIDogZXYuY2xpZW50WTtcbiAgICAgICAgc3dpdGNoICh0aGlzLnJlc2l6YWJsZS5wb3NpdGlvbmluZykge1xuICAgICAgICAgIGNhc2UgJ2lubGluZSc6IHtcbiAgICAgICAgICAgIGNvbnN0IGluaXRhbE1hcmdpbiA9IHRoaXMucmVzaXphYmxlLm1hcmdpblRvcCA/PyAwO1xuICAgICAgICAgICAgdGhpcy5yZXNpemFibGUuaGVpZ2h0ID0gcmN0LmJvdHRvbSAtIHk7XG4gICAgICAgICAgICB0aGlzLnJlc2l6YWJsZS5tYXJnaW5Ub3AgPSBpbml0YWxNYXJnaW4gKyB5IC0gcmN0LnRvcDtcbiAgICAgICAgICB9IGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2Fic29sdXRlJzoge1xuICAgICAgICAgICAgdGhpcy5yZXNpemFibGUudG9wID0geTtcbiAgICAgICAgICAgIHRoaXMucmVzaXphYmxlLmhlaWdodCA9IHRoaXMucmVzaXphYmxlLnJlc2l6ZUFjdGlvbi5ib3R0b20uZWRnZSAtIHk7XG4gICAgICAgICAgfSBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5pc0J1c3kgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgXG4gIG9uUG9pbnRlclVwKCkge1xuICAgIHRoaXMucmVzaXphYmxlLnJlc2l6ZUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFjdGl2ZUNsYXNzID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './positioning';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3Jlc2l6YWJsZS9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uaW5nJzsiXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb25pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3Jlc2l6YWJsZS9zcmMvdHlwZXMvcG9zaXRpb25pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJlc2l6YWJsZVBvc2l0aW9uaW5nID0gJ2Fic29sdXRlJyB8ICdpbmxpbmUnOyJdfQ==
@@ -127,7 +127,7 @@ class BsDockPaneRendererComponent {
127
127
  }
128
128
  }
129
129
  BsDockPaneRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPaneRendererComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
130
- BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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", "allowDragDrop"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i5.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: i6.BsResizableComponent, selector: "bs-resizable" }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
130
+ BsDockPaneRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: { layout: "layout" }, ngImport: i0, template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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", "allowDragDrop"] }, { kind: "component", type: i5.BsTabPageComponent, selector: "bs-tab-page", inputs: ["disabled"] }, { kind: "directive", type: i5.BsTabPageHeaderDirective, selector: "[bsTabPageHeader]" }, { kind: "component", type: i6.BsResizableComponent, selector: "bs-resizable", inputs: ["positioning"] }, { kind: "component", type: BsDockPaneRendererComponent, selector: "bs-dock-pane-renderer", inputs: ["layout"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
131
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BsDockPaneRendererComponent, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'bs-dock-pane-renderer', template: "<!-- <ng-content></ng-content> -->\n<ng-container [bsInstanceof]=\"layout$ | async\">\n <div *bsInstanceofCase=\"BsDocumentHostType; let documentHost\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>", styles: [".dock-tabs{background:#F3F3F3}:host ::ng-deep .tab-page-content{background:#FFF;min-height:100%}\n"] }]
@@ -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/panes/floating-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/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit, ViewChild } 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() {\n // this.contentPortal = new DomPortal(this.element.nativeElement);\n }\n\n @ViewChild('headerElement') headerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('contentElement') contentElement!: ElementRef<HTMLDivElement>;\n headerPortal?: DomPortal;\n contentPortal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n // console.log('attach dockpanel', this.element.nativeElement);\n this.headerPortal = new DomPortal(this.headerElement.nativeElement);\n this.contentPortal = new DomPortal(this.contentElement.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsContentPane } from \"./content-pane\";\nimport { 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: BsContentPane[] = [];\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 { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n constructor(data?: Partial<BsFloatingPane>) {\n Object.assign(this, data);\n }\n \n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","import { Component, ElementRef, Input } from '@angular/core';\nimport { DomPortal } from '@angular/cdk/portal';\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';\nimport { BsFloatingPane } from '../panes/floating-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(element: ElementRef) {\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 this.portal = new DomPortal(element);\n }\n\n portal: DomPortal;\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n readonly BsFloatingPaneType = BsFloatingPane;\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\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, ViewChildren, Input, OnDestroy, QueryList, HostBinding } 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';\nimport { BsDockPaneRendererComponent } from '../dock-pane-renderer/dock-pane-renderer.component';\nimport { Overlay } from '@angular/cdk/overlay';\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(private overlay: Overlay) {\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 this.floating$.pipe(takeUntil(this.destroyed$))\n .subscribe((floating) => {\n floating.forEach((panel) => {\n const overlayRef = this.overlay.create({});\n overlayRef.attach(panel.portal);\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 floating$ = new BehaviorSubject<BsDockPaneRendererComponent[]>([]);\n @ViewChildren('floating') set floatingPanes(value: QueryList<BsDockPaneRendererComponent>) {\n // value.changes.pipe(takeUntil(this.destroyed$)).subscribe((changes) => console.log('floatingPanes', changes));\n this.floating$.next(value.toArray());\n }\n\n @HostBinding('class.position-absolute')\n positionAbsolute = true;\n\n @HostBinding('style.top')\n @HostBinding('style.left')\n @HostBinding('style.bottom')\n @HostBinding('style.right')\n positionPx = 0;\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\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { BsDockComponent } from '../dock/dock.component';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsFloatingPane } from '../panes/floating-pane';\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, private dock: BsDockComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n isLayoutDetached = false;\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 if (this.isDragging) {\n if (!this.isLayoutDetached) {\n this.isLayoutDetached = true;\n this.dock.layout$.subscribe((layout) => {\n layout.floatingPanes.push(new BsFloatingPane({\n pane: new BsTabGroupPane({\n panes: [\n new BsContentPane({\n dockPanel: this.dockPanel\n })\n ]\n }) \n }))\n });\n }\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 { BsResizableModule } from '@mintplayer/ng-bootstrap/resizable';\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 BsResizableModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.BsDockPaneRendererComponent","i2.BsDockPanelComponent","i3.BsDockComponent"],"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/panes/floating-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/mintplayer-ng-bootstrap-dock.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, AfterViewInit, ViewChild } 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() {\n // this.contentPortal = new DomPortal(this.element.nativeElement);\n }\n\n @ViewChild('headerElement') headerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('contentElement') contentElement!: ElementRef<HTMLDivElement>;\n headerPortal?: DomPortal;\n contentPortal?: DomPortal;\n @Input() panelId = '';\n\n ngAfterViewInit() {\n // console.log('attach dockpanel', this.element.nativeElement);\n this.headerPortal = new DomPortal(this.headerElement.nativeElement);\n this.contentPortal = new DomPortal(this.contentElement.nativeElement);\n }\n}\n","<!-- <bs-split-panel> -->\n<div #headerElement class=\"dock-header\">\n <ng-content select=\"bs-dock-panel-header\"></ng-content>\n</div>\n<div #contentElement>\n <ng-content></ng-content>\n</div>\n<!-- </bs-split-panel> -->","export abstract class BsDockPane {}","import { BsContentPane } from \"./content-pane\";\nimport { 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: BsContentPane[] = [];\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 { BsDockPane } from \"./dock-pane\";\nimport { Point } from \"../interfaces/point\";\nimport { Size } from \"../interfaces/size\";\n\nexport class BsFloatingPane {\n constructor(data?: Partial<BsFloatingPane>) {\n Object.assign(this, data);\n }\n \n pane?: BsDockPane;\n size?: Size;\n location?: Point;\n}","import { Component, ElementRef, Input } from '@angular/core';\nimport { DomPortal } from '@angular/cdk/portal';\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';\nimport { BsFloatingPane } from '../panes/floating-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(element: ElementRef) {\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 this.portal = new DomPortal(element);\n }\n\n portal: DomPortal;\n\n paneTypes = EPaneType;\n readonly BsDocumentHostType = BsDocumentHost;\n readonly BsTabGroupType = BsTabGroupPane;\n readonly BsSplitterType = BsSplitPane;\n readonly BsContentPaneType = BsContentPane;\n readonly BsFloatingPaneType = BsFloatingPane;\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\" data-hello>\n <bs-dock-pane-renderer [layout]=\"documentHost\"></bs-dock-pane-renderer>\n </div>\n <bs-tab-control *bsInstanceofCase=\"BsTabGroupType; let tabGroup\" [allowDragDrop]=\"false\" class=\"d-flex flex-column h-100 dock-tabs\">\n <bs-tab-page *ngFor=\"let tab of tabGroup.panes\">\n <ng-container *bsTabPageHeader>\n <ng-template [cdkPortalOutlet]=\"tab.dockPanel.headerPortal\"></ng-template>\n </ng-container>\n <bs-dock-pane-renderer [layout]=\"tab\"></bs-dock-pane-renderer>\n </bs-tab-page>\n </bs-tab-control>\n <bs-splitter *bsInstanceofCase=\"BsSplitterType; let splitter\" [orientation]=\"splitter.orientation\">\n <bs-split-panel *ngFor=\"let panel of splitter.panes\">\n <bs-dock-pane-renderer [layout]=\"panel\"></bs-dock-pane-renderer>\n </bs-split-panel>\n </bs-splitter>\n <ng-container *bsInstanceofCase=\"BsContentPaneType; let content\">\n <ng-template [cdkPortalOutlet]=\"content.dockPanel.contentPortal\"></ng-template>\n </ng-container>\n <ng-container *bsInstanceofCase=\"BsFloatingPaneType; let content\">\n <bs-resizable *ngIf=\"content.pane\">\n <bs-dock-pane-renderer [layout]=\"content.pane\"></bs-dock-pane-renderer>\n </bs-resizable>\n </ng-container>\n <div *bsInstanceofDefault>\n No match\n </div>\n</ng-container>","import { Component, ContentChildren, ViewChildren, Input, OnDestroy, QueryList, HostBinding } 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';\nimport { BsDockPaneRendererComponent } from '../dock-pane-renderer/dock-pane-renderer.component';\nimport { Overlay } from '@angular/cdk/overlay';\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(private overlay: Overlay) {\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 this.floating$.pipe(takeUntil(this.destroyed$))\n .subscribe((floating) => {\n floating.forEach((panel) => {\n const overlayRef = this.overlay.create({});\n overlayRef.attach(panel.portal);\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 floating$ = new BehaviorSubject<BsDockPaneRendererComponent[]>([]);\n @ViewChildren('floating') set floatingPanes(value: QueryList<BsDockPaneRendererComponent>) {\n // value.changes.pipe(takeUntil(this.destroyed$)).subscribe((changes) => console.log('floatingPanes', changes));\n this.floating$.next(value.toArray());\n }\n\n @HostBinding('class.position-absolute')\n positionAbsolute = true;\n\n @HostBinding('style.top')\n @HostBinding('style.left')\n @HostBinding('style.bottom')\n @HostBinding('style.right')\n positionPx = 0;\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\n <ng-container *ngFor=\"let pane of layout.floatingPanes\">\n <bs-dock-pane-renderer #floating *ngIf=\"pane.pane\" [layout]=\"pane\"></bs-dock-pane-renderer>\n </ng-container>\n</ng-container>\n<!-- <bs-splitter>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async)\">\n <bs-split-panel>\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </bs-split-panel>\n </ng-container>\n</bs-splitter> -->\n","import { GlobalPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { Component, HostBinding, HostListener } from '@angular/core';\nimport { BsDockPanelComponent } from '../dock-panel/dock-panel.component';\nimport { BsDockComponent } from '../dock/dock.component';\nimport { BsTabGroupPane } from '../panes/tab-group-pane';\nimport { BsContentPane } from '../panes/content-pane';\nimport { BsFloatingPane } from '../panes/floating-pane';\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, private dock: BsDockComponent) {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n }\n\n isDragging = false;\n overlayRef: OverlayRef;\n isLayoutDetached = false;\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 if (this.isDragging) {\n if (!this.isLayoutDetached) {\n this.isLayoutDetached = true;\n this.dock.layout$.subscribe((layout) => {\n layout.floatingPanes.push(new BsFloatingPane({\n pane: new BsTabGroupPane({\n panes: [\n new BsContentPane({\n dockPanel: this.dockPanel\n })\n ]\n }) \n }))\n });\n }\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 { BsResizableModule } from '@mintplayer/ng-bootstrap/resizable';\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 BsResizableModule\n ],\n exports: [\n BsDockComponent,\n BsDockPanelComponent,\n BsDockPanelHeaderComponent,\n BsDockPaneRendererComponent\n ]\n})\nexport class BsDockModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.BsDockPaneRendererComponent","i2.BsDockPanelComponent","i3.BsDockComponent"],"mappings":"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"}