bpm-core 0.0.76 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/table/table.component.mjs +3 -3
- package/fesm2022/bpm-core.mjs +8 -8
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -172,7 +172,7 @@ export class AttachmentSectionComponent extends ControlValueAccessorDirective {
|
|
|
172
172
|
useExisting: forwardRef(() => AttachmentSectionComponent),
|
|
173
173
|
multi: true,
|
|
174
174
|
},
|
|
175
|
-
], viewQueries: [{ propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mt-2 p-0\">\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if (!attachments?.length && !isReadOnly) {\r\n <section\r\n [ngClass]=\"insideTable ? 'file-uploader-table' : 'file-uploader'\"\r\n class=\"mb-2\"\r\n [class.insideTableStyle]=\"insideTable\"\r\n (click)=\"addAttachment()\">\r\n <div\r\n [ngClass]=\"insideTable ? 'file-uploader-table-dev' : ''\"\r\n class=\"file-uploader-input\">\r\n <div class=\"icon mb-1\">\r\n <svg\r\n [ngClass]=\"insideTable ? 'file-uploader-table-svg' : ''\"\r\n width=\"41\"\r\n height=\"38\"\r\n viewBox=\"0 0 41 38\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M0 22.1947V20.6736C0.0971303 20.1019 0.070094 19.5141 0.276371 18.9533C1.28372 16.2086 3.21231 14.5023 6.0421 13.8094C6.70499 13.6472 6.68497 13.6632 6.69899 12.9843C6.73203 11.3321 6.99839 9.71992 7.62423 8.17986C8.86289 5.13678 10.9467 2.83969 13.8816 1.39175C17.168 -0.230424 20.5956 -0.450719 24.0553 0.81598C27.4929 2.07467 29.9622 4.41581 31.4802 7.74828C31.7786 8.40316 32.027 9.08307 32.1712 9.79202C32.2402 10.1315 32.4035 10.2566 32.7529 10.3107C36.7012 10.9165 39.3358 13.1255 40.6946 16.8735C40.9069 17.4603 40.9199 18.0731 40.9599 18.6829C40.9649 18.7601 40.9389 18.8442 41 18.9113V20.5124C40.9109 20.995 40.969 21.4937 40.8608 21.9734C40.5244 23.4614 39.8454 24.7821 38.8501 25.9297C37.4522 27.5418 35.7059 28.5882 33.6161 29.0519C32.791 29.2351 31.9499 29.2521 31.1117 29.2922C30.6571 29.3142 30.584 29.193 30.592 28.7484C30.6451 25.8446 29.802 23.2571 27.8624 21.0591C25.9979 18.9463 23.6597 17.7167 20.867 17.4012C18.8553 17.1739 16.9057 17.4593 15.0612 18.3395C11.8319 19.8816 9.81416 22.4069 8.96102 25.8696C8.74273 26.7538 8.68265 27.658 8.70568 28.5702C8.7217 29.2111 8.60254 29.3122 7.95968 29.2972C5.95098 29.2511 4.10551 28.7234 2.58146 27.3596C1.07644 26.0168 0.0680913 24.3996 0.0400537 22.3028C0.0400537 22.2607 0.0250336 22.2257 0 22.1937V22.1947Z\"\r\n fill=\"#DEE0E2\"/>\r\n <path\r\n d=\"M29.0303 28.2632C29.0604 33.4031 24.8657 37.6187 19.6838 37.6548C14.5169 37.6908 10.2852 33.4952 10.2521 28.3042C10.2201 23.1403 14.4297 18.9126 19.6227 18.8946C24.8037 18.8766 28.9993 23.0542 29.0303 28.2632Z\"\r\n fill=\"#8E9AA0\"/>\r\n <path\r\n d=\"M20.5573 25.2644C20.4622 25.4477 20.5012 25.5939 20.5012 25.734C20.4982 28.2154 20.5002 30.6957 20.4982 33.177C20.4982 33.8099 20.2339 34.1704 19.7462 34.2234C19.2645 34.2765 18.88 33.9831 18.8169 33.5025C18.7959 33.3443 18.7969 33.183 18.7969 33.0238C18.7959 30.5826 18.7969 28.1423 18.7969 25.701C18.7969 25.5728 18.7969 25.4447 18.7969 25.2003C18.1971 25.8031 17.6774 26.3288 17.1527 26.8505C17.0115 26.9907 16.8683 27.1349 16.7061 27.2471C16.3566 27.4864 15.9341 27.4413 15.6457 27.154C15.3643 26.8746 15.3203 26.442 15.5486 26.0925C15.6207 25.9824 15.7128 25.8832 15.8069 25.7891C16.8613 24.7307 17.9167 23.6733 18.9732 22.6179C19.4017 22.1893 19.8784 22.1763 20.3039 22.5988C21.3914 23.6803 22.4739 24.7667 23.5533 25.8572C23.9809 26.2898 24.0129 26.8065 23.6534 27.167C23.299 27.5214 22.7753 27.4844 22.3437 27.0568C21.7499 26.47 21.1661 25.8732 20.5603 25.2644H20.5573Z\"\r\n fill=\"#F9F9F9\"/>\r\n </svg>\r\n </div>\r\n <div class=\"f-14 fc-black fw-normal\">\r\n <span class=\"fc-coral fw-medium\">{{ 'browse' | translate }}</span>\r\n </div>\r\n <div class=\"fs-10 fc-dark-gray\">\r\n {{ 'addMultiAttachments' | translate }}\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n\r\n @if (attachments?.length) {\r\n <div\r\n class=\"table-responsive full\"\r\n cdkDropList\r\n [cdkDropListData]=\"attachments\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n >\r\n <table mat-table [dataSource]=\"dataSource\">\r\n\r\n <!-- index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ds-button\r\n [matTooltip]=\"'downloadAll' | translate\"\r\n square icon size=\"small\"\r\n (click)=\"downloadAllAttachments($event)\"\r\n class=\"icon-btn-shadow\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon\r\n icon=\"download\"\r\n class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n }\r\n </ds-button>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 + pageSize * (pageNumber) }}</td>\r\n </ng-container>\r\n\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"file\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileName' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-file-uploader\r\n [allowedExtensions]=\"allowedExtensions\"\r\n [displayedFiles]=\"[element]\"\r\n name=\"attachment\"\r\n [showActions]=\"true\"\r\n [isReadOnly]=\"true\"\r\n [customDownload]=\"customDownload\"\r\n (downloadActionClicked)=\"customDownloadAction($event)\"\r\n [multiple]=\"true\">\r\n </app-file-uploader>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Description Column -->\r\n <ng-container matColumnDef=\"description\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileDescription' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['fileDescription']\"\r\n (click)=\"$event.stopPropagation(); fileDescriptionAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"fileDescriptionPopover\"\r\n #fileDescriptionAnchor=\"satPopoverAnchor\"\r\n [matTooltip]=\"element?.['fileDescription']\">\r\n {{ element?.['fileDescription']?.length > 10 ? (element?.['fileDescription'] | slice : 0 : 10) + '....' : element?.['fileDescription'] }}\r\n </a>\r\n <sat-popover\r\n #fileDescriptionPopover\r\n [anchor]=\"fileDescriptionAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['fileDescription'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Comment Column -->\r\n <ng-container matColumnDef=\"comment\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'comment' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['attachmentcomment']\"\r\n (click)=\"$event.stopPropagation(); commentsAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"commentsPopover\"\r\n [matTooltip]=\"element?.['attachmentcomment']\"\r\n #commentsAnchor=\"satPopoverAnchor\">\r\n {{ element?.['attachmentcomment']?.length > 10 ? (element?.['attachmentcomment'] | slice : 0 : 10) + '....' : element?.['attachmentcomment'] }}\r\n </a>\r\n <sat-popover\r\n #commentsPopover\r\n [anchor]=\"commentsAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['attachmentcomment'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n @if (!isReadOnly) {\r\n <td>\r\n <div class=\"d-flex gap-2\">\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"deleteAttachments(i, element)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"trash\" class=\"fs-20 fs-md-17 fc-coral\"></ds-icon>\r\n </ds-button>\r\n\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"editRow(element, i)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"pen\" class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </td>\r\n }\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <mat-paginator\r\n #paginator\r\n [pageSizeOptions]=\"[5]\"\r\n (page)=\"onPaginateChange($event)\"\r\n [length]=\"attachments.length\"\r\n [pageSize]=\"pageSize\"\r\n showFirstLastButtons></mat-paginator>\r\n </div>\r\n }\r\n\r\n @if (!isReadOnly && attachments?.length && attachments?.length < attachmentsMax) {\r\n <div class=\"text-center full mt-3\">\r\n <ds-button\r\n shape=\"{{ attachments?.length ? 'outline' : '' }}\"\r\n [ngClass]=\"{ 'full-add-btn w-100 pt-1': attachments?.length }\"\r\n (click)=\"addAttachment(); $event.stopPropagation()\">\r\n <ds-icon slot=\"prefix\" icon=\"plus\" class=\"fs-22 pb-1\"></ds-icon>\r\n {{ 'addAttachments' | translate }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["::ng-deep .add-attachment-dialog{--popup-max-width: 500px;--popup-width: 100%}::ng-deep .view-note-popover{max-width:250px;max-height:300px;overflow:auto;--popover-bc: var(--black);color:var(--white);--popover-before-width: .6rem}::ng-deep .mat-tooltip{max-width:500px;background:#1d252d}:host ::ng-deep .table-responsive table{--th-bg: var(--white);--th-fc: var(--dark-gray)}:host ::ng-deep .white-attached ds-attachments::part(base){--file-bg: transparent}:host ::ng-deep .full-add-btn::part(base){--btn-min-width: 100%;--btn-bg-color: rgb(248 248 248);--btn-height: 70px;--btn-radius: 6px;border:1px dashed rgb(142,154,160)}.file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center}.insideTableWidth{width:250px!important}.file-uploader-table{--uploader-height: 45px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 0 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:FLEX;align-items:CENTER;justify-content:CENTER}.file-uploader-table-dev{display:FLEX;align-items:CENTER;gap:1rem}.file-uploader-table-svg{width:70%}.files-list .file-item-container .uploaded-file-actions{margin-inline-start:20px}.files-list .file-item-container .uploaded-file-actions .button__wrapper{font-size:15px}.file-item-container-actions{display:flex;align-items:center}.file-item-container-actions .uploaded-file-actions{display:flex;align-items:center;gap:10px;margin-inline-start:25px}.file-item-container-actions .uploaded-file-actions .button__wrapper{font-size:15px}.file-uploader{--uploader-height: 120px;--uploader-width: 100%;--uploader-bg: #f8f8f8;--uploader-border: 1px dashed #8e9aa0;--uploader-radius: 6px;--uploader-padding: 20px 14px 20px 31px;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader--input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px}.insideTableStyle{width:272px}.files-list{--file-item-width: 300px;display:grid;grid-template-columns:repeat(auto-fill,var(--file-item-width));grid-gap:.5rem}@media (max-width: 768px){.files-list{grid-template-columns:repeat(auto-fill,minmax(var(--file-item-width),1fr))}}.files-list .file-item-container .file-item{--file-bg: var(--off-white);--file-radius: var(--box-radius);--icon-color: var(--purple);--icon-size: 2rem;--file-border: transparent;display:flex;align-items:center;background-color:var(--file-bg);border:1px solid var(--file-border);border-radius:var(--file-radius);padding:0 1rem;height:70px;gap:.75rem}.files-list .file-item-container .file-item.error{--file-bg: rgba(var(--rgb-red), 10%);--file-border: var(--red);--icon-color: var(--red)}.files-list .file-item-container .file-item .icon{color:var(--icon-color);font-size:var(--icon-size)}.files-list .file-item-container .file-item .file-action{display:flex;align-items:center;gap:.5rem}ds-attachments::part(base){--file-width: 250px}.file-uploader-icon{color:var(--icon-color);font-size:var(--icon-size)}.file-uploader-icon svg{display:block;object-fit:contain;object-position:center;width:41px;height:auto}::ng-deep .file-item .name-size{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}.table-responsive table,.table-responsive .primary-table{--cell-pading: 3px 24px 10px}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "allowedExtensions", "callApi", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "signType", "customDownload", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "emitedValue", "downloadActionClicked"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
175
|
+
], viewQueries: [{ propertyName: "paginator", first: true, predicate: ["paginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mt-2 p-0\">\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required']) && !isReadOnly\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if (!attachments?.length && !isReadOnly) {\r\n <section\r\n [ngClass]=\"insideTable ? 'file-uploader-table' : 'file-uploader'\"\r\n class=\"mb-2\"\r\n [class.insideTableStyle]=\"insideTable\"\r\n (click)=\"addAttachment()\">\r\n <div\r\n [ngClass]=\"insideTable ? 'file-uploader-table-dev' : ''\"\r\n class=\"file-uploader-input\">\r\n <div class=\"icon mb-1\">\r\n <svg\r\n [ngClass]=\"insideTable ? 'file-uploader-table-svg' : ''\"\r\n width=\"41\"\r\n height=\"38\"\r\n viewBox=\"0 0 41 38\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M0 22.1947V20.6736C0.0971303 20.1019 0.070094 19.5141 0.276371 18.9533C1.28372 16.2086 3.21231 14.5023 6.0421 13.8094C6.70499 13.6472 6.68497 13.6632 6.69899 12.9843C6.73203 11.3321 6.99839 9.71992 7.62423 8.17986C8.86289 5.13678 10.9467 2.83969 13.8816 1.39175C17.168 -0.230424 20.5956 -0.450719 24.0553 0.81598C27.4929 2.07467 29.9622 4.41581 31.4802 7.74828C31.7786 8.40316 32.027 9.08307 32.1712 9.79202C32.2402 10.1315 32.4035 10.2566 32.7529 10.3107C36.7012 10.9165 39.3358 13.1255 40.6946 16.8735C40.9069 17.4603 40.9199 18.0731 40.9599 18.6829C40.9649 18.7601 40.9389 18.8442 41 18.9113V20.5124C40.9109 20.995 40.969 21.4937 40.8608 21.9734C40.5244 23.4614 39.8454 24.7821 38.8501 25.9297C37.4522 27.5418 35.7059 28.5882 33.6161 29.0519C32.791 29.2351 31.9499 29.2521 31.1117 29.2922C30.6571 29.3142 30.584 29.193 30.592 28.7484C30.6451 25.8446 29.802 23.2571 27.8624 21.0591C25.9979 18.9463 23.6597 17.7167 20.867 17.4012C18.8553 17.1739 16.9057 17.4593 15.0612 18.3395C11.8319 19.8816 9.81416 22.4069 8.96102 25.8696C8.74273 26.7538 8.68265 27.658 8.70568 28.5702C8.7217 29.2111 8.60254 29.3122 7.95968 29.2972C5.95098 29.2511 4.10551 28.7234 2.58146 27.3596C1.07644 26.0168 0.0680913 24.3996 0.0400537 22.3028C0.0400537 22.2607 0.0250336 22.2257 0 22.1937V22.1947Z\"\r\n fill=\"#DEE0E2\"/>\r\n <path\r\n d=\"M29.0303 28.2632C29.0604 33.4031 24.8657 37.6187 19.6838 37.6548C14.5169 37.6908 10.2852 33.4952 10.2521 28.3042C10.2201 23.1403 14.4297 18.9126 19.6227 18.8946C24.8037 18.8766 28.9993 23.0542 29.0303 28.2632Z\"\r\n fill=\"#8E9AA0\"/>\r\n <path\r\n d=\"M20.5573 25.2644C20.4622 25.4477 20.5012 25.5939 20.5012 25.734C20.4982 28.2154 20.5002 30.6957 20.4982 33.177C20.4982 33.8099 20.2339 34.1704 19.7462 34.2234C19.2645 34.2765 18.88 33.9831 18.8169 33.5025C18.7959 33.3443 18.7969 33.183 18.7969 33.0238C18.7959 30.5826 18.7969 28.1423 18.7969 25.701C18.7969 25.5728 18.7969 25.4447 18.7969 25.2003C18.1971 25.8031 17.6774 26.3288 17.1527 26.8505C17.0115 26.9907 16.8683 27.1349 16.7061 27.2471C16.3566 27.4864 15.9341 27.4413 15.6457 27.154C15.3643 26.8746 15.3203 26.442 15.5486 26.0925C15.6207 25.9824 15.7128 25.8832 15.8069 25.7891C16.8613 24.7307 17.9167 23.6733 18.9732 22.6179C19.4017 22.1893 19.8784 22.1763 20.3039 22.5988C21.3914 23.6803 22.4739 24.7667 23.5533 25.8572C23.9809 26.2898 24.0129 26.8065 23.6534 27.167C23.299 27.5214 22.7753 27.4844 22.3437 27.0568C21.7499 26.47 21.1661 25.8732 20.5603 25.2644H20.5573Z\"\r\n fill=\"#F9F9F9\"/>\r\n </svg>\r\n </div>\r\n <div class=\"f-14 fc-black fw-normal\">\r\n <span class=\"fc-coral fw-medium\">{{ 'browse' | translate }}</span>\r\n </div>\r\n <div class=\"fs-10 fc-dark-gray\">\r\n {{ 'addMultiAttachments' | translate }}\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n\r\n @if (attachments?.length) {\r\n <div\r\n class=\"table-responsive full\"\r\n cdkDropList\r\n [cdkDropListData]=\"attachments\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n >\r\n <table mat-table [dataSource]=\"dataSource\">\r\n\r\n <!-- index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ds-button\r\n [matTooltip]=\"'downloadAll' | translate\"\r\n square icon size=\"small\"\r\n (click)=\"downloadAllAttachments($event)\"\r\n class=\"icon-btn-shadow\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon\r\n icon=\"download\"\r\n class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n }\r\n </ds-button>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 + pageSize * (pageNumber) }}</td>\r\n </ng-container>\r\n\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"file\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileName' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-file-uploader\r\n [allowedExtensions]=\"allowedExtensions\"\r\n [displayedFiles]=\"[element]\"\r\n name=\"attachment\"\r\n [showActions]=\"true\"\r\n [isReadOnly]=\"true\"\r\n [customDownload]=\"customDownload\"\r\n (downloadActionClicked)=\"customDownloadAction($event)\"\r\n [multiple]=\"true\">\r\n </app-file-uploader>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Description Column -->\r\n <ng-container matColumnDef=\"description\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileDescription' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['fileDescription']\"\r\n (click)=\"$event.stopPropagation(); fileDescriptionAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"fileDescriptionPopover\"\r\n #fileDescriptionAnchor=\"satPopoverAnchor\"\r\n [matTooltip]=\"element?.['fileDescription']\">\r\n {{ element?.['fileDescription']?.length > 10 ? (element?.['fileDescription'] | slice : 0 : 10) + '....' : element?.['fileDescription'] }}\r\n </a>\r\n <sat-popover\r\n #fileDescriptionPopover\r\n [anchor]=\"fileDescriptionAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['fileDescription'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Comment Column -->\r\n <ng-container matColumnDef=\"comment\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'comment' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['attachmentcomment']\"\r\n (click)=\"$event.stopPropagation(); commentsAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"commentsPopover\"\r\n [matTooltip]=\"element?.['attachmentcomment']\"\r\n #commentsAnchor=\"satPopoverAnchor\">\r\n {{ element?.['attachmentcomment']?.length > 10 ? (element?.['attachmentcomment'] | slice : 0 : 10) + '....' : element?.['attachmentcomment'] }}\r\n </a>\r\n <sat-popover\r\n #commentsPopover\r\n [anchor]=\"commentsAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['attachmentcomment'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n @if (!isReadOnly) {\r\n <td>\r\n <div class=\"d-flex gap-2\">\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"deleteAttachments(i, element)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"trash\" class=\"fs-20 fs-md-17 fc-coral\"></ds-icon>\r\n </ds-button>\r\n\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"editRow(element, i)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"pen\" class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </td>\r\n }\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <mat-paginator\r\n #paginator\r\n [pageSizeOptions]=\"[5]\"\r\n (page)=\"onPaginateChange($event)\"\r\n [length]=\"attachments.length\"\r\n [pageSize]=\"pageSize\"\r\n showFirstLastButtons></mat-paginator>\r\n </div>\r\n }\r\n\r\n @if (!isReadOnly && attachments?.length && attachments?.length < attachmentsMax) {\r\n <div class=\"text-center full mt-3\">\r\n <ds-button\r\n shape=\"{{ attachments?.length ? 'outline' : '' }}\"\r\n [ngClass]=\"{ 'full-add-btn w-100 pt-1': attachments?.length }\"\r\n (click)=\"addAttachment(); $event.stopPropagation()\">\r\n <ds-icon slot=\"prefix\" icon=\"plus\" class=\"fs-22 pb-1\"></ds-icon>\r\n {{ 'addAttachments' | translate }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["::ng-deep .add-attachment-dialog{--popup-max-width: 500px;--popup-width: 100%}::ng-deep .view-note-popover{max-width:250px;max-height:300px;overflow:auto;--popover-bc: var(--black);color:var(--white);--popover-before-width: .6rem}::ng-deep .mat-tooltip{max-width:500px;background:#1d252d}:host ::ng-deep .table-responsive table{--th-bg: var(--white);--th-fc: var(--dark-gray)}:host ::ng-deep .white-attached ds-attachments::part(base){--file-bg: transparent}:host ::ng-deep .full-add-btn::part(base){--btn-min-width: 100%;--btn-bg-color: rgb(248 248 248);--btn-height: 70px;--btn-radius: 6px;border:1px dashed rgb(142,154,160)}.file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center}.insideTableWidth{width:250px!important}.file-uploader-table{--uploader-height: 45px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 0 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:FLEX;align-items:CENTER;justify-content:CENTER}.file-uploader-table-dev{display:FLEX;align-items:CENTER;gap:1rem}.file-uploader-table-svg{width:70%}.files-list .file-item-container .uploaded-file-actions{margin-inline-start:20px}.files-list .file-item-container .uploaded-file-actions .button__wrapper{font-size:15px}.file-item-container-actions{display:flex;align-items:center}.file-item-container-actions .uploaded-file-actions{display:flex;align-items:center;gap:10px;margin-inline-start:25px}.file-item-container-actions .uploaded-file-actions .button__wrapper{font-size:15px}.file-uploader{--uploader-height: 120px;--uploader-width: 100%;--uploader-bg: #f8f8f8;--uploader-border: 1px dashed #8e9aa0;--uploader-radius: 6px;--uploader-padding: 20px 14px 20px 31px;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader--input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px}.insideTableStyle{width:272px}.files-list{--file-item-width: 300px;display:grid;grid-template-columns:repeat(auto-fill,var(--file-item-width));grid-gap:.5rem}@media (max-width: 768px){.files-list{grid-template-columns:repeat(auto-fill,minmax(var(--file-item-width),1fr))}}.files-list .file-item-container .file-item{--file-bg: var(--off-white);--file-radius: var(--box-radius);--icon-color: var(--purple);--icon-size: 2rem;--file-border: transparent;display:flex;align-items:center;background-color:var(--file-bg);border:1px solid var(--file-border);border-radius:var(--file-radius);padding:0 1rem;height:70px;gap:.75rem}.files-list .file-item-container .file-item.error{--file-bg: rgba(var(--rgb-red), 10%);--file-border: var(--red);--icon-color: var(--red)}.files-list .file-item-container .file-item .icon{color:var(--icon-color);font-size:var(--icon-size)}.files-list .file-item-container .file-item .file-action{display:flex;align-items:center;gap:.5rem}ds-attachments::part(base){--file-width: 250px}.file-uploader-icon{color:var(--icon-color);font-size:var(--icon-size)}.file-uploader-icon svg{display:block;object-fit:contain;object-position:center;width:41px;height:auto}::ng-deep .file-item .name-size{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}.table-responsive table,.table-responsive .primary-table{--cell-pading: 3px 24px 10px}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "allowedExtensions", "callApi", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "signType", "customDownload", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "emitedValue", "downloadActionClicked"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
176
176
|
}
|
|
177
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AttachmentSectionComponent, decorators: [{
|
|
178
178
|
type: Component,
|
|
@@ -203,7 +203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
203
203
|
MatRowDef,
|
|
204
204
|
FormLabelComponent,
|
|
205
205
|
TranslatePipe
|
|
206
|
-
], standalone: true, template: "<div class=\"mt-2 p-0\">\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if (!attachments?.length && !isReadOnly) {\r\n <section\r\n [ngClass]=\"insideTable ? 'file-uploader-table' : 'file-uploader'\"\r\n class=\"mb-2\"\r\n [class.insideTableStyle]=\"insideTable\"\r\n (click)=\"addAttachment()\">\r\n <div\r\n [ngClass]=\"insideTable ? 'file-uploader-table-dev' : ''\"\r\n class=\"file-uploader-input\">\r\n <div class=\"icon mb-1\">\r\n <svg\r\n [ngClass]=\"insideTable ? 'file-uploader-table-svg' : ''\"\r\n width=\"41\"\r\n height=\"38\"\r\n viewBox=\"0 0 41 38\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M0 22.1947V20.6736C0.0971303 20.1019 0.070094 19.5141 0.276371 18.9533C1.28372 16.2086 3.21231 14.5023 6.0421 13.8094C6.70499 13.6472 6.68497 13.6632 6.69899 12.9843C6.73203 11.3321 6.99839 9.71992 7.62423 8.17986C8.86289 5.13678 10.9467 2.83969 13.8816 1.39175C17.168 -0.230424 20.5956 -0.450719 24.0553 0.81598C27.4929 2.07467 29.9622 4.41581 31.4802 7.74828C31.7786 8.40316 32.027 9.08307 32.1712 9.79202C32.2402 10.1315 32.4035 10.2566 32.7529 10.3107C36.7012 10.9165 39.3358 13.1255 40.6946 16.8735C40.9069 17.4603 40.9199 18.0731 40.9599 18.6829C40.9649 18.7601 40.9389 18.8442 41 18.9113V20.5124C40.9109 20.995 40.969 21.4937 40.8608 21.9734C40.5244 23.4614 39.8454 24.7821 38.8501 25.9297C37.4522 27.5418 35.7059 28.5882 33.6161 29.0519C32.791 29.2351 31.9499 29.2521 31.1117 29.2922C30.6571 29.3142 30.584 29.193 30.592 28.7484C30.6451 25.8446 29.802 23.2571 27.8624 21.0591C25.9979 18.9463 23.6597 17.7167 20.867 17.4012C18.8553 17.1739 16.9057 17.4593 15.0612 18.3395C11.8319 19.8816 9.81416 22.4069 8.96102 25.8696C8.74273 26.7538 8.68265 27.658 8.70568 28.5702C8.7217 29.2111 8.60254 29.3122 7.95968 29.2972C5.95098 29.2511 4.10551 28.7234 2.58146 27.3596C1.07644 26.0168 0.0680913 24.3996 0.0400537 22.3028C0.0400537 22.2607 0.0250336 22.2257 0 22.1937V22.1947Z\"\r\n fill=\"#DEE0E2\"/>\r\n <path\r\n d=\"M29.0303 28.2632C29.0604 33.4031 24.8657 37.6187 19.6838 37.6548C14.5169 37.6908 10.2852 33.4952 10.2521 28.3042C10.2201 23.1403 14.4297 18.9126 19.6227 18.8946C24.8037 18.8766 28.9993 23.0542 29.0303 28.2632Z\"\r\n fill=\"#8E9AA0\"/>\r\n <path\r\n d=\"M20.5573 25.2644C20.4622 25.4477 20.5012 25.5939 20.5012 25.734C20.4982 28.2154 20.5002 30.6957 20.4982 33.177C20.4982 33.8099 20.2339 34.1704 19.7462 34.2234C19.2645 34.2765 18.88 33.9831 18.8169 33.5025C18.7959 33.3443 18.7969 33.183 18.7969 33.0238C18.7959 30.5826 18.7969 28.1423 18.7969 25.701C18.7969 25.5728 18.7969 25.4447 18.7969 25.2003C18.1971 25.8031 17.6774 26.3288 17.1527 26.8505C17.0115 26.9907 16.8683 27.1349 16.7061 27.2471C16.3566 27.4864 15.9341 27.4413 15.6457 27.154C15.3643 26.8746 15.3203 26.442 15.5486 26.0925C15.6207 25.9824 15.7128 25.8832 15.8069 25.7891C16.8613 24.7307 17.9167 23.6733 18.9732 22.6179C19.4017 22.1893 19.8784 22.1763 20.3039 22.5988C21.3914 23.6803 22.4739 24.7667 23.5533 25.8572C23.9809 26.2898 24.0129 26.8065 23.6534 27.167C23.299 27.5214 22.7753 27.4844 22.3437 27.0568C21.7499 26.47 21.1661 25.8732 20.5603 25.2644H20.5573Z\"\r\n fill=\"#F9F9F9\"/>\r\n </svg>\r\n </div>\r\n <div class=\"f-14 fc-black fw-normal\">\r\n <span class=\"fc-coral fw-medium\">{{ 'browse' | translate }}</span>\r\n </div>\r\n <div class=\"fs-10 fc-dark-gray\">\r\n {{ 'addMultiAttachments' | translate }}\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n\r\n @if (attachments?.length) {\r\n <div\r\n class=\"table-responsive full\"\r\n cdkDropList\r\n [cdkDropListData]=\"attachments\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n >\r\n <table mat-table [dataSource]=\"dataSource\">\r\n\r\n <!-- index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ds-button\r\n [matTooltip]=\"'downloadAll' | translate\"\r\n square icon size=\"small\"\r\n (click)=\"downloadAllAttachments($event)\"\r\n class=\"icon-btn-shadow\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon\r\n icon=\"download\"\r\n class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n }\r\n </ds-button>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 + pageSize * (pageNumber) }}</td>\r\n </ng-container>\r\n\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"file\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileName' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-file-uploader\r\n [allowedExtensions]=\"allowedExtensions\"\r\n [displayedFiles]=\"[element]\"\r\n name=\"attachment\"\r\n [showActions]=\"true\"\r\n [isReadOnly]=\"true\"\r\n [customDownload]=\"customDownload\"\r\n (downloadActionClicked)=\"customDownloadAction($event)\"\r\n [multiple]=\"true\">\r\n </app-file-uploader>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Description Column -->\r\n <ng-container matColumnDef=\"description\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileDescription' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['fileDescription']\"\r\n (click)=\"$event.stopPropagation(); fileDescriptionAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"fileDescriptionPopover\"\r\n #fileDescriptionAnchor=\"satPopoverAnchor\"\r\n [matTooltip]=\"element?.['fileDescription']\">\r\n {{ element?.['fileDescription']?.length > 10 ? (element?.['fileDescription'] | slice : 0 : 10) + '....' : element?.['fileDescription'] }}\r\n </a>\r\n <sat-popover\r\n #fileDescriptionPopover\r\n [anchor]=\"fileDescriptionAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['fileDescription'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Comment Column -->\r\n <ng-container matColumnDef=\"comment\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'comment' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['attachmentcomment']\"\r\n (click)=\"$event.stopPropagation(); commentsAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"commentsPopover\"\r\n [matTooltip]=\"element?.['attachmentcomment']\"\r\n #commentsAnchor=\"satPopoverAnchor\">\r\n {{ element?.['attachmentcomment']?.length > 10 ? (element?.['attachmentcomment'] | slice : 0 : 10) + '....' : element?.['attachmentcomment'] }}\r\n </a>\r\n <sat-popover\r\n #commentsPopover\r\n [anchor]=\"commentsAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['attachmentcomment'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n @if (!isReadOnly) {\r\n <td>\r\n <div class=\"d-flex gap-2\">\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"deleteAttachments(i, element)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"trash\" class=\"fs-20 fs-md-17 fc-coral\"></ds-icon>\r\n </ds-button>\r\n\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"editRow(element, i)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"pen\" class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </td>\r\n }\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <mat-paginator\r\n #paginator\r\n [pageSizeOptions]=\"[5]\"\r\n (page)=\"onPaginateChange($event)\"\r\n [length]=\"attachments.length\"\r\n [pageSize]=\"pageSize\"\r\n showFirstLastButtons></mat-paginator>\r\n </div>\r\n }\r\n\r\n @if (!isReadOnly && attachments?.length && attachments?.length < attachmentsMax) {\r\n <div class=\"text-center full mt-3\">\r\n <ds-button\r\n shape=\"{{ attachments?.length ? 'outline' : '' }}\"\r\n [ngClass]=\"{ 'full-add-btn w-100 pt-1': attachments?.length }\"\r\n (click)=\"addAttachment(); $event.stopPropagation()\">\r\n <ds-icon slot=\"prefix\" icon=\"plus\" class=\"fs-22 pb-1\"></ds-icon>\r\n {{ 'addAttachments' | translate }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["::ng-deep .add-attachment-dialog{--popup-max-width: 500px;--popup-width: 100%}::ng-deep .view-note-popover{max-width:250px;max-height:300px;overflow:auto;--popover-bc: var(--black);color:var(--white);--popover-before-width: .6rem}::ng-deep .mat-tooltip{max-width:500px;background:#1d252d}:host ::ng-deep .table-responsive table{--th-bg: var(--white);--th-fc: var(--dark-gray)}:host ::ng-deep .white-attached ds-attachments::part(base){--file-bg: transparent}:host ::ng-deep .full-add-btn::part(base){--btn-min-width: 100%;--btn-bg-color: rgb(248 248 248);--btn-height: 70px;--btn-radius: 6px;border:1px dashed rgb(142,154,160)}.file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center}.insideTableWidth{width:250px!important}.file-uploader-table{--uploader-height: 45px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 0 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:FLEX;align-items:CENTER;justify-content:CENTER}.file-uploader-table-dev{display:FLEX;align-items:CENTER;gap:1rem}.file-uploader-table-svg{width:70%}.files-list .file-item-container .uploaded-file-actions{margin-inline-start:20px}.files-list .file-item-container .uploaded-file-actions .button__wrapper{font-size:15px}.file-item-container-actions{display:flex;align-items:center}.file-item-container-actions .uploaded-file-actions{display:flex;align-items:center;gap:10px;margin-inline-start:25px}.file-item-container-actions .uploaded-file-actions .button__wrapper{font-size:15px}.file-uploader{--uploader-height: 120px;--uploader-width: 100%;--uploader-bg: #f8f8f8;--uploader-border: 1px dashed #8e9aa0;--uploader-radius: 6px;--uploader-padding: 20px 14px 20px 31px;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader--input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px}.insideTableStyle{width:272px}.files-list{--file-item-width: 300px;display:grid;grid-template-columns:repeat(auto-fill,var(--file-item-width));grid-gap:.5rem}@media (max-width: 768px){.files-list{grid-template-columns:repeat(auto-fill,minmax(var(--file-item-width),1fr))}}.files-list .file-item-container .file-item{--file-bg: var(--off-white);--file-radius: var(--box-radius);--icon-color: var(--purple);--icon-size: 2rem;--file-border: transparent;display:flex;align-items:center;background-color:var(--file-bg);border:1px solid var(--file-border);border-radius:var(--file-radius);padding:0 1rem;height:70px;gap:.75rem}.files-list .file-item-container .file-item.error{--file-bg: rgba(var(--rgb-red), 10%);--file-border: var(--red);--icon-color: var(--red)}.files-list .file-item-container .file-item .icon{color:var(--icon-color);font-size:var(--icon-size)}.files-list .file-item-container .file-item .file-action{display:flex;align-items:center;gap:.5rem}ds-attachments::part(base){--file-width: 250px}.file-uploader-icon{color:var(--icon-color);font-size:var(--icon-size)}.file-uploader-icon svg{display:block;object-fit:contain;object-position:center;width:41px;height:auto}::ng-deep .file-item .name-size{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}.table-responsive table,.table-responsive .primary-table{--cell-pading: 3px 24px 10px}\n"] }]
|
|
206
|
+
], standalone: true, template: "<div class=\"mt-2 p-0\">\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required']) && !isReadOnly\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if (!attachments?.length && !isReadOnly) {\r\n <section\r\n [ngClass]=\"insideTable ? 'file-uploader-table' : 'file-uploader'\"\r\n class=\"mb-2\"\r\n [class.insideTableStyle]=\"insideTable\"\r\n (click)=\"addAttachment()\">\r\n <div\r\n [ngClass]=\"insideTable ? 'file-uploader-table-dev' : ''\"\r\n class=\"file-uploader-input\">\r\n <div class=\"icon mb-1\">\r\n <svg\r\n [ngClass]=\"insideTable ? 'file-uploader-table-svg' : ''\"\r\n width=\"41\"\r\n height=\"38\"\r\n viewBox=\"0 0 41 38\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M0 22.1947V20.6736C0.0971303 20.1019 0.070094 19.5141 0.276371 18.9533C1.28372 16.2086 3.21231 14.5023 6.0421 13.8094C6.70499 13.6472 6.68497 13.6632 6.69899 12.9843C6.73203 11.3321 6.99839 9.71992 7.62423 8.17986C8.86289 5.13678 10.9467 2.83969 13.8816 1.39175C17.168 -0.230424 20.5956 -0.450719 24.0553 0.81598C27.4929 2.07467 29.9622 4.41581 31.4802 7.74828C31.7786 8.40316 32.027 9.08307 32.1712 9.79202C32.2402 10.1315 32.4035 10.2566 32.7529 10.3107C36.7012 10.9165 39.3358 13.1255 40.6946 16.8735C40.9069 17.4603 40.9199 18.0731 40.9599 18.6829C40.9649 18.7601 40.9389 18.8442 41 18.9113V20.5124C40.9109 20.995 40.969 21.4937 40.8608 21.9734C40.5244 23.4614 39.8454 24.7821 38.8501 25.9297C37.4522 27.5418 35.7059 28.5882 33.6161 29.0519C32.791 29.2351 31.9499 29.2521 31.1117 29.2922C30.6571 29.3142 30.584 29.193 30.592 28.7484C30.6451 25.8446 29.802 23.2571 27.8624 21.0591C25.9979 18.9463 23.6597 17.7167 20.867 17.4012C18.8553 17.1739 16.9057 17.4593 15.0612 18.3395C11.8319 19.8816 9.81416 22.4069 8.96102 25.8696C8.74273 26.7538 8.68265 27.658 8.70568 28.5702C8.7217 29.2111 8.60254 29.3122 7.95968 29.2972C5.95098 29.2511 4.10551 28.7234 2.58146 27.3596C1.07644 26.0168 0.0680913 24.3996 0.0400537 22.3028C0.0400537 22.2607 0.0250336 22.2257 0 22.1937V22.1947Z\"\r\n fill=\"#DEE0E2\"/>\r\n <path\r\n d=\"M29.0303 28.2632C29.0604 33.4031 24.8657 37.6187 19.6838 37.6548C14.5169 37.6908 10.2852 33.4952 10.2521 28.3042C10.2201 23.1403 14.4297 18.9126 19.6227 18.8946C24.8037 18.8766 28.9993 23.0542 29.0303 28.2632Z\"\r\n fill=\"#8E9AA0\"/>\r\n <path\r\n d=\"M20.5573 25.2644C20.4622 25.4477 20.5012 25.5939 20.5012 25.734C20.4982 28.2154 20.5002 30.6957 20.4982 33.177C20.4982 33.8099 20.2339 34.1704 19.7462 34.2234C19.2645 34.2765 18.88 33.9831 18.8169 33.5025C18.7959 33.3443 18.7969 33.183 18.7969 33.0238C18.7959 30.5826 18.7969 28.1423 18.7969 25.701C18.7969 25.5728 18.7969 25.4447 18.7969 25.2003C18.1971 25.8031 17.6774 26.3288 17.1527 26.8505C17.0115 26.9907 16.8683 27.1349 16.7061 27.2471C16.3566 27.4864 15.9341 27.4413 15.6457 27.154C15.3643 26.8746 15.3203 26.442 15.5486 26.0925C15.6207 25.9824 15.7128 25.8832 15.8069 25.7891C16.8613 24.7307 17.9167 23.6733 18.9732 22.6179C19.4017 22.1893 19.8784 22.1763 20.3039 22.5988C21.3914 23.6803 22.4739 24.7667 23.5533 25.8572C23.9809 26.2898 24.0129 26.8065 23.6534 27.167C23.299 27.5214 22.7753 27.4844 22.3437 27.0568C21.7499 26.47 21.1661 25.8732 20.5603 25.2644H20.5573Z\"\r\n fill=\"#F9F9F9\"/>\r\n </svg>\r\n </div>\r\n <div class=\"f-14 fc-black fw-normal\">\r\n <span class=\"fc-coral fw-medium\">{{ 'browse' | translate }}</span>\r\n </div>\r\n <div class=\"fs-10 fc-dark-gray\">\r\n {{ 'addMultiAttachments' | translate }}\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n\r\n @if (attachments?.length) {\r\n <div\r\n class=\"table-responsive full\"\r\n cdkDropList\r\n [cdkDropListData]=\"attachments\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n >\r\n <table mat-table [dataSource]=\"dataSource\">\r\n\r\n <!-- index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ds-button\r\n [matTooltip]=\"'downloadAll' | translate\"\r\n square icon size=\"small\"\r\n (click)=\"downloadAllAttachments($event)\"\r\n class=\"icon-btn-shadow\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon\r\n icon=\"download\"\r\n class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n }\r\n </ds-button>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">{{ i + 1 + pageSize * (pageNumber) }}</td>\r\n </ng-container>\r\n\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"file\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileName' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <app-file-uploader\r\n [allowedExtensions]=\"allowedExtensions\"\r\n [displayedFiles]=\"[element]\"\r\n name=\"attachment\"\r\n [showActions]=\"true\"\r\n [isReadOnly]=\"true\"\r\n [customDownload]=\"customDownload\"\r\n (downloadActionClicked)=\"customDownloadAction($event)\"\r\n [multiple]=\"true\">\r\n </app-file-uploader>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Description Column -->\r\n <ng-container matColumnDef=\"description\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'FileDescription' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['fileDescription']\"\r\n (click)=\"$event.stopPropagation(); fileDescriptionAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"fileDescriptionPopover\"\r\n #fileDescriptionAnchor=\"satPopoverAnchor\"\r\n [matTooltip]=\"element?.['fileDescription']\">\r\n {{ element?.['fileDescription']?.length > 10 ? (element?.['fileDescription'] | slice : 0 : 10) + '....' : element?.['fileDescription'] }}\r\n </a>\r\n <sat-popover\r\n #fileDescriptionPopover\r\n [anchor]=\"fileDescriptionAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['fileDescription'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Comment Column -->\r\n <ng-container matColumnDef=\"comment\">\r\n <th mat-header-cell *matHeaderCellDef>{{ 'comment' | translate }}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <a\r\n class=\"fw-medium fc-black underline cursor-pointer fs-12\"\r\n [hidden]=\"!element?.['attachmentcomment']\"\r\n (click)=\"$event.stopPropagation(); commentsAnchor.popover.open()\"\r\n [satPopoverAnchor]=\"commentsPopover\"\r\n [matTooltip]=\"element?.['attachmentcomment']\"\r\n #commentsAnchor=\"satPopoverAnchor\">\r\n {{ element?.['attachmentcomment']?.length > 10 ? (element?.['attachmentcomment'] | slice : 0 : 10) + '....' : element?.['attachmentcomment'] }}\r\n </a>\r\n <sat-popover\r\n #commentsPopover\r\n [anchor]=\"commentsAnchor\"\r\n [hasBackdrop]=\"true\"\r\n [restoreFocus]=\"false\"\r\n verticalAlign=\"below\"\r\n horizontalAlign=\"center\">\r\n <div class=\"default-popover p-3 fs-14 text-break view-note-popover\">\r\n <bdi class=\"fc-black\">{{ element?.['attachmentcomment'] }}</bdi>\r\n </div>\r\n </sat-popover>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element; let i = index\">\r\n @if (!isReadOnly) {\r\n <td>\r\n <div class=\"d-flex gap-2\">\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"deleteAttachments(i, element)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"trash\" class=\"fs-20 fs-md-17 fc-coral\"></ds-icon>\r\n </ds-button>\r\n\r\n <ds-button\r\n square\r\n icon\r\n size=\"small\"\r\n (click)=\"editRow(element, i)\"\r\n class=\"icon-btn-shadow\">\r\n <ds-icon icon=\"pen\" class=\"fs-20 fs-md-17 fc-purple\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n </td>\r\n }\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <mat-paginator\r\n #paginator\r\n [pageSizeOptions]=\"[5]\"\r\n (page)=\"onPaginateChange($event)\"\r\n [length]=\"attachments.length\"\r\n [pageSize]=\"pageSize\"\r\n showFirstLastButtons></mat-paginator>\r\n </div>\r\n }\r\n\r\n @if (!isReadOnly && attachments?.length && attachments?.length < attachmentsMax) {\r\n <div class=\"text-center full mt-3\">\r\n <ds-button\r\n shape=\"{{ attachments?.length ? 'outline' : '' }}\"\r\n [ngClass]=\"{ 'full-add-btn w-100 pt-1': attachments?.length }\"\r\n (click)=\"addAttachment(); $event.stopPropagation()\">\r\n <ds-icon slot=\"prefix\" icon=\"plus\" class=\"fs-22 pb-1\"></ds-icon>\r\n {{ 'addAttachments' | translate }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["::ng-deep .add-attachment-dialog{--popup-max-width: 500px;--popup-width: 100%}::ng-deep .view-note-popover{max-width:250px;max-height:300px;overflow:auto;--popover-bc: var(--black);color:var(--white);--popover-before-width: .6rem}::ng-deep .mat-tooltip{max-width:500px;background:#1d252d}:host ::ng-deep .table-responsive table{--th-bg: var(--white);--th-fc: var(--dark-gray)}:host ::ng-deep .white-attached ds-attachments::part(base){--file-bg: transparent}:host ::ng-deep .full-add-btn::part(base){--btn-min-width: 100%;--btn-bg-color: rgb(248 248 248);--btn-height: 70px;--btn-radius: 6px;border:1px dashed rgb(142,154,160)}.file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center}.insideTableWidth{width:250px!important}.file-uploader-table{--uploader-height: 45px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 0 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer;display:FLEX;align-items:CENTER;justify-content:CENTER}.file-uploader-table-dev{display:FLEX;align-items:CENTER;gap:1rem}.file-uploader-table-svg{width:70%}.files-list .file-item-container .uploaded-file-actions{margin-inline-start:20px}.files-list .file-item-container .uploaded-file-actions .button__wrapper{font-size:15px}.file-item-container-actions{display:flex;align-items:center}.file-item-container-actions .uploaded-file-actions{display:flex;align-items:center;gap:10px;margin-inline-start:25px}.file-item-container-actions .uploaded-file-actions .button__wrapper{font-size:15px}.file-uploader{--uploader-height: 120px;--uploader-width: 100%;--uploader-bg: #f8f8f8;--uploader-border: 1px dashed #8e9aa0;--uploader-radius: 6px;--uploader-padding: 20px 14px 20px 31px;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader--input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px}.insideTableStyle{width:272px}.files-list{--file-item-width: 300px;display:grid;grid-template-columns:repeat(auto-fill,var(--file-item-width));grid-gap:.5rem}@media (max-width: 768px){.files-list{grid-template-columns:repeat(auto-fill,minmax(var(--file-item-width),1fr))}}.files-list .file-item-container .file-item{--file-bg: var(--off-white);--file-radius: var(--box-radius);--icon-color: var(--purple);--icon-size: 2rem;--file-border: transparent;display:flex;align-items:center;background-color:var(--file-bg);border:1px solid var(--file-border);border-radius:var(--file-radius);padding:0 1rem;height:70px;gap:.75rem}.files-list .file-item-container .file-item.error{--file-bg: rgba(var(--rgb-red), 10%);--file-border: var(--red);--icon-color: var(--red)}.files-list .file-item-container .file-item .icon{color:var(--icon-color);font-size:var(--icon-size)}.files-list .file-item-container .file-item .file-action{display:flex;align-items:center;gap:.5rem}ds-attachments::part(base){--file-width: 250px}.file-uploader-icon{color:var(--icon-color);font-size:var(--icon-size)}.file-uploader-icon svg{display:block;object-fit:contain;object-position:center;width:41px;height:auto}::ng-deep .file-item .name-size{display:flex;flex-direction:column;justify-content:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}.table-responsive table,.table-responsive .primary-table{--cell-pading: 3px 24px 10px}\n"] }]
|
|
207
207
|
}], propDecorators: { className: [{
|
|
208
208
|
type: Input
|
|
209
209
|
}], downloadActionClicked: [{
|
|
@@ -230,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
230
230
|
type: ViewChild,
|
|
231
231
|
args: ['paginator']
|
|
232
232
|
}] } });
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2F0dGFjaG1lbnQtc2VjdGlvbi9hdHRhY2htZW50LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvYXR0YWNobWVudC1zZWN0aW9uL2F0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEssT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDMUcsT0FBTyxFQUFDLE9BQU8sRUFBZSxXQUFXLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFD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QUE5QixNQUFNO2dCQUNFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUlpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBdHRhY2htZW50U2VjdGlvbkRhdGFDb21wb25lbnR9IGZyb20gJy4uL2FkZC1hdHRhY2htZW50LXNlY3Rpb24vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Nka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XHJcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmLCBTbGljZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtEb2NzVXBsb2FkZXJDb21wb25lbnR9IGZyb20gJy4uL2RvYy11cGxvYWRlci9kb2NzLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGVsZXRlRGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZGlhbG9ncy9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmV9IGZyb20gXCIuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWF0UGFnaW5hdG9yfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XHJcbmltcG9ydCB7XHJcbiAgTWF0Q2VsbCxcclxuICBNYXRDZWxsRGVmLFxyXG4gIE1hdENvbHVtbkRlZixcclxuICBNYXRIZWFkZXJDZWxsLFxyXG4gIE1hdEhlYWRlckNlbGxEZWYsXHJcbiAgTWF0SGVhZGVyUm93LFxyXG4gIE1hdEhlYWRlclJvd0RlZixcclxuICBNYXRSb3csXHJcbiAgTWF0Um93RGVmLFxyXG4gIE1hdFRhYmxlLFxyXG4gIE1hdFRhYmxlRGF0YVNvdXJjZVxyXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBGb3JtTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWxhYmVsL2Zvcm0tbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCIuLi8uLi8uLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF0dGFjaG1lbnQtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXR0YWNobWVudFNlY3Rpb25Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBDZGtEcm9wTGlzdCxcclxuICAgIERvY3NVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIENka0RyYWcsXHJcbiAgICBTbGljZVBpcGUsXHJcbiAgICBNYXRQYWdpbmF0b3IsXHJcbiAgICBNYXRUYWJsZSxcclxuICAgIE1hdENvbHVtbkRlZixcclxuICAgIE1hdENlbGwsXHJcbiAgICBNYXRDZWxsRGVmLFxyXG4gICAgTWF0SGVhZGVyQ2VsbERlZixcclxuICAgIE1hdEhlYWRlckNlbGwsXHJcbiAgICBNYXRSb3csXHJcbiAgICBNYXRIZWFkZXJSb3csXHJcbiAgICBNYXRIZWFkZXJSb3dEZWYsXHJcbiAgICBNYXRSb3dEZWYsXHJcbiAgICBGb3JtTGFiZWxDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50U2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlPGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnaW5mby1zZWN0aW9uJztcclxuICBAT3V0cHV0KCkgZG93bmxvYWRBY3Rpb25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGN1c3RvbURvd25sb2FkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBhdHRhY2htZW50c01heCA9IDEwMDA7XHJcbiAgQElucHV0KCkgaXNTb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRvd25sb2FkQWxsID0gZmFsc2U7XHJcbiAgcG9wdXBEYXRhOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVzY3JpcHRpb25SZXF1aXJlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb21tZW50c1JlcXVpcmVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRFeHRlbnNpb25zID0gJyc7XHJcbiAgQE91dHB1dCgpIGVtaXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1wiaW5kZXhcIiwgXCJmaWxlXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJjb21tZW50XCIsIFwiYWN0aW9uc1wiXTtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBAVmlld0NoaWxkKCdwYWdpbmF0b3InKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICB0b3RhbFJlY29yZHM6IG51bWJlciA9IDA7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDU7XHJcbiAgcGFnZU51bWJlcjogbnVtYmVyID0gMDtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KClcclxuICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMuY29udHJvbC52YWx1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYXR0YWNobWVudHMpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIGVsZW1lbnQubmFtZSA9IGVsZW1lbnQuZmlsZU5hbWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UucmVzZXRBY3Rpb24kXHJcbiAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy5jb250cm9sLmVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmFkZERhdGFUb1RhYmxlKCk7XHJcbiAgICB0aGlzLnBhZ2luYXRvci5faW50bC5pdGVtc1BlclBhZ2VMYWJlbCA9IHRoaXMuaTE4bi50cmFuc2xhdGUoJ2l0ZW1zUGVyUGFnZScpXHJcbiAgfVxyXG5cclxuICBvblBhZ2luYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZU51bWJlciA9IGV2ZW50LnBhZ2VJbmRleFxyXG4gIH1cclxuXHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5hdHRhY2htZW50cywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcblxyXG5cclxuICByZXNldEF0dGFjaG1lbnREYXRhKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cyA9IFtdO1xyXG4gICAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQodGhpcy5hdHRhY2htZW50cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGREYXRhVG9UYWJsZSgpe1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmF0dGFjaG1lbnRzKTtcclxuICAgIHRoaXMudG90YWxSZWNvcmRzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRW1pdFZhbHVlKGRhdGE6IGFueSwgZmllbGROYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucG9wdXBEYXRhW2ZpZWxkTmFtZV0gPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgYWRkQXR0YWNobWVudCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXR0YWNobWVudFNlY3Rpb25EYXRhQ29tcG9uZW50LCB7XHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnbWFpbi1wb3B1cCcsICdhZGQtYXR0YWNobWVudC1kaWFsb2cnXSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGF0dGFjaG1lbnRMaXN0RGF0YTogbnVsbCxcclxuICAgICAgICBkYXRhOiB0aGlzLmFsbG93ZWRFeHRlbnNpb25zLFxyXG4gICAgICAgIGlzUmVxdWlyZWQ6IHRoaXMuaXNSZXF1aXJlZCxcclxuICAgICAgICBtdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcclxuICAgICAgICBhdHRhY2htZW50czogdGhpcy5hdHRhY2htZW50cyxcclxuICAgICAgICBkZXNjcmlwdGlvblJlcXVpcmVkOiB0aGlzLmRlc2NyaXB0aW9uUmVxdWlyZWQsXHJcbiAgICAgICAgY29tbWVudHNSZXF1aXJlZDogdGhpcy5jb21tZW50c1JlcXVpcmVkXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHREYXRhKSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHREYXRhICE9ICdjbG9zZScpIHtcclxuICAgICAgICBpZiAocmVzdWx0RGF0YT8uYXR0YWNobWVudElkKSB7XHJcbiAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzLnB1c2gocmVzdWx0RGF0YSk7XHJcbiAgICB0aGlzLmFkZERhdGFUb1RhYmxlKCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5hdHRhY2htZW50cylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQXR0YWNobWVudHMoaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERlbGV0ZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnLCAnYWRkLWF0dGFjaG1lbnQtZGlhbG9nJ11cclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHREYXRhKSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHREYXRhID09ICd5ZXMnKSB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVBdHRhY2htZW50KGluZGV4LCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBdHRhY2htZW50KGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMuYXR0YWNobWVudHMuZmlsdGVyKChyb3c6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gcm93LmF0dGFjaG1lbnRJZCAhPSBpdGVtLmF0dGFjaG1lbnRJZDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hZGREYXRhVG9UYWJsZSgpO1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuYXR0YWNobWVudHMpXHJcbiAgfVxyXG5cclxuICBlZGl0Um93KHJvd0RhdGEsIGluZGV4KTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEF0dGFjaG1lbnRTZWN0aW9uRGF0YUNvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnLCAnYWRkLWF0dGFjaG1lbnQtZGlhbG9nJ10sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBhdHRhY2htZW50TGlzdERhdGE6IE9iamVjdC5hc3NpZ24ocm93RGF0YSksXHJcbiAgICAgICAgZGF0YTogdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyxcclxuICAgICAgICBpc1JlcXVpcmVkOiB0aGlzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgbXVsdGlwbGU6IHRoaXMubXVsdGlwbGUsXHJcbiAgICAgICAgYXR0YWNobWVudHM6IHRoaXMuYXR0YWNobWVudHMsXHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0RGF0YSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0RGF0YSAhPSAnY2xvc2UnKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdERhdGE/LmF0dGFjaG1lbnRJZCkge1xyXG4gICAgICAgICAgdGhpcy5hdHRhY2htZW50c1tpbmRleF0gPSByZXN1bHREYXRhO1xyXG4gICAgICAgICAgdGhpcy5lbWl0ZWRWYWx1ZS5lbWl0KHRoaXMuYXR0YWNobWVudHMpO1xyXG4gICAgICAgICAgdGhpcy5hZGREYXRhVG9UYWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEFsbEF0dGFjaG1lbnRzKGV2ZW50KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXHJcbiAgICBjb25zdCBkb3dubG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRzLm1hcCgoZmlsZSkgPT4gdGhpcy5kb3dubG9hZEZpbGUoZXZlbnQsIGZpbGUpKTtcclxuICAgIFByb21pc2UuYWxsKGRvd25sb2FkcylcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkRmlsZShldmVudCwgZmllbGQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuY29yZVNlcnZpY2UubG9hZEZpbGUoZmllbGQuYXR0YWNobWVudElkKS5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXHJcbiAgICAgICkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXNwb25zZU9iamVjdDogeyBib2R5OiBhbnk7IH0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IGZpbGVJbmZvcm1hdGlvbiA9IHJlc3BvbnNlT2JqZWN0LmJvZHk7XHJcbiAgICAgICAgICB0aGlzLmNvcmVTZXJ2aWNlLnNhdmVGaWxlKGZpbGVJbmZvcm1hdGlvbilcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3I/LlsnbWVzc2FnZSddKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGN1c3RvbURvd25sb2FkQWN0aW9uKGV2ZW50KXtcclxuICAgIHRoaXMuZG93bmxvYWRBY3Rpb25DbGlja2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm10LTIgcC0wXCI+XHJcbiAgQGlmKGxhYmVsKXtcclxuICAgIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwiIWNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnNbJ3JlcXVpcmVkJ10pXCIgW3Rvb2x0aXBdPVwidG9vbHRpcFwiPjwvYXBwLWZvcm0tbGFiZWw+XHJcbiAgfVxyXG5cclxuICBAaWYgKCFhdHRhY2htZW50cz8ubGVuZ3RoICYmICFpc1JlYWRPbmx5KSB7XHJcbiAgICA8c2VjdGlvblxyXG4gICAgICBbbmdDbGFzc109XCJpbnNpZGVUYWJsZSA/ICdmaWxlLXVwbG9hZGVyLXRhYmxlJyA6ICdmaWxlLXVwbG9hZGVyJ1wiXHJcbiAgICAgIGNsYXNzPVwibWItMlwiXHJcbiAgICAgIFtjbGFzcy5pbnNpZGVUYWJsZVN0eWxlXT1cImluc2lkZVRhYmxlXCJcclxuICAgICAgKGNsaWNrKT1cImFkZEF0dGFjaG1lbnQoKVwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgW25nQ2xhc3NdPVwiaW5zaWRlVGFibGUgPyAnZmlsZS11cGxvYWRlci10YWJsZS1kZXYnIDogJydcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS11cGxvYWRlci1pbnB1dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIG1iLTFcIj5cclxuICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaW5zaWRlVGFibGUgPyAnZmlsZS11cGxvYWRlci10YWJsZS1zdmcnIDogJydcIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjQxXCJcclxuICAgICAgICAgICAgaGVpZ2h0PVwiMzhcIlxyXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQxIDM4XCJcclxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0wIDIyLjE5NDdWMjAuNjczNkMwLjA5NzEzMDMgMjAuMTAxOSAwLjA3MDA5NCAxOS41MTQxIDAuMjc2MzcxIDE4Ljk1MzNDMS4yODM3MiAxNi4yMDg2IDMuMjEyMzEgMTQuNTAyMyA2LjA0MjEgMTMuODA5NEM2LjcwNDk5IDEzLjY0NzIgNi42ODQ5NyAxMy42NjMyIDYuNjk4OTkgMTIuOTg0M0M2LjczMjAzIDExLjMzMjEgNi45OTgzOSA5LjcxOTkyIDcuNjI0MjMgOC4xNzk4NkM4Ljg2Mjg5IDUuMTM2NzggMTAuOTQ2NyAyLjgzOTY5IDEzLjg4MTYgMS4zOTE3NUMxNy4xNjggLTAuMjMwNDI0IDIwLjU5NTYgLTAuNDUwNzE5IDI0LjA1NTMgMC44MTU5OEMyNy40OTI5IDIuMDc0NjcgMjkuOTYyMiA0LjQxNTgxIDMxLjQ4MDIgNy43NDgyOEMzMS43Nzg2IDguNDAzMTYgMzIuMDI3IDkuMDgzMDcgMzIuMTcxMiA5Ljc5MjAyQzMyLjI0MDIgMTAuMTMxNSAzMi40MDM1IDEwLjI1NjYgMzIuNzUyOSAxMC4zMTA3QzM2LjcwMTIgMTAuOTE2NSAzOS4zMzU4IDEzLjEyNTUgNDAuNjk0NiAxNi44NzM1QzQwLjkwNjkgMTcuNDYwMyA0MC45MTk5IDE4LjA3MzEgNDAuOTU5OSAxOC42ODI5QzQwLjk2NDkgMTguNzYwMSA0MC45Mzg5IDE4Ljg0NDIgNDEgMTguOTExM1YyMC41MTI0QzQwLjkxMDkgMjAuOTk1IDQwLjk2OSAyMS40OTM3IDQwLjg2MDggMjEuOTczNEM0MC41MjQ0IDIzLjQ2MTQgMzkuODQ1NCAyNC43ODIxIDM4Ljg1MDEgMjUuOTI5N0MzNy40NTIyIDI3LjU0MTggMzUuNzA1OSAyOC41ODgyIDMzLjYxNjEgMjkuMDUxOUMzMi43OTEgMjkuMjM1MSAzMS45NDk5IDI5LjI1MjEgMzEuMTExNyAyOS4yOTIyQzMwLjY1NzEgMjkuMzE0MiAzMC41ODQgMjkuMTkzIDMwLjU5MiAyOC43NDg0QzMwLjY0NTEgMjUuODQ0NiAyOS44MDIgMjMuMjU3MSAyNy44NjI0IDIxLjA1OTFDMjUuOTk3OSAxOC45NDYzIDIzLjY1OTcgMTcuNzE2NyAyMC44NjcgMTcuNDAxMkMxOC44NTUzIDE3LjE3MzkgMTYuOTA1NyAxNy40NTkzIDE1LjA2MTIgMTguMzM5NUMxMS44MzE5IDE5Ljg4MTYgOS44MTQxNiAyMi40MDY5IDguOTYxMDIgMjUuODY5NkM4Ljc0MjczIDI2Ljc1MzggOC42ODI2NSAyNy42NTggOC43MDU2OCAyOC41NzAyQzguNzIxNyAyOS4yMTExIDguNjAyNTQgMjkuMzEyMiA3Ljk1OTY4IDI5LjI5NzJDNS45NTA5OCAyOS4yNTExIDQuMTA1NTEgMjguNzIzNCAyLjU4MTQ2IDI3LjM1OTZDMS4wNzY0NCAyNi4wMTY4IDAuMDY4MDkxMyAyNC4zOTk2IDAuMDQwMDUzNyAyMi4zMDI4QzAuMDQwMDUzNyAyMi4yNjA3IDAuMDI1MDMzNiAyMi4yMjU3IDAgMjIuMTkzN1YyMi4xOTQ3WlwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIiNERUUwRTJcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0yOS4wMzAzIDI4LjI2MzJDMjkuMDYwNCAzMy40MDMxIDI0Ljg2NTcgMzcuNjE4NyAxOS42ODM4IDM3LjY1NDhDMTQuNTE2OSAzNy42OTA4IDEwLjI4NTIgMzMuNDk1MiAxMC4yNTIxIDI4LjMwNDJDMTAuMjIwMSAyMy4xNDAzIDE0LjQyOTcgMTguOTEyNiAxOS42MjI3IDE4Ljg5NDZDMjQuODAzNyAxOC44NzY2IDI4Ljk5OTMgMjMuMDU0MiAyOS4wMzAzIDI4LjI2MzJaXCJcclxuICAgICAgICAgICAgICBmaWxsPVwiIzhFOUFBMFwiLz5cclxuICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICBkPVwiTTIwLjU1NzMgMjUuMjY0NEMyMC40NjIyIDI1LjQ0NzcgMjAuNTAxMiAyNS41OTM5IDIwLjUwMTIgMjUuNzM0QzIwLjQ5ODIgMjguMjE1NCAyMC41MDAyIDMwLjY5NTcgMjAuNDk4MiAzMy4xNzdDMjAuNDk4MiAzMy44MDk5IDIwLjIzMzkgMzQuMTcwNCAxOS43NDYyIDM0LjIyMzRDMTkuMjY0NSAzNC4yNzY1IDE4Ljg4IDMzLjk4MzEgMTguODE2OSAzMy41MDI1QzE4Ljc5NTkgMzMuMzQ0MyAxOC43OTY5IDMzLjE4MyAxOC43OTY5IDMzLjAyMzhDMTguNzk1OSAzMC41ODI2IDE4Ljc5NjkgMjguMTQyMyAxOC43OTY5IDI1LjcwMUMxOC43OTY5IDI1LjU3MjggMTguNzk2OSAyNS40NDQ3IDE4Ljc5NjkgMjUuMjAwM0MxOC4xOTcxIDI1LjgwMzEgMTcuNjc3NCAyNi4zMjg4IDE3LjE1MjcgMjYuODUwNUMxNy4wMTE1IDI2Ljk5MDcgMTYuODY4MyAyNy4xMzQ5IDE2LjcwNjEgMjcuMjQ3MUMxNi4zNTY2IDI3LjQ4NjQgMTUuOTM0MSAyNy40NDEzIDE1LjY0NTcgMjcuMTU0QzE1LjM2NDMgMjYuODc0NiAxNS4zMjAzIDI2LjQ0MiAxNS41NDg2IDI2LjA5MjVDMTUuNjIwNyAyNS45ODI0IDE1LjcxMjggMjUuODgzMiAxNS44MDY5IDI1Ljc4OTFDMTYuODYxMyAyNC43MzA3IDE3LjkxNjcgMjMuNjczMyAxOC45NzMyIDIyLjYxNzlDMTkuNDAxNyAyMi4xODkzIDE5Ljg3ODQgMjIuMTc2MyAyMC4zMDM5IDIyLjU5ODhDMjEuMzkxNCAyMy42ODAzIDIyLjQ3MzkgMjQuNzY2NyAyMy41NTMzIDI1Ljg1NzJDMjMuOTgwOSAyNi4yODk4IDI0LjAxMjkgMjYuODA2NSAyMy42NTM0IDI3LjE2N0MyMy4yOTkgMjcuNTIxNCAyMi43NzUzIDI3LjQ4NDQgMjIuMzQzNyAyNy4wNTY4QzIxLjc0OTkgMjYuNDcgMjEuMTY2MSAyNS44NzMyIDIwLjU2MDMgMjUuMjY0NEgyMC41NTczWlwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIiNGOUY5RjlcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZi0xNCBmYy1ibGFjayBmdy1ub3JtYWxcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmMtY29yYWwgZnctbWVkaXVtXCI+e3sgJ2Jyb3dzZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZzLTEwIGZjLWRhcmstZ3JheVwiPlxyXG4gICAgICAgICAge3sgJ2FkZE11bHRpQXR0YWNobWVudHMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIH1cclxuXHJcbiAgQGlmIChhdHRhY2htZW50cz8ubGVuZ3RoKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBmdWxsXCJcclxuICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJhdHRhY2htZW50c1wiXHJcbiAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcblxyXG4gICAgICAgIDwhLS0gaW5kZXggQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInZG93bmxvYWRBbGwnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICBzcXVhcmUgaWNvbiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZEFsbEF0dGFjaG1lbnRzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgICAgICAgICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICA8ZHMtaWNvbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsIGZzLTMwLWltcFwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgICAgICAgICAgIGljb249XCJkb3dubG9hZFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtcHVycGxlXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXhcIj57eyBpICsgMSArIHBhZ2VTaXplICogKHBhZ2VOdW1iZXIpIH19PC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBOYW1lIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImZpbGVcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3sgJ0ZpbGVOYW1lJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgICAgICA8YXBwLWZpbGUtdXBsb2FkZXJcclxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPVwiYWxsb3dlZEV4dGVuc2lvbnNcIlxyXG4gICAgICAgICAgICAgIFtkaXNwbGF5ZWRGaWxlc109XCJbZWxlbWVudF1cIlxyXG4gICAgICAgICAgICAgIG5hbWU9XCJhdHRhY2htZW50XCJcclxuICAgICAgICAgICAgICBbc2hvd0FjdGlvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2lzUmVhZE9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbURvd25sb2FkXT1cImN1c3RvbURvd25sb2FkXCJcclxuICAgICAgICAgICAgICAoZG93bmxvYWRBY3Rpb25DbGlja2VkKT1cImN1c3RvbURvd25sb2FkQWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLWZpbGUtdXBsb2FkZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIERlc2NyaXB0aW9uIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7ICdGaWxlRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmdy1tZWRpdW0gZmMtYmxhY2sgdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyIGZzLTEyXCJcclxuICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFlbGVtZW50Py5bJ2ZpbGVEZXNjcmlwdGlvbiddXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBmaWxlRGVzY3JpcHRpb25BbmNob3IucG9wb3Zlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIFtzYXRQb3BvdmVyQW5jaG9yXT1cImZpbGVEZXNjcmlwdGlvblBvcG92ZXJcIlxyXG4gICAgICAgICAgICAgICNmaWxlRGVzY3JpcHRpb25BbmNob3I9XCJzYXRQb3BvdmVyQW5jaG9yXCJcclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJlbGVtZW50Py5bJ2ZpbGVEZXNjcmlwdGlvbiddXCI+XHJcbiAgICAgICAgICAgICAge3sgZWxlbWVudD8uWydmaWxlRGVzY3JpcHRpb24nXT8ubGVuZ3RoID4gMTAgPyAoZWxlbWVudD8uWydmaWxlRGVzY3JpcHRpb24nXSB8IHNsaWNlIDogMCA6IDEwKSArICcuLi4uJyA6IGVsZW1lbnQ/LlsnZmlsZURlc2NyaXB0aW9uJ10gfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8c2F0LXBvcG92ZXJcclxuICAgICAgICAgICAgICAjZmlsZURlc2NyaXB0aW9uUG9wb3ZlclxyXG4gICAgICAgICAgICAgIFthbmNob3JdPVwiZmlsZURlc2NyaXB0aW9uQW5jaG9yXCJcclxuICAgICAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3Jlc3RvcmVGb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgdmVydGljYWxBbGlnbj1cImJlbG93XCJcclxuICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1wb3BvdmVyIHAtMyBmcy0xNCB0ZXh0LWJyZWFrIHZpZXctbm90ZS1wb3BvdmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YmRpIGNsYXNzPVwiZmMtYmxhY2tcIj57eyBlbGVtZW50Py5bJ2ZpbGVEZXNjcmlwdGlvbiddIH19PC9iZGk+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIENvbW1lbnQgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY29tbWVudFwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57eyAnY29tbWVudCcgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICBjbGFzcz1cImZ3LW1lZGl1bSBmYy1ibGFjayB1bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXIgZnMtMTJcIlxyXG4gICAgICAgICAgICAgIFtoaWRkZW5dPVwiIWVsZW1lbnQ/LlsnYXR0YWNobWVudGNvbW1lbnQnXVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY29tbWVudHNBbmNob3IucG9wb3Zlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIFtzYXRQb3BvdmVyQW5jaG9yXT1cImNvbW1lbnRzUG9wb3ZlclwiXHJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZWxlbWVudD8uWydhdHRhY2htZW50Y29tbWVudCddXCJcclxuICAgICAgICAgICAgICAjY29tbWVudHNBbmNob3I9XCJzYXRQb3BvdmVyQW5jaG9yXCI+XHJcbiAgICAgICAgICAgICAge3sgZWxlbWVudD8uWydhdHRhY2htZW50Y29tbWVudCddPy5sZW5ndGggPiAxMCA/IChlbGVtZW50Py5bJ2F0dGFjaG1lbnRjb21tZW50J10gfCBzbGljZSA6IDAgOiAxMCkgKyAnLi4uLicgOiBlbGVtZW50Py5bJ2F0dGFjaG1lbnRjb21tZW50J10gfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8c2F0LXBvcG92ZXJcclxuICAgICAgICAgICAgICAjY29tbWVudHNQb3BvdmVyXHJcbiAgICAgICAgICAgICAgW2FuY2hvcl09XCJjb21tZW50c0FuY2hvclwiXHJcbiAgICAgICAgICAgICAgW2hhc0JhY2tkcm9wXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtyZXN0b3JlRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiXHJcbiAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtcG9wb3ZlciBwLTMgZnMtMTQgdGV4dC1icmVhayB2aWV3LW5vdGUtcG9wb3ZlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJkaSBjbGFzcz1cImZjLWJsYWNrXCI+e3sgZWxlbWVudD8uWydhdHRhY2htZW50Y29tbWVudCddIH19PC9iZGk+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cclxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIEBpZiAoIWlzUmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBzcXVhcmVcclxuICAgICAgICAgICAgICAgICAgICBpY29uXHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudHMoaSwgZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInRyYXNoXCIgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNyBmYy1jb3JhbFwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kcy1idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgc3F1YXJlXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvblxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRSb3coZWxlbWVudCwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInBlblwiIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtcHVycGxlXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cclxuICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgIDxtYXQtcGFnaW5hdG9yXHJcbiAgICAgICAgI3BhZ2luYXRvclxyXG4gICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzVdXCJcclxuICAgICAgICAocGFnZSk9XCJvblBhZ2luYXRlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtsZW5ndGhdPVwiYXR0YWNobWVudHMubGVuZ3RoXCJcclxuICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gICAgICAgIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgQGlmICghaXNSZWFkT25seSAmJiBhdHRhY2htZW50cz8ubGVuZ3RoICYmIGF0dGFjaG1lbnRzPy5sZW5ndGggPCBhdHRhY2htZW50c01heCkge1xyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIGZ1bGwgbXQtM1wiPlxyXG4gICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgc2hhcGU9XCJ7eyBhdHRhY2htZW50cz8ubGVuZ3RoID8gJ291dGxpbmUnIDogJycgfX1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2Z1bGwtYWRkLWJ0biB3LTEwMCBwdC0xJzogYXR0YWNobWVudHM/Lmxlbmd0aCB9XCJcclxuICAgICAgICAoY2xpY2spPVwiYWRkQXR0YWNobWVudCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICA8ZHMtaWNvbiBzbG90PVwicHJlZml4XCIgaWNvbj1cInBsdXNcIiBjbGFzcz1cImZzLTIyIHBiLTFcIj48L2RzLWljb24+XHJcbiAgICAgICAge3sgJ2FkZEF0dGFjaG1lbnRzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2RzLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2F0dGFjaG1lbnQtc2VjdGlvbi9hdHRhY2htZW50LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvYXR0YWNobWVudC1zZWN0aW9uL2F0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEssT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDMUcsT0FBTyxFQUFDLE9BQU8sRUFBZSxXQUFXLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFD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QUE5QixNQUFNO2dCQUNFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUlpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBdHRhY2htZW50U2VjdGlvbkRhdGFDb21wb25lbnR9IGZyb20gJy4uL2FkZC1hdHRhY2htZW50LXNlY3Rpb24vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Nka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5fSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XHJcbmltcG9ydCB7TWF0VG9vbHRpcH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmLCBTbGljZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtEb2NzVXBsb2FkZXJDb21wb25lbnR9IGZyb20gJy4uL2RvYy11cGxvYWRlci9kb2NzLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGVsZXRlRGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZGlhbG9ncy9kZWxldGUtZGlhbG9nL2RlbGV0ZS1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmV9IGZyb20gXCIuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWF0UGFnaW5hdG9yfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XHJcbmltcG9ydCB7XHJcbiAgTWF0Q2VsbCxcclxuICBNYXRDZWxsRGVmLFxyXG4gIE1hdENvbHVtbkRlZixcclxuICBNYXRIZWFkZXJDZWxsLFxyXG4gIE1hdEhlYWRlckNlbGxEZWYsXHJcbiAgTWF0SGVhZGVyUm93LFxyXG4gIE1hdEhlYWRlclJvd0RlZixcclxuICBNYXRSb3csXHJcbiAgTWF0Um93RGVmLFxyXG4gIE1hdFRhYmxlLFxyXG4gIE1hdFRhYmxlRGF0YVNvdXJjZVxyXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBGb3JtTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWxhYmVsL2Zvcm0tbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCIuLi8uLi8uLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF0dGFjaG1lbnQtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXR0YWNobWVudFNlY3Rpb25Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBDZGtEcm9wTGlzdCxcclxuICAgIERvY3NVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIENka0RyYWcsXHJcbiAgICBTbGljZVBpcGUsXHJcbiAgICBNYXRQYWdpbmF0b3IsXHJcbiAgICBNYXRUYWJsZSxcclxuICAgIE1hdENvbHVtbkRlZixcclxuICAgIE1hdENlbGwsXHJcbiAgICBNYXRDZWxsRGVmLFxyXG4gICAgTWF0SGVhZGVyQ2VsbERlZixcclxuICAgIE1hdEhlYWRlckNlbGwsXHJcbiAgICBNYXRSb3csXHJcbiAgICBNYXRIZWFkZXJSb3csXHJcbiAgICBNYXRIZWFkZXJSb3dEZWYsXHJcbiAgICBNYXRSb3dEZWYsXHJcbiAgICBGb3JtTGFiZWxDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50U2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlPGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnaW5mby1zZWN0aW9uJztcclxuICBAT3V0cHV0KCkgZG93bmxvYWRBY3Rpb25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGN1c3RvbURvd25sb2FkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBhdHRhY2htZW50c01heCA9IDEwMDA7XHJcbiAgQElucHV0KCkgaXNTb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRvd25sb2FkQWxsID0gZmFsc2U7XHJcbiAgcG9wdXBEYXRhOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKSBpc1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVzY3JpcHRpb25SZXF1aXJlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjb21tZW50c1JlcXVpcmVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRFeHRlbnNpb25zID0gJyc7XHJcbiAgQE91dHB1dCgpIGVtaXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1wiaW5kZXhcIiwgXCJmaWxlXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJjb21tZW50XCIsIFwiYWN0aW9uc1wiXTtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBAVmlld0NoaWxkKCdwYWdpbmF0b3InKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICB0b3RhbFJlY29yZHM6IG51bWJlciA9IDA7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDU7XHJcbiAgcGFnZU51bWJlcjogbnVtYmVyID0gMDtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KClcclxuICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMuY29udHJvbC52YWx1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYXR0YWNobWVudHMpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIGVsZW1lbnQubmFtZSA9IGVsZW1lbnQuZmlsZU5hbWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UucmVzZXRBY3Rpb24kXHJcbiAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy5jb250cm9sLmVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmFkZERhdGFUb1RhYmxlKCk7XHJcbiAgICB0aGlzLnBhZ2luYXRvci5faW50bC5pdGVtc1BlclBhZ2VMYWJlbCA9IHRoaXMuaTE4bi50cmFuc2xhdGUoJ2l0ZW1zUGVyUGFnZScpXHJcbiAgfVxyXG5cclxuICBvblBhZ2luYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZU51bWJlciA9IGV2ZW50LnBhZ2VJbmRleFxyXG4gIH1cclxuXHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5hdHRhY2htZW50cywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcblxyXG5cclxuICByZXNldEF0dGFjaG1lbnREYXRhKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5hdHRhY2htZW50cyA9IFtdO1xyXG4gICAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQodGhpcy5hdHRhY2htZW50cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGREYXRhVG9UYWJsZSgpe1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmF0dGFjaG1lbnRzKTtcclxuICAgIHRoaXMudG90YWxSZWNvcmRzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRW1pdFZhbHVlKGRhdGE6IGFueSwgZmllbGROYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucG9wdXBEYXRhW2ZpZWxkTmFtZV0gPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgYWRkQXR0YWNobWVudCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXR0YWNobWVudFNlY3Rpb25EYXRhQ29tcG9uZW50LCB7XHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnbWFpbi1wb3B1cCcsICdhZGQtYXR0YWNobWVudC1kaWFsb2cnXSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGF0dGFjaG1lbnRMaXN0RGF0YTogbnVsbCxcclxuICAgICAgICBkYXRhOiB0aGlzLmFsbG93ZWRFeHRlbnNpb25zLFxyXG4gICAgICAgIGlzUmVxdWlyZWQ6IHRoaXMuaXNSZXF1aXJlZCxcclxuICAgICAgICBtdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcclxuICAgICAgICBhdHRhY2htZW50czogdGhpcy5hdHRhY2htZW50cyxcclxuICAgICAgICBkZXNjcmlwdGlvblJlcXVpcmVkOiB0aGlzLmRlc2NyaXB0aW9uUmVxdWlyZWQsXHJcbiAgICAgICAgY29tbWVudHNSZXF1aXJlZDogdGhpcy5jb21tZW50c1JlcXVpcmVkXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHREYXRhKSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHREYXRhICE9ICdjbG9zZScpIHtcclxuICAgICAgICBpZiAocmVzdWx0RGF0YT8uYXR0YWNobWVudElkKSB7XHJcbiAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzLnB1c2gocmVzdWx0RGF0YSk7XHJcbiAgICB0aGlzLmFkZERhdGFUb1RhYmxlKCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5hdHRhY2htZW50cylcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQXR0YWNobWVudHMoaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERlbGV0ZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnLCAnYWRkLWF0dGFjaG1lbnQtZGlhbG9nJ11cclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHREYXRhKSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHREYXRhID09ICd5ZXMnKSB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVBdHRhY2htZW50KGluZGV4LCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBdHRhY2htZW50KGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgdGhpcy5hdHRhY2htZW50cyA9IHRoaXMuYXR0YWNobWVudHMuZmlsdGVyKChyb3c6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gcm93LmF0dGFjaG1lbnRJZCAhPSBpdGVtLmF0dGFjaG1lbnRJZDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hZGREYXRhVG9UYWJsZSgpO1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuYXR0YWNobWVudHMpXHJcbiAgfVxyXG5cclxuICBlZGl0Um93KHJvd0RhdGEsIGluZGV4KTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEF0dGFjaG1lbnRTZWN0aW9uRGF0YUNvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnLCAnYWRkLWF0dGFjaG1lbnQtZGlhbG9nJ10sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBhdHRhY2htZW50TGlzdERhdGE6IE9iamVjdC5hc3NpZ24ocm93RGF0YSksXHJcbiAgICAgICAgZGF0YTogdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyxcclxuICAgICAgICBpc1JlcXVpcmVkOiB0aGlzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgbXVsdGlwbGU6IHRoaXMubXVsdGlwbGUsXHJcbiAgICAgICAgYXR0YWNobWVudHM6IHRoaXMuYXR0YWNobWVudHMsXHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0RGF0YSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0RGF0YSAhPSAnY2xvc2UnKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdERhdGE/LmF0dGFjaG1lbnRJZCkge1xyXG4gICAgICAgICAgdGhpcy5hdHRhY2htZW50c1tpbmRleF0gPSByZXN1bHREYXRhO1xyXG4gICAgICAgICAgdGhpcy5lbWl0ZWRWYWx1ZS5lbWl0KHRoaXMuYXR0YWNobWVudHMpO1xyXG4gICAgICAgICAgdGhpcy5hZGREYXRhVG9UYWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEFsbEF0dGFjaG1lbnRzKGV2ZW50KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXHJcbiAgICBjb25zdCBkb3dubG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRzLm1hcCgoZmlsZSkgPT4gdGhpcy5kb3dubG9hZEZpbGUoZXZlbnQsIGZpbGUpKTtcclxuICAgIFByb21pc2UuYWxsKGRvd25sb2FkcylcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkRmlsZShldmVudCwgZmllbGQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuY29yZVNlcnZpY2UubG9hZEZpbGUoZmllbGQuYXR0YWNobWVudElkKS5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXHJcbiAgICAgICkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXNwb25zZU9iamVjdDogeyBib2R5OiBhbnk7IH0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IGZpbGVJbmZvcm1hdGlvbiA9IHJlc3BvbnNlT2JqZWN0LmJvZHk7XHJcbiAgICAgICAgICB0aGlzLmNvcmVTZXJ2aWNlLnNhdmVGaWxlKGZpbGVJbmZvcm1hdGlvbilcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3I/LlsnbWVzc2FnZSddKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGN1c3RvbURvd25sb2FkQWN0aW9uKGV2ZW50KXtcclxuICAgIHRoaXMuZG93bmxvYWRBY3Rpb25DbGlja2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm10LTIgcC0wXCI+XHJcbiAgQGlmKGxhYmVsKXtcclxuICAgIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwiIWNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnNbJ3JlcXVpcmVkJ10pICYmICFpc1JlYWRPbmx5XCIgW3Rvb2x0aXBdPVwidG9vbHRpcFwiPjwvYXBwLWZvcm0tbGFiZWw+XHJcbiAgfVxyXG5cclxuICBAaWYgKCFhdHRhY2htZW50cz8ubGVuZ3RoICYmICFpc1JlYWRPbmx5KSB7XHJcbiAgICA8c2VjdGlvblxyXG4gICAgICBbbmdDbGFzc109XCJpbnNpZGVUYWJsZSA/ICdmaWxlLXVwbG9hZGVyLXRhYmxlJyA6ICdmaWxlLXVwbG9hZGVyJ1wiXHJcbiAgICAgIGNsYXNzPVwibWItMlwiXHJcbiAgICAgIFtjbGFzcy5pbnNpZGVUYWJsZVN0eWxlXT1cImluc2lkZVRhYmxlXCJcclxuICAgICAgKGNsaWNrKT1cImFkZEF0dGFjaG1lbnQoKVwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgW25nQ2xhc3NdPVwiaW5zaWRlVGFibGUgPyAnZmlsZS11cGxvYWRlci10YWJsZS1kZXYnIDogJydcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS11cGxvYWRlci1pbnB1dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIG1iLTFcIj5cclxuICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaW5zaWRlVGFibGUgPyAnZmlsZS11cGxvYWRlci10YWJsZS1zdmcnIDogJydcIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjQxXCJcclxuICAgICAgICAgICAgaGVpZ2h0PVwiMzhcIlxyXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQxIDM4XCJcclxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0wIDIyLjE5NDdWMjAuNjczNkMwLjA5NzEzMDMgMjAuMTAxOSAwLjA3MDA5NCAxOS41MTQxIDAuMjc2MzcxIDE4Ljk1MzNDMS4yODM3MiAxNi4yMDg2IDMuMjEyMzEgMTQuNTAyMyA2LjA0MjEgMTMuODA5NEM2LjcwNDk5IDEzLjY0NzIgNi42ODQ5NyAxMy42NjMyIDYuNjk4OTkgMTIuOTg0M0M2LjczMjAzIDExLjMzMjEgNi45OTgzOSA5LjcxOTkyIDcuNjI0MjMgOC4xNzk4NkM4Ljg2Mjg5IDUuMTM2NzggMTAuOTQ2NyAyLjgzOTY5IDEzLjg4MTYgMS4zOTE3NUMxNy4xNjggLTAuMjMwNDI0IDIwLjU5NTYgLTAuNDUwNzE5IDI0LjA1NTMgMC44MTU5OEMyNy40OTI5IDIuMDc0NjcgMjkuOTYyMiA0LjQxNTgxIDMxLjQ4MDIgNy43NDgyOEMzMS43Nzg2IDguNDAzMTYgMzIuMDI3IDkuMDgzMDcgMzIuMTcxMiA5Ljc5MjAyQzMyLjI0MDIgMTAuMTMxNSAzMi40MDM1IDEwLjI1NjYgMzIuNzUyOSAxMC4zMTA3QzM2LjcwMTIgMTAuOTE2NSAzOS4zMzU4IDEzLjEyNTUgNDAuNjk0NiAxNi44NzM1QzQwLjkwNjkgMTcuNDYwMyA0MC45MTk5IDE4LjA3MzEgNDAuOTU5OSAxOC42ODI5QzQwLjk2NDkgMTguNzYwMSA0MC45Mzg5IDE4Ljg0NDIgNDEgMTguOTExM1YyMC41MTI0QzQwLjkxMDkgMjAuOTk1IDQwLjk2OSAyMS40OTM3IDQwLjg2MDggMjEuOTczNEM0MC41MjQ0IDIzLjQ2MTQgMzkuODQ1NCAyNC43ODIxIDM4Ljg1MDEgMjUuOTI5N0MzNy40NTIyIDI3LjU0MTggMzUuNzA1OSAyOC41ODgyIDMzLjYxNjEgMjkuMDUxOUMzMi43OTEgMjkuMjM1MSAzMS45NDk5IDI5LjI1MjEgMzEuMTExNyAyOS4yOTIyQzMwLjY1NzEgMjkuMzE0MiAzMC41ODQgMjkuMTkzIDMwLjU5MiAyOC43NDg0QzMwLjY0NTEgMjUuODQ0NiAyOS44MDIgMjMuMjU3MSAyNy44NjI0IDIxLjA1OTFDMjUuOTk3OSAxOC45NDYzIDIzLjY1OTcgMTcuNzE2NyAyMC44NjcgMTcuNDAxMkMxOC44NTUzIDE3LjE3MzkgMTYuOTA1NyAxNy40NTkzIDE1LjA2MTIgMTguMzM5NUMxMS44MzE5IDE5Ljg4MTYgOS44MTQxNiAyMi40MDY5IDguOTYxMDIgMjUuODY5NkM4Ljc0MjczIDI2Ljc1MzggOC42ODI2NSAyNy42NTggOC43MDU2OCAyOC41NzAyQzguNzIxNyAyOS4yMTExIDguNjAyNTQgMjkuMzEyMiA3Ljk1OTY4IDI5LjI5NzJDNS45NTA5OCAyOS4yNTExIDQuMTA1NTEgMjguNzIzNCAyLjU4MTQ2IDI3LjM1OTZDMS4wNzY0NCAyNi4wMTY4IDAuMDY4MDkxMyAyNC4zOTk2IDAuMDQwMDUzNyAyMi4zMDI4QzAuMDQwMDUzNyAyMi4yNjA3IDAuMDI1MDMzNiAyMi4yMjU3IDAgMjIuMTkzN1YyMi4xOTQ3WlwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIiNERUUwRTJcIi8+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgZD1cIk0yOS4wMzAzIDI4LjI2MzJDMjkuMDYwNCAzMy40MDMxIDI0Ljg2NTcgMzcuNjE4NyAxOS42ODM4IDM3LjY1NDhDMTQuNTE2OSAzNy42OTA4IDEwLjI4NTIgMzMuNDk1MiAxMC4yNTIxIDI4LjMwNDJDMTAuMjIwMSAyMy4xNDAzIDE0LjQyOTcgMTguOTEyNiAxOS42MjI3IDE4Ljg5NDZDMjQuODAzNyAxOC44NzY2IDI4Ljk5OTMgMjMuMDU0MiAyOS4wMzAzIDI4LjI2MzJaXCJcclxuICAgICAgICAgICAgICBmaWxsPVwiIzhFOUFBMFwiLz5cclxuICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICBkPVwiTTIwLjU1NzMgMjUuMjY0NEMyMC40NjIyIDI1LjQ0NzcgMjAuNTAxMiAyNS41OTM5IDIwLjUwMTIgMjUuNzM0QzIwLjQ5ODIgMjguMjE1NCAyMC41MDAyIDMwLjY5NTcgMjAuNDk4MiAzMy4xNzdDMjAuNDk4MiAzMy44MDk5IDIwLjIzMzkgMzQuMTcwNCAxOS43NDYyIDM0LjIyMzRDMTkuMjY0NSAzNC4yNzY1IDE4Ljg4IDMzLjk4MzEgMTguODE2OSAzMy41MDI1QzE4Ljc5NTkgMzMuMzQ0MyAxOC43OTY5IDMzLjE4MyAxOC43OTY5IDMzLjAyMzhDMTguNzk1OSAzMC41ODI2IDE4Ljc5NjkgMjguMTQyMyAxOC43OTY5IDI1LjcwMUMxOC43OTY5IDI1LjU3MjggMTguNzk2OSAyNS40NDQ3IDE4Ljc5NjkgMjUuMjAwM0MxOC4xOTcxIDI1LjgwMzEgMTcuNjc3NCAyNi4zMjg4IDE3LjE1MjcgMjYuODUwNUMxNy4wMTE1IDI2Ljk5MDcgMTYuODY4MyAyNy4xMzQ5IDE2LjcwNjEgMjcuMjQ3MUMxNi4zNTY2IDI3LjQ4NjQgMTUuOTM0MSAyNy40NDEzIDE1LjY0NTcgMjcuMTU0QzE1LjM2NDMgMjYuODc0NiAxNS4zMjAzIDI2LjQ0MiAxNS41NDg2IDI2LjA5MjVDMTUuNjIwNyAyNS45ODI0IDE1LjcxMjggMjUuODgzMiAxNS44MDY5IDI1Ljc4OTFDMTYuODYxMyAyNC43MzA3IDE3LjkxNjcgMjMuNjczMyAxOC45NzMyIDIyLjYxNzlDMTkuNDAxNyAyMi4xODkzIDE5Ljg3ODQgMjIuMTc2MyAyMC4zMDM5IDIyLjU5ODhDMjEuMzkxNCAyMy42ODAzIDIyLjQ3MzkgMjQuNzY2NyAyMy41NTMzIDI1Ljg1NzJDMjMuOTgwOSAyNi4yODk4IDI0LjAxMjkgMjYuODA2NSAyMy42NTM0IDI3LjE2N0MyMy4yOTkgMjcuNTIxNCAyMi43NzUzIDI3LjQ4NDQgMjIuMzQzNyAyNy4wNTY4QzIxLjc0OTkgMjYuNDcgMjEuMTY2MSAyNS44NzMyIDIwLjU2MDMgMjUuMjY0NEgyMC41NTczWlwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIiNGOUY5RjlcIi8+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZi0xNCBmYy1ibGFjayBmdy1ub3JtYWxcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmMtY29yYWwgZnctbWVkaXVtXCI+e3sgJ2Jyb3dzZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZzLTEwIGZjLWRhcmstZ3JheVwiPlxyXG4gICAgICAgICAge3sgJ2FkZE11bHRpQXR0YWNobWVudHMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIH1cclxuXHJcbiAgQGlmIChhdHRhY2htZW50cz8ubGVuZ3RoKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBmdWxsXCJcclxuICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJhdHRhY2htZW50c1wiXHJcbiAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcblxyXG4gICAgICAgIDwhLS0gaW5kZXggQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInZG93bmxvYWRBbGwnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICBzcXVhcmUgaWNvbiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZEFsbEF0dGFjaG1lbnRzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgICAgICAgICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICA8ZHMtaWNvbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsIGZzLTMwLWltcFwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgICAgICAgICAgIGljb249XCJkb3dubG9hZFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtcHVycGxlXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXhcIj57eyBpICsgMSArIHBhZ2VTaXplICogKHBhZ2VOdW1iZXIpIH19PC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPCEtLSBOYW1lIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImZpbGVcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3sgJ0ZpbGVOYW1lJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgICAgICA8YXBwLWZpbGUtdXBsb2FkZXJcclxuICAgICAgICAgICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPVwiYWxsb3dlZEV4dGVuc2lvbnNcIlxyXG4gICAgICAgICAgICAgIFtkaXNwbGF5ZWRGaWxlc109XCJbZWxlbWVudF1cIlxyXG4gICAgICAgICAgICAgIG5hbWU9XCJhdHRhY2htZW50XCJcclxuICAgICAgICAgICAgICBbc2hvd0FjdGlvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2lzUmVhZE9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbURvd25sb2FkXT1cImN1c3RvbURvd25sb2FkXCJcclxuICAgICAgICAgICAgICAoZG93bmxvYWRBY3Rpb25DbGlja2VkKT1cImN1c3RvbURvd25sb2FkQWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLWZpbGUtdXBsb2FkZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIERlc2NyaXB0aW9uIENvbHVtbiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7ICdGaWxlRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmdy1tZWRpdW0gZmMtYmxhY2sgdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyIGZzLTEyXCJcclxuICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFlbGVtZW50Py5bJ2ZpbGVEZXNjcmlwdGlvbiddXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBmaWxlRGVzY3JpcHRpb25BbmNob3IucG9wb3Zlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIFtzYXRQb3BvdmVyQW5jaG9yXT1cImZpbGVEZXNjcmlwdGlvblBvcG92ZXJcIlxyXG4gICAgICAgICAgICAgICNmaWxlRGVzY3JpcHRpb25BbmNob3I9XCJzYXRQb3BvdmVyQW5jaG9yXCJcclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJlbGVtZW50Py5bJ2ZpbGVEZXNjcmlwdGlvbiddXCI+XHJcbiAgICAgICAgICAgICAge3sgZWxlbWVudD8uWydmaWxlRGVzY3JpcHRpb24nXT8ubGVuZ3RoID4gMTAgPyAoZWxlbWVudD8uWydmaWxlRGVzY3JpcHRpb24nXSB8IHNsaWNlIDogMCA6IDEwKSArICcuLi4uJyA6IGVsZW1lbnQ/LlsnZmlsZURlc2NyaXB0aW9uJ10gfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8c2F0LXBvcG92ZXJcclxuICAgICAgICAgICAgICAjZmlsZURlc2NyaXB0aW9uUG9wb3ZlclxyXG4gICAgICAgICAgICAgIFthbmNob3JdPVwiZmlsZURlc2NyaXB0aW9uQW5jaG9yXCJcclxuICAgICAgICAgICAgICBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3Jlc3RvcmVGb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgdmVydGljYWxBbGlnbj1cImJlbG93XCJcclxuICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1wb3BvdmVyIHAtMyBmcy0xNCB0ZXh0LWJyZWFrIHZpZXctbm90ZS1wb3BvdmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YmRpIGNsYXNzPVwiZmMtYmxhY2tcIj57eyBlbGVtZW50Py5bJ2ZpbGVEZXNjcmlwdGlvbiddIH19PC9iZGk+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIENvbW1lbnQgQ29sdW1uIC0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY29tbWVudFwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57eyAnY29tbWVudCcgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICBjbGFzcz1cImZ3LW1lZGl1bSBmYy1ibGFjayB1bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXIgZnMtMTJcIlxyXG4gICAgICAgICAgICAgIFtoaWRkZW5dPVwiIWVsZW1lbnQ/LlsnYXR0YWNobWVudGNvbW1lbnQnXVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY29tbWVudHNBbmNob3IucG9wb3Zlci5vcGVuKClcIlxyXG4gICAgICAgICAgICAgIFtzYXRQb3BvdmVyQW5jaG9yXT1cImNvbW1lbnRzUG9wb3ZlclwiXHJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZWxlbWVudD8uWydhdHRhY2htZW50Y29tbWVudCddXCJcclxuICAgICAgICAgICAgICAjY29tbWVudHNBbmNob3I9XCJzYXRQb3BvdmVyQW5jaG9yXCI+XHJcbiAgICAgICAgICAgICAge3sgZWxlbWVudD8uWydhdHRhY2htZW50Y29tbWVudCddPy5sZW5ndGggPiAxMCA/IChlbGVtZW50Py5bJ2F0dGFjaG1lbnRjb21tZW50J10gfCBzbGljZSA6IDAgOiAxMCkgKyAnLi4uLicgOiBlbGVtZW50Py5bJ2F0dGFjaG1lbnRjb21tZW50J10gfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8c2F0LXBvcG92ZXJcclxuICAgICAgICAgICAgICAjY29tbWVudHNQb3BvdmVyXHJcbiAgICAgICAgICAgICAgW2FuY2hvcl09XCJjb21tZW50c0FuY2hvclwiXHJcbiAgICAgICAgICAgICAgW2hhc0JhY2tkcm9wXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtyZXN0b3JlRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiXHJcbiAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtcG9wb3ZlciBwLTMgZnMtMTQgdGV4dC1icmVhayB2aWV3LW5vdGUtcG9wb3ZlclwiPlxyXG4gICAgICAgICAgICAgICAgPGJkaSBjbGFzcz1cImZjLWJsYWNrXCI+e3sgZWxlbWVudD8uWydhdHRhY2htZW50Y29tbWVudCddIH19PC9iZGk+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cclxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIEBpZiAoIWlzUmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBzcXVhcmVcclxuICAgICAgICAgICAgICAgICAgICBpY29uXHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlQXR0YWNobWVudHMoaSwgZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInRyYXNoXCIgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNyBmYy1jb3JhbFwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kcy1idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgc3F1YXJlXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvblxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRSb3coZWxlbWVudCwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInBlblwiIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtcHVycGxlXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cclxuICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgIDxtYXQtcGFnaW5hdG9yXHJcbiAgICAgICAgI3BhZ2luYXRvclxyXG4gICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzVdXCJcclxuICAgICAgICAocGFnZSk9XCJvblBhZ2luYXRlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtsZW5ndGhdPVwiYXR0YWNobWVudHMubGVuZ3RoXCJcclxuICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gICAgICAgIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgQGlmICghaXNSZWFkT25seSAmJiBhdHRhY2htZW50cz8ubGVuZ3RoICYmIGF0dGFjaG1lbnRzPy5sZW5ndGggPCBhdHRhY2htZW50c01heCkge1xyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIGZ1bGwgbXQtM1wiPlxyXG4gICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgc2hhcGU9XCJ7eyBhdHRhY2htZW50cz8ubGVuZ3RoID8gJ291dGxpbmUnIDogJycgfX1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2Z1bGwtYWRkLWJ0biB3LTEwMCBwdC0xJzogYXR0YWNobWVudHM/Lmxlbmd0aCB9XCJcclxuICAgICAgICAoY2xpY2spPVwiYWRkQXR0YWNobWVudCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICA8ZHMtaWNvbiBzbG90PVwicHJlZml4XCIgaWNvbj1cInBsdXNcIiBjbGFzcz1cImZzLTIyIHBiLTFcIj48L2RzLWljb24+XHJcbiAgICAgICAge3sgJ2FkZEF0dGFjaG1lbnRzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2RzLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -58,7 +58,7 @@ export class CheckBoxComponent extends ControlValueAccessorDirective {
|
|
|
58
58
|
useExisting: forwardRef(() => CheckBoxComponent),
|
|
59
59
|
multi: true,
|
|
60
60
|
},
|
|
61
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox\r\n [ngClass]=\"{'mx-4': isReadOnly}\"\r\n class=\"mb-3\"\r\n [
|
|
61
|
+
], usesInheritance: true, ngImport: i0, template: "<mat-checkbox\r\n [ngClass]=\"{'mx-4': isReadOnly}\"\r\n class=\"mb-3\"\r\n [style.pointerEvents]=\"isReadOnly ? 'none' : 'auto'\"\r\n id=\"{{ name }}{{ randomID }}\"\r\n [name]=\"name\"\r\n (change)=\"valueChange($event)\"\r\n [checked]=\"control.value ? control.value : false\"\r\n [formControl]=\"control\">\r\n \r\n <div class=\"d-flex\">\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n \r\n @if(containTerms) {\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : 'termsAndConditions' | translate }}\r\n </span>\r\n }\r\n </div>\r\n \r\n @if(link) {\r\n <ng-container>\r\n <span> | </span>\r\n <a \r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" \r\n href=\"{{ hrefLink }}\" \r\n target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n }\r\n</mat-checkbox>\r\n<app-validation-errors [errors]=\"control.errors\"></app-validation-errors>", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"], dependencies: [{ kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i3.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "ngmodule", type: i1.ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckBoxComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
@@ -72,7 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
72
72
|
useExisting: forwardRef(() => CheckBoxComponent),
|
|
73
73
|
multi: true,
|
|
74
74
|
},
|
|
75
|
-
], template: "<mat-checkbox\r\n [ngClass]=\"{'mx-4': isReadOnly}\"\r\n class=\"mb-3\"\r\n [
|
|
75
|
+
], template: "<mat-checkbox\r\n [ngClass]=\"{'mx-4': isReadOnly}\"\r\n class=\"mb-3\"\r\n [style.pointerEvents]=\"isReadOnly ? 'none' : 'auto'\"\r\n id=\"{{ name }}{{ randomID }}\"\r\n [name]=\"name\"\r\n (change)=\"valueChange($event)\"\r\n [checked]=\"control.value ? control.value : false\"\r\n [formControl]=\"control\">\r\n \r\n <div class=\"d-flex\">\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"!control.hasValidator(Validators['required'])\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n \r\n @if(containTerms) {\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : 'termsAndConditions' | translate }}\r\n </span>\r\n }\r\n </div>\r\n \r\n @if(link) {\r\n <ng-container>\r\n <span> | </span>\r\n <a \r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" \r\n href=\"{{ hrefLink }}\" \r\n target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n }\r\n</mat-checkbox>\r\n<app-validation-errors [errors]=\"control.errors\"></app-validation-errors>", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"] }]
|
|
76
76
|
}], propDecorators: { containTerms: [{
|
|
77
77
|
type: Input
|
|
78
78
|
}], termsLabel: [{
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
88
88
|
}], downloadCheckBox: [{
|
|
89
89
|
type: Output
|
|
90
90
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFzQmhFLE1BQU0sT0FBTyxpQkFBd0IsU0FBUSw2QkFBbUM7SUFDckUsWUFBWSxDQUFVO0lBQ3RCLFVBQVUsQ0FBUztJQUNuQixRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFTO0lBQ2pCLElBQUksQ0FBUztJQUNiLFNBQVMsQ0FBTTtJQUNkLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xCLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLEVBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBR0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVk7YUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMzRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDcEIsS0FBSyxFQUFFLE9BQU87WUFDZCxVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTdDVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixvUUFUakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDMUJILCt4Q0FxQ3lFLG01QkR0QnJFLFdBQVcsdVZBQ1gsV0FBVzs7MkZBYUYsaUJBQWlCO2tCQXBCN0IsU0FBUzsrQkFDRSxjQUFjLFdBR2YsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsR0FBRyxPQUFPO3FCQUNYLGNBQ1csSUFBSSxhQUNMO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFJUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdENoZWNrYm94fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVGVybXNDb25kaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGVybXMtY29uZGl0aW9ucy90ZXJtcy1jb25kaXRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdENoZWNrYm94LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICAuLi5TaGFyZWRzXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tCb3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94Q29tcG9uZW50PFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNvbnRhaW5UZXJtczogYm9vbGVhbjtcclxuICBASW5wdXQoKSB0ZXJtc0xhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGlua1RleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBocmVmTGluazogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxpbms6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXJtc0JvZHk6IGFueTtcclxuICBAT3V0cHV0KCkgZG93bmxvYWRDaGVja0JveCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKVxyXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSA9PSAndHJ1ZScpe1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodHJ1ZSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UucmVzZXRBY3Rpb24kXHJcbiAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy5jb250cm9sLmVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIG9wZW5VcmwoKXtcclxuICAgIHdpbmRvdy5vcGVuKHRoaXMuaHJlZkxpbmspXHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBjaGVja2VkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjaGVja2VkKVxyXG4gIH1cclxuXHJcbiAgb3BlblRlcm1zUG9wdXAoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFRlcm1zQ29uZGl0aW9uc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB0aGlzLnRlcm1zQm9keSxcclxuICAgICAgd2lkdGg6ICc3MDBweCcsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnbWFpbi1wb3B1cCddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWNoZWNrYm94XHJcbiAgW25nQ2xhc3NdPVwieydteC00JzogaXNSZWFkT25seX1cIlxyXG4gIGNsYXNzPVwibWItM1wiXHJcbiAgW3N0eWxlLnBvaW50ZXJFdmVudHNdPVwiaXNSZWFkT25seSA/ICdub25lJyA6ICdhdXRvJ1wiXHJcbiAgaWQ9XCJ7eyBuYW1lIH19e3sgcmFuZG9tSUQgfX1cIlxyXG4gIFtuYW1lXT1cIm5hbWVcIlxyXG4gIChjaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW2NoZWNrZWRdPVwiY29udHJvbC52YWx1ZSA/IGNvbnRyb2wudmFsdWUgOiBmYWxzZVwiXHJcbiAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIj5cclxuICBcclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICBAaWYobGFiZWwpe1xyXG4gICAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cIiFjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzWydyZXF1aXJlZCddKVwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYoY29udGFpblRlcm1zKSB7XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJmcy0xMiBmdy1ib2xkIGZjLWNvcmFsIGN1cnNvci1wb2ludGVyIG14LTFcIlxyXG4gICAgICAgIChjbGljayk9XCJvcGVuVGVybXNQb3B1cCgpOyBmYWxzZVwiPlxyXG4gICAgICAgIHt7IHRlcm1zTGFiZWwgPyB0ZXJtc0xhYmVsIDogJ3Rlcm1zQW5kQ29uZGl0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIFxyXG4gIEBpZihsaW5rKSB7XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8c3Bhbj4gfCA8L3NwYW4+XHJcbiAgICAgIDxhIFxyXG4gICAgICAgIGNsYXNzPVwiZnMtMTIgZnctYm9sZCBmYy1jb3JhbCBjdXJzb3ItcG9pbnRlciBteC0xIGQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCIgXHJcbiAgICAgICAgaHJlZj1cInt7IGhyZWZMaW5rIH19XCIgXHJcbiAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImV4dGVybmFsLWxpbmtcIj48L2RzLWljb24+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1bmRlcmxpbmVcIj57eyBsaW5rVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgPC9hPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L21hdC1jaGVja2JveD5cclxuPGFwcC12YWxpZGF0aW9uLWVycm9ycyBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCI+PC9hcHAtdmFsaWRhdGlvbi1lcnJvcnM+Il19
|
package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs
CHANGED
|
@@ -32,7 +32,7 @@ export class InfoItemComponent {
|
|
|
32
32
|
return '/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=' + email;
|
|
33
33
|
}
|
|
34
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InfoItemComponent, deps: [{ token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InfoItemComponent, isStandalone: true, selector: "app-info-item", inputs: { label: "label", value: "value", name: "name", type: "type", dateType: "dateType", multiple: "multiple", insideTable: "insideTable", hasLabel: "hasLabel", arrayList: "arrayList", actionType: "actionType", download: "download" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{'View' | translate}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n @for(item of value; track $index; let i =$index){\r\n <span>{{item.value}}\r\n @if(!(i === value.length-1)){\r\n <span>, </span>\r\n }\r\n </span>\r\n }\r\n\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: InfoItemComponent, isStandalone: true, selector: "app-info-item", inputs: { label: "label", value: "value", name: "name", type: "type", dateType: "dateType", multiple: "multiple", insideTable: "insideTable", hasLabel: "hasLabel", arrayList: "arrayList", actionType: "actionType", download: "download" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine fc-coral cursor-pointer\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{'View' | translate}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n @for(item of value; track $index; let i =$index){\r\n <span>{{item.value}}\r\n @if(!(i === value.length-1)){\r\n <span>, </span>\r\n }\r\n </span>\r\n }\r\n\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
36
36
|
}
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InfoItemComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
@@ -45,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
45
45
|
NgSwitchDefault,
|
|
46
46
|
NgSwitch,
|
|
47
47
|
TranslatePipe
|
|
48
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{'View' | translate}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n @for(item of value; track $index; let i =$index){\r\n <span>{{item.value}}\r\n @if(!(i === value.length-1)){\r\n <span>, </span>\r\n }\r\n </span>\r\n }\r\n\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"] }]
|
|
48
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container [ngSwitch]=\"type\">\r\n @if(label){\r\n <span class=\"name \">{{ label }}</span>\r\n }\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n @if(!multiple){\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n }\r\n\r\n @if(multiple){\r\n @if(multiple){\r\n <ng-container>\r\n @for (emails of arrayList; track $index; let ind = $index) {\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container>\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n }\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n @if(dateType === 'hijri'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n @if(dateType === 'yearOnly'){\r\n <span>\r\n {{ value }}\r\n </span>\r\n }\r\n@if(dateType !== 'hijri' && dateType !== 'yearOnly' && !value?.startDate){\r\n <span>\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n}\r\n @if(dateType !== 'hijri' && dateType !== 'yearOnly' && value?.startDate){\r\n <span>\r\n {{value?.['startDate'] | date :'dd/MM/yyyy'}}\r\n -\r\n {{value?.['endDate'] | date :'dd/MM/yyyy'}}\r\n </span>\r\n }\r\n\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine fc-coral cursor-pointer\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{'View' | translate}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n @for(item of value; track $index; let i =$index){\r\n <span>{{item.value}}\r\n @if(!(i === value.length-1)){\r\n <span>, </span>\r\n }\r\n </span>\r\n }\r\n\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"] }]
|
|
49
49
|
}], ctorParameters: () => [{ type: i1.CoreI18nService }], propDecorators: { label: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}], value: [{
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
69
69
|
}], download: [{
|
|
70
70
|
type: Input
|
|
71
71
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5mby1pdGVtL2luZm8taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFpQixRQUFRLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBbUIvRCxNQUFNLE9BQU8saUJBQWlCO0lBYVQ7SUFaVixLQUFLLENBQVU7SUFDZixLQUFLLENBQU87SUFDWixJQUFJLENBQU87SUFDWCxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2QsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVztJQUNuQixXQUFXLENBQVc7SUFDdEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLENBQVM7SUFDbEIsVUFBVSxDQUFVO0lBQ3BCLFFBQVEsQ0FBVztJQUU1QixZQUFtQixJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUFJLENBQUM7SUFFN0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLE9BQU8sb0RBQW9ELEdBQUcsS0FBSyxDQUFDO0lBQ3RFLENBQUM7dUdBM0JVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHVUQ3ZCOUIsczZIQWdIQSw0cEJEcEdJLGNBQWMsMFVBQ2QsWUFBWSxnRkFDWixXQUFXLDBDQUNYLFFBQVEsNkNBQ1IsT0FBTyxvRkFDUCxlQUFlLDhEQUNmLFFBQVEsd0VBQ1IsYUFBYTs7MkZBSUosaUJBQWlCO2tCQWpCN0IsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLFFBQVE7d0JBQ1IsYUFBYTtxQkFDZCxXQUNRLENBQUMsc0JBQXNCLENBQUM7b0ZBR3hCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvcmVJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgRGVjaW1hbFBpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nU3dpdGNoRGVmYXVsdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbmZvLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2luZm8taXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0U2xpZGVUb2dnbGUsXHJcbiAgICBOZ1N3aXRjaENhc2UsXHJcbiAgICBEZWNpbWFsUGlwZSxcclxuICAgIERhdGVQaXBlLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE5nU3dpdGNoRGVmYXVsdCxcclxuICAgIE5nU3dpdGNoLFxyXG4gICAgVHJhbnNsYXRlUGlwZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWUhOiBhbnk7XHJcbiAgQElucHV0KCkgbmFtZSE6IGFueTtcclxuICBASW5wdXQoKSB0eXBlID0gJ3RleHQnO1xyXG4gIEBJbnB1dCgpIGRhdGVUeXBlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpbnNpZGVUYWJsZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGFzTGFiZWwgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFycmF5TGlzdCE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGFjdGlvblR5cGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZG93bmxvYWQhOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09ICdjdXJyZW5jeScpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZpZXdGb3JtKHVybDogc3RyaW5nKSB7XHJcbiAgICB3aW5kb3cub3BlbignL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXM/Zm9ybUlkPScgKyB1cmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2UoZW1haWw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuICcvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPScgKyBlbWFpbDtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cclxuICBAaWYobGFiZWwpe1xyXG4gICAgPHNwYW4gY2xhc3M9XCJuYW1lIFwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gIH1cclxuXHJcbiAgPCEtLSBjbGFzcz1cImRpc2NcIiAtLT5cclxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2F0dGFjaCdcIj5cclxuPCEtLSAgICA8YXBwLWRvY3MtdXBsb2FkZXIgW2ZpZWxkXT1cInZhbHVlXCIgc3R5bGVIZWlnaHQ9XCJtaW5pXCIgZGlzcGxheT1cIm9ubHktZmlsZXNcIj48L2FwcC1kb2NzLXVwbG9hZGVyPi0tPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImRpc2MgbXQtMiBcIiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXItcGlja2VyJ1wiPlxyXG4gICAgQGlmKCFtdWx0aXBsZSl7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImltZy1jYXJkIGNpcmNsZWQtaW1nIHNtYWxsXCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0SW1hZ2UodmFsdWUpXCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPSdhc3NldHMvaW1hZ2VzL3VzZXIuc3ZnJztcIiBhbHQ9XCJcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGluZS1oZWlnaHQtMSBteC0yXCIgW25nQ2xhc3NdPVwieydmbGV4LWdyb3ctMSc6IGFjdGlvblR5cGUgPT09ICdkZWxldGUnfVwiPlxyXG4gICAgICAgICAgPGg2IGNsYXNzPVwiZnMtMTQgZnctYm9sZCBmYy1vbnl4IG1iLTBcIj57e25hbWV9fTwvaDY+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLWRhcmstZ3JheVwiPnt7dmFsdWV9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmKG11bHRpcGxlKXtcclxuICAgICAgQGlmKG11bHRpcGxlKXtcclxuICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBAZm9yIChlbWFpbHMgb2YgYXJyYXlMaXN0OyB0cmFjayAkaW5kZXg7IGxldCBpbmQgPSAkaW5kZXgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctY2FyZCBjaXJjbGVkLWltZyBzbWFsbCBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJnZXRJbWFnZSh2YWx1ZSlcIiBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9J2Fzc2V0cy9pbWFnZXMvdXNlci5zdmcnO1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGluZS1oZWlnaHQtMSBteC0yIG1iLTNcIiBbbmdDbGFzc109XCJ7J2ZsZXgtZ3Jvdy0xJzogYWN0aW9uVHlwZSA9PT0gJ2RlbGV0ZSd9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImZzLTE0IGZ3LWJvbGQgZmMtb255eCBtYi0wXCI+IHt7KGVtYWlscz8uWydwZXJzb25OYW1lJ10pfX08L2g2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyIGZjLWRhcmstZ3JheVwiPiB7e2VtYWlscz8uWydwZXJzb25FbWFpbCddfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L3NwYW4+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzY1wiICpuZ1N3aXRjaENhc2U9XCIndG9nZ2xlJ1wiPlxyXG4gICAgPG1hdC1zbGlkZS10b2dnbGUgW2NoZWNrZWRdPVwidmFsdWVcIj48L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgPC9zcGFuPlxyXG5cclxuICA8c3BhbiBjbGFzcz1cImRpc2NcIiAqbmdTd2l0Y2hDYXNlPVwiJ3RvZ2dsZUJ0bidcIj5cclxuICAgIDxzcGFuPnt7dmFsdWV9fTwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIid0ZWxlcGhvbmUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8YmRpPnt7IHZhbHVlIH19PC9iZGk+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NwYW4+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzY1wiICpuZ1N3aXRjaENhc2U9XCInY3VycmVuY3knXCI+XHJcbiAgICA8c3Bhbj57e3ZhbHVlICB8IG51bWJlcjonMS4yLTInfX08L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG5cclxuICA8c3BhbiBjbGFzcz1cImRpc2NcIiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICBAaWYoZGF0ZVR5cGUgPT09ICdoaWpyaScpe1xyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICB7eyB2YWx1ZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgIEBpZihkYXRlVHlwZSA9PT0gJ3llYXJPbmx5Jyl7XHJcbiAgICA8c3Bhbj5cclxuICAgICAge3sgdmFsdWUgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgfVxyXG5AaWYoZGF0ZVR5cGUgIT09ICdoaWpyaScgJiYgZGF0ZVR5cGUgIT09ICd5ZWFyT25seScgJiYgIXZhbHVlPy5zdGFydERhdGUpe1xyXG4gIDxzcGFuPlxyXG4gICAge3t2YWx1ZSAgfCBkYXRlIDonZGQvTU0veXl5eSd9fVxyXG4gIDwvc3Bhbj5cclxufVxyXG4gIEBpZihkYXRlVHlwZSAhPT0gJ2hpanJpJyAmJiBkYXRlVHlwZSAhPT0gJ3llYXJPbmx5JyAmJiB2YWx1ZT8uc3RhcnREYXRlKXtcclxuICAgIDxzcGFuPlxyXG4gICAgICB7e3ZhbHVlPy5bJ3N0YXJ0RGF0ZSddICB8IGRhdGUgOidkZC9NTS95eXl5J319XHJcbiAgICAgIC1cclxuICAgICAge3t2YWx1ZT8uWydlbmREYXRlJ10gIHwgZGF0ZSA6J2RkL01NL3l5eXknfX1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcblxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlSGlqcmknXCI+XHJcbiAgICB7eyB2YWx1ZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjIGJyZWFrTGluZSBmYy1jb3JhbCBjdXJzb3ItcG9pbnRlclwiICpuZ1N3aXRjaENhc2U9XCInbGluaydcIj5cclxuICAgIDxhIFtocmVmXT1cInZhbHVlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3snVmlldycgfCB0cmFuc2xhdGV9fSB7eyBsYWJlbCB9fSA8L2E+XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzYyBicmVha0xpbmVcIiAqbmdTd2l0Y2hDYXNlPVwiJ2Zvcm1JZExpbmsnXCI+XHJcbiAgICA8YSAoY2xpY2spPVwidmlld0Zvcm0odmFsdWUpXCI+e3sgdmFsdWUgfX0gPC9hPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBbbmdDbGFzc109XCJ7J2JyZWFrTGluZSc6ICFpbnNpZGVUYWJsZX1cIiBjbGFzcz1cImRpc2MgXCIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxyXG4gICAge3sgdmFsdWUgfX1cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gW25nQ2xhc3NdPVwieydicmVha0xpbmUnOiAhaW5zaWRlVGFibGV9XCIgY2xhc3M9XCJkaXNjIFwiICAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpcGxlU2VsZWN0J1wiPlxyXG4gICAgQGZvcihpdGVtIG9mIHZhbHVlOyB0cmFjayAkaW5kZXg7IGxldCBpID0kaW5kZXgpe1xyXG4gICAgICA8c3Bhbj57e2l0ZW0udmFsdWV9fVxyXG4gICAgICAgIEBpZighKGkgPT09IHZhbHVlLmxlbmd0aC0xKSl7XHJcbiAgICAgICAgICA8c3Bhbj4sIDwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgICB9XHJcblxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBbbmdDbGFzc109XCJ7J2JyZWFrTGluZSc6ICFpbnNpZGVUYWJsZX1cIiBjbGFzcz1cImRpc2MgXCIgW2lubmVySFRNTF09XCJ2YWx1ZVwiICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgPC9zcGFuPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|