@biit-solutions/wizardry-theme 1.22.1 → 1.22.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,10 +51,10 @@ export class BiitActionButtonComponent {
51
51
  }
52
52
  }
53
53
  BiitActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitActionButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
54
- BiitActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitActionButtonComponent, selector: "biit-action-button", inputs: { position: "position", additionalX: "additionalX", additionalY: "additionalY" }, queries: [{ propertyName: "inputButtons", predicate: BiitIconButtonComponent }], ngImport: i0, template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: #F20D5E;--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
54
+ BiitActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitActionButtonComponent, selector: "biit-action-button", inputs: { position: "position", additionalX: "additionalX", additionalY: "additionalY" }, queries: [{ propertyName: "inputButtons", predicate: BiitIconButtonComponent }], ngImport: i0, template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF;--icon-color: var(--main-color);--table-header-color: var(--component-color);--scrollbar-color: var(--main-color)}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitActionButtonComponent, decorators: [{
56
56
  type: Component,
57
- args: [{ selector: 'biit-action-button', template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: #F20D5E;--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"] }]
57
+ args: [{ selector: 'biit-action-button', template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF;--icon-color: var(--main-color);--table-header-color: var(--component-color);--scrollbar-color: var(--main-color)}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"] }]
58
58
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { position: [{
59
59
  type: Input
60
60
  }], additionalX: [{
@@ -22,9 +22,9 @@ export class BiitVerticalMenuComponent {
22
22
  }
23
23
  }
24
24
  BiitVerticalMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitVerticalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- BiitVerticalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitVerticalMenuComponent, selector: "biit-vertical-menu", ngImport: i0, template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"project_add\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"], dependencies: [{ kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i2.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
25
+ BiitVerticalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitVerticalMenuComponent, selector: "biit-vertical-menu", ngImport: i0, template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"hamburger\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"], dependencies: [{ kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i2.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitVerticalMenuComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'biit-vertical-menu', template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"project_add\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"] }]
28
+ args: [{ selector: 'biit-vertical-menu', template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"hamburger\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"] }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC12ZXJ0aWNhbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL25hdmlnYXRpb24vc3JjL2JpaXQtdmVydGljYWwtbWVudS9iaWl0LXZlcnRpY2FsLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvbmF2aWdhdGlvbi9zcmMvYmlpdC12ZXJ0aWNhbC1tZW51L2JpaXQtdmVydGljYWwtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTFDLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFNRSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsY0FBUyxHQUF3QjtZQUMvQixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtZQUN2RixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtTQUNwRixDQUFDO0tBY0g7SUFaQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFDbEIseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7O3VIQW5CVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwwRENSdEMsNGxCQXlCQTs0RkRqQmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0ZWRQb3NpdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtdmVydGljYWwtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iaWl0LXZlcnRpY2FsLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXZlcnRpY2FsLW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0VmVydGljYWxNZW51Q29tcG9uZW50IHtcbiAgb3BlbiA9IGZhbHNlO1xuXG4gIHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH0sXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH1cbiAgXTtcblxuICB0b2dnbGVNZW51KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIG9uU2VsZWN0KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gZW1pdGlyIGV2ZW50byBvIGzDs2dpY2FcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIGJpaXQtaWNvblxuICAgIGljb249XCJwcm9qZWN0X2FkZFwiXG4gICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgY2xhc3M9XCJpY29uLWJ0blwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIm9wZW5cIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cInBvc2l0aW9uc1wiXG4gICAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiY2xvc2UoKVwiXG4gICAgKGRldGFjaCk9XCJjbG9zZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsb2F0aW5nLW1lbnVcIiByb2xlPVwibWVudVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG5cbjwvZGl2PlxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC12ZXJ0aWNhbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL25hdmlnYXRpb24vc3JjL2JpaXQtdmVydGljYWwtbWVudS9iaWl0LXZlcnRpY2FsLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6YXJkcnktdGhlbWUvbmF2aWdhdGlvbi9zcmMvYmlpdC12ZXJ0aWNhbC1tZW51L2JpaXQtdmVydGljYWwtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTFDLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFNRSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsY0FBUyxHQUF3QjtZQUMvQixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtZQUN2RixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtTQUNwRixDQUFDO0tBY0g7SUFaQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFDbEIseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7O3VIQW5CVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwwRENSdEMsMGxCQXlCQTs0RkRqQmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0ZWRQb3NpdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpaXQtdmVydGljYWwtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iaWl0LXZlcnRpY2FsLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXZlcnRpY2FsLW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWl0VmVydGljYWxNZW51Q29tcG9uZW50IHtcbiAgb3BlbiA9IGZhbHNlO1xuXG4gIHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH0sXG4gICAgeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiA0IH1cbiAgXTtcblxuICB0b2dnbGVNZW51KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIG9uU2VsZWN0KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gZW1pdGlyIGV2ZW50byBvIGzDs2dpY2FcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIGJpaXQtaWNvblxuICAgIGljb249XCJoYW1idXJnZXJcIlxuICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgIGNsYXNzPVwiaWNvbi1idG5cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJ0b2dnbGVNZW51KClcIj5cbiAgPC9idXR0b24+XG5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvcGVuXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJwb3NpdGlvbnNcIlxuICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlKClcIlxuICAgIChkZXRhY2gpPVwiY2xvc2UoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbG9hdGluZy1tZW51XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuXG48L2Rpdj5cbiJdfQ==
@@ -269,13 +269,13 @@ BiitTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versi
269
269
  BiitTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitTableComponent, selector: "biit-table", inputs: { _data: ["metadata", "_data"], _loading: ["loading", "_loading"], columns: "columns", pageSizes: "pageSizes", defaultPageSize: "defaultPageSize" }, outputs: { onUpdate: "onUpdate", onCellAction: "onCellAction", onRowClick: "onRowClick" }, providers: [{
270
270
  provide: TRANSLOCO_SCOPE,
271
271
  useValue: { scope: 'wizardry-theme/table', alias: "table" }
272
- }], queries: [{ propertyName: "actionsTpl", first: true, predicate: ["actions"], descendants: true }], ngImport: i0, template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--popup-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--popup-background);font-weight:500;background:var(--component-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--popup-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--main-background)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--component-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.BiitPaginatorComponent, selector: "biit-paginator" }, { kind: "component", type: i4.BiitMultiselectComponent, selector: "biit-multiselect", inputs: ["title", "type", "icon", "label", "value", "descriptionField", "description", "data", "primitive", "compact", "disabled", "required", "sort-asc", "sort-desc"], outputs: ["onCreate"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i5.BiitProgressBarComponent, selector: "biit-progress-bar", inputs: ["type", "_value", "value"] }, { kind: "directive", type: i6.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i7.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i8.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i8.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i9.BiitVerticalMenuComponent, selector: "biit-vertical-menu" }, { kind: "directive", type: BiitTableSelectableDirective, selector: "[selectable]" }, { kind: "directive", type: BiitTableSortableDirective, selector: "[sortable]" }, { kind: "pipe", type: i10.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: i11.VisibleColumnsPipe, name: "visibleColumns" }, { kind: "pipe", type: i12.ColumnDataPipe, name: "columnData" }] });
272
+ }], queries: [{ propertyName: "actionsTpl", first: true, predicate: ["actions"], descendants: true }], ngImport: i0, template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--popup-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--popup-background);font-weight:500;background:var(--table-header-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--popup-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--main-background)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--component-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.BiitPaginatorComponent, selector: "biit-paginator" }, { kind: "component", type: i4.BiitMultiselectComponent, selector: "biit-multiselect", inputs: ["title", "type", "icon", "label", "value", "descriptionField", "description", "data", "primitive", "compact", "disabled", "required", "sort-asc", "sort-desc"], outputs: ["onCreate"] }, { kind: "component", type: i4.BiitInputTextComponent, selector: "biit-input-text", inputs: ["placeholder", "error", "description", "info", "type", "icon", "fieldName", "disabled", "required", "readonly", "min", "max", "minLength", "maxLength", "regEx"], outputs: ["onActionPerformed"] }, { kind: "component", type: i4.BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i5.BiitProgressBarComponent, selector: "biit-progress-bar", inputs: ["type", "_value", "value"] }, { kind: "directive", type: i6.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i7.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i8.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i8.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i8.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i9.BiitVerticalMenuComponent, selector: "biit-vertical-menu" }, { kind: "directive", type: BiitTableSelectableDirective, selector: "[selectable]" }, { kind: "directive", type: BiitTableSortableDirective, selector: "[sortable]" }, { kind: "pipe", type: i10.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: i11.VisibleColumnsPipe, name: "visibleColumns" }, { kind: "pipe", type: i12.ColumnDataPipe, name: "columnData" }] });
273
273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTableComponent, decorators: [{
274
274
  type: Component,
275
275
  args: [{ selector: 'biit-table', providers: [{
276
276
  provide: TRANSLOCO_SCOPE,
277
277
  useValue: { scope: 'wizardry-theme/table', alias: "table" }
278
- }], template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--popup-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--popup-background);font-weight:500;background:var(--component-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--popup-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--main-background)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--component-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"] }]
278
+ }], template: "<div class=\"canvas\" *transloco=\"let t\">\n <div class=\"header\" *ngIf=\"!hideHeader\">\n <div class=\"buttons\" id=\"menu\">\n <biit-vertical-menu *ngIf=\"actionsTpl\" class=\"vertical-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </biit-vertical-menu>\n <div *ngIf=\"actionsTpl\" class=\"horizontal-menu\">\n <ng-container *ngTemplateOutlet=\"actionsTpl\"></ng-container>\n </div>\n <div *ngIf=\"!actionsTpl\">\n <ng-content></ng-content>\n </div>\n </div>\n <div class=\"forms\">\n <biit-input-text id=\"search-field\" [(ngModel)]=\"search\"\n (onActionPerformed)=\"\n paginator.currentPage = 1;\n onTableUpdate(true);\n \"\n (focusout)=\"resetInputValue()\"\n (ngModelChange)=\"onTableUpdate()\"\n icon=\"search\"\n [placeholder]=\"t('table.search')\"\n ></biit-input-text>\n <biit-multiselect id=\"column-selector\" [ngModel]=\"columns | visibleColumns\"\n (ngModelChange)=\"setColumnVisibility($event)\"\n [data]=\"columns\"\n label=\"label\"\n value=\"visible\"\n [title]=\"t('table.column-selector')\"\n [type]=\"BiitMultiselectType.ICON\"\n [compact]=\"true\"\n ></biit-multiselect>\n </div>\n </div>\n\n <div class=\"content\">\n <div *ngIf=\"loading\" style=\"position: relative\">\n <biit-progress-bar style=\"position: absolute; top: 2.1rem; left: 0.2rem; width: calc(100% - 0.1rem);\"></biit-progress-bar>\n </div>\n <table>\n <thead>\n <tr>\n <th *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox *ngIf=\"isSelectable\"\n [ngModel]=\"data?.data.length && selectedRows.size == data?.data.length\"\n (ngModelChange)=\"$event ? data?.data.forEach(selectedRows.add, selectedRows) : selectedRows.clear()\"\n ></biit-checkbox>\n </th>\n <th *ngFor=\"let column of columns, index as i\"\n [class.sortable]=\"isSortable\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : ''\"\n (click)=\"isSortable ? onTableSort(column) : false\"\n >\n <div class=\"label\">\n {{column.label}}\n </div>\n <biit-icon *ngIf=\"isSortable\"\n [name]=\"sorting?.name == column.name ? 'right_arrow' : 'up_down_arrow'\"\n [pathStyle]=\"{fill: '#FFFFFF'}\"\n class=\"sort\"\n [class.asc]=\"sorting?.name == column.name && sorting?.order == 'asc'\"\n [class.desc]=\"sorting?.name == column.name && sorting?.order == 'desc'\"\n ></biit-icon>\n <div class=\"column-resizer\"\n (mousedown)=\"resizeColumn($event, column, i)\"\n (click)=\"$event.preventDefault();\n $event.stopPropagation();\n $event.stopImmediatePropagation();\"\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data?.data; index as i\"\n [class.selectable]=\"isSelectable\"\n [class.selected]=\"selectedRows.has(item)\"\n (pointerdown)=\"emitRowClick(item)\"\n >\n <td *ngIf=\"isSelectable || isSelectableSingle\" class=\"select\">\n <biit-checkbox id=\"select{{i}}\"\n [ngModel]=\"selectedRows.has(item)\"\n (ngModelChange)=\"selectRow(item, true)\"\n ></biit-checkbox>\n </td>\n <td *ngFor=\"let column of columns\"\n (pointerdown)=\"selectRow(item, $event.ctrlKey)\"\n [style.display]=\"!column.visible ? 'none' : null\"\n [style.width]=\"column.width ? column.width + 'px' : null\"\n >\n <div *ngIf=\"column.format == BiitTableColumnFormat.DEFAULT\">\n {{item | columnData: column.name}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BOOLEAN\">\n {{(item | columnData: column.name) ? t('table.yes') : t('table.no') }}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.DATE\">\n {{(item | columnData: column.name) | localizedDate}}\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-button tertiary\n (pointerdown)=\"emitCellAction(item, column.name, $event)\">\n {{item | columnData: column.name}}\n </button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON_BUTTON\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <button biit-icon [icon]=\"item | columnData: column.name\"\n (pointerdown)=\"emitCellAction(item, column.name, $event);\"></button>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.ICON\"\n style=\"width: auto; height: 1.05rem;\">\n <biit-icon [name]=\"item | columnData: column.name\"></biit-icon>\n </div>\n <div *ngIf=\"column.format == BiitTableColumnFormat.CUSTOM_HTML\"\n style=\"width: auto; text-align: -webkit-center; text-align: -moz-center;\">\n <div [innerHTML]=\"item | columnData: column.name\"></div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div class=\"footer\" *ngIf=\"!hideFooter\">\n <div class=\"selected\">\n <a style=\"margin-right: 0.7rem\" *ngIf=\"selectedRows.size\">Selected:</a>\n <a *ngIf=\"selectedRows.size\">{{selectedRows.size}}</a>\n </div>\n <biit-paginator *ngIf=\"paginator\"\n [ngModel]=\"paginator\" (ngModelChange)=\"paginator = $event; onTableUpdate()\"></biit-paginator>\n </div>\n</div>\n", styles: [".canvas{height:100%;display:flex;flex-direction:column;box-sizing:border-box;row-gap:1.05rem}.canvas>.header{display:flex;flex-direction:row;justify-content:space-between}.canvas>.header>*{display:flex;flex-direction:row}.canvas>.header>.buttons ::ng-deep>*{height:2.1rem;min-width:2.1rem;display:flex;align-items:center;justify-content:center}.canvas>.header>.forms{column-gap:.7rem}.canvas>.header>.forms ::ng-deep biit-input-text .biit-input{min-height:0;padding-top:0}.canvas>.content{overflow:auto;display:flex;flex-grow:1;flex-direction:column;box-sizing:border-box}.canvas>.content *{box-sizing:border-box}.canvas>.content>table{width:100%;height:-moz-fit-content;height:fit-content;margin-top:-.2rem;table-layout:fixed;border-spacing:.2rem}.canvas>.content>table thead{text-transform:uppercase;position:sticky;top:0;background:var(--popup-background);z-index:1}.canvas>.content>table thead th{position:relative;height:2.1rem;color:var(--popup-background);font-weight:500;background:var(--table-header-color);padding:.4rem 2.4rem;text-align:center;text-align:-moz-center;text-align:-webkit-center;cursor:default}.canvas>.content>table thead th.select{width:2.1rem;padding:.3rem .7rem;background:var(--popup-background)}.canvas>.content>table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.canvas>.content>table thead th>.column-resizer{position:absolute;right:-.2rem;top:0;height:100%;width:.6rem;cursor:col-resize}.canvas>.content>table thead th>.label{width:-moz-fit-content;width:fit-content}.canvas>.content>table thead th>.sort{position:absolute;width:.7rem;height:.7rem;top:calc(50% - .35rem);right:.7rem;pointer-events:none}.canvas>.content>table thead th>.sort.asc{rotate:-90deg}.canvas>.content>table thead th>.sort.desc{rotate:90deg}.canvas>.content>table tbody tr{cursor:default}.canvas>.content>table tbody tr.selected{background:var(--main-background)}.canvas>.content>table tbody tr:hover{background:var(--hover-color)}.canvas>.content>table tbody tr:hover.selectable{cursor:pointer}.canvas>.content>table tbody tr>td{height:2.1rem;border-bottom:.2rem solid var(--component-color);padding:.3rem .7rem;overflow:hidden}.canvas>.content>table tbody tr>td.select{width:2.1rem;padding:.3rem .7rem}.canvas>.footer{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.canvas>.footer>biit-paginator{width:50%;display:block}@media screen and (max-width: 600px){.page-size-selector,.horizontal-menu{display:none!important}}@media screen and (min-width: 601px){.vertical-menu{display:none!important}}\n"] }]
279
279
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { _data: [{
280
280
  type: Input,
281
281
  args: ['metadata']
@@ -298,4 +298,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
298
298
  }], onRowClick: [{
299
299
  type: Output
300
300
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS90YWJsZS9zcmMvYmlpdC10YWJsZS9iaWl0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL3RhYmxlL3NyYy9iaWl0LXRhYmxlL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxTQUFTLEVBR1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSzVFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0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QzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7O2dIQWhOVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw2UkFMbEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO1NBQzFELENBQUMsNkhDM0VKLHc4TUF3SUEscTFKRDlHYSw0QkFBNEIseURBa0I1QiwwQkFBMEI7NEZBaUMxQixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO3lCQUMxRCxDQUFDO3lIQUlxQixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBU0ssUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQVFQLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFRYixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaWl0UGFnaW5hdG9yT3B0aW9uc30gZnJvbSAnLi4vYmlpdC1wYWdpbmF0b3IvbW9kZWxzL2JpaXQtcGFnaW5hdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHtCaWl0VGFibGVDb2x1bW4sIEJpaXRUYWJsZUNvbHVtbkZvcm1hdH0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVIYW5kbGVyfSBmcm9tICcuL21vZGVscy9jb2x1bW4tcmVzaXplLWhhbmRsZXInO1xuaW1wb3J0IHtCaWl0VGFibGVSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1yZXNwb25zZSc7XG5pbXBvcnQge0JpaXRUYWJsZURhdGF9IGZyb20gJy4vbW9kZWxzL2JpaXQtdGFibGUtZGF0YSc7XG5pbXBvcnQge0JpaXRUYWJsZVNvcnRpbmcsIEJpaXRUYWJsZVNvcnRpbmdPcmRlcn0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1zb3J0aW5nJztcbmltcG9ydCB7QmlpdE11bHRpc2VsZWN0VHlwZX0gZnJvbSAnQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0cyc7XG5pbXBvcnQge1RSQU5TTE9DT19TQ09QRX0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtCaWl0VGFibGVBY3Rpb25SZXNwb25zZX0gZnJvbSBcIi4vbW9kZWxzL2JpaXQtdGFibGUtYWN0aW9uLXJlc3BvbnNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWxlY3RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaXNTZWxlY3RhYmxlID0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZVNpbmdsZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRUYWJsZVNlbGVjdGFibGVTaW5nbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU2VsZWN0YWJsZVNpbmdsZSA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NvcnRhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU29ydGFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU29ydGFibGUgPSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1toaWRlSGVhZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlSGVhZGVybGVzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaGlkZUhlYWRlciA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hpZGVGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGFibGVGb290ZXJsZXNzRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IEJpaXRUYWJsZUNvbXBvbmVudCkge1xuICAgIHBhcmVudC5oaWRlRm9vdGVyID0gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL3RhYmxlJywgYWxpYXM6IFwidGFibGVcIn1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9kYXRhKGRhdGE6IEJpaXRUYWJsZURhdGE8YW55Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBCaWl0UGFnaW5hdG9yT3B0aW9ucyh0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCBkYXRhLnRvdGFsSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBASW5wdXQoJ2xvYWRpbmcnKSBzZXQgX2xvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBjb2x1bW5zOiBCaWl0VGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlU2l6ZXM6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGRlZmF1bHRQYWdlU2l6ZTogbnVtYmVyO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FjdGlvbnMnKSBhY3Rpb25zVHBsITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBpc1NlbGVjdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZWxlY3RhYmxlU2luZ2xlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU29ydGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZUhlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBoaWRlRm9vdGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uVXBkYXRlOiBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxCaWl0VGFibGVSZXNwb25zZT4oKTtcbiAgQE91dHB1dCgpIG9uQ2VsbEFjdGlvbjogRXZlbnRFbWl0dGVyPEJpaXRUYWJsZUFjdGlvblJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlQWN0aW9uUmVzcG9uc2U+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0NsaWNrIDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcm90ZWN0ZWQgZGF0YTogQmlpdFRhYmxlRGF0YTxhbnk+O1xuICBwcm90ZWN0ZWQgcGFnaW5hdG9yO1xuICBwcm90ZWN0ZWQgc29ydGluZzogQmlpdFRhYmxlU29ydGluZztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkUm93czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcbiAgcHJvdGVjdGVkIGNvbHVtblJlc2l6ZTogQ29sdW1uUmVzaXplSGFuZGxlciA9IG5ldyBDb2x1bW5SZXNpemVIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY3VycmVudFNlYXJjaDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCByZWFkb25seSBCaWl0TXVsdGlzZWxlY3RUeXBlID0gQmlpdE11bHRpc2VsZWN0VHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpaXRUYWJsZUNvbHVtbkZvcm1hdCA9IEJpaXRUYWJsZUNvbHVtbkZvcm1hdDtcblxuICBwcml2YXRlIGZpbmRUaW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgQmlpdFBhZ2luYXRvck9wdGlvbnMoMSwgdGhpcy5kZWZhdWx0UGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWxJdGVtcyA6IDEpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuc2V0Q29sdW1uU2l6ZSgpO1xuICB9XG5cbiAgLy8gRml4IGZvciByZXNpemFibGUgY29sdW1uc1xuICBwcml2YXRlIHNldENvbHVtblNpemUoKSB7XG4gICAgLy8gVGFrZXMgc2Nyb2xsYmFyIHBhZGRpbmcgaW4gbWluZCBiZWZvcmUgaGFyZGNvZGluZyB3aWR0aHNcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudCcpLnN0eWxlLnBhZGRpbmdSaWdodCA9ICcwLjdyZW0nO1xuXG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmZpcnN0Q2hpbGQuY2hpbGRyZW4pLmZvckVhY2gob2dDb2x1bW4gPT4ge1xuICAgICAgY29uc3QgY29sdW1uID0gb2dDb2x1bW4gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29sdW1uLnN0eWxlLndpZHRoID09ICcnICYmICFjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICBjb2x1bW4uc3R5bGUud2lkdGggPSBjb2x1bW4ub2Zmc2V0V2lkdGggLSAxMCArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbHVtbklubmVyV29yZEZpdENoZWNrKGNvbHVtbik7XG4gICAgfSk7XG4gICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQnKS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gIH1cblxuICBjb2x1bW5Jbm5lcldvcmRGaXRDaGVjayhjb2x1bW46IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgbWluQ29sdW1uU2l6ZSA9IChjb2x1bW4uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICAvLyBJZiBpbm5lciB0ZXh0IHdpZHRoIHBsdXMgaGVhZGVyIHBhZGRpbmdzIGFyZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgaGVhZGVyIHdpZHRoIChzZXQgYnkgdXNlciBjb2x1bW4gcHJvcGVydGllcylcbiAgICBpZihtaW5Db2x1bW5TaXplID4gY29sdW1uLm9mZnNldFdpZHRoKSB7XG4gICAgICAoY29sdW1uIGFzIEhUTUxFbGVtZW50KS5zdHlsZS53aWR0aCA9IG1pbkNvbHVtblNpemUgKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIHNldExvYWRpbmdCYXIoKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZ3Jlc3NCYXIgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdiaWl0LXByb2dyZXNzLWJhcicpO1xuICAgIGlmIChwcm9ncmVzc0Jhcikge1xuICAgICAgcHJvZ3Jlc3NCYXIuc3R5bGUudG9wID1cbiAgICAgICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5vZmZzZXRIZWlnaHQgKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIG9uVGFibGVVcGRhdGUoZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmZpbmRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5maW5kVGltZW91dCk7XG4gICAgfVxuICAgIHRoaXMuZmluZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFNlYXJjaCA9IHRoaXMuc2VhcmNoO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIHRoaXMub25VcGRhdGUuZW1pdChuZXcgQmlpdFRhYmxlUmVzcG9uc2UoXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLmN1cnJlbnRQYWdlLFxuICAgICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcbiAgICAgICAgdGhpcy5zZWFyY2gsXG4gICAgICAgIHRoaXMuc29ydGluZ1xuICAgICAgKSk7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5maW5kVGltZW91dCk7XG4gICAgICB0aGlzLmZpbmRUaW1lb3V0ID0gbnVsbDtcbiAgICB9LCBmb3JjZSA/IDAgOiA1MDApO1xuICB9XG5cbiAgb25UYWJsZVNvcnQoY29sdW1uOiBCaWl0VGFibGVDb2x1bW4pIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nICYmIHRoaXMuc29ydGluZy5uYW1lID09IGNvbHVtbi5uYW1lKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc29ydGluZy5vcmRlcikge1xuICAgICAgICBjYXNlIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5BU0M6XG4gICAgICAgICAgdGhpcy5zb3J0aW5nLm9yZGVyID0gQmlpdFRhYmxlU29ydGluZ09yZGVyLkRFU0M7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQmlpdFRhYmxlU29ydGluZ09yZGVyLkRFU0M6XG4gICAgICAgICAgdGhpcy5zb3J0aW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNvcnRpbmcgPSBuZXcgQmlpdFRhYmxlU29ydGluZyhjb2x1bW4ubmFtZSwgQmlpdFRhYmxlU29ydGluZ09yZGVyLkFTQyk7XG4gICAgfVxuXG4gICAgdGhpcy5vblRhYmxlVXBkYXRlKCk7XG4gIH1cblxuICBzbmFrZVRvQ2FtZWwoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJpbmcudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bLV9dW2Etel0vZywgKGdyb3VwKSA9PiBncm91cC5zbGljZSgtMSkudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICByZXNpemVDb2x1bW4oZXZlbnQsIGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uLCBpbmRleCkge1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0ID0gZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQgPSB0cnVlO1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0WCA9IGV2ZW50Lng7XG4gICAgdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRXaWR0aCA9ICh0aGlzLmNvbHVtblJlc2l6ZS5zdGFydC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aDtcblxuICAgIGxldCBjb2x1bW5FbGVtID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5maXJzdENoaWxkLmNoaWxkcmVuW3RoaXMuaXNTZWxlY3RhYmxlID8gaW5kZXggKyAxIDogaW5kZXhdO1xuICAgIHRoaXMuY29sdW1uUmVzaXplLm1pbldpZHRoID0gKGNvbHVtbkVsZW0uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICB0aGlzLmluaXRSZXNpemFibGVDb2x1bW5zKGNvbHVtbik7XG4gIH1cblxuICBwcml2YXRlIGluaXRSZXNpemFibGVDb2x1bW5zKGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uKSB7XG4gICAgY29uc3QgbW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmKHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQpIHtcbiAgICAgICAgbGV0IHdpZHRoID0gdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRXaWR0aCArIChldmVudC54IC0gdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRYKTtcbiAgICAgICAgaWYod2lkdGggPiB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCkge1xuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCByZWxlYXNlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmKHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5SZXNpemUucHJlc3NlZCA9IGZhbHNlO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG1vdmVMaXN0ZW5lcigpO1xuICAgICAgICByZWxlYXNlTGlzdGVuZXIoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldENvbHVtblZpc2liaWxpdHkocmVzcG9uc2U6IEJpaXRUYWJsZUNvbHVtbltdKSB7XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PiByZXNwb25zZS5zb21lKGUgPT4gZS5uYW1lID09IGMubmFtZSkgPyBjLnZpc2libGUgPSB0cnVlIDogYy52aXNpYmxlID0gZmFsc2UpO1xuICB9XG5cbiAgc2VsZWN0Um93KGl0ZW0sIGhvbGRDdHJsKSB7XG4gICAgaWYgKCFob2xkQ3RybCB8fCB0aGlzLmlzU2VsZWN0YWJsZVNpbmdsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUm93cy5oYXMoaXRlbSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuYWRkKGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZGVsZXRlKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdGVkUm93cygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnNlbGVjdGVkUm93c107XG4gIH1cblxuICBlbWl0Q2VsbEFjdGlvbihpdGVtOiBhbnksIGNvbHVtbjogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uQ2VsbEFjdGlvbi5lbWl0KG5ldyBCaWl0VGFibGVBY3Rpb25SZXNwb25zZShpdGVtLCBjb2x1bW4pKTtcbiAgfVxuXG4gIGVtaXRSb3dDbGljayhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChpdGVtKTtcbiAgfVxuXG4gIHJlc2V0SW5wdXRWYWx1ZSgpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHRoaXMuY3VycmVudFNlYXJjaDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhbnZhc1wiICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCIgaWQ9XCJtZW51XCI+XG4gICAgICA8YmlpdC12ZXJ0aWNhbC1tZW51ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwidmVydGljYWwtbWVudVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9iaWl0LXZlcnRpY2FsLW1lbnU+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwiaG9yaXpvbnRhbC1tZW51XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhYWN0aW9uc1RwbFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybXNcIj5cbiAgICAgIDxiaWl0LWlucHV0LXRleHQgaWQ9XCJzZWFyY2gtZmllbGRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkFjdGlvblBlcmZvcm1lZCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0b3IuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgIG9uVGFibGVVcGRhdGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJyZXNldElucHV0VmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGFibGVVcGRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidCgndGFibGUuc2VhcmNoJylcIlxuICAgICAgPjwvYmlpdC1pbnB1dC10ZXh0PlxuICAgICAgPGJpaXQtbXVsdGlzZWxlY3QgaWQ9XCJjb2x1bW4tc2VsZWN0b3JcIiBbbmdNb2RlbF09XCJjb2x1bW5zIHwgdmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q29sdW1uVmlzaWJpbGl0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInQoJ3RhYmxlLmNvbHVtbi1zZWxlY3RvcicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIkJpaXRNdWx0aXNlbGVjdFR5cGUuSUNPTlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcbiAgICAgID48L2JpaXQtbXVsdGlzZWxlY3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxuICAgICAgPGJpaXQtcHJvZ3Jlc3MtYmFyIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIuMXJlbTsgbGVmdDogMC4ycmVtOyB3aWR0aDogY2FsYygxMDAlIC0gMC4xcmVtKTtcIj48L2JpaXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICAgIDx0YWJsZT5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCAqbmdJZj1cImlzU2VsZWN0YWJsZSB8fCBpc1NlbGVjdGFibGVTaW5nbGVcIiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPGJpaXQtY2hlY2tib3ggKm5nSWY9XCJpc1NlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZGF0YT8uZGF0YS5sZW5ndGggJiYgc2VsZWN0ZWRSb3dzLnNpemUgPT0gZGF0YT8uZGF0YS5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiJGV2ZW50ID8gZGF0YT8uZGF0YS5mb3JFYWNoKHNlbGVjdGVkUm93cy5hZGQsIHNlbGVjdGVkUm93cykgOiBzZWxlY3RlZFJvd3MuY2xlYXIoKVwiXG4gICAgICAgICAgICA+PC9iaWl0LWNoZWNrYm94PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucywgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZV09XCJpc1NvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyBjb2x1bW4ud2lkdGggKyAncHgnIDogJydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaXNTb3J0YWJsZSA/IG9uVGFibGVTb3J0KGNvbHVtbikgOiBmYWxzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7Y29sdW1uLmxhYmVsfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJpaXQtaWNvbiAqbmdJZj1cImlzU29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lID8gJ3JpZ2h0X2Fycm93JyA6ICd1cF9kb3duX2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjRkZGRkZGJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXNjXT1cInNvcnRpbmc/Lm5hbWUgPT0gY29sdW1uLm5hbWUgJiYgc29ydGluZz8ub3JkZXIgPT0gJ2FzYydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGVzY109XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lICYmIHNvcnRpbmc/Lm9yZGVyID09ICdkZXNjJ1wiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLXJlc2l6ZXJcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInJlc2l6ZUNvbHVtbigkZXZlbnQsIGNvbHVtbiwgaSlcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5kYXRhOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImlzU2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRSb3dzLmhhcyhpdGVtKVwiXG4gICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXNTZWxlY3RhYmxlIHx8IGlzU2VsZWN0YWJsZVNpbmdsZVwiIGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxiaWl0LWNoZWNrYm94IGlkPVwic2VsZWN0e3tpfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJvd3MuaGFzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0Um93KGl0ZW0sIHRydWUpXCJcbiAgICAgICAgICAgICAgPjwvYmlpdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwic2VsZWN0Um93KGl0ZW0sICRldmVudC5jdHJsS2V5KVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi53aWR0aCA/IGNvbHVtbi53aWR0aCArICdweCcgOiBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkRFRkFVTFRcIj5cbiAgICAgICAgICAgICAgICB7e2l0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuQk9PTEVBTlwiPlxuICAgICAgICAgICAgICAgIHt7KGl0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZSkgPyB0KCd0YWJsZS55ZXMnKSA6IHQoJ3RhYmxlLm5vJykgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5EQVRFXCI+XG4gICAgICAgICAgICAgICAge3soaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lKSB8IGxvY2FsaXplZERhdGV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkJVVFRPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3tpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LklDT05fQlVUVE9OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjsgdGV4dC1hbGlnbjogLW1vei1jZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWljb24gW2ljb25dPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KTtcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5JQ09OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyBoZWlnaHQ6IDEuMDVyZW07XCI+XG4gICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5DVVNUT01fSFRNTFwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIiAqbmdJZj1cIiFoaWRlRm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCI+XG4gICAgICA8YSBzdHlsZT1cIm1hcmdpbi1yaWdodDogMC43cmVtXCIgKm5nSWY9XCJzZWxlY3RlZFJvd3Muc2l6ZVwiPlNlbGVjdGVkOjwvYT5cbiAgICAgIDxhICpuZ0lmPVwic2VsZWN0ZWRSb3dzLnNpemVcIj57e3NlbGVjdGVkUm93cy5zaXplfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPGJpaXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdG9yXCJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2luYXRvclwiIChuZ01vZGVsQ2hhbmdlKT1cInBhZ2luYXRvciA9ICRldmVudDsgb25UYWJsZVVwZGF0ZSgpXCI+PC9iaWl0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS90YWJsZS9zcmMvYmlpdC10YWJsZS9iaWl0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL3RhYmxlL3NyYy9iaWl0LXRhYmxlL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxTQUFTLEVBR1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSzVFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0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QzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7O2dIQWhOVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw2UkFMbEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO1NBQzFELENBQUMsNkhDM0VKLHc4TUF3SUEsdzFKRDlHYSw0QkFBNEIseURBa0I1QiwwQkFBMEI7NEZBaUMxQixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO3lCQUMxRCxDQUFDO3lIQUlxQixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBU0ssUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQVFQLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFRYixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaWl0UGFnaW5hdG9yT3B0aW9uc30gZnJvbSAnLi4vYmlpdC1wYWdpbmF0b3IvbW9kZWxzL2JpaXQtcGFnaW5hdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHtCaWl0VGFibGVDb2x1bW4sIEJpaXRUYWJsZUNvbHVtbkZvcm1hdH0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVIYW5kbGVyfSBmcm9tICcuL21vZGVscy9jb2x1bW4tcmVzaXplLWhhbmRsZXInO1xuaW1wb3J0IHtCaWl0VGFibGVSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1yZXNwb25zZSc7XG5pbXBvcnQge0JpaXRUYWJsZURhdGF9IGZyb20gJy4vbW9kZWxzL2JpaXQtdGFibGUtZGF0YSc7XG5pbXBvcnQge0JpaXRUYWJsZVNvcnRpbmcsIEJpaXRUYWJsZVNvcnRpbmdPcmRlcn0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1zb3J0aW5nJztcbmltcG9ydCB7QmlpdE11bHRpc2VsZWN0VHlwZX0gZnJvbSAnQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0cyc7XG5pbXBvcnQge1RSQU5TTE9DT19TQ09QRX0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtCaWl0VGFibGVBY3Rpb25SZXNwb25zZX0gZnJvbSBcIi4vbW9kZWxzL2JpaXQtdGFibGUtYWN0aW9uLXJlc3BvbnNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWxlY3RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaXNTZWxlY3RhYmxlID0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZVNpbmdsZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRUYWJsZVNlbGVjdGFibGVTaW5nbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU2VsZWN0YWJsZVNpbmdsZSA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NvcnRhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU29ydGFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU29ydGFibGUgPSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1toaWRlSGVhZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlSGVhZGVybGVzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaGlkZUhlYWRlciA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hpZGVGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGFibGVGb290ZXJsZXNzRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IEJpaXRUYWJsZUNvbXBvbmVudCkge1xuICAgIHBhcmVudC5oaWRlRm9vdGVyID0gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL3RhYmxlJywgYWxpYXM6IFwidGFibGVcIn1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9kYXRhKGRhdGE6IEJpaXRUYWJsZURhdGE8YW55Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBCaWl0UGFnaW5hdG9yT3B0aW9ucyh0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCBkYXRhLnRvdGFsSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBASW5wdXQoJ2xvYWRpbmcnKSBzZXQgX2xvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBjb2x1bW5zOiBCaWl0VGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlU2l6ZXM6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGRlZmF1bHRQYWdlU2l6ZTogbnVtYmVyO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FjdGlvbnMnKSBhY3Rpb25zVHBsITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBpc1NlbGVjdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZWxlY3RhYmxlU2luZ2xlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU29ydGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZUhlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBoaWRlRm9vdGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uVXBkYXRlOiBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxCaWl0VGFibGVSZXNwb25zZT4oKTtcbiAgQE91dHB1dCgpIG9uQ2VsbEFjdGlvbjogRXZlbnRFbWl0dGVyPEJpaXRUYWJsZUFjdGlvblJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlQWN0aW9uUmVzcG9uc2U+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0NsaWNrIDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcm90ZWN0ZWQgZGF0YTogQmlpdFRhYmxlRGF0YTxhbnk+O1xuICBwcm90ZWN0ZWQgcGFnaW5hdG9yO1xuICBwcm90ZWN0ZWQgc29ydGluZzogQmlpdFRhYmxlU29ydGluZztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkUm93czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcbiAgcHJvdGVjdGVkIGNvbHVtblJlc2l6ZTogQ29sdW1uUmVzaXplSGFuZGxlciA9IG5ldyBDb2x1bW5SZXNpemVIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY3VycmVudFNlYXJjaDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCByZWFkb25seSBCaWl0TXVsdGlzZWxlY3RUeXBlID0gQmlpdE11bHRpc2VsZWN0VHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpaXRUYWJsZUNvbHVtbkZvcm1hdCA9IEJpaXRUYWJsZUNvbHVtbkZvcm1hdDtcblxuICBwcml2YXRlIGZpbmRUaW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgQmlpdFBhZ2luYXRvck9wdGlvbnMoMSwgdGhpcy5kZWZhdWx0UGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWxJdGVtcyA6IDEpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuc2V0Q29sdW1uU2l6ZSgpO1xuICB9XG5cbiAgLy8gRml4IGZvciByZXNpemFibGUgY29sdW1uc1xuICBwcml2YXRlIHNldENvbHVtblNpemUoKSB7XG4gICAgLy8gVGFrZXMgc2Nyb2xsYmFyIHBhZGRpbmcgaW4gbWluZCBiZWZvcmUgaGFyZGNvZGluZyB3aWR0aHNcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudCcpLnN0eWxlLnBhZGRpbmdSaWdodCA9ICcwLjdyZW0nO1xuXG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmZpcnN0Q2hpbGQuY2hpbGRyZW4pLmZvckVhY2gob2dDb2x1bW4gPT4ge1xuICAgICAgY29uc3QgY29sdW1uID0gb2dDb2x1bW4gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29sdW1uLnN0eWxlLndpZHRoID09ICcnICYmICFjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICBjb2x1bW4uc3R5bGUud2lkdGggPSBjb2x1bW4ub2Zmc2V0V2lkdGggLSAxMCArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbHVtbklubmVyV29yZEZpdENoZWNrKGNvbHVtbik7XG4gICAgfSk7XG4gICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQnKS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gIH1cblxuICBjb2x1bW5Jbm5lcldvcmRGaXRDaGVjayhjb2x1bW46IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgbWluQ29sdW1uU2l6ZSA9IChjb2x1bW4uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICAvLyBJZiBpbm5lciB0ZXh0IHdpZHRoIHBsdXMgaGVhZGVyIHBhZGRpbmdzIGFyZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgaGVhZGVyIHdpZHRoIChzZXQgYnkgdXNlciBjb2x1bW4gcHJvcGVydGllcylcbiAgICBpZihtaW5Db2x1bW5TaXplID4gY29sdW1uLm9mZnNldFdpZHRoKSB7XG4gICAgICAoY29sdW1uIGFzIEhUTUxFbGVtZW50KS5zdHlsZS53aWR0aCA9IG1pbkNvbHVtblNpemUgKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIHNldExvYWRpbmdCYXIoKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZ3Jlc3NCYXIgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdiaWl0LXByb2dyZXNzLWJhcicpO1xuICAgIGlmIChwcm9ncmVzc0Jhcikge1xuICAgICAgcHJvZ3Jlc3NCYXIuc3R5bGUudG9wID1cbiAgICAgICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5vZmZzZXRIZWlnaHQgKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIG9uVGFibGVVcGRhdGUoZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmZpbmRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5maW5kVGltZW91dCk7XG4gICAgfVxuICAgIHRoaXMuZmluZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFNlYXJjaCA9IHRoaXMuc2VhcmNoO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIHRoaXMub25VcGRhdGUuZW1pdChuZXcgQmlpdFRhYmxlUmVzcG9uc2UoXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLmN1cnJlbnRQYWdlLFxuICAgICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcbiAgICAgICAgdGhpcy5zZWFyY2gsXG4gICAgICAgIHRoaXMuc29ydGluZ1xuICAgICAgKSk7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5maW5kVGltZW91dCk7XG4gICAgICB0aGlzLmZpbmRUaW1lb3V0ID0gbnVsbDtcbiAgICB9LCBmb3JjZSA/IDAgOiA1MDApO1xuICB9XG5cbiAgb25UYWJsZVNvcnQoY29sdW1uOiBCaWl0VGFibGVDb2x1bW4pIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nICYmIHRoaXMuc29ydGluZy5uYW1lID09IGNvbHVtbi5uYW1lKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc29ydGluZy5vcmRlcikge1xuICAgICAgICBjYXNlIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5BU0M6XG4gICAgICAgICAgdGhpcy5zb3J0aW5nLm9yZGVyID0gQmlpdFRhYmxlU29ydGluZ09yZGVyLkRFU0M7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQmlpdFRhYmxlU29ydGluZ09yZGVyLkRFU0M6XG4gICAgICAgICAgdGhpcy5zb3J0aW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNvcnRpbmcgPSBuZXcgQmlpdFRhYmxlU29ydGluZyhjb2x1bW4ubmFtZSwgQmlpdFRhYmxlU29ydGluZ09yZGVyLkFTQyk7XG4gICAgfVxuXG4gICAgdGhpcy5vblRhYmxlVXBkYXRlKCk7XG4gIH1cblxuICBzbmFrZVRvQ2FtZWwoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJpbmcudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bLV9dW2Etel0vZywgKGdyb3VwKSA9PiBncm91cC5zbGljZSgtMSkudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICByZXNpemVDb2x1bW4oZXZlbnQsIGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uLCBpbmRleCkge1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0ID0gZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQgPSB0cnVlO1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0WCA9IGV2ZW50Lng7XG4gICAgdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRXaWR0aCA9ICh0aGlzLmNvbHVtblJlc2l6ZS5zdGFydC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aDtcblxuICAgIGxldCBjb2x1bW5FbGVtID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5maXJzdENoaWxkLmNoaWxkcmVuW3RoaXMuaXNTZWxlY3RhYmxlID8gaW5kZXggKyAxIDogaW5kZXhdO1xuICAgIHRoaXMuY29sdW1uUmVzaXplLm1pbldpZHRoID0gKGNvbHVtbkVsZW0uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICB0aGlzLmluaXRSZXNpemFibGVDb2x1bW5zKGNvbHVtbik7XG4gIH1cblxuICBwcml2YXRlIGluaXRSZXNpemFibGVDb2x1bW5zKGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uKSB7XG4gICAgY29uc3QgbW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmKHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQpIHtcbiAgICAgICAgbGV0IHdpZHRoID0gdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRXaWR0aCArIChldmVudC54IC0gdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRYKTtcbiAgICAgICAgaWYod2lkdGggPiB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCkge1xuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCByZWxlYXNlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmKHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5SZXNpemUucHJlc3NlZCA9IGZhbHNlO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG1vdmVMaXN0ZW5lcigpO1xuICAgICAgICByZWxlYXNlTGlzdGVuZXIoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldENvbHVtblZpc2liaWxpdHkocmVzcG9uc2U6IEJpaXRUYWJsZUNvbHVtbltdKSB7XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PiByZXNwb25zZS5zb21lKGUgPT4gZS5uYW1lID09IGMubmFtZSkgPyBjLnZpc2libGUgPSB0cnVlIDogYy52aXNpYmxlID0gZmFsc2UpO1xuICB9XG5cbiAgc2VsZWN0Um93KGl0ZW0sIGhvbGRDdHJsKSB7XG4gICAgaWYgKCFob2xkQ3RybCB8fCB0aGlzLmlzU2VsZWN0YWJsZVNpbmdsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUm93cy5oYXMoaXRlbSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuYWRkKGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZGVsZXRlKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdGVkUm93cygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnNlbGVjdGVkUm93c107XG4gIH1cblxuICBlbWl0Q2VsbEFjdGlvbihpdGVtOiBhbnksIGNvbHVtbjogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uQ2VsbEFjdGlvbi5lbWl0KG5ldyBCaWl0VGFibGVBY3Rpb25SZXNwb25zZShpdGVtLCBjb2x1bW4pKTtcbiAgfVxuXG4gIGVtaXRSb3dDbGljayhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChpdGVtKTtcbiAgfVxuXG4gIHJlc2V0SW5wdXRWYWx1ZSgpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHRoaXMuY3VycmVudFNlYXJjaDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhbnZhc1wiICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCIgaWQ9XCJtZW51XCI+XG4gICAgICA8YmlpdC12ZXJ0aWNhbC1tZW51ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwidmVydGljYWwtbWVudVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9iaWl0LXZlcnRpY2FsLW1lbnU+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwiaG9yaXpvbnRhbC1tZW51XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhYWN0aW9uc1RwbFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybXNcIj5cbiAgICAgIDxiaWl0LWlucHV0LXRleHQgaWQ9XCJzZWFyY2gtZmllbGRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkFjdGlvblBlcmZvcm1lZCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0b3IuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgIG9uVGFibGVVcGRhdGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJyZXNldElucHV0VmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGFibGVVcGRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidCgndGFibGUuc2VhcmNoJylcIlxuICAgICAgPjwvYmlpdC1pbnB1dC10ZXh0PlxuICAgICAgPGJpaXQtbXVsdGlzZWxlY3QgaWQ9XCJjb2x1bW4tc2VsZWN0b3JcIiBbbmdNb2RlbF09XCJjb2x1bW5zIHwgdmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q29sdW1uVmlzaWJpbGl0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInQoJ3RhYmxlLmNvbHVtbi1zZWxlY3RvcicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIkJpaXRNdWx0aXNlbGVjdFR5cGUuSUNPTlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcbiAgICAgID48L2JpaXQtbXVsdGlzZWxlY3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxuICAgICAgPGJpaXQtcHJvZ3Jlc3MtYmFyIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIuMXJlbTsgbGVmdDogMC4ycmVtOyB3aWR0aDogY2FsYygxMDAlIC0gMC4xcmVtKTtcIj48L2JpaXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICAgIDx0YWJsZT5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCAqbmdJZj1cImlzU2VsZWN0YWJsZSB8fCBpc1NlbGVjdGFibGVTaW5nbGVcIiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPGJpaXQtY2hlY2tib3ggKm5nSWY9XCJpc1NlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZGF0YT8uZGF0YS5sZW5ndGggJiYgc2VsZWN0ZWRSb3dzLnNpemUgPT0gZGF0YT8uZGF0YS5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiJGV2ZW50ID8gZGF0YT8uZGF0YS5mb3JFYWNoKHNlbGVjdGVkUm93cy5hZGQsIHNlbGVjdGVkUm93cykgOiBzZWxlY3RlZFJvd3MuY2xlYXIoKVwiXG4gICAgICAgICAgICA+PC9iaWl0LWNoZWNrYm94PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucywgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZV09XCJpc1NvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyBjb2x1bW4ud2lkdGggKyAncHgnIDogJydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaXNTb3J0YWJsZSA/IG9uVGFibGVTb3J0KGNvbHVtbikgOiBmYWxzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7Y29sdW1uLmxhYmVsfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJpaXQtaWNvbiAqbmdJZj1cImlzU29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lID8gJ3JpZ2h0X2Fycm93JyA6ICd1cF9kb3duX2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjRkZGRkZGJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXNjXT1cInNvcnRpbmc/Lm5hbWUgPT0gY29sdW1uLm5hbWUgJiYgc29ydGluZz8ub3JkZXIgPT0gJ2FzYydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGVzY109XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lICYmIHNvcnRpbmc/Lm9yZGVyID09ICdkZXNjJ1wiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLXJlc2l6ZXJcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInJlc2l6ZUNvbHVtbigkZXZlbnQsIGNvbHVtbiwgaSlcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5kYXRhOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImlzU2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRSb3dzLmhhcyhpdGVtKVwiXG4gICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXNTZWxlY3RhYmxlIHx8IGlzU2VsZWN0YWJsZVNpbmdsZVwiIGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxiaWl0LWNoZWNrYm94IGlkPVwic2VsZWN0e3tpfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJvd3MuaGFzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0Um93KGl0ZW0sIHRydWUpXCJcbiAgICAgICAgICAgICAgPjwvYmlpdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwic2VsZWN0Um93KGl0ZW0sICRldmVudC5jdHJsS2V5KVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi53aWR0aCA/IGNvbHVtbi53aWR0aCArICdweCcgOiBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkRFRkFVTFRcIj5cbiAgICAgICAgICAgICAgICB7e2l0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuQk9PTEVBTlwiPlxuICAgICAgICAgICAgICAgIHt7KGl0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZSkgPyB0KCd0YWJsZS55ZXMnKSA6IHQoJ3RhYmxlLm5vJykgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5EQVRFXCI+XG4gICAgICAgICAgICAgICAge3soaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lKSB8IGxvY2FsaXplZERhdGV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkJVVFRPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3tpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LklDT05fQlVUVE9OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjsgdGV4dC1hbGlnbjogLW1vei1jZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWljb24gW2ljb25dPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KTtcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5JQ09OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyBoZWlnaHQ6IDEuMDVyZW07XCI+XG4gICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5DVVNUT01fSFRNTFwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIiAqbmdJZj1cIiFoaWRlRm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCI+XG4gICAgICA8YSBzdHlsZT1cIm1hcmdpbi1yaWdodDogMC43cmVtXCIgKm5nSWY9XCJzZWxlY3RlZFJvd3Muc2l6ZVwiPlNlbGVjdGVkOjwvYT5cbiAgICAgIDxhICpuZ0lmPVwic2VsZWN0ZWRSb3dzLnNpemVcIj57e3NlbGVjdGVkUm93cy5zaXplfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPGJpaXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdG9yXCJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2luYXRvclwiIChuZ01vZGVsQ2hhbmdlKT1cInBhZ2luYXRvciA9ICRldmVudDsgb25UYWJsZVVwZGF0ZSgpXCI+PC9iaWl0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -180,10 +180,10 @@ class BiitActionButtonComponent {
180
180
  }
181
181
  }
182
182
  BiitActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitActionButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
183
- BiitActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitActionButtonComponent, selector: "biit-action-button", inputs: { position: "position", additionalX: "additionalX", additionalY: "additionalY" }, queries: [{ propertyName: "inputButtons", predicate: BiitIconButtonComponent }], ngImport: i0, template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: #F20D5E;--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
183
+ BiitActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitActionButtonComponent, selector: "biit-action-button", inputs: { position: "position", additionalX: "additionalX", additionalY: "additionalY" }, queries: [{ propertyName: "inputButtons", predicate: BiitIconButtonComponent }], ngImport: i0, template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF;--icon-color: var(--main-color);--table-header-color: var(--component-color);--scrollbar-color: var(--main-color)}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
184
184
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitActionButtonComponent, decorators: [{
185
185
  type: Component,
186
- args: [{ selector: 'biit-action-button', template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: #F20D5E;--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"] }]
186
+ args: [{ selector: 'biit-action-button', template: "<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n", styles: [":root{--main-color: #F20D5E;--main-background: #D9D9D9;--body-background: #EDEDED;--light-background: #D7D7D7;--error-color: #A1093F;--warning-color: var(--main-color);--floating-background: white;--main-font-color: white;--secondary-color: #808080;--secondary-text-color: #EDEDED;--secondary-background-color: #808080;--disabled-primary-color: #808080;--disabled-secondary-color: var(--main-color);--component-color: #262626;--active-color: var(--component-color);--hover-color: #EDEDED;--text-hover-color: #5A6473;--selected-color: #FBAEC9;--popup-background: #FFFFFF;--icon-color: var(--main-color);--table-header-color: var(--component-color);--scrollbar-color: var(--main-color)}.floating-action-button{box-sizing:border-box;position:fixed;z-index:999;opacity:50%;background:white;border:3px solid var(--component-color);display:flex;flex-direction:column;justify-content:flex-end}.floating-action-button:hover{opacity:100%}.floating-action-button:hover ::ng-deep button:not(:first-child){display:flex}.floating-action-button ::ng-deep button:not(:first-child){display:none}\n"] }]
187
187
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { position: [{
188
188
  type: Input
189
189
  }], additionalX: [{
@@ -1 +1 @@
1
- {"version":3,"file":"biit-solutions-wizardry-theme-button.mjs","sources":["../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.ts","../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.html","../../../projects/wizardry-theme/button/src/biit-button/biit-button.module.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.html","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.module.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.html","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.module.ts","../../../projects/wizardry-theme/button/src/public-api.ts","../../../projects/wizardry-theme/button/src/biit-solutions-wizardry-theme-button.ts"],"sourcesContent":["import {Component, Directive} from '@angular/core';\n\n@Directive({\n selector: '[primary]'\n})\nexport class BiitButtonPrimaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'primary';\n }\n}\n\n@Directive({\n selector: '[secondary]'\n})\nexport class BiitButtonSecondaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'secondary';\n }\n}\n\n@Directive({\n selector: '[tertiary]'\n})\nexport class BiitButtonTertiaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'tertiary';\n }\n}\n\n@Component({\n selector: 'button[biit-button]',\n templateUrl: 'biit-button.component.html',\n styleUrls: ['biit-button.component.scss'],\n})\n\nexport class BiitButtonComponent {\n color = 'primary';\n\n constructor() { }\n}\n","<div class=\"button-base prevent-select {{color}}\">\n <div class=\"button-content\">\n <span #text>\n <ng-content></ng-content>\n </span>\n <div *ngIf=\"color == 'tertiary'\" class=\"bar\" [ngStyle]=\"{'width.px': text.offsetWidth }\"></div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n} from './biit-button.component';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\n\n@NgModule({\n declarations: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n ]\n})\nexport class BiitButtonModule { }\n","import {Component, Input} from '@angular/core';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\n\n@Component({\n selector: 'button[biit-icon]',\n templateUrl: 'biit-icon-button.component.html',\n styleUrls: ['biit-icon-button.component.scss'],\n})\n\nexport class BiitIconButtonComponent {\n\n @Input() icon: biitIcon;\n @Input() checked: boolean = false;\n}\n","<div [class.checked]=\"checked\" style=\"display: flex;\">\n <biit-icon [name]=\"icon\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"icon-button-svg\"\n ></biit-icon>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitIconButtonComponent} from './biit-icon-button.component';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\n\n@NgModule({\n declarations: [\n BiitIconButtonComponent\n ],\n imports: [\n BiitIconModule\n ],\n exports: [\n BiitIconButtonComponent\n ]\n})\nexport class BiitIconButtonModule { }\n","import {AfterContentInit, Component, ContentChildren, ElementRef, Input, QueryList} from '@angular/core';\nimport {BiitIconButtonComponent} from \"../biit-icon-button/biit-icon-button.component\";\n\n@Component({\n selector: 'biit-action-button',\n templateUrl: './biit-action-button.component.html',\n styleUrls: ['./biit-action-button.component.scss']\n})\nexport class BiitActionButtonComponent implements AfterContentInit {\n\n @Input() position: FabPosition = 'bottom-right';\n @Input() additionalX: number = 0;\n @Input() additionalY: number = 0;\n @ContentChildren(BiitIconButtonComponent) inputButtons: QueryList<BiitIconButtonComponent>;\n protected buttons: BiitIconButtonComponent[];\n protected hover = false;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngAfterContentInit(): void {\n this.buttons = this.inputButtons.toArray();\n }\n\n positionStyle(): Object {\n const parentBoundingRect = this.elementRef.nativeElement.parentElement.getBoundingClientRect();\n const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n const fabWidth = (rem * 2.125) + 6;\n const desiredOffsetX = (rem * 1.5) + this.additionalX;\n const desiredOffsetY = rem + this.additionalY;\n const bottomOffsetX = desiredOffsetY + (this.hover ? (rem * 2.125)*(this.buttons.length-1) : 0);\n\n const leftLeft = `${parentBoundingRect.left + desiredOffsetX}px`;\n const leftMid = `${parentBoundingRect.left + (parentBoundingRect.width / 2) - (fabWidth / 2) + this.additionalX}px`;\n const leftRight = `${parentBoundingRect.right - (fabWidth + desiredOffsetX)}px`;\n\n const topTop = `${parentBoundingRect.top + desiredOffsetY}px`;\n const topMid = `${parentBoundingRect.top + (parentBoundingRect.height / 2) - (fabWidth / 2) + this.additionalY}px`;\n const topBottom = `${parentBoundingRect.bottom - (fabWidth + bottomOffsetX)}px`;\n\n switch (this.position) {\n case 'top-left':\n return {top: topTop, left: leftLeft};\n case 'top-middle':\n return {top: topTop, left: leftMid};\n case 'top-right':\n return {top: topTop, left: leftRight};\n case 'middle-left':\n return {top: topMid, left: leftLeft};\n case 'middle-right':\n return {top: topMid, left: leftRight};\n case 'middle-middle':\n return {top: topMid, left: leftMid};\n case 'bottom-left':\n return {top: topBottom, left: leftLeft, 'flex-direction': 'column-reverse'};\n case 'bottom-middle':\n return {top: topBottom, left: leftMid, 'flex-direction': 'column-reverse'};\n case 'bottom-right':\n return {top: topBottom, left: leftRight, 'flex-direction': 'column-reverse'};\n default:\n return {};\n }\n }\n}\n\nexport type FabPosition = 'top-left' | 'top-middle' | 'top-right' | 'middle-left' | 'middle-middle' | 'middle-right' | 'bottom-left' | 'bottom-middle' | 'bottom-right' | 'custom';\n","<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitActionButtonComponent} from \"./biit-action-button.component\";\nimport {BiitIconButtonModule} from \"../biit-icon-button/biit-icon-button.module\";\n\n@NgModule({\n declarations: [\n BiitActionButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitActionButtonComponent\n ]\n})\nexport class BiitActionButtonModule { }\n","/*\n * Public API Surface of wizardry-theme/button\n */\n\nexport * from './biit-button/biit-button.component';\nexport * from './biit-button/biit-button.module';\nexport * from './biit-icon-button/biit-icon-button.component';\nexport * from './biit-icon-button/biit-icon-button.module';\nexport * from './biit-action-button/biit-action-button.component';\nexport * from './biit-action-button/biit-action-button.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"biit-solutions-wizardry-theme-button.mjs","sources":["../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.ts","../../../projects/wizardry-theme/button/src/biit-button/biit-button.component.html","../../../projects/wizardry-theme/button/src/biit-button/biit-button.module.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.ts","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.component.html","../../../projects/wizardry-theme/button/src/biit-icon-button/biit-icon-button.module.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.ts","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.component.html","../../../projects/wizardry-theme/button/src/biit-action-button/biit-action-button.module.ts","../../../projects/wizardry-theme/button/src/public-api.ts","../../../projects/wizardry-theme/button/src/biit-solutions-wizardry-theme-button.ts"],"sourcesContent":["import {Component, Directive} from '@angular/core';\n\n@Directive({\n selector: '[primary]'\n})\nexport class BiitButtonPrimaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'primary';\n }\n}\n\n@Directive({\n selector: '[secondary]'\n})\nexport class BiitButtonSecondaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'secondary';\n }\n}\n\n@Directive({\n selector: '[tertiary]'\n})\nexport class BiitButtonTertiaryDirective {\n constructor(private parent: BiitButtonComponent) {\n parent.color = 'tertiary';\n }\n}\n\n@Component({\n selector: 'button[biit-button]',\n templateUrl: 'biit-button.component.html',\n styleUrls: ['biit-button.component.scss'],\n})\n\nexport class BiitButtonComponent {\n color = 'primary';\n\n constructor() { }\n}\n","<div class=\"button-base prevent-select {{color}}\">\n <div class=\"button-content\">\n <span #text>\n <ng-content></ng-content>\n </span>\n <div *ngIf=\"color == 'tertiary'\" class=\"bar\" [ngStyle]=\"{'width.px': text.offsetWidth }\"></div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n} from './biit-button.component';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\n\n@NgModule({\n declarations: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n ],\n imports: [\n CommonModule,\n FormsModule\n ],\n exports: [\n BiitButtonComponent,\n BiitButtonPrimaryDirective,\n BiitButtonSecondaryDirective,\n BiitButtonTertiaryDirective\n ]\n})\nexport class BiitButtonModule { }\n","import {Component, Input} from '@angular/core';\nimport {biitIcon} from '@biit-solutions/biit-icons-collection';\n\n@Component({\n selector: 'button[biit-icon]',\n templateUrl: 'biit-icon-button.component.html',\n styleUrls: ['biit-icon-button.component.scss'],\n})\n\nexport class BiitIconButtonComponent {\n\n @Input() icon: biitIcon;\n @Input() checked: boolean = false;\n}\n","<div [class.checked]=\"checked\" style=\"display: flex;\">\n <biit-icon [name]=\"icon\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"icon-button-svg\"\n ></biit-icon>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {BiitIconButtonComponent} from './biit-icon-button.component';\nimport {BiitIconModule} from '@biit-solutions/wizardry-theme/icon';\n\n@NgModule({\n declarations: [\n BiitIconButtonComponent\n ],\n imports: [\n BiitIconModule\n ],\n exports: [\n BiitIconButtonComponent\n ]\n})\nexport class BiitIconButtonModule { }\n","import {AfterContentInit, Component, ContentChildren, ElementRef, Input, QueryList} from '@angular/core';\nimport {BiitIconButtonComponent} from \"../biit-icon-button/biit-icon-button.component\";\n\n@Component({\n selector: 'biit-action-button',\n templateUrl: './biit-action-button.component.html',\n styleUrls: ['./biit-action-button.component.scss']\n})\nexport class BiitActionButtonComponent implements AfterContentInit {\n\n @Input() position: FabPosition = 'bottom-right';\n @Input() additionalX: number = 0;\n @Input() additionalY: number = 0;\n @ContentChildren(BiitIconButtonComponent) inputButtons: QueryList<BiitIconButtonComponent>;\n protected buttons: BiitIconButtonComponent[];\n protected hover = false;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngAfterContentInit(): void {\n this.buttons = this.inputButtons.toArray();\n }\n\n positionStyle(): Object {\n const parentBoundingRect = this.elementRef.nativeElement.parentElement.getBoundingClientRect();\n const rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n const fabWidth = (rem * 2.125) + 6;\n const desiredOffsetX = (rem * 1.5) + this.additionalX;\n const desiredOffsetY = rem + this.additionalY;\n const bottomOffsetX = desiredOffsetY + (this.hover ? (rem * 2.125)*(this.buttons.length-1) : 0);\n\n const leftLeft = `${parentBoundingRect.left + desiredOffsetX}px`;\n const leftMid = `${parentBoundingRect.left + (parentBoundingRect.width / 2) - (fabWidth / 2) + this.additionalX}px`;\n const leftRight = `${parentBoundingRect.right - (fabWidth + desiredOffsetX)}px`;\n\n const topTop = `${parentBoundingRect.top + desiredOffsetY}px`;\n const topMid = `${parentBoundingRect.top + (parentBoundingRect.height / 2) - (fabWidth / 2) + this.additionalY}px`;\n const topBottom = `${parentBoundingRect.bottom - (fabWidth + bottomOffsetX)}px`;\n\n switch (this.position) {\n case 'top-left':\n return {top: topTop, left: leftLeft};\n case 'top-middle':\n return {top: topTop, left: leftMid};\n case 'top-right':\n return {top: topTop, left: leftRight};\n case 'middle-left':\n return {top: topMid, left: leftLeft};\n case 'middle-right':\n return {top: topMid, left: leftRight};\n case 'middle-middle':\n return {top: topMid, left: leftMid};\n case 'bottom-left':\n return {top: topBottom, left: leftLeft, 'flex-direction': 'column-reverse'};\n case 'bottom-middle':\n return {top: topBottom, left: leftMid, 'flex-direction': 'column-reverse'};\n case 'bottom-right':\n return {top: topBottom, left: leftRight, 'flex-direction': 'column-reverse'};\n default:\n return {};\n }\n }\n}\n\nexport type FabPosition = 'top-left' | 'top-middle' | 'top-right' | 'middle-left' | 'middle-middle' | 'middle-right' | 'bottom-left' | 'bottom-middle' | 'bottom-right' | 'custom';\n","<div id=\"fab\" class=\"floating-action-button\" [ngStyle]=\"positionStyle()\" (pointerover)=\"hover = true;\" (pointerleave)=\"hover = false\">\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule} from '@angular/forms';\nimport {BiitActionButtonComponent} from \"./biit-action-button.component\";\nimport {BiitIconButtonModule} from \"../biit-icon-button/biit-icon-button.module\";\n\n@NgModule({\n declarations: [\n BiitActionButtonComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n BiitIconButtonModule\n ],\n exports: [\n BiitActionButtonComponent\n ]\n})\nexport class BiitActionButtonModule { }\n","/*\n * Public API Surface of wizardry-theme/button\n */\n\nexport * from './biit-button/biit-button.component';\nexport * from './biit-button/biit-button.module';\nexport * from './biit-icon-button/biit-icon-button.component';\nexport * from './biit-icon-button/biit-icon-button.module';\nexport * from './biit-action-button/biit-action-button.component';\nexport * from './biit-action-button/biit-action-button.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -284,10 +284,10 @@ class BiitVerticalMenuComponent {
284
284
  }
285
285
  }
286
286
  BiitVerticalMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitVerticalMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
287
- BiitVerticalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitVerticalMenuComponent, selector: "biit-vertical-menu", ngImport: i0, template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"project_add\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"], dependencies: [{ kind: "directive", type: i1$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i2$2.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
287
+ BiitVerticalMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitVerticalMenuComponent, selector: "biit-vertical-menu", ngImport: i0, template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"hamburger\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"], dependencies: [{ kind: "directive", type: i1$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i2$2.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
288
288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitVerticalMenuComponent, decorators: [{
289
289
  type: Component,
290
- args: [{ selector: 'biit-vertical-menu', template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"project_add\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"] }]
290
+ args: [{ selector: 'biit-vertical-menu', template: "<div class=\"vertical-container\">\n <button\n biit-icon\n icon=\"hamburger\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n class=\"icon-btn\"\n type=\"button\"\n (click)=\"toggleMenu()\">\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (detach)=\"close()\">\n <div class=\"floating-menu\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n\n\n</div>\n", styles: [".vertical-container{position:relative;display:flex;flex-direction:column;gap:4px}.icon-btn{padding:4px;cursor:pointer;display:inline-flex;align-items:center}.icon-btn:focus-visible{outline:2px solid var(--component-color);border-radius:4px}.floating-menu{background:var(--light-background);border:3px solid var(--component-color);padding:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000}.floating-menu button{background:none;border:none;text-align:left;padding:6px 10px;cursor:pointer;border-radius:4px}.floating-menu button:hover{background:var(--hover-color)}\n"] }]
291
291
  }] });
292
292
 
293
293
  class BiitVerticalMenuModule {