@datarailsshared/datarailsshared 1.3.16 → 1.3.19

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.
@@ -73,7 +73,8 @@ export class DrDropdownComponent {
73
73
  this.hide();
74
74
  }
75
75
  }
76
- onActionIconClick(actionIcon, data) {
76
+ onActionIconClick($event, actionIcon, data) {
77
+ $event.stopPropagation();
77
78
  if (!this.disabled(actionIcon)) {
78
79
  actionIcon.action(data);
79
80
  this.hide();
@@ -83,9 +84,9 @@ export class DrDropdownComponent {
83
84
  DrDropdownComponent.decorators = [
84
85
  { type: Component, args: [{
85
86
  selector: 'dr-dropdown',
86
- template: "<div #menuContainer\r\n (clickOutside)=\"onClickedOutside()\"\r\n [drDropdownPosition]=\"option\"\r\n [position]=\"position\"\r\n class=\"dr-dropdown\">\r\n <div class=\"dr-dropdown__container\">\r\n <div *ngFor=\"let act of list | drDropdownItemShowPipe\"\r\n (click)=\"action(act)\"\r\n [drTooltip]=\"tooltipToShow(act)\"\r\n [drTooltipPosition]=\"'top'\"\r\n [drTooltipOptions]=\"{ withoutArrow: true }\"\r\n class=\"dr-dropdown__container__item\"\r\n [class.item-disabled]=\"disabled(act)\"\r\n [class.item-selected]=\"selected(act)\">\r\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\r\n <span class=\"dr-dropdown__container__item__text\">{{act.title}}</span>\r\n <i *ngFor=\"let actionIcon of act.actionIcons\"\r\n [class]=\"actionIcon.icon\"\r\n [class.showOnHover]=\"actionIcon.showOnHover\"\r\n (click)=\"onActionIconClick(actionIcon, act.data)\"></i>\r\n <i *ngIf=\"act.children?.length\" class=\"dr-icon-arrow-right\"></i>\r\n <dr-dropdown *ngIf=\"act.children?.length\" [options]=\"act.childOptions\"></dr-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n",
87
+ template: "<div #menuContainer\r\n (clickOutside)=\"onClickedOutside()\"\r\n [drDropdownPosition]=\"option\"\r\n [position]=\"position\"\r\n class=\"dr-dropdown\">\r\n <div class=\"dr-dropdown__container\">\r\n <div *ngFor=\"let act of list | drDropdownItemShowPipe\"\r\n (click)=\"action(act)\"\r\n [drTooltip]=\"tooltipToShow(act)\"\r\n [drTooltipPosition]=\"'top'\"\r\n [drTooltipOptions]=\"{ withoutArrow: true }\"\r\n class=\"dr-dropdown__container__item\"\r\n [class.item-disabled]=\"disabled(act)\"\r\n [class.item-selected]=\"selected(act)\">\r\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\r\n <span class=\"dr-dropdown__container__item__text\">{{act.title}}</span>\r\n <i *ngFor=\"let actionIcon of act.actionIcons\"\r\n [class]=\"actionIcon.icon\"\r\n [class.showOnHover]=\"actionIcon.showOnHover\"\r\n (click)=\"onActionIconClick($event, actionIcon, act.data)\"></i>\r\n <i *ngIf=\"act.children?.length\" class=\"dr-icon-arrow-right\"></i>\r\n <dr-dropdown *ngIf=\"act.children?.length\" [options]=\"act.childOptions\"></dr-dropdown>\r\n </div>\r\n </div>\r\n</div>\r\n",
87
88
  changeDetection: ChangeDetectionStrategy.OnPush,
88
- styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden}::ng-deep .dr-dropdown__container__item:hover .dr-dropdown{visibility:visible}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item:hover{background-color:#f6f7f8}.dr-dropdown__container__item:hover .showOnHover{visibility:visible}.dr-dropdown__container__item.item-selected{background:#F3F7FF}.dr-dropdown__container__item.item-disabled{color:#bcbcbc;pointer-events:none}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown__container__item .showOnHover{visibility:hidden}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"]
89
+ styles: ["::ng-deep .dr-dropdown__container__item .dr-dropdown{visibility:hidden}::ng-deep .dr-dropdown__container__item:hover .dr-dropdown{visibility:visible}.dr-dropdown{position:absolute;z-index:-1;top:0;left:0;width:auto}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;border-radius:4px;box-shadow:0 4px 8px 1px #00000040;padding:8px 0;overflow-y:auto;max-height:60vh}.dr-dropdown__container__item{display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}.dr-dropdown__container__item:hover{background-color:#f6f7f8}.dr-dropdown__container__item:hover .showOnHover{visibility:visible}.dr-dropdown__container__item.item-selected{background:#F3F7FF}.dr-dropdown__container__item.item-disabled{color:#bcbcbc;pointer-events:none}.dr-dropdown__container__item i:first-child{margin-right:8px}.dr-dropdown__container__item__text{margin-right:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dr-dropdown__container__item i,.dr-dropdown__container__item__text{color:#151b3f}.dr-dropdown__container__item .showOnHover{visibility:hidden}.dr-dropdown.content-top{transform:translate(-50%,-100%)}.dr-dropdown.content-top-left{transform:translate(-100%,-100%)}.dr-dropdown.content-bottom{transform:translate(-50%,50%)}.dr-dropdown.content-bottom-left{transform:translate(-90%,35%)}.dr-dropdown.content-left{transform:translate(-100%)}.dr-dropdown.content-left-center{transform:translate(-100%,-50%)}.dr-dropdown.content-right{transform:translate(5%)}\n"]
89
90
  },] }
90
91
  ];
91
92
  DrDropdownComponent.ctorParameters = () => [
@@ -97,4 +98,4 @@ DrDropdownComponent.propDecorators = {
97
98
  menuContainer: [{ type: ViewChild, args: ['menuContainer',] }],
98
99
  options: [{ type: Input }]
99
100
  };
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQXNCLFdBQThCLEVBQVUsR0FBc0I7UUFBOUQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKcEYsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFLcEQsQ0FBQztJQUVELElBQWEsT0FBTyxDQUFDLElBQW1DO1FBQ3RELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFOztnQkFDdkIsSUFBSSxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLE1BQU0sRUFBRTtvQkFDekIsSUFBSSxDQUFDLFlBQVksR0FBRzt3QkFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUNuQixRQUFRLEVBQUUsT0FBTztxQkFDbEIsQ0FBQztpQkFDSDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFzRDtRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUNyQjthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsR0FBMkI7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksT0FBTyxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUNyQyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDckI7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQTJCO1FBQ3ZDLElBQUksR0FBRyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQy9ELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUF1QjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ2hHO1lBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBb0MsRUFBRSxJQUFTO1FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7WUE3RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2Qiwrd0NBQTJDO2dCQUUzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQVBRLGlCQUFpQjtZQUZRLGlCQUFpQjs7O3VCQVloRCxTQUFTLFNBQUMsVUFBVTs0QkFDcEIsU0FBUyxTQUFDLGVBQWU7c0JBU3pCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtLCBFbFBvc2l0aW9uLCBJRHJvcGRvd25BY3Rpb25JY29uLCBJRHJvcGRvd24sIElEcm9wZG93bkNvb3JkaW5hdGUgfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEckRyb3Bkb3duU2VydmljZSB9IGZyb20gJy4vZHItZHJvcGRvd24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RyLWRyb3Bkb3duJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Db21wb25lbnQge1xyXG5cclxuICBAVmlld0NoaWxkKCdsaXN0TWVudScpIHZpZXdNZW51OiBIVE1MRWxlbWVudDtcclxuICBAVmlld0NoaWxkKCdtZW51Q29udGFpbmVyJykgbWVudUNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XHJcbiAgb3B0aW9uOiBhbnk7XHJcbiAgcG9zaXRpb246IEVsUG9zaXRpb24gfCBJRHJvcGRvd25Db29yZGluYXRlID0gJ2xlZnQnO1xyXG4gIGxpc3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj5bXTtcclxuICBwcml2YXRlIGZpcnN0SW5pdDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1lbnVTZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyhkYXRhOiBJRHJvcGRvd248SURyb3Bkb3duSXRlbTxhbnk+Pikge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgdGhpcy5vcHRpb24gPSBkYXRhLm9wdGlvbjtcclxuICAgICAgdGhpcy5wb3NpdGlvbiA9IGRhdGEucG9zaXRpb247XHJcbiAgICAgIHRoaXMubGlzdCA9IGRhdGEubGlzdCB8fCBbXTtcclxuICAgICAgdGhpcy5saXN0LmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgaXRlbS5jaGlsZE9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIGxpc3Q6IGl0ZW0uY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnY2hpbGQnXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbGlja2VkT3V0c2lkZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpcnN0SW5pdCkge1xyXG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLmRlc3Ryb3koKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlyc3RJbml0ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIGRpc2FibGVkKGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPiB8IElEcm9wZG93bkFjdGlvbkljb248YW55Pik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFhY3QuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBhY3QuZGlzYWJsZWQgPT09ICdib29sZWFuJykge1xyXG4gICAgICByZXR1cm4gYWN0LmRpc2FibGVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFjdC5kaXNhYmxlZChhY3QuZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZChhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBib29sZWFuIHtcclxuICAgIGlmICghYWN0LnNlbGVjdGVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgYWN0LnNlbGVjdGVkID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhY3Quc2VsZWN0ZWQoYWN0LmRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9vbHRpcFRvU2hvdyhhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGFjdC50b29sVGlwSWZEaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkKGFjdCkgfHwgIWFjdC50b29sVGlwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYWN0LnRvb2xUaXAgPyBhY3QudG9vbFRpcCA6IGFjdC50aXRsZTtcclxuICB9XHJcblxyXG4gIGFjdGlvbihhY3Q6IElEcm9wZG93bkl0ZW08YW55Pikge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKGFjdCkpIHtcclxuICAgICAgaWYgKGFjdC5hY3Rpb24pIHtcclxuICAgICAgICBhY3QuYWN0aW9uKGFjdC5kYXRhKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmFjdGlvbkl0ZW0ubmV4dCh7ZXZlbnQ6IGFjdC5ldmVudCB8fCBhY3QudGl0bGUgfHwgJ2RlZmF1bHQnLCBkYXRhOiBhY3QuZGF0YX0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BY3Rpb25JY29uQ2xpY2soYWN0aW9uSWNvbjogSURyb3Bkb3duQWN0aW9uSWNvbjxhbnk+LCBkYXRhOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZChhY3Rpb25JY29uKSkge1xyXG4gICAgICBhY3Rpb25JY29uLmFjdGlvbihkYXRhKTtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQXNCLFdBQThCLEVBQVUsR0FBc0I7UUFBOUQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKcEYsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFLcEQsQ0FBQztJQUVELElBQWEsT0FBTyxDQUFDLElBQW1DO1FBQ3RELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFOztnQkFDdkIsSUFBSSxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLE1BQU0sRUFBRTtvQkFDekIsSUFBSSxDQUFDLFlBQVksR0FBRzt3QkFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUNuQixRQUFRLEVBQUUsT0FBTztxQkFDbEIsQ0FBQztpQkFDSDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFzRDtRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUNyQjthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsR0FBMkI7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksT0FBTyxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUNyQyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDckI7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQTJCO1FBQ3ZDLElBQUksR0FBRyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQy9ELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUF1QjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ2hHO1lBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFVBQW9DLEVBQUUsSUFBUztRQUN2RSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7OztZQTlGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHV4Q0FBMkM7Z0JBRTNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBUFEsaUJBQWlCO1lBRlEsaUJBQWlCOzs7dUJBWWhELFNBQVMsU0FBQyxVQUFVOzRCQUNwQixTQUFTLFNBQUMsZUFBZTtzQkFTekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElEcm9wZG93bkl0ZW0sIEVsUG9zaXRpb24sIElEcm9wZG93bkFjdGlvbkljb24sIElEcm9wZG93biwgSURyb3Bkb3duQ29vcmRpbmF0ZSB9IGZyb20gJy4uL21vZGVscy9kcm9wZG93bic7XHJcbmltcG9ydCB7IERyRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHItZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkNvbXBvbmVudCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2xpc3RNZW51Jykgdmlld01lbnU6IEhUTUxFbGVtZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ21lbnVDb250YWluZXInKSBtZW51Q29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICBvcHRpb246IGFueTtcclxuICBwb3NpdGlvbjogRWxQb3NpdGlvbiB8IElEcm9wZG93bkNvb3JkaW5hdGUgPSAnbGVmdCc7XHJcbiAgbGlzdDogSURyb3Bkb3duSXRlbTx1bmtub3duPltdO1xyXG4gIHByaXZhdGUgZmlyc3RJbml0OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWVudVNlcnZpY2U6IERyRHJvcGRvd25TZXJ2aWNlLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zKGRhdGE6IElEcm9wZG93bjxJRHJvcGRvd25JdGVtPGFueT4+KSB7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICB0aGlzLm9wdGlvbiA9IGRhdGEub3B0aW9uO1xyXG4gICAgICB0aGlzLnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbjtcclxuICAgICAgdGhpcy5saXN0ID0gZGF0YS5saXN0IHx8IFtdO1xyXG4gICAgICB0aGlzLmxpc3QuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBpdGVtLmNoaWxkT3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgbGlzdDogaXRlbS5jaGlsZHJlbixcclxuICAgICAgICAgICAgcG9zaXRpb246ICdjaGlsZCdcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrZWRPdXRzaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlyc3RJbml0KSB7XHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maXJzdEluaXQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgZGlzYWJsZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+IHwgSURyb3Bkb3duQWN0aW9uSWNvbjxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWFjdC5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGFjdC5kaXNhYmxlZCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIHJldHVybiBhY3QuZGlzYWJsZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYWN0LmRpc2FibGVkKGFjdC5kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdGVkKGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFhY3Quc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBhY3Quc2VsZWN0ZWQgPT09ICdib29sZWFuJykge1xyXG4gICAgICByZXR1cm4gYWN0LnNlbGVjdGVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZChhY3QuZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b29sdGlwVG9TaG93KGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPik6IHN0cmluZyB7XHJcbiAgICBpZiAoYWN0LnRvb2xUaXBJZkRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQoYWN0KSB8fCAhYWN0LnRvb2xUaXApIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhY3QudG9vbFRpcCA/IGFjdC50b29sVGlwIDogYWN0LnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uKGFjdDogSURyb3Bkb3duSXRlbTxhbnk+KSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoYWN0KSkge1xyXG4gICAgICBpZiAoYWN0LmFjdGlvbikge1xyXG4gICAgICAgIGFjdC5hY3Rpb24oYWN0LmRhdGEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aW9uSXRlbS5uZXh0KHtldmVudDogYWN0LmV2ZW50IHx8IGFjdC50aXRsZSB8fCAnZGVmYXVsdCcsIGRhdGE6IGFjdC5kYXRhfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkljb25DbGljaygkZXZlbnQsIGFjdGlvbkljb246IElEcm9wZG93bkFjdGlvbkljb248YW55PiwgZGF0YTogYW55KSB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoYWN0aW9uSWNvbikpIHtcclxuICAgICAgYWN0aW9uSWNvbi5hY3Rpb24oZGF0YSk7XHJcbiAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ContentChild, Input } from '@angular/core';
1
+ import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  export class DrSelectComponent {
4
4
  constructor() {
@@ -6,6 +6,7 @@ export class DrSelectComponent {
6
6
  this.appendTo = 'body';
7
7
  this.disabled = false;
8
8
  this.keyDownFn = () => true;
9
+ this.change = new EventEmitter();
9
10
  this.onChange = () => { };
10
11
  this.onTouched = () => { };
11
12
  }
@@ -29,13 +30,13 @@ export class DrSelectComponent {
29
30
  DrSelectComponent.decorators = [
30
31
  { type: Component, args: [{
31
32
  selector: 'dr-select',
32
- template: " <ng-select [(ngModel)]=\"selectedItem\"\r\n [items]=\"items\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [multiple]=\"multiple\"\r\n [addTag]=\"addTag\"\r\n [appendTo]=\"appendTo\"\r\n [clearable]=\"clearable\"\r\n [searchable]=\"searchable\"\r\n [hideSelected]=\"hideSelected\"\r\n [placeholder]=\"placeholder\"\r\n [loading]=\"loading\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [keyDownFn]=\"keyDownFn\"\r\n [searchFn]=\"searchFn\"\r\n (change)=\"onChange(selectedItem)\"\r\n class=\"dr-select\">\r\n <ng-template *ngIf=\"optionHeaderTemplate\" ng-header-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionHeaderTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"labelTemplate\" ng-label-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"optionTemplate\" ng-option-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n </ng-select>\r\n",
33
+ template: " <ng-select [(ngModel)]=\"selectedItem\"\r\n [items]=\"items\"\r\n [bindLabel]=\"bindLabel\"\r\n [bindValue]=\"bindValue\"\r\n [multiple]=\"multiple\"\r\n [addTag]=\"addTag\"\r\n [appendTo]=\"appendTo\"\r\n [clearable]=\"clearable\"\r\n [searchable]=\"searchable\"\r\n [hideSelected]=\"hideSelected\"\r\n [placeholder]=\"placeholder\"\r\n [loading]=\"loading\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [id]=\"id\"\r\n [keyDownFn]=\"keyDownFn\"\r\n [searchFn]=\"searchFn\"\r\n (change)=\"change.emit(selectedItem); onChange(selectedItem)\"\r\n class=\"dr-select\">\r\n <ng-template *ngIf=\"optionHeaderTemplate\" ng-header-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionHeaderTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"labelTemplate\" ng-label-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n <ng-template *ngIf=\"optionTemplate\" ng-option-tmp let-item=\"item\">\r\n <ng-container [ngTemplateOutlet]=\"optionTemplate\" [ngTemplateOutletContext]=\"{item: item}\"></ng-container>\r\n </ng-template>\r\n </ng-select>\r\n",
33
34
  providers: [{
34
35
  provide: NG_VALUE_ACCESSOR,
35
36
  useExisting: DrSelectComponent,
36
37
  multi: true
37
38
  }],
38
- styles: [":host{width:100%;height:32px}:host ::ng-deep ng-select.ng-select .ng-select-container{min-height:32px;height:32px;width:100%;border-radius:6px!important;border:1px solid #C3C4CE;box-shadow:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container:hover{border-color:#85889c}:host ::ng-deep ng-select.ng-select .ng-select-container:focus-within{border-color:#21b8f1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input{top:0!important;line-height:30px;padding:0 50px 0 8px!important;color:#151b3f;font-size:14px;font-weight:400}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0 0 0 8px;height:100%;overflow:auto}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-value{line-height:1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-input{padding:0 0 0 3px!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container{max-height:58px;height:100%}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:58px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{color:#151a41;height:24px;padding:2px 8px;font-size:12px;margin:2px 2px 2px 0;background:#E5E6EA;display:flex;flex-direction:row-reverse;align-items:center;border-radius:12px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-label{line-height:20px;padding:0!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon{border:none!important;padding:0 0 0 9px!important;color:#51566f;font-size:16px;font-weight:bold}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon,:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:hover{background:transparent!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#E5E6EA!important;border:1px solid #E5E6EA!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#bcbcbc!important}:host ::ng-deep ng-select.ng-select.ng-select-single.ng-invalid.ng-touched .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-multiple.ng-invalid.ng-touched .ng-select-container{border-color:#de2833}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select{border:1px solid #DBDEE3;border-radius:6px!important;margin-top:8px!important;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:empty{display:none}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option{display:flex;align-items:center;min-height:36px;padding:10px 12px}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background:#F3F7FF;color:#151b3f}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected span,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked span{font-weight:normal!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked:hover{background:#F6F7F8}\n"]
39
+ styles: [":host{width:100%;height:32px}:host ::ng-deep ng-select.ng-select .ng-select-container{min-height:32px;height:32px;width:100%;border-radius:6px!important;border:1px solid #C3C4CE;box-shadow:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container:hover{border-color:#85889c}:host ::ng-deep ng-select.ng-select .ng-select-container:focus-within{border-color:#21b8f1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input{top:0!important;line-height:30px;padding:0 50px 0 8px!important;color:#151b3f;font-size:14px;font-weight:400}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0 0 0 8px;height:100%;overflow:auto}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-value{line-height:1}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-input{padding:0 0 0 3px!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container{max-height:58px;height:100%}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:58px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{color:#151a41;height:24px;padding:2px 8px;font-size:12px;margin:2px 2px 2px 0;background:#E5E6EA;display:flex;flex-direction:row-reverse;align-items:center;border-radius:12px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-label{line-height:20px;padding:0!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon{border:none!important;padding:0 0 0 9px!important;color:#51566f;font-size:16px;font-weight:bold}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon,:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:hover{background:transparent!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#E5E6EA!important;border:1px solid #E5E6EA!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#bcbcbc!important}:host ::ng-deep ng-select.ng-select.ng-select-single.ng-invalid.ng-touched .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-multiple.ng-invalid.ng-touched .ng-select-container{border-color:#de2833}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select{border:1px solid #DBDEE3;border-radius:6px!important;margin-top:8px!important;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:empty{display:none}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option{display:flex;align-items:center;min-height:36px;padding:10px 12px}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option>.ng-option-label{text-overflow:ellipsis;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background:#F3F7FF;color:#151b3f}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected span,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked span{font-weight:normal!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected:hover,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked:hover{background:#F6F7F8}\n"]
39
40
  },] }
40
41
  ];
41
42
  DrSelectComponent.propDecorators = {
@@ -57,8 +58,9 @@ DrSelectComponent.propDecorators = {
57
58
  id: [{ type: Input }],
58
59
  keyDownFn: [{ type: Input }],
59
60
  selectedItem: [{ type: Input }],
61
+ change: [{ type: Output }],
60
62
  labelTemplate: [{ type: ContentChild, args: ['labelTemplate',] }],
61
63
  optionTemplate: [{ type: ContentChild, args: ['optionTemplate',] }],
62
64
  optionHeaderTemplate: [{ type: ContentChild, args: ['optionHeaderTemplate',] }]
63
65
  };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWXpFLE1BQU0sT0FBTyxpQkFBaUI7SUFWOUI7UUFhYSxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBRXZCLGFBQVEsR0FBRyxNQUFNLENBQUM7UUFXbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFTLEdBQXVDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQU9wRSxhQUFRLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBc0JyQyxDQUFDO0lBcEJHLFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQzs7O1lBekRKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsV0FBVztnQkFDckIsMjdDQUF5QztnQkFFekMsU0FBUyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLGlCQUFpQjt3QkFDOUIsS0FBSyxFQUFFLElBQUk7cUJBQ2QsQ0FBQzs7YUFDTDs7O3dCQUdJLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO2lCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLOzRCQUVMLFlBQVksU0FBQyxlQUFlOzZCQUM1QixZQUFZLFNBQUMsZ0JBQWdCO21DQUM3QixZQUFZLFNBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHItc2VsZWN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IERyU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KCkgYWRkVGFnOiBib29sZWFuIHwgKCh0ZXJtOiBzdHJpbmcpID0+IGFueSB8IFByb21pc2U8YW55Pik7XHJcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcclxuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2VhcmNoRm46ICh0ZXJtOiBzdHJpbmcsIGl0ZW06IGFueSkgPT4gYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVNlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkga2V5RG93bkZuOiAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogYW55O1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsVGVtcGxhdGUnKSBsYWJlbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkhlYWRlclRlbXBsYXRlJykgb3B0aW9uSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcblxyXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xyXG4gICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZekUsTUFBTSxPQUFPLGlCQUFpQjtJQVY5QjtRQWFhLFVBQUssR0FBZSxFQUFFLENBQUM7UUFFdkIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQVdsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQVMsR0FBdUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRTFELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU05RCxhQUFRLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBc0JyQyxDQUFDO0lBcEJHLFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQzs7O1lBMURKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsV0FBVztnQkFDckIsczlDQUF5QztnQkFFekMsU0FBUyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLGlCQUFpQjt3QkFDOUIsS0FBSyxFQUFFLElBQUk7cUJBQ2QsQ0FBQzs7YUFDTDs7O3dCQUdJLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO2lCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3FCQUNMLE1BQU07NEJBRU4sWUFBWSxTQUFDLGVBQWU7NkJBQzVCLFlBQVksU0FBQyxnQkFBZ0I7bUNBQzdCLFlBQVksU0FBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHItc2VsZWN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IERyU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgQElucHV0KCkgYWRkVGFnOiBib29sZWFuIHwgKCh0ZXJtOiBzdHJpbmcpID0+IGFueSB8IFByb21pc2U8YW55Pik7XHJcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcclxuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2VhcmNoRm46ICh0ZXJtOiBzdHJpbmcsIGl0ZW06IGFueSkgPT4gYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGlkZVNlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkga2V5RG93bkZuOiAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gICAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvblRlbXBsYXRlJykgb3B0aW9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcclxuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG5cclxuICAgICAgICBpZiAoZm4gJiYgdGhpcy5zZWxlY3RlZEl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,13 +1,33 @@
1
- import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Input, TemplateRef, ViewChild, ViewContainerRef, ChangeDetectionStrategy } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, HostListener, Input, TemplateRef, ViewChild, ViewContainerRef, ChangeDetectionStrategy, HostBinding, } from '@angular/core';
2
2
  import { trigger } from '@angular/animations';
3
3
  import { POPUP_ANIMATION } from '../models/constants';
4
+ import { DrPopoverRef } from './dr-popover-ref';
5
+ import { getAlignmentDimension } from '../models/popover';
4
6
  export class DrPopoverComponent {
5
- constructor(cdr, componentFactoryResolver, viewContainerRef) {
7
+ constructor(cdr, componentFactoryResolver, viewContainerRef, elementRef, popoverRef) {
6
8
  this.cdr = cdr;
7
9
  this.componentFactoryResolver = componentFactoryResolver;
8
10
  this.viewContainerRef = viewContainerRef;
11
+ this.elementRef = elementRef;
12
+ this.popoverRef = popoverRef;
9
13
  this.class = '';
10
14
  this.isContentTemplate = false;
15
+ this.popover = true;
16
+ }
17
+ clickOutside(e) {
18
+ const isTargetHost = this.hostRef instanceof ElementRef && (this.hostRef.nativeElement === e.target || this.hostRef.nativeElement.contains(e.target));
19
+ const isTargetInPopover = this.elementRef.nativeElement.contains(e.target);
20
+ const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
21
+ const isTargetInSelect = e.target.closest('ng-dropdown-panel');
22
+ const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
23
+ if (!isTargetHost
24
+ && !isTargetInPopover
25
+ && !isTargetInDatepicker
26
+ && !isTargetInSelect
27
+ && !isTargetInDatepickerContent
28
+ && !this.manualClosing.enabled) {
29
+ this.popoverRef.close();
30
+ }
11
31
  }
12
32
  ngOnInit() {
13
33
  this.isContentTemplate = this.content instanceof TemplateRef;
@@ -16,6 +36,9 @@ export class DrPopoverComponent {
16
36
  Object.assign(this.componentRef.instance, this.contentContext);
17
37
  this.popoverContainer.nativeElement.appendChild(this.componentRef.location.nativeElement);
18
38
  }
39
+ if (this.alignment === 'host') {
40
+ this[getAlignmentDimension(this.position)] = '100%';
41
+ }
19
42
  this.cdr.detectChanges();
20
43
  }
21
44
  }
@@ -33,7 +56,9 @@ DrPopoverComponent.decorators = [
33
56
  DrPopoverComponent.ctorParameters = () => [
34
57
  { type: ChangeDetectorRef },
35
58
  { type: ComponentFactoryResolver },
36
- { type: ViewContainerRef }
59
+ { type: ViewContainerRef },
60
+ { type: ElementRef },
61
+ { type: DrPopoverRef }
37
62
  ];
38
63
  DrPopoverComponent.propDecorators = {
39
64
  content: [{ type: Input }],
@@ -41,6 +66,12 @@ DrPopoverComponent.propDecorators = {
41
66
  class: [{ type: Input }],
42
67
  hostRef: [{ type: Input }],
43
68
  manualClosing: [{ type: Input }],
44
- popoverContainer: [{ type: ViewChild, args: ['popoverContainer', { read: ElementRef, static: true },] }]
69
+ alignment: [{ type: Input }],
70
+ position: [{ type: Input }],
71
+ popoverContainer: [{ type: ViewChild, args: ['popoverContainer', { read: ElementRef, static: true },] }],
72
+ width: [{ type: HostBinding, args: ['style.width',] }],
73
+ height: [{ type: HostBinding, args: ['style.height',] }],
74
+ popover: [{ type: HostBinding, args: ['@popover',] }],
75
+ clickOutside: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
45
76
  };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBQ1YsS0FBSyxFQUNMLFdBQVcsRUFFWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBRWhCLHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBWXRELE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFDVSxHQUFzQixFQUN0Qix3QkFBa0QsRUFDbEQsZ0JBQWtDO1FBRmxDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVhuQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBS3BCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQU1xQixDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sWUFBWSxXQUFXLENBQUM7UUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFrQixDQUFDLENBQUMsQ0FBQztZQUMxSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBcENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsaVFBQTBDO2dCQUUxQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUM7aUJBQ3BDO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBekJDLGlCQUFpQjtZQUVqQix3QkFBd0I7WUFPeEIsZ0JBQWdCOzs7c0JBbUJmLEtBQUs7NkJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7NEJBQ0wsS0FBSzsrQkFFTCxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBPbkluaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBQT1BVUF9BTklNQVRJT04gfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9tb2RlbHMvcG9wb3Zlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RyLXBvcG92ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kci1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcigncG9wb3ZlcicsIFBPUFVQX0FOSU1BVElPTiksXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyUG9wb3ZlckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPFQ+O1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRDb250ZXh0OiBhbnk7XHJcbiAgQElucHV0KCkgY2xhc3MgPSAnJztcclxuICBASW5wdXQoKSBob3N0UmVmOiBFbGVtZW50UmVmPHVua25vd24+IHwgSFRNTEVsZW1lbnQgfCBQb2ludDtcclxuICBASW5wdXQoKSBtYW51YWxDbG9zaW5nOiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkKCdwb3BvdmVyQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgcG9wb3ZlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgaXNDb250ZW50VGVtcGxhdGUgPSBmYWxzZTtcclxuICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNDb250ZW50VGVtcGxhdGUgPSB0aGlzLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNDb250ZW50VGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY29udGVudCBhcyBUeXBlPFQ+KSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMuY29udGVudENvbnRleHQpO1xyXG4gICAgICB0aGlzLnBvcG92ZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59Il19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxXQUFXLEVBRVgsU0FBUyxFQUNULGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBb0QscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVc1RyxNQUFNLE9BQU8sa0JBQWtCO0lBc0M3QixZQUNVLEdBQXNCLEVBQ3RCLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsVUFBc0IsRUFDdEIsVUFBMkI7UUFKM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUF2QzVCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFPcEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTU0sWUFBTyxHQUFHLElBQUksQ0FBQztJQTJCM0MsQ0FBQztJQXhCTCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQTZCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZLLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsWUFBWTtlQUNWLENBQUMsaUJBQWlCO2VBQ2xCLENBQUMsb0JBQW9CO2VBQ3JCLENBQUMsZ0JBQWdCO2VBQ2pCLENBQUMsMkJBQTJCO2VBQzVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQzlCO1lBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFVRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO1FBRTdELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDckQ7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQXBFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGlRQUEwQztnQkFFMUMsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO2lCQUNwQztnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTVCQyxpQkFBaUI7WUFFakIsd0JBQXdCO1lBUXhCLGdCQUFnQjtZQU5oQixVQUFVO1lBYUgsWUFBWTs7O3NCQWNsQixLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLOzRCQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOytCQUVMLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtvQkFJaEUsV0FBVyxTQUFDLGFBQWE7cUJBQ3pCLFdBQVcsU0FBQyxjQUFjO3NCQUUxQixXQUFXLFNBQUMsVUFBVTsyQkFFdEIsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIE9uSW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBIb3N0QmluZGluZyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBQT1BVUF9BTklNQVRJT04gfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XHJcbmltcG9ydCB7IElQb3BvdmVyTWFudWFsQ2xvc2luZywgUG9pbnQsIERyUG9wb3ZlckFsaWdubWVudCwgZ2V0QWxpZ25tZW50RGltZW5zaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1wb3BvdmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHItcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItcG9wb3Zlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3BvcG92ZXInLCBQT1BVUF9BTklNQVRJT04pLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcclxuICBASW5wdXQoKSBjb250ZW50Q29udGV4dDogYW55O1xyXG4gIEBJbnB1dCgpIGNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgaG9zdFJlZjogRWxlbWVudFJlZjx1bmtub3duPiB8IEhUTUxFbGVtZW50IHwgUG9pbnQ7XHJcbiAgQElucHV0KCkgbWFudWFsQ2xvc2luZzogSVBvcG92ZXJNYW51YWxDbG9zaW5nO1xyXG4gIEBJbnB1dCgpIGFsaWdubWVudDogRHJQb3BvdmVyQWxpZ25tZW50O1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uOiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwb3BvdmVyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBpc0NvbnRlbnRUZW1wbGF0ZSA9IGZhbHNlO1xyXG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+O1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgd2lkdGg6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGhlaWdodDogc3RyaW5nO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ0Bwb3BvdmVyJykgcHVibGljIHBvcG92ZXIgPSB0cnVlO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBjbGlja091dHNpZGUoZSk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNUYXJnZXRIb3N0ID0gdGhpcy5ob3N0UmVmIGluc3RhbmNlb2YgRWxlbWVudFJlZiAmJiAodGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQgPT09IGUudGFyZ2V0IHx8ICh0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZS50YXJnZXQpKTtcclxuICAgIGNvbnN0IGlzVGFyZ2V0SW5Qb3BvdmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJbkRhdGVwaWNrZXIgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1wb3B1cCcpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJblNlbGVjdCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XHJcbiAgICBjb25zdCBpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnQgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1jb250ZW50Jyk7XHJcblxyXG4gICAgaWYgKCFpc1RhcmdldEhvc3RcclxuICAgICAgICAmJiAhaXNUYXJnZXRJblBvcG92ZXJcclxuICAgICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJcclxuICAgICAgICAmJiAhaXNUYXJnZXRJblNlbGVjdFxyXG4gICAgICAgICYmICFpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnRcclxuICAgICAgICAmJiAhdGhpcy5tYW51YWxDbG9zaW5nLmVuYWJsZWRcclxuICAgICAgKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzQ29udGVudFRlbXBsYXRlID0gdGhpcy5jb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzQ29udGVudFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmNvbnRlbnQgYXMgVHlwZTxUPikpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLmNvbnRlbnRDb250ZXh0KTtcclxuICAgICAgdGhpcy5wb3BvdmVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hbGlnbm1lbnQgPT09ICdob3N0Jykge1xyXG4gICAgICB0aGlzW2dldEFsaWdubWVudERpbWVuc2lvbih0aGlzLnBvc2l0aW9uKV0gPSAnMTAwJSc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,17 +1,15 @@
1
- import { Directive, ElementRef, EventEmitter, HostListener, Inject, Input, Output, Renderer2, } from '@angular/core';
1
+ import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, } from '@angular/core';
2
2
  import { first } from 'rxjs/operators';
3
3
  import { DrPopoverService } from './dr-popover.service';
4
- import { DOCUMENT } from '@angular/common';
5
4
  export class DrPopoverDirective {
6
- constructor(elementRef, renderer, drPopoverService, document) {
5
+ constructor(elementRef, drPopoverService) {
7
6
  this.elementRef = elementRef;
8
- this.renderer = renderer;
9
7
  this.drPopoverService = drPopoverService;
10
- this.document = document;
11
8
  this.contentContext = {};
12
9
  this.position = 'bottom';
13
10
  this.class = '';
14
11
  this.overlayConfig = {};
12
+ this.manualClosing = { enabled: false };
15
13
  this.popoverClose = new EventEmitter();
16
14
  this.showStateChange = new EventEmitter();
17
15
  }
@@ -25,30 +23,11 @@ export class DrPopoverDirective {
25
23
  }
26
24
  }
27
25
  closePopover(res) {
28
- if (this.clickOutsideEvent) {
29
- this.clickOutsideEvent();
30
- }
31
26
  if (this.popoverRef) {
32
27
  this.popoverRef.close(res);
33
28
  this.popoverRef = null;
34
29
  }
35
30
  }
36
- clickOutside(e) {
37
- var _a, _b, _c;
38
- const isTargetHost = this.elementRef instanceof ElementRef && (this.elementRef.nativeElement === e.target || this.elementRef.nativeElement.contains(e.target));
39
- const isTargetInPopover = (_c = (_b = (_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.componentRef) === null || _b === void 0 ? void 0 : _b.location) === null || _c === void 0 ? void 0 : _c.nativeElement.contains(e.target);
40
- const isTargetInDatepicker = e.target.closest('mat-datepicker-popup');
41
- const isTargetInSelect = e.target.closest('ng-dropdown-panel');
42
- const isTargetInDatepickerContent = e.target.closest('mat-datepicker-content');
43
- if (!isTargetHost
44
- && !isTargetInPopover
45
- && !isTargetInDatepicker
46
- && !isTargetInSelect
47
- && !isTargetInDatepickerContent
48
- && !this.manualClosing) {
49
- this.popoverRef.close();
50
- }
51
- }
52
31
  renderPopover() {
53
32
  const popoverRef = this.popoverRef = this.drPopoverService.open(this.content, {
54
33
  hostRef: this.elementRef,
@@ -57,13 +36,13 @@ export class DrPopoverDirective {
57
36
  manualClosing: this.manualClosing,
58
37
  position: this.position,
59
38
  contentContext: this.contentContext,
39
+ alignment: this.alignment,
60
40
  });
61
41
  popoverRef.onClose.pipe(first()).subscribe((res) => {
62
42
  this.closePopover();
63
43
  this.popoverClose.emit(res);
64
44
  this.showStateChange.emit({ isShown: !!this.popoverRef });
65
45
  });
66
- this.clickOutsideEvent = this.renderer.listen(this.document, 'click', this.clickOutside.bind(this));
67
46
  }
68
47
  ngOnDestroy() {
69
48
  this.closePopover();
@@ -76,9 +55,7 @@ DrPopoverDirective.decorators = [
76
55
  ];
77
56
  DrPopoverDirective.ctorParameters = () => [
78
57
  { type: ElementRef },
79
- { type: Renderer2 },
80
- { type: DrPopoverService },
81
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
58
+ { type: DrPopoverService }
82
59
  ];
83
60
  DrPopoverDirective.propDecorators = {
84
61
  content: [{ type: Input, args: ['drPopover',] }],
@@ -87,8 +64,9 @@ DrPopoverDirective.propDecorators = {
87
64
  class: [{ type: Input, args: ['drPopoverClass',] }],
88
65
  overlayConfig: [{ type: Input, args: ['drPopoverOverlayConfig',] }],
89
66
  manualClosing: [{ type: Input, args: ['drPopoverManualClosing',] }],
67
+ alignment: [{ type: Input, args: ['drPopoverAlignment',] }],
90
68
  popoverClose: [{ type: Output, args: ['drPopoverClose',] }],
91
69
  showStateChange: [{ type: Output, args: ['drPopoverShowStateChange',] }],
92
70
  togglePopover: [{ type: HostListener, args: ['click',] }]
93
71
  };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQXFCN0IsWUFBb0IsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2hCLFFBQWE7UUFIL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQXBCeEIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFlLFFBQVEsQ0FBQztRQUVuQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRVgsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBSXpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBUXpDLENBQUM7SUFHdkQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVM7UUFDcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBR08sWUFBWSxDQUFDLENBQUM7O1FBQ3BCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLFlBQVksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTZCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hMLE1BQU0saUJBQWlCLEdBQUcsTUFBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsWUFBWSwwQ0FBRSxRQUFRLDBDQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BHLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0RSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0QsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxZQUFZO2VBQ1osQ0FBQyxpQkFBaUI7ZUFDbEIsQ0FBQyxvQkFBb0I7ZUFDckIsQ0FBQyxnQkFBZ0I7ZUFDakIsQ0FBQywyQkFBMkI7ZUFDNUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUN0QjtZQUNBLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNwQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7WUExRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2FBQ3hCOzs7WUFwQkMsVUFBVTtZQU9WLFNBQVM7WUFRRixnQkFBZ0I7NENBOEJWLE1BQU0sU0FBQyxRQUFROzs7c0JBdEIzQixLQUFLLFNBQUMsV0FBVzs2QkFFakIsS0FBSyxTQUFDLGtCQUFrQjt1QkFFeEIsS0FBSyxTQUFDLG1CQUFtQjtvQkFFekIsS0FBSyxTQUFDLGdCQUFnQjs0QkFFdEIsS0FBSyxTQUFDLHdCQUF3Qjs0QkFFOUIsS0FBSyxTQUFDLHdCQUF3QjsyQkFFOUIsTUFBTSxTQUFDLGdCQUFnQjs4QkFFdkIsTUFBTSxTQUFDLDBCQUEwQjs0QkFVakMsWUFBWSxTQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFR5cGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFbFBvc2l0aW9uIH0gZnJvbSAnLi8uLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyU2VydmljZSB9IGZyb20gJy4vZHItcG9wb3Zlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZHJQb3BvdmVyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyUG9wb3ZlckRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSAge1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlcicpIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPFQ+O1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlckNvbnRleHQnKSBjb250ZW50Q29udGV4dDogT2JqZWN0ID0ge307XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyUG9zaXRpb24nKSBwb3NpdGlvbjogRWxQb3NpdGlvbiA9ICdib3R0b20nO1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlckNsYXNzJykgY2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3Zlck92ZXJsYXlDb25maWcnKSBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge307XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyTWFudWFsQ2xvc2luZycpIG1hbnVhbENsb3Npbmc6IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlckNsb3NlJykgcG9wb3ZlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlclNob3dTdGF0ZUNoYW5nZScpIHNob3dTdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpc1Nob3duOiBib29sZWFuIH0+KCk7XHJcblxyXG4gIHByaXZhdGUgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+O1xyXG4gIHByaXZhdGUgY2xpY2tPdXRzaWRlRXZlbnQ6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgICBwcml2YXRlIGRyUG9wb3ZlclNlcnZpY2U6IERyUG9wb3ZlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55KSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgdG9nZ2xlUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyUG9wb3ZlcigpO1xyXG4gICAgICB0aGlzLnNob3dTdGF0ZUNoYW5nZS5lbWl0KHsgaXNTaG93bjogISF0aGlzLnBvcG92ZXJSZWYgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZVBvcG92ZXIocmVzPzogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jbGlja091dHNpZGVFdmVudCkge1xyXG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZUV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xyXG4gICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UocmVzKTtcclxuICAgICAgdGhpcy5wb3BvdmVyUmVmID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGNsaWNrT3V0c2lkZShlKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc1RhcmdldEhvc3QgPSB0aGlzLmVsZW1lbnRSZWYgaW5zdGFuY2VvZiBFbGVtZW50UmVmICYmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCA9PT0gZS50YXJnZXQgfHwgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlLnRhcmdldCkpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJblBvcG92ZXIgPSB0aGlzLnBvcG92ZXJSZWY/LmNvbXBvbmVudFJlZj8ubG9jYXRpb24/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJbkRhdGVwaWNrZXIgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1wb3B1cCcpO1xyXG4gICAgY29uc3QgaXNUYXJnZXRJblNlbGVjdCA9IGUudGFyZ2V0LmNsb3Nlc3QoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XHJcbiAgICBjb25zdCBpc1RhcmdldEluRGF0ZXBpY2tlckNvbnRlbnQgPSBlLnRhcmdldC5jbG9zZXN0KCdtYXQtZGF0ZXBpY2tlci1jb250ZW50Jyk7XHJcblxyXG4gICAgaWYgKCFpc1RhcmdldEhvc3RcclxuICAgICAgJiYgIWlzVGFyZ2V0SW5Qb3BvdmVyXHJcbiAgICAgICYmICFpc1RhcmdldEluRGF0ZXBpY2tlclxyXG4gICAgICAmJiAhaXNUYXJnZXRJblNlbGVjdFxyXG4gICAgICAmJiAhaXNUYXJnZXRJbkRhdGVwaWNrZXJDb250ZW50XHJcbiAgICAgICYmICF0aGlzLm1hbnVhbENsb3NpbmdcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBvcG92ZXJSZWYgPSB0aGlzLnBvcG92ZXJSZWYgPSB0aGlzLmRyUG9wb3ZlclNlcnZpY2Uub3Blbih0aGlzLmNvbnRlbnQsIHtcclxuICAgICAgaG9zdFJlZjogdGhpcy5lbGVtZW50UmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB0aGlzLm92ZXJsYXlDb25maWcsXHJcbiAgICAgIGNsYXNzOiB0aGlzLmNsYXNzLFxyXG4gICAgICBtYW51YWxDbG9zaW5nOiB0aGlzLm1hbnVhbENsb3NpbmcsXHJcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICBjb250ZW50Q29udGV4dDogdGhpcy5jb250ZW50Q29udGV4dCxcclxuICAgIH0pO1xyXG5cclxuICAgIHBvcG92ZXJSZWYub25DbG9zZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XHJcbiAgICAgIHRoaXMucG9wb3ZlckNsb3NlLmVtaXQocmVzKTtcclxuICAgICAgdGhpcy5zaG93U3RhdGVDaGFuZ2UuZW1pdCh7IGlzU2hvd246ICEhdGhpcy5wb3BvdmVyUmVmIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5jbGlja091dHNpZGVFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdjbGljaycsIHRoaXMuY2xpY2tPdXRzaWRlLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFBb0IsVUFBc0IsRUFDdEIsZ0JBQWtDO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5CM0IsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFlLFFBQVEsQ0FBQztRQUVuQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRVgsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBRWxDLGtCQUFhLEdBQTBCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBSWpFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBTTNGLENBQUM7SUFHTCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsR0FBUztRQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1RSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTthQUN4Qjs7O1lBbEJDLFVBQVU7WUFhSCxnQkFBZ0I7OztzQkFRdEIsS0FBSyxTQUFDLFdBQVc7NkJBRWpCLEtBQUssU0FBQyxrQkFBa0I7dUJBRXhCLEtBQUssU0FBQyxtQkFBbUI7b0JBRXpCLEtBQUssU0FBQyxnQkFBZ0I7NEJBRXRCLEtBQUssU0FBQyx3QkFBd0I7NEJBRTlCLEtBQUssU0FBQyx3QkFBd0I7d0JBRTlCLEtBQUssU0FBQyxvQkFBb0I7MkJBRTFCLE1BQU0sU0FBQyxnQkFBZ0I7OEJBRXZCLE1BQU0sU0FBQywwQkFBMEI7NEJBUWpDLFlBQVksU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVsUG9zaXRpb24gfSBmcm9tICcuLy4uL21vZGVscy9kcm9wZG93bic7XHJcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4vZHItcG9wb3Zlci1yZWYnO1xyXG5pbXBvcnQgeyBEclBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi9kci1wb3BvdmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJUG9wb3Zlck1hbnVhbENsb3NpbmcsIERyUG9wb3ZlckFsaWdubWVudCB9IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RyUG9wb3Zlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kgIHtcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXInKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxUPjtcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJDb250ZXh0JykgY29udGVudENvbnRleHQ6IE9iamVjdCA9IHt9O1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3ZlclBvc2l0aW9uJykgcG9zaXRpb246IEVsUG9zaXRpb24gPSAnYm90dG9tJztcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJDbGFzcycpIGNsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KCdkclBvcG92ZXJPdmVybGF5Q29uZmlnJykgb3ZlcmxheUNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHt9O1xyXG5cclxuICBASW5wdXQoJ2RyUG9wb3Zlck1hbnVhbENsb3NpbmcnKSBtYW51YWxDbG9zaW5nOiBJUG9wb3Zlck1hbnVhbENsb3NpbmcgPSB7IGVuYWJsZWQ6IGZhbHNlIH07XHJcblxyXG4gIEBJbnB1dCgnZHJQb3BvdmVyQWxpZ25tZW50JykgYWxpZ25tZW50OiBEclBvcG92ZXJBbGlnbm1lbnQ7XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlckNsb3NlJykgcG9wb3ZlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ2RyUG9wb3ZlclNob3dTdGF0ZUNoYW5nZScpIHNob3dTdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpc1Nob3duOiBib29sZWFuIH0+KCk7XHJcblxyXG4gIHByaXZhdGUgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkclBvcG92ZXJTZXJ2aWNlOiBEclBvcG92ZXJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICB0b2dnbGVQb3BvdmVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJQb3BvdmVyKCk7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXRlQ2hhbmdlLmVtaXQoeyBpc1Nob3duOiAhIXRoaXMucG9wb3ZlclJlZiB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlUG9wb3ZlcihyZXM/OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcclxuICAgICAgdGhpcy5wb3BvdmVyUmVmLmNsb3NlKHJlcyk7XHJcbiAgICAgIHRoaXMucG9wb3ZlclJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlclBvcG92ZXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwb3BvdmVyUmVmID0gdGhpcy5wb3BvdmVyUmVmID0gdGhpcy5kclBvcG92ZXJTZXJ2aWNlLm9wZW4odGhpcy5jb250ZW50LCB7XHJcbiAgICAgIGhvc3RSZWY6IHRoaXMuZWxlbWVudFJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzogdGhpcy5vdmVybGF5Q29uZmlnLFxyXG4gICAgICBjbGFzczogdGhpcy5jbGFzcyxcclxuICAgICAgbWFudWFsQ2xvc2luZzogdGhpcy5tYW51YWxDbG9zaW5nLFxyXG4gICAgICBwb3NpdGlvbjogdGhpcy5wb3NpdGlvbixcclxuICAgICAgY29udGVudENvbnRleHQ6IHRoaXMuY29udGVudENvbnRleHQsXHJcbiAgICAgIGFsaWdubWVudDogdGhpcy5hbGlnbm1lbnQsXHJcbiAgICB9KTtcclxuXHJcbiAgICBwb3BvdmVyUmVmLm9uQ2xvc2UucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gICAgICB0aGlzLnBvcG92ZXJDbG9zZS5lbWl0KHJlcyk7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXRlQ2hhbmdlLmVtaXQoeyBpc1Nob3duOiAhIXRoaXMucG9wb3ZlclJlZiB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlUG9wb3ZlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,10 +1,11 @@
1
+ import { first } from 'rxjs/operators';
1
2
  import { DrPopoverRef } from './dr-popover-ref';
2
3
  import { DrPopoverComponent } from './dr-popover.component';
3
4
  import { ComponentPortal } from '@angular/cdk/portal';
4
5
  import { Injectable, Injector } from '@angular/core';
5
6
  import { Overlay, OverlayConfig, OverlayPositionBuilder } from '@angular/cdk/overlay';
6
7
  import { POPUP_POSITIONS } from '../models/constants';
7
- import { DEFAULT_CONFIG, DEFAULT_MODEL } from '../models/popover';
8
+ import { DEFAULT_CONFIG, DEFAULT_MODEL, getAlignmentDimension } from '../models/popover';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/cdk/overlay";
10
11
  export class DrPopoverService {
@@ -20,10 +21,10 @@ export class DrPopoverService {
20
21
  const overlayRef = this.createOverlay(model);
21
22
  const popoverRef = new DrPopoverRef(overlayRef);
22
23
  this.attachOverlayContainer(content, model, overlayRef, popoverRef);
23
- this.registerCloseListeners(model, overlayRef, popoverRef);
24
+ this.registerListeners(model, overlayRef, popoverRef);
24
25
  return popoverRef;
25
26
  }
26
- attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef }, overlayRef, popoverRef) {
27
+ attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef, alignment }, overlayRef, popoverRef) {
27
28
  const componentPortal = new ComponentPortal(DrPopoverComponent, null, this.createInjector(popoverRef));
28
29
  const contentRef = overlayRef.attach(componentPortal);
29
30
  popoverRef.componentRef = contentRef;
@@ -32,17 +33,26 @@ export class DrPopoverService {
32
33
  contentRef.instance.class = elementClass + ' ' + position;
33
34
  contentRef.instance.manualClosing = manualClosing;
34
35
  contentRef.instance.hostRef = hostRef;
36
+ contentRef.instance.alignment = alignment;
37
+ contentRef.instance.position = position;
35
38
  }
36
39
  createOverlay(popoverModel) {
37
40
  const overlayConfig = this.getOverlayConfig(popoverModel);
38
41
  return this.overlay.create(overlayConfig);
39
42
  }
40
43
  getOverlayConfig(popoverModel) {
44
+ if (!POPUP_POSITIONS[popoverModel.position])
45
+ throw new Error(`DrPopover does not support the '${popoverModel === null || popoverModel === void 0 ? void 0 : popoverModel.position}' position!`);
41
46
  const config = Object.assign(Object.assign({}, DEFAULT_CONFIG), popoverModel.overlayConfig || {});
47
+ const hostElement = this.getHostElement(popoverModel.hostRef);
42
48
  const positionStrategy = this.overlayPositionBuilder
43
49
  .flexibleConnectedTo(popoverModel.hostRef)
44
50
  .withPositions([POPUP_POSITIONS[popoverModel.position]]);
45
51
  const overlayConfig = new OverlayConfig(Object.assign({ scrollStrategy: this.overlay.scrollStrategies.noop(), positionStrategy }, config));
52
+ if (popoverModel.alignment === 'host' && hostElement) {
53
+ const alignmentDimension = getAlignmentDimension(popoverModel.position);
54
+ overlayConfig[alignmentDimension] = hostElement.getBoundingClientRect()[alignmentDimension];
55
+ }
46
56
  return overlayConfig;
47
57
  }
48
58
  createInjector(popoverRef) {
@@ -51,15 +61,31 @@ export class DrPopoverService {
51
61
  ];
52
62
  return Injector.create({ providers: injectionTokens, parent: this.injector });
53
63
  }
54
- registerCloseListeners(popoverModel, overlayRef, popoverRef) {
64
+ registerListeners(popoverModel, overlayRef, popoverRef) {
55
65
  const config = popoverModel.overlayConfig || {};
56
66
  const targetElement = popoverModel.targetElement;
67
+ const hostElement = this.getHostElement(popoverModel.hostRef);
57
68
  if ((config === null || config === void 0 ? void 0 : config.closeOnBackdropClick) && (config === null || config === void 0 ? void 0 : config.hasBackdrop)) {
58
69
  overlayRef.backdropClick().subscribe(() => popoverRef.close());
59
70
  }
60
71
  if (targetElement) {
61
72
  targetElement.addEventListener('mouseup', () => popoverRef.close(), { once: true });
62
73
  }
74
+ if (popoverModel.alignment === 'host' && hostElement) {
75
+ const alignmentDimension = getAlignmentDimension(popoverModel.position);
76
+ const resizeObserver = new ResizeObserver(entries => {
77
+ entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));
78
+ });
79
+ resizeObserver.observe(hostElement);
80
+ popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));
81
+ }
82
+ }
83
+ getHostElement(hostRef) {
84
+ if (!hostRef || hostRef.x)
85
+ return null;
86
+ if (hostRef.nativeElement)
87
+ return hostRef.nativeElement;
88
+ return hostRef;
63
89
  }
64
90
  }
65
91
  DrPopoverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DrPopoverService_Factory() { return new DrPopoverService(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i1.OverlayPositionBuilder), i0.ɵɵinject(i0.INJECTOR)); }, token: DrPopoverService, providedIn: "root" });
@@ -73,4 +99,4 @@ DrPopoverService.ctorParameters = () => [
73
99
  { type: OverlayPositionBuilder },
74
100
  { type: Injector }
75
101
  ];
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQTRCLE1BQU0sbUJBQW1CLENBQUM7OztBQUs1RixNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQ1ksT0FBZ0IsRUFDaEIsc0JBQThDLEVBQzlDLFFBQWtCO1FBRmxCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzFCLENBQUM7SUFFTCxJQUFJLENBQUksT0FBMkMsRUFBRSxZQUFzQztRQUN2RixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsTUFBTSxLQUFLLG1DQUFRLGFBQWEsR0FBSyxZQUFZLENBQUUsQ0FBQztRQUVwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE1BQU0sVUFBVSxHQUFHLElBQUksWUFBWSxDQUFJLFVBQVUsQ0FBQyxDQUFD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LENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxhQUFhLEVBQUU7WUFDZixhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0wsQ0FBQzs7OztZQXJGSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQU5RLE9BQU87WUFBaUIsc0JBQXNCO1lBRGxDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1wb3BvdmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFBPUFVQX1BPU0lUSU9OUyB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJRywgREVGQVVMVF9NT0RFTCwgSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICkgeyB9XHJcblxyXG4gICAgb3BlbjxUPihjb250ZW50OiBUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LCBwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IERyUG9wb3ZlclJlZjxUPiB7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IG1vZGVsID0geyAuLi5ERUZBVUxUX01PREVMLCAuLi5wb3BvdmVyTW9kZWwgfTtcclxuXHJcbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShtb2RlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBuZXcgRHJQb3BvdmVyUmVmPFQ+KG92ZXJsYXlSZWYpO1xyXG5cclxuICAgICAgICB0aGlzLmF0dGFjaE92ZXJsYXlDb250YWluZXIoY29udGVudCwgbW9kZWwsIG92ZXJsYXlSZWYsIHBvcG92ZXJSZWYpO1xyXG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyQ2xvc2VMaXN0ZW5lcnMobW9kZWwsIG92ZXJsYXlSZWYsIHBvcG92ZXJSZWYpO1xyXG5cclxuICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGF0dGFjaE92ZXJsYXlDb250YWluZXI8VD4oXHJcbiAgICAgICAgY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICB7IGNvbnRlbnRDb250ZXh0LCBwb3NpdGlvbiwgY2xhc3M6IGVsZW1lbnRDbGFzcywgbWFudWFsQ2xvc2luZywgaG9zdFJlZiB9OiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXHJcbiAgICAgICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcclxuICAgICAgICBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD5cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8RHJQb3BvdmVyQ29tcG9uZW50PFQ+PihEclBvcG92ZXJDb21wb25lbnQsIG51bGwsIHRoaXMuY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZikpO1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBvdmVybGF5UmVmLmF0dGFjaDxEclBvcG92ZXJDb21wb25lbnQ8VD4+KGNvbXBvbmVudFBvcnRhbCk7XHJcblxyXG4gICAgICAgIHBvcG92ZXJSZWYuY29tcG9uZW50UmVmID0gY29udGVudFJlZjtcclxuXHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50ID0gY29udGVudDtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0geyAuLi5jb250ZW50Q29udGV4dCwgY2xvc2VQb3BvdmVyOiBwb3BvdmVyUmVmLmNsb3NlLmJpbmQocG9wb3ZlclJlZikgfTtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNsYXNzID0gZWxlbWVudENsYXNzICsgJyAnICsgcG9zaXRpb247XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5tYW51YWxDbG9zaW5nID0gbWFudWFsQ2xvc2luZztcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmhvc3RSZWYgPSBob3N0UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheShwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IE92ZXJsYXlSZWYge1xyXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcocG9wb3Zlck1vZGVsKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBPdmVybGF5Q29uZmlnIHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7IC4uLkRFRkFVTFRfQ09ORklHLCAuLi5wb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZyB8fCB7fX07XHJcblxyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9wb3Zlck1vZGVsLmhvc3RSZWYpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtQT1BVUF9QT1NJVElPTlNbcG9wb3Zlck1vZGVsLnBvc2l0aW9uXV0pO1xyXG5cclxuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxyXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8VD4ocG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+KTogSW5qZWN0b3Ige1xyXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcclxuICAgICAgICAgICAgeyBwcm92aWRlOiBEclBvcG92ZXJSZWYsIHVzZVZhbHVlOiBwb3BvdmVyUmVmIH0sXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWdpc3RlckNsb3NlTGlzdGVuZXJzPFQ+KHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLCBvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSBwb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZyB8fCB7fTtcclxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gcG9wb3Zlck1vZGVsLnRhcmdldEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIGlmIChjb25maWc/LmNsb3NlT25CYWNrZHJvcENsaWNrICYmIGNvbmZpZz8uaGFzQmFja2Ryb3ApIHtcclxuICAgICAgICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHBvcG92ZXJSZWYuY2xvc2UoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xyXG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCAoKSA9PiBwb3BvdmVyUmVmLmNsb3NlKCksIHsgb25jZTogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWlELE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFtQyxNQUFNLG1CQUFtQixDQUFDOzs7QUFLMUgsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUNZLE9BQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxRQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMxQixDQUFDO0lBRUwsSUFBSSxDQUFJLE9BQTJDLEVBQUUsWUFBc0M7UUFDdkYsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sS0FBSyxtQ0FBUSxhQUFhLEdBQUssWUFBWSxDQUFFLENBQUM7UUFFcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMs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QUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RSxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEksQ0FBQyxDQUFDLENBQUM7WUFDSCxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFTyxjQUFjLENBQUksT0FBNEM7UUFDbEUsSUFBSSxDQUFDLE9BQU8sSUFBWSxPQUFRLENBQUMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2hELElBQWlCLE9BQVEsQ0FBQyxhQUFhO1lBQUUsT0FBb0IsT0FBUSxDQUFDLGFBQWEsQ0FBQztRQUNwRixPQUFvQixPQUFPLENBQUM7SUFDaEMsQ0FBQzs7OztZQS9HSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQU5RLE9BQU87WUFBaUIsc0JBQXNCO1lBRGxDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi9kci1wb3BvdmVyLXJlZic7XHJcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBQT1BVUF9QT1NJVElPTlMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgREVGQVVMVF9DT05GSUcsIERFRkFVTFRfTU9ERUwsIGdldEFsaWdubWVudERpbWVuc2lvbiwgSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLCBQb2ludCB9IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyUG9wb3ZlclNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgICAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG9wZW48VD4oY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiwgcG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBEclBvcG92ZXJSZWY8VD4ge1xyXG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uREVGQVVMVF9NT0RFTCwgLi4ucG9wb3Zlck1vZGVsIH07XHJcblxyXG4gICAgICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkobW9kZWwpO1xyXG5cclxuICAgICAgICBjb25zdCBwb3BvdmVyUmVmID0gbmV3IERyUG9wb3ZlclJlZjxUPihvdmVybGF5UmVmKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdHRhY2hPdmVybGF5Q29udGFpbmVyKGNvbnRlbnQsIG1vZGVsLCBvdmVybGF5UmVmLCBwb3BvdmVyUmVmKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3Rlckxpc3RlbmVycyhtb2RlbCwgb3ZlcmxheVJlZiwgcG9wb3ZlclJlZik7XHJcblxyXG4gICAgICAgIHJldHVybiBwb3BvdmVyUmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXR0YWNoT3ZlcmxheUNvbnRhaW5lcjxUPihcclxuICAgICAgICBjb250ZW50OiBUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIHsgY29udGVudENvbnRleHQsIHBvc2l0aW9uLCBjbGFzczogZWxlbWVudENsYXNzLCBtYW51YWxDbG9zaW5nLCBob3N0UmVmLCBhbGlnbm1lbnQgfTogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLFxyXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXHJcbiAgICAgICAgcG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+XHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPERyUG9wb3ZlckNvbXBvbmVudDxUPj4oRHJQb3BvdmVyQ29tcG9uZW50LCBudWxsLCB0aGlzLmNyZWF0ZUluamVjdG9yKHBvcG92ZXJSZWYpKTtcclxuICAgICAgICBjb25zdCBjb250ZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2g8RHJQb3BvdmVyQ29tcG9uZW50PFQ+Pihjb21wb25lbnRQb3J0YWwpO1xyXG5cclxuICAgICAgICBwb3BvdmVyUmVmLmNvbXBvbmVudFJlZiA9IGNvbnRlbnRSZWY7XHJcblxyXG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGNvbnRlbnQ7XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50Q29udGV4dCA9IHsgLi4uY29udGVudENvbnRleHQsIGNsb3NlUG9wb3ZlcjogcG9wb3ZlclJlZi5jbG9zZS5iaW5kKHBvcG92ZXJSZWYpIH07XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jbGFzcyA9IGVsZW1lbnRDbGFzcyArICcgJyArIHBvc2l0aW9uO1xyXG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UubWFudWFsQ2xvc2luZyA9IG1hbnVhbENsb3Npbmc7XHJcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5ob3N0UmVmID0gaG9zdFJlZjtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmFsaWdubWVudCA9IGFsaWdubWVudDtcclxuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsKTogT3ZlcmxheVJlZiB7XHJcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhwb3BvdmVyTW9kZWwpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZyhwb3BvdmVyTW9kZWw6IElEclBvcG92ZXJDb21wb25lbnRNb2RlbCk6IE92ZXJsYXlDb25maWcge1xyXG4gICAgICAgIGlmICghUE9QVVBfUE9TSVRJT05TW3BvcG92ZXJNb2RlbC5wb3NpdGlvbl0pIHRocm93IG5ldyBFcnJvcihgRHJQb3BvdmVyIGRvZXMgbm90IHN1cHBvcnQgdGhlICcke3BvcG92ZXJNb2RlbD8ucG9zaXRpb259JyBwb3NpdGlvbiFgKTtcclxuXHJcbiAgICAgICAgY29uc3QgY29uZmlnID0geyAuLi5ERUZBVUxUX0NPTkZJRywgLi4ucG9wb3Zlck1vZGVsLm92ZXJsYXlDb25maWcgfHwge319O1xyXG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudChwb3BvdmVyTW9kZWwuaG9zdFJlZik7XHJcblxyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9wb3Zlck1vZGVsLmhvc3RSZWYpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtQT1BVUF9QT1NJVElPTlNbcG9wb3Zlck1vZGVsLnBvc2l0aW9uXV0pO1xyXG5cclxuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxyXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChwb3BvdmVyTW9kZWwuYWxpZ25tZW50ID09PSAnaG9zdCcgJiYgaG9zdEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgYWxpZ25tZW50RGltZW5zaW9uID0gZ2V0QWxpZ25tZW50RGltZW5zaW9uKHBvcG92ZXJNb2RlbC5wb3NpdGlvbik7XHJcbiAgICAgICAgICAgIG92ZXJsYXlDb25maWdbYWxpZ25tZW50RGltZW5zaW9uXSA9IGhvc3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW2FsaWdubWVudERpbWVuc2lvbl07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gb3ZlcmxheUNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yPFQ+KHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPik6IEluamVjdG9yIHtcclxuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXHJcbiAgICAgICAgICAgIHsgcHJvdmlkZTogRHJQb3BvdmVyUmVmLCB1c2VWYWx1ZTogcG9wb3ZlclJlZiB9LFxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IGluamVjdGlvblRva2VucywgcGFyZW50OiB0aGlzLmluamVjdG9yIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVnaXN0ZXJMaXN0ZW5lcnM8VD4ocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHBvcG92ZXJNb2RlbC5vdmVybGF5Q29uZmlnIHx8IHt9O1xyXG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBwb3BvdmVyTW9kZWwudGFyZ2V0RWxlbWVudDtcclxuICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQocG9wb3Zlck1vZGVsLmhvc3RSZWYpO1xyXG5cclxuICAgICAgICBpZiAoY29uZmlnPy5jbG9zZU9uQmFja2Ryb3BDbGljayAmJiBjb25maWc/Lmhhc0JhY2tkcm9wKSB7XHJcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiBwb3BvdmVyUmVmLmNsb3NlKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKCkgPT4gcG9wb3ZlclJlZi5jbG9zZSgpLCB7IG9uY2U6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocG9wb3Zlck1vZGVsLmFsaWdubWVudCA9PT0gJ2hvc3QnICYmIGhvc3RFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFsaWdubWVudERpbWVuc2lvbiA9IGdldEFsaWdubWVudERpbWVuc2lvbihwb3BvdmVyTW9kZWwucG9zaXRpb24pO1xyXG4gICAgICAgICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICAgICAgICAgIGVudHJpZXMuZm9yRWFjaChob3N0ID0+IG92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IFthbGlnbm1lbnREaW1lbnNpb25dOiBob3N0LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVthbGlnbm1lbnREaW1lbnNpb25dIH0pKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoaG9zdEVsZW1lbnQpO1xyXG4gICAgICAgICAgICBwb3BvdmVyUmVmLm9uQ2xvc2UucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4gcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGhvc3RFbGVtZW50KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQ8VD4oaG9zdFJlZjogUG9pbnQgfCBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8VD4pOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgaWYgKCFob3N0UmVmIHx8ICg8UG9pbnQ+aG9zdFJlZikueCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgaWYgKCg8RWxlbWVudFJlZj5ob3N0UmVmKS5uYXRpdmVFbGVtZW50KSByZXR1cm4gKDxFbGVtZW50UmVmPmhvc3RSZWYpLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgcmV0dXJuIDxIVE1MRWxlbWVudD5ob3N0UmVmO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=