master-control 0.2.75 → 0.2.76

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.
@@ -98,11 +98,11 @@ export class TableComponent {
98
98
  this.actionItemClicked.emit(emitOBJ);
99
99
  }
100
100
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
101
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionItemClicked: "actionItemClicked", tablePaginationClicked: "tablePaginationClicked" }, host: { listeners: { "document:keydown.escape": "onEscKey($event)" } }, ngImport: i0, template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-template>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] });
101
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionItemClicked: "actionItemClicked", tablePaginationClicked: "tablePaginationClicked" }, host: { listeners: { "document:keydown.escape": "onEscKey($event)" } }, ngImport: i0, template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container>{{ header?.columnName }}</ng-container>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] });
102
102
  }
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
104
104
  type: Component,
105
- args: [{ selector: 'lib-table', standalone: true, imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule], template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-template>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"] }]
105
+ args: [{ selector: 'lib-table', standalone: true, imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule], template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container>{{ header?.columnName }}</ng-container>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"] }]
106
106
  }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { actionItemClicked: [{
107
107
  type: Output
108
108
  }], tablePaginationClicked: [{
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
111
111
  type: HostListener,
112
112
  args: ['document:keydown.escape', ['$event']]
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLGNBQWM7SUFZTjtJQVhuQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ25DLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3BDLFdBQVcsR0FBUSxDQUFDLENBQUM7SUFDckIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEIsY0FBYyxHQUFRLEVBQUUsQ0FBQztJQUN6QixVQUFVLEdBQVEsQ0FBQyxDQUFDO0lBQ3BCLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFDVCxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQzVDLHNCQUFzQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0QsWUFBbUIsb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFBSSxDQUFDO0lBRWxFLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUNoQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1SCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3BFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDakYsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsSUFBSSxTQUFTLEdBQUc7d0JBQ2QsWUFBWSxFQUFFLEdBQUcsU0FBUyxHQUFHLENBQUMsRUFBRTt3QkFDaEMsaUJBQWlCLEVBQUUsR0FBRzt3QkFDdEIsU0FBUyxFQUFFLEdBQUcsWUFBWSxHQUFHLENBQUMsRUFBRTtxQkFDakMsQ0FBQTtvQkFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3JELENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQzVELENBQUM7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7d0JBQ3BILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDdEQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQ3ZILEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FDdEgsQ0FBQztZQUVGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUE7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLFFBQWdCO1FBQ2xELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDMUIsTUFBTSxJQUFJLEdBQUksS0FBSyxDQUFDLE1BQXNCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsRUFBRTtZQUN0QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUc7U0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFO1lBQ3RGLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFHRCxRQUFRLENBQUMsS0FBb0I7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFnQjtRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGFBQWEsQ0FBQyxjQUFtQixFQUFFLFdBQWdCO1FBQ2pELElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQWMsRUFBRSxhQUFrQixFQUFFLEVBQUU7WUFDN0csSUFBSSxTQUFTLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQyxXQUFXLElBQUksV0FBVyxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUMxRixTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sR0FBRztZQUNaLG1CQUFtQixFQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsbUJBQW1CO1lBQ2xFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ2xDLG9CQUFvQixFQUFFLFdBQVc7U0FDbEMsQ0FBQTtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQzt3R0FoR1UsY0FBYzs0RkFBZCxjQUFjLHdmQ2QzQixzb0ZBbURNLGlqRUR6Q00sSUFBSSw2RkFBRSxLQUFLLGtIQUFFLFdBQVcsOEJBQUUsWUFBWSxtSEFBRSxhQUFhLG1MQUFFLGdCQUFnQiw0VEFBRSxrQkFBa0I7OzRGQUkxRixjQUFjO2tCQVAxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDO3lGQWM1RixpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQStEUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSwgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRQYWdpbmF0b3JNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcbiAgZmllbGQ6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuICByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcclxuICBzaG93QWN0aW9uc1BvcHVwID0gZmFsc2U7XHJcbiAgcG9wdXBQb3NpdGlvbiA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07XHJcbiAgc2VsZWN0ZWRSb3c6IGFueSA9IDA7XHJcbiAgaGlnaGxpZ2h0ZWRJbmRleCA9IC0xO1xyXG4gIHBhZ2luYXRpb25TaXplOiBhbnkgPSAxMDtcclxuICBwYWdlTnVtYmVyOiBhbnkgPSAwO1xyXG4gIHBhZ2VTaXplOiBhbnkgPSAxMDtcclxuICBAT3V0cHV0KCkgYWN0aW9uSXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgdGFibGVQYWdpbmF0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJDb250cm9sU2VydmljZTogTWFzdGVyQ29udHJvbFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q29sdW1ucygpO1xyXG4gIH1cclxuICB0cmFja0J5SW5kZXgoaW5kZXg6IGFueSwgaXRlbTogYW55KSB7XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5zKCkge1xyXG4gICAgbGV0IGNoZWNrQ29uZmlnRGF0YSA9IHRoaXMuZmllbGQoKS5jb25maWdEYXRhO1xyXG4gICAgaWYgKE9iamVjdD8ua2V5cyhjaGVja0NvbmZpZ0RhdGEpPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZSA9IGNoZWNrQ29uZmlnRGF0YTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUucm93bGVuZ3RoID4gMCAmJiB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUuY29sdW1ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkKCkudGFibGVEYXRhID0gdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhjaGVja0NvbmZpZ0RhdGEpLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgICAgICBsZXQgaGVhZGVyT2JqID0ge1xyXG4gICAgICAgICAgICBcImNvbHVtbk5hbWVcIjogYCR7J05hbWUgLSAnICsgaX1gLFxyXG4gICAgICAgICAgICBcImlzU29ydGluZ05lZWRlZFwiOiBcIllcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IGAkeyd0b29sdGlwIC0gJyArIGl9YFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXhpc3RzID0gdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50YWJsZUhlYWRlcnMuc29tZShcclxuICAgICAgICAgICAgKGhlYWRlcjogYW55KSA9PiBoZWFkZXIuY29sdW1uTmFtZSA9PT0gaGVhZGVyT2JqLmNvbHVtbk5hbWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIWV4aXN0cyAmJiB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnRhYmxlSGVhZGVycy5sZW5ndGggPCB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUuY29sdW1ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGQoKS50YWJsZURhdGEudGFibGVIZWFkZXJzLnB1c2goaGVhZGVyT2JqKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50ZERhdGEgPSBBcnJheSh0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUucm93bGVuZ3RoKS5maWxsKG51bGwpLm1hcCgoXywgcm93SWR4KSA9PlxyXG4gICAgICAgIEFycmF5KHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGgpLmZpbGwoJycpLm1hcCgoXywgY29sSWR4KSA9PiBgRHVtbXkgUm93ICR7cm93SWR4ICsgMX1gKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5zYXZlVGFibGVGaWVsZFN0YXRlKHRoaXMuZmllbGQoKSk7XHJcbiAgICAgIHRoaXMuZmllbGQoKS5jb25maWdEYXRhID0gdGhpcy5maWVsZCgpLnRhYmxlRGF0YVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkFjdGlvbnNQb3B1cChldmVudDogTW91c2VFdmVudCwgcm93SW5kZXg6IG51bWJlcikge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93ID0gcm93SW5kZXg7XHJcbiAgICB0aGlzLnNob3dBY3Rpb25zUG9wdXAgPSB0cnVlO1xyXG4gICAgdGhpcy5oaWdobGlnaHRlZEluZGV4ID0gMTtcclxuICAgIGNvbnN0IHJlY3QgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMucG9wdXBQb3NpdGlvbiA9IHtcclxuICAgICAgdG9wOiByZWN0LmJvdHRvbSArIHdpbmRvdy5zY3JvbGxZIC0gMzAsXHJcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYIC0gMjgwLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNsb3NlQWN0aW9uc1BvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93QWN0aW9uc1BvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnVzZXJTZWxlY3RlZE9wdGlvbnNbdGhpcy5zZWxlY3RlZFJvd10uZm9yRWFjaCgoY2hlY2tJY29uOiBhbnkpID0+IHtcclxuICAgICAgY2hlY2tJY29uLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZFJvdyA9IDA7XHJcbiAgICB0aGlzLmhpZ2hsaWdodGVkSW5kZXggPSAtMTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBvbkVzY0tleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgdGhpcy5jbG9zZUFjdGlvbnNQb3B1cCgpO1xyXG4gIH1cclxuXHJcbiAgcGFnZUNoYW5nZWQoZXZlbnQ6IFBhZ2VFdmVudCkge1xyXG4gICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS5wYWdlTnVtYmVyID0gZXZlbnQucGFnZUluZGV4O1xyXG4gICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS5wYWdlU2l6ZSA9IGV2ZW50LnBhZ2VTaXplO1xyXG4gICAgdGhpcy50YWJsZVBhZ2luYXRpb25DbGlja2VkLmVtaXQodGhpcy5maWVsZCgpLnRhYmxlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb25DbGlja2VkKGFjdGlvblNlbGVjdGVkOiBhbnksIGFjdGlvbkluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuZmllbGQoKT8udGFibGVEYXRhPy51c2VyU2VsZWN0ZWRPcHRpb25zW3RoaXMuc2VsZWN0ZWRSb3ddPy5mb3JFYWNoKChjaGVja0ljb246IGFueSwgc2VsZWN0ZWRJbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjaGVja0ljb24ubWF0SWNvbk5hbWUgPT09IGFjdGlvblNlbGVjdGVkLm1hdEljb25OYW1lICYmIGFjdGlvbkluZGV4ID09PSBzZWxlY3RlZEluZGV4KSB7XHJcbiAgICAgICAgY2hlY2tJY29uLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGxldCBlbWl0T0JKID0ge1xyXG4gICAgICB1c2VyU2VsZWN0ZWRPcHRpb25zIDogdGhpcy5maWVsZCgpPy50YWJsZURhdGE/LnVzZXJTZWxlY3RlZE9wdGlvbnMsXHJcbiAgICAgIHNlbGVjdGVkUm93SW5kZXg6IHRoaXMuc2VsZWN0ZWRSb3csXHJcbiAgICAgIHNlbGVjdGVkQWN0aW9uc0luZGV4OiBhY3Rpb25JbmRleCxcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aW9uSXRlbUNsaWNrZWQuZW1pdChlbWl0T0JKKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN0eWxlZC10YWJsZS1jb250YWluZXJcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy50ZERhdGEgJiYgZmllbGQoKT8udGFibGVEYXRhPy50ZERhdGEubGVuZ3RoID4gMFwiPlxyXG4gICAgPHRhYmxlICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5jb2x1bW5sZW5ndGggJiYgZmllbGQoKT8udGFibGVEYXRhPy5yb3dsZW5ndGhcIiBjbGFzcz1cInN0eWxlZC10YWJsZVwiPlxyXG4gICAgICA8dGhlYWQ+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgPHRoICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93Q2hlY2tCb3hcIj48L3RoPlxyXG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgZmllbGQoKS50YWJsZURhdGE/LnRhYmxlSGVhZGVyczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT57eyBoZWFkZXI/LmNvbHVtbk5hbWUgfX08L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICAgIDx0aCAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uc2hvd0FjdGlvbnNcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keT5cclxuICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBmaWVsZCgpPy50YWJsZURhdGE/LnRkRGF0YTtsZXQgcm93SW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgPHRkICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93Q2hlY2tCb3hcIj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+PC90ZD5cclxuICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY2VsbCBvZiByb3dcIj57eyBjZWxsIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uc2hvd0FjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIiAoY2xpY2spPVwib3BlbkFjdGlvbnNQb3B1cCgkZXZlbnQsIHJvd0luZGV4KVwiIFtkaXNhYmxlZF09XCJyZWFkb25seSgpXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZCgpPy50YWJsZURhdGE/LnNob3dQYWdpbmF0aW9uXCI+XHJcbiAgICAgIDxtYXQtcGFnaW5hdG9yIGNsYXNzPVwiY3VzdG9tLXBhZ2luYXRvclwiIFtsZW5ndGhdPVwiZmllbGQoKT8udGFibGVEYXRhPy50b3RhbEl0ZW1zXCJcclxuICAgICAgICBbcGFnZVNpemVdPVwiZmllbGQoKT8udGFibGVEYXRhPy5wYWdpbmF0aW9uU2l6ZVwiIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiXHJcbiAgICAgICAgKHBhZ2UpPVwicGFnZUNoYW5nZWQoJGV2ZW50KVwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgcGFnZVwiPlxyXG4gICAgICA8L21hdC1wYWdpbmF0b3I+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy50ZERhdGEgJiYgZmllbGQoKT8udGFibGVEYXRhPy50ZERhdGEubGVuZ3RoID09PSAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGVFbXB0eURhdGFcIj5cclxuICAgICAgPHAgY2xhc3M9XCJ0YWJsZWVtcHR5RGF0YU1lc3NhZ2VcIj5ObyBtYXRjaGluZyByZWNvcmRzIGZvdW5kIGZvciB0aGUgZ2l2ZW4gc2VhcmNoIGlucHV0LjwvcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJzaG93QWN0aW9uc1BvcHVwXCIgY2xhc3M9XCJhY3Rpb25zLXBvcHVwLWJhY2tkcm9wXCIgKGNsaWNrKT1cImNsb3NlQWN0aW9uc1BvcHVwKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1wb3B1cC1tZW51XCIgW25nU3R5bGVdPVwieyd0b3AucHgnOiBwb3B1cFBvc2l0aW9uLnRvcCwgJ2xlZnQucHgnOiBwb3B1cFBvc2l0aW9uLmxlZnR9XCJcclxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYWtlQXJyb3dcIiBbbmdTdHlsZV09XCJ7J2xlZnQucHgnOiBwb3B1cFBvc2l0aW9uLmxlZnQrMjV9XCI+PC9kaXY+XHJcbiAgICA8dWw+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uRGF0YSBvZiBmaWVsZCgpLnRhYmxlRGF0YT8udXNlclNlbGVjdGVkT3B0aW9uc1tzZWxlY3RlZFJvd107bGV0IGFjdGlvbkluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cImFjdGlvbkRhdGE/LmRpc3BsYXlUaXRsZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcclxuICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2tlZChhY3Rpb25EYXRhLGFjdGlvbkluZGV4KVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj57e2FjdGlvbkRhdGE/Lm1hdEljb25OYW1lfX08L21hdC1pY29uPlxyXG4gICAgICAgIHt7YWN0aW9uRGF0YT8uZGlzcGxheVRpdGxlfX1cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLGNBQWM7SUFZTjtJQVhuQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ25DLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3BDLFdBQVcsR0FBUSxDQUFDLENBQUM7SUFDckIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEIsY0FBYyxHQUFRLEVBQUUsQ0FBQztJQUN6QixVQUFVLEdBQVEsQ0FBQyxDQUFDO0lBQ3BCLFFBQVEsR0FBUSxFQUFF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QUFjO2tCQVAxQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDO3lGQWM1RixpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQStEUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSwgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRQYWdpbmF0b3JNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcbiAgZmllbGQ6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuICByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcclxuICBzaG93QWN0aW9uc1BvcHVwID0gZmFsc2U7XHJcbiAgcG9wdXBQb3NpdGlvbiA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07XHJcbiAgc2VsZWN0ZWRSb3c6IGFueSA9IDA7XHJcbiAgaGlnaGxpZ2h0ZWRJbmRleCA9IC0xO1xyXG4gIHBhZ2luYXRpb25TaXplOiBhbnkgPSAxMDtcclxuICBwYWdlTnVtYmVyOiBhbnkgPSAwO1xyXG4gIHBhZ2VTaXplOiBhbnkgPSAxMDtcclxuICBAT3V0cHV0KCkgYWN0aW9uSXRlbUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgdGFibGVQYWdpbmF0aW9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJDb250cm9sU2VydmljZTogTWFzdGVyQ29udHJvbFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q29sdW1ucygpO1xyXG4gIH1cclxuICB0cmFja0J5SW5kZXgoaW5kZXg6IGFueSwgaXRlbTogYW55KSB7XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5zKCkge1xyXG4gICAgbGV0IGNoZWNrQ29uZmlnRGF0YSA9IHRoaXMuZmllbGQoKS5jb25maWdEYXRhO1xyXG4gICAgaWYgKE9iamVjdD8ua2V5cyhjaGVja0NvbmZpZ0RhdGEpPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZSA9IGNoZWNrQ29uZmlnRGF0YTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUucm93bGVuZ3RoID4gMCAmJiB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUuY29sdW1ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpZWxkKCkudGFibGVEYXRhID0gdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5jb25maWdEYXRhLnRhYmxlO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhjaGVja0NvbmZpZ0RhdGEpLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgICAgICBsZXQgaGVhZGVyT2JqID0ge1xyXG4gICAgICAgICAgICBcImNvbHVtbk5hbWVcIjogYCR7J05hbWUgLSAnICsgaX1gLFxyXG4gICAgICAgICAgICBcImlzU29ydGluZ05lZWRlZFwiOiBcIllcIixcclxuICAgICAgICAgICAgXCJ0b29sVGlwXCI6IGAkeyd0b29sdGlwIC0gJyArIGl9YFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXhpc3RzID0gdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50YWJsZUhlYWRlcnMuc29tZShcclxuICAgICAgICAgICAgKGhlYWRlcjogYW55KSA9PiBoZWFkZXIuY29sdW1uTmFtZSA9PT0gaGVhZGVyT2JqLmNvbHVtbk5hbWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIWV4aXN0cyAmJiB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnRhYmxlSGVhZGVycy5sZW5ndGggPCB0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUuY29sdW1ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGQoKS50YWJsZURhdGEudGFibGVIZWFkZXJzLnB1c2goaGVhZGVyT2JqKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS50ZERhdGEgPSBBcnJheSh0aGlzLm1hc3RlckNvbnRyb2xTZXJ2aWNlLmNvbmZpZ0RhdGEudGFibGUucm93bGVuZ3RoKS5maWxsKG51bGwpLm1hcCgoXywgcm93SWR4KSA9PlxyXG4gICAgICAgIEFycmF5KHRoaXMubWFzdGVyQ29udHJvbFNlcnZpY2UuY29uZmlnRGF0YS50YWJsZS5jb2x1bW5sZW5ndGgpLmZpbGwoJycpLm1hcCgoXywgY29sSWR4KSA9PiBgRHVtbXkgUm93ICR7cm93SWR4ICsgMX1gKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5tYXN0ZXJDb250cm9sU2VydmljZS5zYXZlVGFibGVGaWVsZFN0YXRlKHRoaXMuZmllbGQoKSk7XHJcbiAgICAgIHRoaXMuZmllbGQoKS5jb25maWdEYXRhID0gdGhpcy5maWVsZCgpLnRhYmxlRGF0YVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkFjdGlvbnNQb3B1cChldmVudDogTW91c2VFdmVudCwgcm93SW5kZXg6IG51bWJlcikge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUm93ID0gcm93SW5kZXg7XHJcbiAgICB0aGlzLnNob3dBY3Rpb25zUG9wdXAgPSB0cnVlO1xyXG4gICAgdGhpcy5oaWdobGlnaHRlZEluZGV4ID0gMTtcclxuICAgIGNvbnN0IHJlY3QgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMucG9wdXBQb3NpdGlvbiA9IHtcclxuICAgICAgdG9wOiByZWN0LmJvdHRvbSArIHdpbmRvdy5zY3JvbGxZIC0gMzAsXHJcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYIC0gMjgwLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNsb3NlQWN0aW9uc1BvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93QWN0aW9uc1BvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLmZpZWxkKCkudGFibGVEYXRhLnVzZXJTZWxlY3RlZE9wdGlvbnNbdGhpcy5zZWxlY3RlZFJvd10uZm9yRWFjaCgoY2hlY2tJY29uOiBhbnkpID0+IHtcclxuICAgICAgY2hlY2tJY29uLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZFJvdyA9IDA7XHJcbiAgICB0aGlzLmhpZ2hsaWdodGVkSW5kZXggPSAtMTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcclxuICBvbkVzY0tleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgdGhpcy5jbG9zZUFjdGlvbnNQb3B1cCgpO1xyXG4gIH1cclxuXHJcbiAgcGFnZUNoYW5nZWQoZXZlbnQ6IFBhZ2VFdmVudCkge1xyXG4gICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS5wYWdlTnVtYmVyID0gZXZlbnQucGFnZUluZGV4O1xyXG4gICAgdGhpcy5maWVsZCgpLnRhYmxlRGF0YS5wYWdlU2l6ZSA9IGV2ZW50LnBhZ2VTaXplO1xyXG4gICAgdGhpcy50YWJsZVBhZ2luYXRpb25DbGlja2VkLmVtaXQodGhpcy5maWVsZCgpLnRhYmxlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb25DbGlja2VkKGFjdGlvblNlbGVjdGVkOiBhbnksIGFjdGlvbkluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuZmllbGQoKT8udGFibGVEYXRhPy51c2VyU2VsZWN0ZWRPcHRpb25zW3RoaXMuc2VsZWN0ZWRSb3ddPy5mb3JFYWNoKChjaGVja0ljb246IGFueSwgc2VsZWN0ZWRJbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChjaGVja0ljb24ubWF0SWNvbk5hbWUgPT09IGFjdGlvblNlbGVjdGVkLm1hdEljb25OYW1lICYmIGFjdGlvbkluZGV4ID09PSBzZWxlY3RlZEluZGV4KSB7XHJcbiAgICAgICAgY2hlY2tJY29uLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGxldCBlbWl0T0JKID0ge1xyXG4gICAgICB1c2VyU2VsZWN0ZWRPcHRpb25zIDogdGhpcy5maWVsZCgpPy50YWJsZURhdGE/LnVzZXJTZWxlY3RlZE9wdGlvbnMsXHJcbiAgICAgIHNlbGVjdGVkUm93SW5kZXg6IHRoaXMuc2VsZWN0ZWRSb3csXHJcbiAgICAgIHNlbGVjdGVkQWN0aW9uc0luZGV4OiBhY3Rpb25JbmRleCxcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aW9uSXRlbUNsaWNrZWQuZW1pdChlbWl0T0JKKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN0eWxlZC10YWJsZS1jb250YWluZXJcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy50ZERhdGEgJiYgZmllbGQoKT8udGFibGVEYXRhPy50ZERhdGEubGVuZ3RoID4gMFwiPlxyXG4gICAgPHRhYmxlICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5jb2x1bW5sZW5ndGggJiYgZmllbGQoKT8udGFibGVEYXRhPy5yb3dsZW5ndGhcIiBjbGFzcz1cInN0eWxlZC10YWJsZVwiPlxyXG4gICAgICA8dGhlYWQ+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgPHRoICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93Q2hlY2tCb3hcIj48L3RoPlxyXG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgZmllbGQoKS50YWJsZURhdGE/LnRhYmxlSGVhZGVyczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXI+e3sgaGVhZGVyPy5jb2x1bW5OYW1lIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPHRoICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93QWN0aW9uc1wiPkFjdGlvbjwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC90aGVhZD5cclxuICAgICAgPHRib2R5PlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGZpZWxkKCk/LnRhYmxlRGF0YT8udGREYXRhO2xldCByb3dJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8dGQgKm5nSWY9XCJmaWVsZCgpPy50YWJsZURhdGE/LnNob3dDaGVja0JveFwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj48L3RkPlxyXG4gICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjZWxsIG9mIHJvd1wiPnt7IGNlbGwgfX08L3RkPlxyXG4gICAgICAgICAgPHRkICpuZ0lmPVwiZmllbGQoKT8udGFibGVEYXRhPy5zaG93QWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiIChjbGljayk9XCJvcGVuQWN0aW9uc1BvcHVwKCRldmVudCwgcm93SW5kZXgpXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5KClcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkKCk/LnRhYmxlRGF0YT8uc2hvd1BhZ2luYXRpb25cIj5cclxuICAgICAgPG1hdC1wYWdpbmF0b3IgY2xhc3M9XCJjdXN0b20tcGFnaW5hdG9yXCIgW2xlbmd0aF09XCJmaWVsZCgpPy50YWJsZURhdGE/LnRvdGFsSXRlbXNcIlxyXG4gICAgICAgIFtwYWdlU2l6ZV09XCJmaWVsZCgpPy50YWJsZURhdGE/LnBhZ2luYXRpb25TaXplXCIgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDI1LCAxMDBdXCJcclxuICAgICAgICAocGFnZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCIgYXJpYS1sYWJlbD1cIlNlbGVjdCBwYWdlXCI+XHJcbiAgICAgIDwvbWF0LXBhZ2luYXRvcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZCgpPy50YWJsZURhdGE/LnRkRGF0YSAmJiBmaWVsZCgpPy50YWJsZURhdGE/LnRkRGF0YS5sZW5ndGggPT09IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZUVtcHR5RGF0YVwiPlxyXG4gICAgICA8cCBjbGFzcz1cInRhYmxlZW1wdHlEYXRhTWVzc2FnZVwiPk5vIG1hdGNoaW5nIHJlY29yZHMgZm91bmQgZm9yIHRoZSBnaXZlbiBzZWFyY2ggaW5wdXQuPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInNob3dBY3Rpb25zUG9wdXBcIiBjbGFzcz1cImFjdGlvbnMtcG9wdXAtYmFja2Ryb3BcIiAoY2xpY2spPVwiY2xvc2VBY3Rpb25zUG9wdXAoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhY3Rpb25zLXBvcHVwLW1lbnVcIiBbbmdTdHlsZV09XCJ7J3RvcC5weCc6IHBvcHVwUG9zaXRpb24udG9wLCAnbGVmdC5weCc6IHBvcHVwUG9zaXRpb24ubGVmdH1cIlxyXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1ha2VBcnJvd1wiIFtuZ1N0eWxlXT1cInsnbGVmdC5weCc6IHBvcHVwUG9zaXRpb24ubGVmdCsyNX1cIj48L2Rpdj5cclxuICAgIDx1bD5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBhY3Rpb25EYXRhIG9mIGZpZWxkKCkudGFibGVEYXRhPy51c2VyU2VsZWN0ZWRPcHRpb25zW3NlbGVjdGVkUm93XTtsZXQgYWN0aW9uSW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiYWN0aW9uRGF0YT8uZGlzcGxheVRpdGxlXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgIChjbGljayk9XCJhY3Rpb25DbGlja2VkKGFjdGlvbkRhdGEsYWN0aW9uSW5kZXgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPnt7YWN0aW9uRGF0YT8ubWF0SWNvbk5hbWV9fTwvbWF0LWljb24+XHJcbiAgICAgICAge3thY3Rpb25EYXRhPy5kaXNwbGF5VGl0bGV9fVxyXG4gICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -2558,11 +2558,11 @@ class TableComponent {
2558
2558
  this.actionItemClicked.emit(emitOBJ);
2559
2559
  }
2560
2560
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
2561
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionItemClicked: "actionItemClicked", tablePaginationClicked: "tablePaginationClicked" }, host: { listeners: { "document:keydown.escape": "onEscKey($event)" } }, ngImport: i0, template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-template>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] });
2561
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "lib-table", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionItemClicked: "actionItemClicked", tablePaginationClicked: "tablePaginationClicked" }, host: { listeners: { "document:keydown.escape": "onEscKey($event)" } }, ngImport: i0, template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container>{{ header?.columnName }}</ng-container>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i5$2.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] });
2562
2562
  }
2563
2563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
2564
2564
  type: Component,
2565
- args: [{ selector: 'lib-table', standalone: true, imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule], template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-template>{{ header?.columnName }}</ng-template>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"] }]
2565
+ args: [{ selector: 'lib-table', standalone: true, imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule], template: "<div class=\"styled-table-container\">\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\r\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\r\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\r\n <ng-container>{{ header?.columnName }}</ng-container>\r\n </th>\r\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\r\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n <td *ngIf=\"field()?.tableData?.showActions\">\r\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\r\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\r\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\r\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\r\n </mat-paginator>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\r\n <div class=\"tableEmptyData\">\r\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\r\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\r\n (click)=\"$event.stopPropagation()\">\r\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\r\n <ul>\r\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\r\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\r\n (click)=\"actionClicked(actionData,actionIndex)\">\r\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\r\n {{actionData?.displayTitle}}\r\n </li>\r\n </ul>\r\n </div>\r\n</div>", styles: [".styled-table{width:100%;margin:16px 0;font-size:1em;box-shadow:0 0 8px #0000001a}*{font-family:mulish!important}.styled-table th,.styled-table td{border:none;padding:8px 12px;text-align:left}.styled-table thead tr{background-color:#444;color:#fff}.styled-table tbody tr:nth-child(2n){background-color:#f3f3f3}.styled-table tbody tr:hover{background-color:#e0f7fa}.custom_input{width:100%;border:none;background:transparent;font-weight:700;color:#fff}.styled-table th:first-child{border-top-left-radius:8px}.styled-table th:last-child{border-top-right-radius:8px}.popup-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.action-btn{background:none;border:none;cursor:pointer;padding:0}.actions-popup-backdrop{position:fixed;inset:0;background:transparent;z-index:1000}.actions-popup-menu{position:absolute;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000002e;padding:0;z-index:1001;color:#333;font-family:inherit;border:1px solid #DDDDDD}.actions-popup-menu ul{list-style:none;margin:0;padding:0 0 8px}.actions-popup-menu li{display:flex;align-items:center;padding:10px 20px;cursor:pointer;font-size:15px;transition:background .2s;border-bottom:1px dashed #DADADA}.actions-popup-menu li mat-icon{margin-right:12px;font-size:20px}.actions-popup-menu li.selected,.actions-popup-menu li:hover{background:#fff6d1;color:#222}.styled-table-container{max-width:100%;overflow-x:auto;max-height:400px;overflow-y:auto}.makeArrow{width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid #fff;border-right:none;position:absolute;top:10px}:host ::ng-deep .custom-paginator .mdc-text-field--outlined .mdc-notched-outline{display:none!important}.material-icons{font-family:Material Icons!important}.tableEmptyData{width:100%;height:50px;text-align:center;background:#faebd7}.tableemptyDataMessage{position:relative;top:14px;font-size:16px;font-weight:600;color:olive}\n"] }]
2566
2566
  }], ctorParameters: () => [{ type: MasterControlService }], propDecorators: { actionItemClicked: [{
2567
2567
  type: Output
2568
2568
  }], tablePaginationClicked: [{