vcomply-workflow-engine 3.7.9 → 3.8.1

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.
Files changed (36) hide show
  1. package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +8 -8
  2. package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +82 -57
  3. package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +1 -1
  4. package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +9 -5
  5. package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +10 -6
  6. package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +11 -7
  7. package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +46 -28
  8. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +135 -103
  9. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +31 -26
  10. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +82 -52
  11. package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +3 -3
  12. package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +68 -42
  13. package/esm2022/lib/workflow-services/add-risk.service.mjs +21 -14
  14. package/esm2022/lib/workflow-services/common-workflow-services/compliance-common.service.mjs +51 -0
  15. package/esm2022/lib/workflow-services/common-workflow-services/organization-common.service.mjs +92 -0
  16. package/esm2022/lib/workflow-services/common-workflow-services/risk-common.service.mjs +69 -0
  17. package/esm2022/lib/workflow-services/log-issue.service.mjs +17 -7
  18. package/esm2022/lib/workflow-services/policy.service.mjs +14 -2
  19. package/fesm2022/vcomply-workflow-engine.mjs +557 -205
  20. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  21. package/lib/log-an-issue/log-an-issue.component.d.ts +7 -1
  22. package/lib/sharedComponents/category-list/category-list.component.d.ts +2 -1
  23. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +2 -1
  24. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +2 -1
  25. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +6 -1
  26. package/lib/workflow-compliance/workflow-compliance.component.d.ts +7 -1
  27. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +3 -1
  28. package/lib/workflow-policy/workflow-policy.component.d.ts +8 -1
  29. package/lib/workflow-risk/workflow-risk.component.d.ts +9 -3
  30. package/lib/workflow-services/add-risk.service.d.ts +7 -4
  31. package/lib/workflow-services/common-workflow-services/compliance-common.service.d.ts +16 -0
  32. package/lib/workflow-services/common-workflow-services/organization-common.service.d.ts +24 -0
  33. package/lib/workflow-services/common-workflow-services/risk-common.service.d.ts +20 -0
  34. package/lib/workflow-services/log-issue.service.d.ts +2 -1
  35. package/lib/workflow-services/policy.service.d.ts +3 -1
  36. package/package.json +1 -1
@@ -238,7 +238,7 @@ export class ApprovalCreateFormComponent {
238
238
  this.approvalName = event ? type : '';
239
239
  }
240
240
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApprovalCreateFormComponent, deps: [{ token: i1.AuthService }, { token: i2.PolicyService }], target: i0.ɵɵFactoryTarget.Component }); }
241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ApprovalCreateFormComponent, selector: "app-approval-create-form", inputs: { mode: "mode", approverDetails: "approverDetails", approverWorkFlowList: "approverWorkFlowList", enableCreateForm: "enableCreateForm", allApprovers: "allApprovers", selectedCategory: "selectedCategory", editWorkflowLevel: "editWorkflowLevel" }, outputs: { saveApprovalWorkflow: "saveApprovalWorkflow", closeCreateClicked: "closeCreateClicked" }, ngImport: i0, template: "<div\r\n class=\"approval-workflow-dialog\"\r\n *ngIf=\"!enableApprovalLevel && !enablePolicyCategory\"\r\n>\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\">&#xe91d;</i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input\r\n *ngIf=\"!workflowName?.length || approvalName === 'name'\"\r\n (keydown)=\"approvalName = 'name'\"\r\n (focusin)=\"approvalNameSelection('name', true)\"\r\n (focusout)=\"approvalNameSelection('name', false)\"\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div\r\n *ngIf=\"workflowName?.length && approvalName !== 'name'\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"selectBoxText vx-fs-13 vx-paragraph-txt\"\r\n [appTooltip]=\"workflowName\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ workflowName }}\r\n </div>\r\n <button\r\n (click)=\"approvalNameSelection('name', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n <div class=\"vx-mt-2\">\r\n <vcomply-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></vcomply-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n >&#xe9ae;</i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n >&#xe90d;</i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n <!-- {{ approvalWorkflow?.type }} -->\r\n {{\r\n (approvalWorkflow?.type | lowercase) === \"roundrobin\"\r\n ? \"ROUND-ROBIN\"\r\n : (approvalWorkflow?.type | lowercase) === \"anyone\"\r\n ? \"ANY ONE\"\r\n : approvalWorkflow?.type\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i\r\n (click)=\"deselectUser(approvalWorkflow?.approvers[0], i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n >&#xe9ae;</i\r\n >\r\n <div\r\n *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() ===\r\n 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length ? \"Final\" : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"\r\n approvalWorkflow?.approvers?.length > 1 &&\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i\r\n (click)=\"deselectUser(approver, i)\"\r\n class=\"icons\"\r\n >&#xe90d;</i\r\n >\r\n <span\r\n *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() ===\r\n 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j + 1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe9ae;</i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0 ||\r\n isSaving\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .approval-workflow-dialog{position:fixed;inset:0 500px 0 0}::ng-deep .approval-workflow-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .approval-workflow-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .approval-workflow-dialog-body-inner{height:calc(100vh - 10.75rem);overflow:hidden;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem;width:calc(100% + .5rem)}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form{width:30.75rem;max-height:calc(100vh - 10.75rem)}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row{position:relative}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left{position:absolute;top:30px;left:0}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left img{width:2.5rem;height:2.5rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right{padding-left:3.75rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right .label-heading .required{color:#eb2424;position:relative;top:-.125rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right button.addMoreBtn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body vui-floating-bar .reviewer-floating-bar{padding:0!important}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MarxEditorComponent, selector: "vcomply-editor", inputs: ["editorConfig"], outputs: ["comment", "sendSavedFiles", "popup"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i7.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i10.VuiFloatingBarComponent, selector: "vui-floating-bar", inputs: ["selectedData", "groupSelected", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "nextDisabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "workflowTypeChanged"] }, { kind: "component", type: i11.CheckboxListComponent, selector: "app-checkbox-list", inputs: ["itemsList", "selectedItems", "identifierKey", "displayKey", "tooltipKey", "config", "twoColumn"], outputs: ["closeList", "saveList"] }, { kind: "component", type: i12.SelectApproversComponent, selector: "app-select-approvers", inputs: ["allApprovers", "levels", "editApprovalData"], outputs: ["closeSelectApprover", "selectedApprover"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }] }); }
241
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ApprovalCreateFormComponent, selector: "app-approval-create-form", inputs: { mode: "mode", approverDetails: "approverDetails", approverWorkFlowList: "approverWorkFlowList", enableCreateForm: "enableCreateForm", allApprovers: "allApprovers", selectedCategory: "selectedCategory", editWorkflowLevel: "editWorkflowLevel" }, outputs: { saveApprovalWorkflow: "saveApprovalWorkflow", closeCreateClicked: "closeCreateClicked" }, ngImport: i0, template: "<div\r\n class=\"approval-workflow-dialog\"\r\n *ngIf=\"!enableApprovalLevel && !enablePolicyCategory\"\r\n>\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\">&#xe91d;</i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input\r\n *ngIf=\"!workflowName?.length || approvalName === 'name'\"\r\n (keydown)=\"approvalName = 'name'\"\r\n (focusin)=\"approvalNameSelection('name', true)\"\r\n (focusout)=\"approvalNameSelection('name', false)\"\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div\r\n *ngIf=\"workflowName?.length && approvalName !== 'name'\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"selectBoxText vx-fs-13 vx-paragraph-txt\"\r\n [appTooltip]=\"workflowName\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ workflowName }}\r\n </div>\r\n <button\r\n (click)=\"approvalNameSelection('name', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n <div class=\"vx-mt-2\">\r\n <vcomply-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></vcomply-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n >&#xe9ae;</i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n >&#xe90d;</i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n <!-- {{ approvalWorkflow?.type }} -->\r\n {{\r\n (approvalWorkflow?.type | lowercase) === \"roundrobin\"\r\n ? \"ROUND-ROBIN\"\r\n : (approvalWorkflow?.type | lowercase) === \"anyone\"\r\n ? \"ANY ONE\"\r\n : approvalWorkflow?.type\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i\r\n (click)=\"deselectUser(approvalWorkflow?.approvers[0], i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n >&#xe9ae;</i\r\n >\r\n <div\r\n *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() ===\r\n 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length ? \"Final\" : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"\r\n approvalWorkflow?.approvers?.length > 1 &&\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i\r\n (click)=\"deselectUser(approver, i)\"\r\n class=\"icons\"\r\n >&#xe90d;</i\r\n >\r\n <span\r\n *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() ===\r\n 'sequential'\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j + 1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe9ae;</i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0 ||\r\n isSaving\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .approval-workflow-dialog{position:fixed;inset:0 500px 0 0}::ng-deep .approval-workflow-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .approval-workflow-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .approval-workflow-dialog-body-inner{height:calc(100vh - 10.75rem);overflow:hidden;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem;width:calc(100% + .5rem)}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form{width:30.75rem;max-height:calc(100vh - 10.75rem)}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row{position:relative}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left{position:absolute;top:30px;left:0}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left img{width:2.5rem;height:2.5rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right{padding-left:3.75rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right .label-heading .required{color:#eb2424;position:relative;top:-.125rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right button.addMoreBtn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body vui-floating-bar .reviewer-floating-bar{padding:0!important}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MarxEditorComponent, selector: "vcomply-editor", inputs: ["editorConfig"], outputs: ["comment", "sendSavedFiles", "popup"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i7.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i10.VuiFloatingBarComponent, selector: "vui-floating-bar", inputs: ["selectedData", "groupSelected", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "nextDisabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "workflowTypeChanged"] }, { kind: "component", type: i11.CheckboxListComponent, selector: "app-checkbox-list", inputs: ["itemsList", "selectedItems", "identifierKey", "displayKey", "tooltipKey", "config", "twoColumn", "loaded"], outputs: ["closeList", "saveList"] }, { kind: "component", type: i12.SelectApproversComponent, selector: "app-select-approvers", inputs: ["allApprovers", "levels", "editApprovalData"], outputs: ["closeSelectApprover", "selectedApprover"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }] }); }
242
242
  }
243
243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ApprovalCreateFormComponent, decorators: [{
244
244
  type: Component,
@@ -6,8 +6,9 @@ import * as i2 from "@angular/common";
6
6
  import * as i3 from "../../formgroup/cs-radio/cs-radio.component";
7
7
  import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
8
8
  import * as i5 from "../no-data/no-data.component";
9
- import * as i6 from "../floating-bar/floating-bar.component";
10
- import * as i7 from "../pipes/filterPipe";
9
+ import * as i6 from "../v-loader/loader-inline/loader-inline.component";
10
+ import * as i7 from "../floating-bar/floating-bar.component";
11
+ import * as i8 from "../pipes/filterPipe";
11
12
  // import isEqual from 'lodash-es/isEqual';
12
13
  export class CategoryListComponent {
13
14
  constructor() {
@@ -21,6 +22,7 @@ export class CategoryListComponent {
21
22
  this.saveSelectedCategory = new EventEmitter();
22
23
  this.closeList = new EventEmitter();
23
24
  this.closeCategoriesList = new EventEmitter();
25
+ this.loaded = true;
24
26
  this.categoryList = {
25
27
  strategic: {
26
28
  name: 'STRATEGIC',
@@ -65,11 +67,11 @@ export class CategoryListComponent {
65
67
  this.closeCategoriesList.emit();
66
68
  }
67
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryListComponent, selector: "app-category-list", inputs: { categoryList: "categoryList", selectedCategory: "selectedCategory" }, outputs: { saveSelectedCategory: "saveSelectedCategory", closeList: "closeList", closeCategoriesList: "closeCategoriesList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"category-list\" [class.animate]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Risk Category</div>\r\n </div>\r\n <div class=\"category-list-body\">\r\n <div class=\"filter-card-row vx-d-flex vx-align-center vx-justify-between vx-pb-2\">\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'strategic'\" (click)=\"activeTab = 'strategic'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.strategic?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='strategic' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.strategic?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'operational'\" (click)=\"activeTab = 'operational'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.operational?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='operational' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.operational?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'compliance'\" (click)=\"activeTab = 'compliance'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.compliance?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='compliance' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.compliance?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.others?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='others' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.data?.length}}</span>\r\n </div>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Risk Category\" />\r\n </div>\r\n \r\n <ng-container *ngIf=\"(categoryList[activeTab]?.data | filter:search) as searchList\">\r\n <ul class=\"categories vx-mb-4\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let category of searchList\">\r\n <app-cs-radio (checkedEvent)=\"selectCategory(activeTab,category)\" [name]=\"'category'\"\r\n [checked]=\"selectedCategory?.selectedCategory?.category_id === category?.category_id\">\r\n <span class=\"name\" [appTooltip]=\"category.category_name\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{category?.category_name }}</span>\r\n </app-cs-radio>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Categories Found'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedCategory?.selectedCategory?.category_name? [selectedCategory.selectedCategory]:[]\"\r\n [displayElementKey]=\"'category_name'\" [singularText]=\"'Risk Category selected'\"\r\n [pluralText]=\"'Risk Categories selected'\" (closeEvent)=\"save()\" (deleteEvent)=\"deleteEvent($event)\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"categoryList.length === 0 || !selectedCategory?.selectedCategory\">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .category-list{position:fixed;inset:0 500px 0 0}::ng-deep .category-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .category-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .category-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .category-list-body .filter-card{box-shadow:0 0 3px #1e5dd345;border-radius:.25rem;height:55px;cursor:pointer}::ng-deep .category-list-body .filter-card.active{pointer-events:none;box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .category-list-body .filter-card.active span.counter{background:#f1f1f1;color:#042e7d}::ng-deep .category-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .category-list-body .filter-card span.counter{display:flex;height:28px;min-width:28px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:500;justify-content:center;align-items:center;padding:0 4px}::ng-deep .category-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .category-list-body .search-block{position:relative}::ng-deep .category-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .category-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .category-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .category-list-body ul{padding:0;margin:0}::ng-deep .category-list-body ul.categories{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 288px);overflow:hidden;overflow-y:auto}::ng-deep .category-list-body ul.categories li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .category-list-body ul.categories li app-cs-radio{display:flex}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item{width:100%}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item span.value{width:auto;color:#161b2f;font-size:12px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}::ng-deep .category-list-body app-no-data .no-data-wrapper{height:calc(100% - 164px)!important}::ng-deep .category-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryListComponent, selector: "app-category-list", inputs: { categoryList: "categoryList", selectedCategory: "selectedCategory", loaded: "loaded" }, outputs: { saveSelectedCategory: "saveSelectedCategory", closeList: "closeList", closeCategoriesList: "closeCategoriesList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"category-list\" [class.animate]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Risk Category</div>\r\n </div>\r\n <div class=\"category-list-body\">\r\n <div class=\"filter-card-row vx-d-flex vx-align-center vx-justify-between vx-pb-2\">\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'strategic'\" (click)=\"activeTab = 'strategic'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.strategic?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='strategic' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.strategic?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'operational'\" (click)=\"activeTab = 'operational'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.operational?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='operational' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.operational?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'compliance'\" (click)=\"activeTab = 'compliance'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.compliance?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='compliance' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.compliance?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.others?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='others' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.data?.length}}</span>\r\n </div>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Risk Category\" />\r\n </div>\r\n <app-loader-inline *ngIf=\"!loaded\"></app-loader-inline>\r\n <ng-container *ngIf=\"(categoryList[activeTab]?.data | filter:search) as searchList\">\r\n <ul class=\"categories vx-mb-4\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let category of searchList\">\r\n <app-cs-radio (checkedEvent)=\"selectCategory(activeTab,category)\" [name]=\"'category'\"\r\n [checked]=\"selectedCategory?.selectedCategory?.category_id === category?.category_id\">\r\n <span class=\"name\" [appTooltip]=\"category.category_name\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{category?.category_name }}</span>\r\n </app-cs-radio>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0 && loaded\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Categories Found'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar\r\n *ngIf=\"loaded\"\r\n [selectedData]=\"selectedCategory?.selectedCategory?.category_name? [selectedCategory.selectedCategory]:[]\"\r\n [displayElementKey]=\"'category_name'\" [singularText]=\"'Risk Category selected'\"\r\n [pluralText]=\"'Risk Categories selected'\" (closeEvent)=\"save()\" (deleteEvent)=\"deleteEvent($event)\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"categoryList.length === 0 || !selectedCategory?.selectedCategory\">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .category-list{position:fixed;inset:0 500px 0 0}::ng-deep .category-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .category-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .category-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .category-list-body .filter-card{box-shadow:0 0 3px #1e5dd345;border-radius:.25rem;height:55px;cursor:pointer}::ng-deep .category-list-body .filter-card.active{pointer-events:none;box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .category-list-body .filter-card.active span.counter{background:#f1f1f1;color:#042e7d}::ng-deep .category-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .category-list-body .filter-card span.counter{display:flex;height:28px;min-width:28px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:500;justify-content:center;align-items:center;padding:0 4px}::ng-deep .category-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .category-list-body .search-block{position:relative}::ng-deep .category-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .category-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .category-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .category-list-body ul{padding:0;margin:0}::ng-deep .category-list-body ul.categories{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 288px);overflow:hidden;overflow-y:auto}::ng-deep .category-list-body ul.categories li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .category-list-body ul.categories li app-cs-radio{display:flex}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item{width:100%}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item span.value{width:auto;color:#161b2f;font-size:12px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}::ng-deep .category-list-body app-no-data .no-data-wrapper{height:calc(100% - 164px)!important}::ng-deep .category-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i7.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "pipe", type: i8.FilterPipe, name: "filter" }] }); }
69
71
  }
70
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryListComponent, decorators: [{
71
73
  type: Component,
72
- args: [{ selector: 'app-category-list', template: "<div class=\"category-list\" [class.animate]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Risk Category</div>\r\n </div>\r\n <div class=\"category-list-body\">\r\n <div class=\"filter-card-row vx-d-flex vx-align-center vx-justify-between vx-pb-2\">\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'strategic'\" (click)=\"activeTab = 'strategic'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.strategic?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='strategic' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.strategic?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'operational'\" (click)=\"activeTab = 'operational'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.operational?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='operational' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.operational?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'compliance'\" (click)=\"activeTab = 'compliance'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.compliance?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='compliance' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.compliance?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.others?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='others' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.data?.length}}</span>\r\n </div>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Risk Category\" />\r\n </div>\r\n \r\n <ng-container *ngIf=\"(categoryList[activeTab]?.data | filter:search) as searchList\">\r\n <ul class=\"categories vx-mb-4\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let category of searchList\">\r\n <app-cs-radio (checkedEvent)=\"selectCategory(activeTab,category)\" [name]=\"'category'\"\r\n [checked]=\"selectedCategory?.selectedCategory?.category_id === category?.category_id\">\r\n <span class=\"name\" [appTooltip]=\"category.category_name\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{category?.category_name }}</span>\r\n </app-cs-radio>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Categories Found'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedCategory?.selectedCategory?.category_name? [selectedCategory.selectedCategory]:[]\"\r\n [displayElementKey]=\"'category_name'\" [singularText]=\"'Risk Category selected'\"\r\n [pluralText]=\"'Risk Categories selected'\" (closeEvent)=\"save()\" (deleteEvent)=\"deleteEvent($event)\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"categoryList.length === 0 || !selectedCategory?.selectedCategory\">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .category-list{position:fixed;inset:0 500px 0 0}::ng-deep .category-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .category-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .category-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .category-list-body .filter-card{box-shadow:0 0 3px #1e5dd345;border-radius:.25rem;height:55px;cursor:pointer}::ng-deep .category-list-body .filter-card.active{pointer-events:none;box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .category-list-body .filter-card.active span.counter{background:#f1f1f1;color:#042e7d}::ng-deep .category-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .category-list-body .filter-card span.counter{display:flex;height:28px;min-width:28px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:500;justify-content:center;align-items:center;padding:0 4px}::ng-deep .category-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .category-list-body .search-block{position:relative}::ng-deep .category-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .category-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .category-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .category-list-body ul{padding:0;margin:0}::ng-deep .category-list-body ul.categories{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 288px);overflow:hidden;overflow-y:auto}::ng-deep .category-list-body ul.categories li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .category-list-body ul.categories li app-cs-radio{display:flex}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item{width:100%}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item span.value{width:auto;color:#161b2f;font-size:12px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}::ng-deep .category-list-body app-no-data .no-data-wrapper{height:calc(100% - 164px)!important}::ng-deep .category-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
74
+ args: [{ selector: 'app-category-list', template: "<div class=\"category-list\" [class.animate]=\"animation\">\r\n <div class=\"category-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Risk Category</div>\r\n </div>\r\n <div class=\"category-list-body\">\r\n <div class=\"filter-card-row vx-d-flex vx-align-center vx-justify-between vx-pb-2\">\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'strategic'\" (click)=\"activeTab = 'strategic'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.strategic?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='strategic' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.strategic?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'operational'\" (click)=\"activeTab = 'operational'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.operational?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='operational' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.operational?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'compliance'\" (click)=\"activeTab = 'compliance'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.compliance?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='compliance' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.compliance?.data?.length}}</span>\r\n </div>\r\n <div class=\"filter-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\" [class.active]=\"activeTab == 'others'\" (click)=\"activeTab = 'others'\">\r\n <div class=\"left\">\r\n <label class=\"vx-fs-11 vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\">{{categoryList?.others?.name}}</label>\r\n <p *ngIf=\"selectedCategory.type=='others' && selectedCategory.selectedCategory.length != 0\">\r\n 1 Category selected\r\n </p>\r\n </div>\r\n <span class=\"counter\">{{categoryList?.others?.data?.length}}</span>\r\n </div>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Risk Category\" />\r\n </div>\r\n <app-loader-inline *ngIf=\"!loaded\"></app-loader-inline>\r\n <ng-container *ngIf=\"(categoryList[activeTab]?.data | filter:search) as searchList\">\r\n <ul class=\"categories vx-mb-4\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let category of searchList\">\r\n <app-cs-radio (checkedEvent)=\"selectCategory(activeTab,category)\" [name]=\"'category'\"\r\n [checked]=\"selectedCategory?.selectedCategory?.category_id === category?.category_id\">\r\n <span class=\"name\" [appTooltip]=\"category.category_name\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{category?.category_name }}</span>\r\n </app-cs-radio>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length === 0 && loaded\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No Categories Found'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar\r\n *ngIf=\"loaded\"\r\n [selectedData]=\"selectedCategory?.selectedCategory?.category_name? [selectedCategory.selectedCategory]:[]\"\r\n [displayElementKey]=\"'category_name'\" [singularText]=\"'Risk Category selected'\"\r\n [pluralText]=\"'Risk Categories selected'\" (closeEvent)=\"save()\" (deleteEvent)=\"deleteEvent($event)\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"categoryList.length === 0 || !selectedCategory?.selectedCategory\">\r\n </app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .category-list{position:fixed;inset:0 500px 0 0}::ng-deep .category-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .category-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .category-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .category-list-body .filter-card{box-shadow:0 0 3px #1e5dd345;border-radius:.25rem;height:55px;cursor:pointer}::ng-deep .category-list-body .filter-card.active{pointer-events:none;box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .category-list-body .filter-card.active span.counter{background:#f1f1f1;color:#042e7d}::ng-deep .category-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .category-list-body .filter-card span.counter{display:flex;height:28px;min-width:28px;border-radius:2px;background:#042e7d;color:#fff;font-size:11px;font-weight:500;justify-content:center;align-items:center;padding:0 4px}::ng-deep .category-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .category-list-body .search-block{position:relative}::ng-deep .category-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .category-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .category-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .category-list-body ul{padding:0;margin:0}::ng-deep .category-list-body ul.categories{display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 288px);overflow:hidden;overflow-y:auto}::ng-deep .category-list-body ul.categories li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .category-list-body ul.categories li app-cs-radio{display:flex}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item{width:100%}::ng-deep .category-list-body ul.categories li app-cs-radio label.radio-item span.value{width:auto;color:#161b2f;font-size:12px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}::ng-deep .category-list-body app-no-data .no-data-wrapper{height:calc(100% - 164px)!important}::ng-deep .category-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
73
75
  }], ctorParameters: function () { return []; }, propDecorators: { categoryList: [{
74
76
  type: Input
75
77
  }], selectedCategory: [{
@@ -80,5 +82,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
80
82
  type: Output
81
83
  }], closeCategoriesList: [{
82
84
  type: Output
85
+ }], loaded: [{
86
+ type: Input
83
87
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7QUFFdEMsMkNBQTJDO0FBTTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFpQmhDO1FBZFMscUJBQWdCLEdBQVE7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsZ0JBQWdCLEVBQUUsRUFBRTtTQUNyQixDQUFDO1FBQ0YsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGNBQVMsR0FBUSxXQUFXLENBQUM7UUFHN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNSLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUtqRCxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsRUFBRTthQUNUO1NBQ0YsQ0FBQztJQUVKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUVuRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxjQUFjLENBQUMsSUFBUyxFQUFFLFFBQWE7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUVILEtBQUs7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQzsrR0FsRVkscUJBQXFCO21HQUFyQixxQkFBcUIsNlJDVGxDLHd4SkF3RUE7OzRGRC9EYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzBFQU1wQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFTSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnlMaXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jYXRlZ29yeUxpc3QnO1xyXG4vLyBpbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNhdGVnb3J5LWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yeS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGNhdGVnb3J5TGlzdDogQ2F0ZWdvcnlMaXN0O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueSA9IHtcclxuICAgIHR5cGU6ICdzdHJhdGVnaWMnLFxyXG4gICAgc2VsZWN0ZWRDYXRlZ29yeTogJycsXHJcbiAgfTtcclxuICBzZWFyY2ggPSAnJztcclxuICBhY3RpdmVUYWI6IGFueSA9ICdzdHJhdGVnaWMnO1xyXG5cclxuXHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHNhdmVTZWxlY3RlZENhdGVnb3J5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ2F0ZWdvcmllc0xpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHtcclxuICAgICAgc3RyYXRlZ2ljOiB7XHJcbiAgICAgICAgbmFtZTogJ1NUUkFURUdJQycsXHJcbiAgICAgICAgZGF0YTogW11cclxuICAgICAgfSxcclxuICAgICAgb3BlcmF0aW9uYWw6IHtcclxuICAgICAgICBuYW1lOiAnT1BFUkFUSU9OQUwnLFxyXG4gICAgICAgIGRhdGE6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsaWFuY2U6IHtcclxuICAgICAgICBuYW1lOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgZGF0YTogW11cclxuICAgICAgfSxcclxuICAgICAgb3RoZXJzOiB7XHJcbiAgICAgICAgbmFtZTogJ09USEVSUycsXHJcbiAgICAgICAgZGF0YTogW11cclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICB0aGlzLmFjdGl2ZVRhYiA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeT8udHlwZSA/PyAnJ1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSk7XHJcbiAgfVxyXG4gIHNlbGVjdENhdGVnb3J5KHR5cGU6IGFueSwgY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkgPSBjYXRlZ29yeTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkuZW1pdCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkpO1xyXG4gIH1cclxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeSA9ICcnXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkudHlwZSA9ICcnXHJcbiAgfVxyXG5cclxuY2xvc2UoKXtcclxuICB0aGlzLmNsb3NlQ2F0ZWdvcmllc0xpc3QuZW1pdCgpO1xyXG59XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBSaXNrIENhdGVnb3J5PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLXJvdyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wYi0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ3N0cmF0ZWdpYydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ3N0cmF0ZWdpYydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/LnN0cmF0ZWdpYz8ubmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgIDxwICpuZ0lmPVwic2VsZWN0ZWRDYXRlZ29yeS50eXBlPT0nc3RyYXRlZ2ljJyAmJiBzZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgMSBDYXRlZ29yeSBzZWxlY3RlZFxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5zdHJhdGVnaWM/LmRhdGE/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnb3BlcmF0aW9uYWwnXCIgKGNsaWNrKT1cImFjdGl2ZVRhYiA9ICdvcGVyYXRpb25hbCdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/Lm9wZXJhdGlvbmFsPy5uYW1lfX08L2xhYmVsPlxyXG4gICAgICAgICAgPHAgKm5nSWY9XCJzZWxlY3RlZENhdGVnb3J5LnR5cGU9PSdvcGVyYXRpb25hbCcgJiYgc2VsZWN0ZWRDYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgICAgICAgIDEgQ2F0ZWdvcnkgc2VsZWN0ZWRcclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2NhdGVnb3J5TGlzdD8ub3BlcmF0aW9uYWw/LmRhdGE/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnY29tcGxpYW5jZSdcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ2NvbXBsaWFuY2UnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5uYW1lfX08L2xhYmVsPlxyXG4gICAgICAgICAgPHAgKm5nSWY9XCJzZWxlY3RlZENhdGVnb3J5LnR5cGU9PSdjb21wbGlhbmNlJyAmJiBzZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgMSBDYXRlZ29yeSBzZWxlY3RlZFxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5kYXRhPy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ290aGVycydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ290aGVycydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/Lm90aGVycz8ubmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgIDxwICpuZ0lmPVwic2VsZWN0ZWRDYXRlZ29yeS50eXBlPT0nb3RoZXJzJyAmJiBzZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgMSBDYXRlZ29yeSBzZWxlY3RlZFxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5vdGhlcnM/LmRhdGE/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSaXNrIENhdGVnb3J5XCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNhdGVnb3J5TGlzdFthY3RpdmVUYWJdPy5kYXRhIHwgZmlsdGVyOnNlYXJjaCkgYXMgc2VhcmNoTGlzdFwiPlxyXG4gICAgICA8dWwgY2xhc3M9XCJjYXRlZ29yaWVzIHZ4LW1iLTRcIiAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2Ygc2VhcmNoTGlzdFwiPlxyXG4gICAgICAgICAgPGFwcC1jcy1yYWRpbyAoY2hlY2tlZEV2ZW50KT1cInNlbGVjdENhdGVnb3J5KGFjdGl2ZVRhYixjYXRlZ29yeSlcIiBbbmFtZV09XCInY2F0ZWdvcnknXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRDYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWQgPT09IGNhdGVnb3J5Py5jYXRlZ29yeV9pZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiBbYXBwVG9vbHRpcF09XCJjYXRlZ29yeS5jYXRlZ29yeV9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiB0eXBlPVwiYmxhY2tcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAge3tjYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYXBwLWNzLXJhZGlvPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09PSAwXCJcclxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCJcclxuICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gQ2F0ZWdvcmllcyBGb3VuZCdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZENhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lPyBbc2VsZWN0ZWRDYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5XTpbXVwiXHJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInY2F0ZWdvcnlfbmFtZSdcIiBbc2luZ3VsYXJUZXh0XT1cIidSaXNrIENhdGVnb3J5IHNlbGVjdGVkJ1wiXHJcbiAgICAgIFtwbHVyYWxUZXh0XT1cIidSaXNrIENhdGVnb3JpZXMgc2VsZWN0ZWQnXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIlxyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICBbaXNEaXNhYmxlZF09XCJjYXRlZ29yeUxpc3QubGVuZ3RoID09PSAwIHx8ICFzZWxlY3RlZENhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICA8L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LWxpc3QvY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBRXRDLDJDQUEyQztBQU0zQyxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQztRQWZTLHFCQUFnQixHQUFRO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQztRQUNGLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixjQUFTLEdBQVEsV0FBVyxDQUFDO1FBRzdCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDUix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsV0FBTSxHQUFZLElBQUksQ0FBQztRQUs5QixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsRUFBRTthQUNUO1NBQ0YsQ0FBQztJQUVKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUVuRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxjQUFjLENBQUMsSUFBUyxFQUFFLFFBQWE7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUVILEtBQUs7UUFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQzsrR0FuRVkscUJBQXFCO21HQUFyQixxQkFBcUIsK1NDVGxDLG0zSkF5RUE7OzRGRGhFYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzBFQU1wQixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFTSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IENhdGVnb3J5TGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2F0ZWdvcnlMaXN0JztcclxuLy8gaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLWVzL2lzRXF1YWwnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jYXRlZ29yeS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcnktbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2F0ZWdvcnktbGlzdC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBjYXRlZ29yeUxpc3Q6IENhdGVnb3J5TGlzdDtcclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5OiBhbnkgPSB7XHJcbiAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gIH07XHJcbiAgc2VhcmNoID0gJyc7XHJcbiAgYWN0aXZlVGFiOiBhbnkgPSAnc3RyYXRlZ2ljJztcclxuXHJcblxyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRDYXRlZ29yeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUNhdGVnb3JpZXNMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGxvYWRlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHtcclxuICAgICAgc3RyYXRlZ2ljOiB7XHJcbiAgICAgICAgbmFtZTogJ1NUUkFURUdJQycsXHJcbiAgICAgICAgZGF0YTogW11cclxuICAgICAgfSxcclxuICAgICAgb3BlcmF0aW9uYWw6IHtcclxuICAgICAgICBuYW1lOiAnT1BFUkFUSU9OQUwnLFxyXG4gICAgICAgIGRhdGE6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsaWFuY2U6IHtcclxuICAgICAgICBuYW1lOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgZGF0YTogW11cclxuICAgICAgfSxcclxuICAgICAgb3RoZXJzOiB7XHJcbiAgICAgICAgbmFtZTogJ09USEVSUycsXHJcbiAgICAgICAgZGF0YTogW11cclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICB0aGlzLmFjdGl2ZVRhYiA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeT8udHlwZSA/PyAnJ1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSk7XHJcbiAgfVxyXG4gIHNlbGVjdENhdGVnb3J5KHR5cGU6IGFueSwgY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkgPSBjYXRlZ29yeTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkuZW1pdCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkpO1xyXG4gIH1cclxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeSA9ICcnXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkudHlwZSA9ICcnXHJcbiAgfVxyXG5cclxuY2xvc2UoKXtcclxuICB0aGlzLmNsb3NlQ2F0ZWdvcmllc0xpc3QuZW1pdCgpO1xyXG59XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgYSBSaXNrIENhdGVnb3J5PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LWxpc3QtYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLXJvdyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wYi0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ3N0cmF0ZWdpYydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ3N0cmF0ZWdpYydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/LnN0cmF0ZWdpYz8ubmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgIDxwICpuZ0lmPVwic2VsZWN0ZWRDYXRlZ29yeS50eXBlPT0nc3RyYXRlZ2ljJyAmJiBzZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgMSBDYXRlZ29yeSBzZWxlY3RlZFxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5zdHJhdGVnaWM/LmRhdGE/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnb3BlcmF0aW9uYWwnXCIgKGNsaWNrKT1cImFjdGl2ZVRhYiA9ICdvcGVyYXRpb25hbCdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/Lm9wZXJhdGlvbmFsPy5uYW1lfX08L2xhYmVsPlxyXG4gICAgICAgICAgPHAgKm5nSWY9XCJzZWxlY3RlZENhdGVnb3J5LnR5cGU9PSdvcGVyYXRpb25hbCcgJiYgc2VsZWN0ZWRDYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgICAgICAgIDEgQ2F0ZWdvcnkgc2VsZWN0ZWRcclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2NhdGVnb3J5TGlzdD8ub3BlcmF0aW9uYWw/LmRhdGE/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnY29tcGxpYW5jZSdcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ2NvbXBsaWFuY2UnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5uYW1lfX08L2xhYmVsPlxyXG4gICAgICAgICAgPHAgKm5nSWY9XCJzZWxlY3RlZENhdGVnb3J5LnR5cGU9PSdjb21wbGlhbmNlJyAmJiBzZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgMSBDYXRlZ29yeSBzZWxlY3RlZFxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5jb21wbGlhbmNlPy5kYXRhPy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ290aGVycydcIiAoY2xpY2spPVwiYWN0aXZlVGFiID0gJ290aGVycydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+e3tjYXRlZ29yeUxpc3Q/Lm90aGVycz8ubmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgIDxwICpuZ0lmPVwic2VsZWN0ZWRDYXRlZ29yeS50eXBlPT0nb3RoZXJzJyAmJiBzZWxlY3RlZENhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoICE9IDBcIj5cclxuICAgICAgICAgICAgMSBDYXRlZ29yeSBzZWxlY3RlZFxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7Y2F0ZWdvcnlMaXN0Py5vdGhlcnM/LmRhdGE/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSaXNrIENhdGVnb3J5XCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwiIWxvYWRlZFwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNhdGVnb3J5TGlzdFthY3RpdmVUYWJdPy5kYXRhIHwgZmlsdGVyOnNlYXJjaCkgYXMgc2VhcmNoTGlzdFwiPlxyXG4gICAgICA8dWwgY2xhc3M9XCJjYXRlZ29yaWVzIHZ4LW1iLTRcIiAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2Ygc2VhcmNoTGlzdFwiPlxyXG4gICAgICAgICAgPGFwcC1jcy1yYWRpbyAoY2hlY2tlZEV2ZW50KT1cInNlbGVjdENhdGVnb3J5KGFjdGl2ZVRhYixjYXRlZ29yeSlcIiBbbmFtZV09XCInY2F0ZWdvcnknXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRDYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWQgPT09IGNhdGVnb3J5Py5jYXRlZ29yeV9pZFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiBbYXBwVG9vbHRpcF09XCJjYXRlZ29yeS5jYXRlZ29yeV9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiB0eXBlPVwiYmxhY2tcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAge3tjYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYXBwLWNzLXJhZGlvPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09PSAwICYmIGxvYWRlZFwiXHJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiXHJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIENhdGVnb3JpZXMgRm91bmQnXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxhcHAtZmxvYXRpbmctYmFyXHJcbiAgICAqbmdJZj1cImxvYWRlZFwiXHJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRDYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZT8gW3NlbGVjdGVkQ2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeV06W11cIlxyXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ2NhdGVnb3J5X25hbWUnXCIgW3Npbmd1bGFyVGV4dF09XCInUmlzayBDYXRlZ29yeSBzZWxlY3RlZCdcIlxyXG4gICAgICBbcGx1cmFsVGV4dF09XCInUmlzayBDYXRlZ29yaWVzIHNlbGVjdGVkJ1wiIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgICAgW2lzRGlzYWJsZWRdPVwiY2F0ZWdvcnlMaXN0Lmxlbmd0aCA9PT0gMCB8fCAhc2VsZWN0ZWRDYXRlZ29yeT8uc2VsZWN0ZWRDYXRlZ29yeVwiPlxyXG4gICAgPC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -5,9 +5,10 @@ import * as i2 from "@angular/common";
5
5
  import * as i3 from "../../formgroup/cs-checkbox/cs-checkbox.component";
6
6
  import * as i4 from "../../ui-kit/tooltip/tooltip.directive";
7
7
  import * as i5 from "../no-data/no-data.component";
8
- import * as i6 from "../floating-bar/floating-bar.component";
9
- import * as i7 from "../../pipes/list-mapper.pipe";
10
- import * as i8 from "../../pipes/search.pipe";
8
+ import * as i6 from "../v-loader/loader-inline/loader-inline.component";
9
+ import * as i7 from "../floating-bar/floating-bar.component";
10
+ import * as i8 from "../../pipes/list-mapper.pipe";
11
+ import * as i9 from "../../pipes/search.pipe";
11
12
  export class CheckboxListComponent {
12
13
  constructor() {
13
14
  this.itemsList = [];
@@ -16,6 +17,7 @@ export class CheckboxListComponent {
16
17
  this.displayKey = '';
17
18
  this.tooltipKey = '';
18
19
  this.twoColumn = false;
20
+ this.loaded = true;
19
21
  this.closeList = new EventEmitter();
20
22
  this.saveList = new EventEmitter();
21
23
  this.searchItem = '';
@@ -65,11 +67,11 @@ export class CheckboxListComponent {
65
67
  }
66
68
  }
67
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxListComponent, selector: "app-checkbox-list", inputs: { itemsList: "itemsList", selectedItems: "selectedItems", identifierKey: "identifierKey", displayKey: "displayKey", tooltipKey: "tooltipKey", config: "config", twoColumn: "twoColumn" }, outputs: { closeList: "closeList", saveList: "saveList" }, ngImport: i0, template: "<div class=\"add-risk-rc\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-rc-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{config?.panelTitle}}</div>\r\n <!-- <button class=\"add-risk-rc-close\" (click)=close()>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-rc-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"{{config?.searchPlaceholder}}\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <ng-container *ngIf=\"(itemsList | search:searchItem:displayKey) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"config?.selectAllEnabled && searchList?.length > 0 && searchItem?.trim()?.length === 0 \">\r\n <app-cs-checkbox [ngValue]=\"itemsList?.length === selectedItems?.length && selectedItems?.length > 0\"\r\n (ngValueChange)=\"selectAll($event)\"><strong> {{itemsList?.length === selectedItems?.length &&\r\n selectedItems?.length > 0?'Deselect All':'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"add-risk-rc-list\" *ngIf=\"searchList?.length > 0\">\r\n <ul [class.two-column]=\"twoColumn\">\r\n <li *ngFor=\"let item of searchList\" #ulElement>\r\n <app-cs-checkbox *ngIf=\"config.workflow !== 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}{{item?.parent_items?.length && config.workflow === 'policy'? ' < ' + item?.parent_items?.join(' < '):'' }}\r\n </app-cs-checkbox>\r\n <app-cs-checkbox *ngIf=\"config.workflow === 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\">\r\n <ul class=\"add-category-name\">\r\n <li *ngFor=\"let data of item?.parent_items; let i = index\" [appTooltip]=\"data\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"i > 0;\" class=\"icons\">&#xe910;</i>{{data}}\r\n </li>\r\n <li [appTooltip]=\"item[displayKey]\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"item?.parent_items?.length > 0\" class=\"icons\">&#xe910;</i> {{item[displayKey]}}\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <app-no-data *ngIf=\"searchList.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \"\r\n (deleteEvent)=\"deleteItem($event)\"></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-risk-rc{position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .add-risk-rc:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .add-risk-rc-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-rc-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-rc-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .add-risk-rc-body .search-block{position:relative}::ng-deep .add-risk-rc-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-rc-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-rc-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-rc-body .body-top{display:flex;justify-content:space-between;padding:.5rem 0 0}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-rc-body .add-risk-rc-list{margin:1rem 0;display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 16rem);overflow:hidden;overflow-y:auto}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-rc-body .add-risk-rc-list ul{padding:0;margin:0}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio{display:flex}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label{width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label span.value,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important;font-size:12px!important;color:#161b2f!important}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li i,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li i{font-size:8px;padding-right:8px}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:first-child,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:last-of-type,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:last-of-type{color:#34aa44}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column{display:flex;flex-wrap:wrap}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column li{width:50%;padding-right:20px}::ng-deep .add-risk-rc-body app-no-data .no-data-wrapper{height:calc(100vh - 200px)}::ng-deep .add-risk-rc.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-rc .message-footer{background:#1e5dd3;border-radius:5px;margin:0 0 0 30px;width:calc(100% - 60px);position:relative;bottom:0}::ng-deep .add-risk-rc .message-footer .message{padding:15px;display:flex;align-items:flex-start}::ng-deep .add-risk-rc .message-footer .message i{width:auto;font-size:16px;color:#fff}::ng-deep .add-risk-rc .message-footer .message span{color:#fff;font-size:12px;line-height:18px;padding-left:9px;font-weight:300}::ng-deep .add-risk-rc .message-footer .footer{border-top:1px solid #1483ef;display:flex;justify-content:space-between;align-items:center;padding:10px 15px}::ng-deep .add-risk-rc .message-footer .footer span{color:#fff;font-size:14px}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper{display:flex}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button{width:60px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;font-weight:500;border:1px solid #fff;text-transform:uppercase;border-radius:2px;outline:none;padding:0;margin:0}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.outline{background:#1e5dd3;color:#fff}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.fill{background:#fff;color:#1e5dd3}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "pipe", type: i7.ListMapperPipe, name: "listMapper" }, { kind: "pipe", type: i8.SearchPipe, name: "search" }] }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CheckboxListComponent, selector: "app-checkbox-list", inputs: { itemsList: "itemsList", selectedItems: "selectedItems", identifierKey: "identifierKey", displayKey: "displayKey", tooltipKey: "tooltipKey", config: "config", twoColumn: "twoColumn", loaded: "loaded" }, outputs: { closeList: "closeList", saveList: "saveList" }, ngImport: i0, template: "<div class=\"add-risk-rc\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-rc-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{config?.panelTitle}}</div>\r\n <!-- <button class=\"add-risk-rc-close\" (click)=close()>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-rc-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"{{config?.searchPlaceholder}}\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <app-loader-inline *ngIf=\"loaded\"></app-loader-inline>\r\n <ng-container *ngIf=\"(itemsList | search:searchItem:displayKey) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"config?.selectAllEnabled && searchList?.length > 0 && searchItem?.trim()?.length === 0 \">\r\n <app-cs-checkbox [ngValue]=\"itemsList?.length === selectedItems?.length && selectedItems?.length > 0\"\r\n (ngValueChange)=\"selectAll($event)\"><strong> {{itemsList?.length === selectedItems?.length &&\r\n selectedItems?.length > 0?'Deselect All':'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"add-risk-rc-list\" *ngIf=\"searchList?.length > 0\">\r\n <ul [class.two-column]=\"twoColumn\">\r\n <li *ngFor=\"let item of searchList\" #ulElement>\r\n <app-cs-checkbox *ngIf=\"config.workflow !== 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}{{item?.parent_items?.length && config.workflow === 'policy'? ' < ' + item?.parent_items?.join(' < '):'' }}\r\n </app-cs-checkbox>\r\n <app-cs-checkbox *ngIf=\"config.workflow === 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\">\r\n <ul class=\"add-category-name\">\r\n <li *ngFor=\"let data of item?.parent_items; let i = index\" [appTooltip]=\"data\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"i > 0;\" class=\"icons\">&#xe910;</i>{{data}}\r\n </li>\r\n <li [appTooltip]=\"item[displayKey]\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"item?.parent_items?.length > 0\" class=\"icons\">&#xe910;</i> {{item[displayKey]}}\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <app-no-data *ngIf=\"searchList?.length === 0 && !loaded\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar *ngIf=\"!loaded\" [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \"\r\n (deleteEvent)=\"deleteItem($event)\"></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-risk-rc{position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .add-risk-rc:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .add-risk-rc-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-rc-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-rc-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .add-risk-rc-body .search-block{position:relative}::ng-deep .add-risk-rc-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-rc-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-rc-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-rc-body .body-top{display:flex;justify-content:space-between;padding:.5rem 0 0}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-rc-body .add-risk-rc-list{margin:1rem 0;display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 16rem);overflow:hidden;overflow-y:auto}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-rc-body .add-risk-rc-list ul{padding:0;margin:0}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio{display:flex}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label{width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label span.value,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important;font-size:12px!important;color:#161b2f!important}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li i,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li i{font-size:8px;padding-right:8px}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:first-child,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:last-of-type,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:last-of-type{color:#34aa44}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column{display:flex;flex-wrap:wrap}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column li{width:50%;padding-right:20px}::ng-deep .add-risk-rc-body app-no-data .no-data-wrapper{height:calc(100vh - 200px)}::ng-deep .add-risk-rc.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-rc .message-footer{background:#1e5dd3;border-radius:5px;margin:0 0 0 30px;width:calc(100% - 60px);position:relative;bottom:0}::ng-deep .add-risk-rc .message-footer .message{padding:15px;display:flex;align-items:flex-start}::ng-deep .add-risk-rc .message-footer .message i{width:auto;font-size:16px;color:#fff}::ng-deep .add-risk-rc .message-footer .message span{color:#fff;font-size:12px;line-height:18px;padding-left:9px;font-weight:300}::ng-deep .add-risk-rc .message-footer .footer{border-top:1px solid #1483ef;display:flex;justify-content:space-between;align-items:center;padding:10px 15px}::ng-deep .add-risk-rc .message-footer .footer span{color:#fff;font-size:14px}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper{display:flex}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button{width:60px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;font-weight:500;border:1px solid #fff;text-transform:uppercase;border-radius:2px;outline:none;padding:0;margin:0}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.outline{background:#1e5dd3;color:#fff}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.fill{background:#fff;color:#1e5dd3}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i7.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "pipe", type: i8.ListMapperPipe, name: "listMapper" }, { kind: "pipe", type: i9.SearchPipe, name: "search" }] }); }
69
71
  }
70
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CheckboxListComponent, decorators: [{
71
73
  type: Component,
72
- args: [{ selector: 'app-checkbox-list', template: "<div class=\"add-risk-rc\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-rc-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{config?.panelTitle}}</div>\r\n <!-- <button class=\"add-risk-rc-close\" (click)=close()>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-rc-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"{{config?.searchPlaceholder}}\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <ng-container *ngIf=\"(itemsList | search:searchItem:displayKey) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"config?.selectAllEnabled && searchList?.length > 0 && searchItem?.trim()?.length === 0 \">\r\n <app-cs-checkbox [ngValue]=\"itemsList?.length === selectedItems?.length && selectedItems?.length > 0\"\r\n (ngValueChange)=\"selectAll($event)\"><strong> {{itemsList?.length === selectedItems?.length &&\r\n selectedItems?.length > 0?'Deselect All':'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"add-risk-rc-list\" *ngIf=\"searchList?.length > 0\">\r\n <ul [class.two-column]=\"twoColumn\">\r\n <li *ngFor=\"let item of searchList\" #ulElement>\r\n <app-cs-checkbox *ngIf=\"config.workflow !== 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}{{item?.parent_items?.length && config.workflow === 'policy'? ' < ' + item?.parent_items?.join(' < '):'' }}\r\n </app-cs-checkbox>\r\n <app-cs-checkbox *ngIf=\"config.workflow === 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\">\r\n <ul class=\"add-category-name\">\r\n <li *ngFor=\"let data of item?.parent_items; let i = index\" [appTooltip]=\"data\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"i > 0;\" class=\"icons\">&#xe910;</i>{{data}}\r\n </li>\r\n <li [appTooltip]=\"item[displayKey]\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"item?.parent_items?.length > 0\" class=\"icons\">&#xe910;</i> {{item[displayKey]}}\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <app-no-data *ngIf=\"searchList.length === 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \"\r\n (deleteEvent)=\"deleteItem($event)\"></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-risk-rc{position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .add-risk-rc:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .add-risk-rc-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-rc-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-rc-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .add-risk-rc-body .search-block{position:relative}::ng-deep .add-risk-rc-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-rc-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-rc-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-rc-body .body-top{display:flex;justify-content:space-between;padding:.5rem 0 0}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-rc-body .add-risk-rc-list{margin:1rem 0;display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 16rem);overflow:hidden;overflow-y:auto}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-rc-body .add-risk-rc-list ul{padding:0;margin:0}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio{display:flex}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label{width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label span.value,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important;font-size:12px!important;color:#161b2f!important}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li i,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li i{font-size:8px;padding-right:8px}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:first-child,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:last-of-type,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:last-of-type{color:#34aa44}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column{display:flex;flex-wrap:wrap}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column li{width:50%;padding-right:20px}::ng-deep .add-risk-rc-body app-no-data .no-data-wrapper{height:calc(100vh - 200px)}::ng-deep .add-risk-rc.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-rc .message-footer{background:#1e5dd3;border-radius:5px;margin:0 0 0 30px;width:calc(100% - 60px);position:relative;bottom:0}::ng-deep .add-risk-rc .message-footer .message{padding:15px;display:flex;align-items:flex-start}::ng-deep .add-risk-rc .message-footer .message i{width:auto;font-size:16px;color:#fff}::ng-deep .add-risk-rc .message-footer .message span{color:#fff;font-size:12px;line-height:18px;padding-left:9px;font-weight:300}::ng-deep .add-risk-rc .message-footer .footer{border-top:1px solid #1483ef;display:flex;justify-content:space-between;align-items:center;padding:10px 15px}::ng-deep .add-risk-rc .message-footer .footer span{color:#fff;font-size:14px}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper{display:flex}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button{width:60px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;font-weight:500;border:1px solid #fff;text-transform:uppercase;border-radius:2px;outline:none;padding:0;margin:0}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.outline{background:#1e5dd3;color:#fff}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.fill{background:#fff;color:#1e5dd3}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
74
+ args: [{ selector: 'app-checkbox-list', template: "<div class=\"add-risk-rc\" [class.animate]=\"animation\">\r\n <div class=\"add-risk-rc-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">{{config?.panelTitle}}</div>\r\n <!-- <button class=\"add-risk-rc-close\" (click)=close()>\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button> -->\r\n </div>\r\n <div class=\"add-risk-rc-body\">\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"{{config?.searchPlaceholder}}\" [(ngModel)]=\"searchItem\" />\r\n </div>\r\n <app-loader-inline *ngIf=\"loaded\"></app-loader-inline>\r\n <ng-container *ngIf=\"(itemsList | search:searchItem:displayKey) as searchList\">\r\n <div class=\"body-top\" *ngIf=\"config?.selectAllEnabled && searchList?.length > 0 && searchItem?.trim()?.length === 0 \">\r\n <app-cs-checkbox [ngValue]=\"itemsList?.length === selectedItems?.length && selectedItems?.length > 0\"\r\n (ngValueChange)=\"selectAll($event)\"><strong> {{itemsList?.length === selectedItems?.length &&\r\n selectedItems?.length > 0?'Deselect All':'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <div class=\"add-risk-rc-list\" *ngIf=\"searchList?.length > 0\">\r\n <ul [class.two-column]=\"twoColumn\">\r\n <li *ngFor=\"let item of searchList\" #ulElement>\r\n <app-cs-checkbox *ngIf=\"config.workflow !== 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\"\r\n [appTooltip]=\"tooltipKey ? item[tooltipKey]: item[displayKey]\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n {{item[displayKey]}}{{item?.parent_items?.length && config.workflow === 'policy'? ' < ' + item?.parent_items?.join(' < '):'' }}\r\n </app-cs-checkbox>\r\n <app-cs-checkbox *ngIf=\"config.workflow === 'policy'\" [ngValue]=\"selectedItems.includes(item[identifierKey])\"\r\n (ngValueChange)=\"selectItem(item[identifierKey],$event)\">\r\n <ul class=\"add-category-name\">\r\n <li *ngFor=\"let data of item?.parent_items; let i = index\" [appTooltip]=\"data\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"i > 0;\" class=\"icons\">&#xe910;</i>{{data}}\r\n </li>\r\n <li [appTooltip]=\"item[displayKey]\" placement=\"bottom-left\" type=\"black\" delay=\"0\" [tooltipMandatory]=\"true\">\r\n <i *ngIf=\"item?.parent_items?.length > 0\" class=\"icons\">&#xe910;</i> {{item[displayKey]}}\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <app-no-data *ngIf=\"searchList?.length === 0 && !loaded\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"config?.noDataText?.length > 0 ? config?.noDataText:'No data to display'\"></app-no-data>\r\n </ng-container>\r\n\r\n <app-floating-bar *ngIf=\"!loaded\" [selectedData]=\"selectedItems|listMapper:itemsList:identifierKey\" [displayElementKey]=\"displayKey\"\r\n [singularText]=\"config?.floatingTextSingular\"\r\n [pluralText]=\"config?.floatingTextPlural ?config?.floatingTextPlural:'Users selected'\" (closeEvent)=\"save()\"\r\n (closeList)=\"close()\" [isDisabled]=\"selectedItems.length === 0 || itemsList.length === 0 \"\r\n (deleteEvent)=\"deleteItem($event)\"></app-floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .add-risk-rc{position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .add-risk-rc:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .add-risk-rc-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .add-risk-rc-close{background:transparent;border:none;outline:none;cursor:pointer;color:#000;font-size:12px;display:inline-block;padding:0}::ng-deep .add-risk-rc-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .add-risk-rc-body .search-block{position:relative}::ng-deep .add-risk-rc-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .add-risk-rc-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .add-risk-rc-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .add-risk-rc-body .body-top{display:flex;justify-content:space-between;padding:.5rem 0 0}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox{display:flex}::ng-deep .add-risk-rc-body .body-top app-cs-checkbox label span.value strong{color:#161b2f;font-size:12px;font-weight:600;white-space:nowrap}::ng-deep .add-risk-rc-body .add-risk-rc-list{margin:1rem 0;display:block;align-items:flex-start;flex-wrap:wrap;height:calc(100vh - 16rem);overflow:hidden;overflow-y:auto}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .add-risk-rc-body .add-risk-rc-list::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .add-risk-rc-body .add-risk-rc-list ul{padding:0;margin:0}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio{display:flex}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label{width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox label span.value,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important;font-size:12px!important;color:#161b2f!important}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:auto;padding:0 8px 0 0;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li i,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li i{font-size:8px;padding-right:8px}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:first-child,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-checkbox ul.add-category-name li:last-of-type,::ng-deep .add-risk-rc-body .add-risk-rc-list ul li app-cs-radio ul.add-category-name li:last-of-type{color:#34aa44}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column{display:flex;flex-wrap:wrap}::ng-deep .add-risk-rc-body .add-risk-rc-list ul.two-column li{width:50%;padding-right:20px}::ng-deep .add-risk-rc-body app-no-data .no-data-wrapper{height:calc(100vh - 200px)}::ng-deep .add-risk-rc.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .add-risk-rc .message-footer{background:#1e5dd3;border-radius:5px;margin:0 0 0 30px;width:calc(100% - 60px);position:relative;bottom:0}::ng-deep .add-risk-rc .message-footer .message{padding:15px;display:flex;align-items:flex-start}::ng-deep .add-risk-rc .message-footer .message i{width:auto;font-size:16px;color:#fff}::ng-deep .add-risk-rc .message-footer .message span{color:#fff;font-size:12px;line-height:18px;padding-left:9px;font-weight:300}::ng-deep .add-risk-rc .message-footer .footer{border-top:1px solid #1483ef;display:flex;justify-content:space-between;align-items:center;padding:10px 15px}::ng-deep .add-risk-rc .message-footer .footer span{color:#fff;font-size:14px}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper{display:flex}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button{width:60px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;font-weight:500;border:1px solid #fff;text-transform:uppercase;border-radius:2px;outline:none;padding:0;margin:0}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.outline{background:#1e5dd3;color:#fff}::ng-deep .add-risk-rc .message-footer .footer .button-wrapper button.fill{background:#fff;color:#1e5dd3}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
73
75
  }], ctorParameters: function () { return []; }, propDecorators: { itemsList: [{
74
76
  type: Input
75
77
  }], selectedItems: [{
@@ -84,9 +86,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
84
86
  type: Input
85
87
  }], twoColumn: [{
86
88
  type: Input
89
+ }], loaded: [{
90
+ type: Input
87
91
  }], closeList: [{
88
92
  type: Output
89
93
  }], saveList: [{
90
94
  type: Output
91
95
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBTy9FLE1BQU0sT0FBTyxxQkFBcUI7SUFZaEM7UUFYUyxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFJLElBQUksQ0FBQztJQUNGLENBQUM7SUFFakIsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsYUFBYSxHQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFL0UsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFTLEVBQUUsT0FBZ0I7UUFDcEMsSUFBSSxPQUFPLEVBQUM7WUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FFOUQ7YUFBSTtZQUNELE1BQU0sU0FBUyxHQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDMUUsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQUU7U0FDbkU7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLElBQVM7UUFDbEIsTUFBTSxTQUFTLEdBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FBRTtJQUNuRSxDQUFDO0lBR0QsSUFBSTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFVLEVBQUUsYUFBa0I7UUFDckMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVE7UUFDakIsSUFBRyxHQUFHLEtBQUssSUFBSSxFQUFDO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNqRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFJO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7SUFFRixDQUFDOytHQTFEVyxxQkFBcUI7bUdBQXJCLHFCQUFxQixzVENQbEMsb2hJQXNEQTs7NEZEL0NhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBS3BCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jaGVja2JveC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGl0ZW1zTGlzdDogYW55ID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtczogYW55ID0gW107XHJcbiAgQElucHV0KCkgaWRlbnRpZmllcktleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlLZXkgPSAnJztcclxuICBASW5wdXQoKSB0b29sdGlwS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgY29uZmlnICE6IGFueTtcclxuICBASW5wdXQoKSB0d29Db2x1bW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgY2xvc2VMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZWFyY2hJdGVtID0gJyc7XHJcbiAgYW5pbWF0aW9uID0gIHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSAgdGhpcy5hcnJheVRvSWQodGhpcy5zZWxlY3RlZEl0ZW1zLCB0aGlzLmlkZW50aWZpZXJLZXkpO1xyXG5cclxuICB9XHJcbiAgc2VsZWN0SXRlbShpdGVtOiBhbnksIGNoZWNrZWQ6IGJvb2xlYW4pe1xyXG4gICAgaWYgKGNoZWNrZWQpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gQXJyYXkuZnJvbShuZXcgU2V0KHRoaXMuc2VsZWN0ZWRJdGVtcykpO1xyXG5cclxuICAgIH1lbHNle1xyXG4gICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9ICB0aGlzLnNlbGVjdGVkSXRlbXMuZmluZEluZGV4KChlbDogYW55KSA9PiBlbCA9PT0gaXRlbSk7XHJcbiAgICAgICAgaWYgKGl0ZW1JbmRleCAhPT0gLTEpe3RoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaXRlbUluZGV4LCAxKTsgfVxyXG4gICAgfVxyXG4gIH1cclxuICBkZWxldGVJdGVtKGl0ZW06IGFueSl7XHJcbiAgICBjb25zdCBpdGVtSW5kZXggPSAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoZWw6IGFueSkgPT4gZWwgPT09IGl0ZW1bdGhpcy5pZGVudGlmaWVyS2V5XSk7XHJcbiAgICBpZiAoaXRlbUluZGV4ICE9PSAtMSl7dGhpcy5zZWxlY3RlZEl0ZW1zLnNwbGljZShpdGVtSW5kZXgsIDEpOyB9XHJcbiB9XHJcblxyXG5cclxuIHNhdmUoKXtcclxuICAgIHRoaXMuc2F2ZUxpc3QuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xyXG4gfVxyXG5cclxuIGNsb3NlKCl7XHJcbiAgIHRoaXMuY2xvc2VMaXN0LmVtaXQoKTtcclxuIH1cclxuXHJcblxyXG4gYXJyYXlUb0lkKGFycmF5OiBhbnksIGlkZW50aWZpZXJLZXk6IGFueSl7XHJcbiAgICByZXR1cm4gYXJyYXkubWFwKChhOiBhbnkpID0+IGFbaWRlbnRpZmllcktleV0pO1xyXG4gfVxyXG4gc2VsZWN0QWxsKGV2dDogYW55KXtcclxuICBpZihldnQgPT09IHRydWUpe1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5pdGVtc0xpc3QubWFwKChlOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIGVbdGhpcy5pZGVudGlmaWVyS2V5XTtcclxuICAgIH0pO1xyXG4gIH1lbHNle1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XHJcbiAgfVxyXG5cclxuIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWRkLXJpc2stcmNcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGQtcmlzay1yYy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3tjb25maWc/LnBhbmVsVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImFkZC1yaXNrLXJjLWNsb3NlXCIgKGNsaWNrKT1jbG9zZSgpPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XHJcbiAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXJpc2stcmMtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2tcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7Y29uZmlnPy5zZWFyY2hQbGFjZWhvbGRlcn19XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hJdGVtXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW1zTGlzdCB8IHNlYXJjaDpzZWFyY2hJdGVtOmRpc3BsYXlLZXkpIGFzIHNlYXJjaExpc3RcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHktdG9wXCIgKm5nSWY9XCJjb25maWc/LnNlbGVjdEFsbEVuYWJsZWQgJiYgc2VhcmNoTGlzdD8ubGVuZ3RoID4gMCAmJiBzZWFyY2hJdGVtPy50cmltKCk/Lmxlbmd0aCA9PT0gMCBcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwiaXRlbXNMaXN0Py5sZW5ndGggPT09IHNlbGVjdGVkSXRlbXM/Lmxlbmd0aCAmJiBzZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPjxzdHJvbmc+IHt7aXRlbXNMaXN0Py5sZW5ndGggPT09IHNlbGVjdGVkSXRlbXM/Lmxlbmd0aCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAwPydEZXNlbGVjdCBBbGwnOidTZWxlY3QgQWxsJ319PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtcmlzay1yYy1saXN0XCIgKm5nSWY9XCJzZWFyY2hMaXN0Py5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8dWwgW2NsYXNzLnR3by1jb2x1bW5dPVwidHdvQ29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtICBvZiBzZWFyY2hMaXN0XCIgI3VsRWxlbWVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImNvbmZpZy53b3JrZmxvdyAhPT0gJ3BvbGljeSdcIiBbbmdWYWx1ZV09XCJzZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGl0ZW1baWRlbnRpZmllcktleV0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEl0ZW0oaXRlbVtpZGVudGlmaWVyS2V5XSwkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInRvb2x0aXBLZXkgPyBpdGVtW3Rvb2x0aXBLZXldOiBpdGVtW2Rpc3BsYXlLZXldXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtW2Rpc3BsYXlLZXldfX17e2l0ZW0/LnBhcmVudF9pdGVtcz8ubGVuZ3RoICYmIGNvbmZpZy53b3JrZmxvdyA9PT0gJ3BvbGljeSc/ICcgPCAnICsgaXRlbT8ucGFyZW50X2l0ZW1zPy5qb2luKCcgPCAnKTonJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImNvbmZpZy53b3JrZmxvdyA9PT0gJ3BvbGljeSdcIiBbbmdWYWx1ZV09XCJzZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGl0ZW1baWRlbnRpZmllcktleV0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0SXRlbShpdGVtW2lkZW50aWZpZXJLZXldLCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFkZC1jYXRlZ29yeS1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIGl0ZW0/LnBhcmVudF9pdGVtczsgbGV0IGkgPSBpbmRleFwiIFthcHBUb29sdGlwXT1cImRhdGFcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIHR5cGU9XCJibGFja1wiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJpID4gMDtcIiBjbGFzcz1cImljb25zXCI+JiN4ZTkxMDs8L2k+e3tkYXRhfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAgW2FwcFRvb2x0aXBdPVwiaXRlbVtkaXNwbGF5S2V5XVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgdHlwZT1cImJsYWNrXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW0/LnBhcmVudF9pdGVtcz8ubGVuZ3RoID4gMFwiIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTEwOzwvaT4ge3tpdGVtW2Rpc3BsYXlLZXldfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFUZXh0XT1cImNvbmZpZz8ubm9EYXRhVGV4dD8ubGVuZ3RoID4gMCA/IGNvbmZpZz8ubm9EYXRhVGV4dDonTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxhcHAtZmxvYXRpbmctYmFyIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRJdGVtc3xsaXN0TWFwcGVyOml0ZW1zTGlzdDppZGVudGlmaWVyS2V5XCIgW2Rpc3BsYXlFbGVtZW50S2V5XT1cImRpc3BsYXlLZXlcIlxyXG4gICAgICAgICAgICBbc2luZ3VsYXJUZXh0XT1cImNvbmZpZz8uZmxvYXRpbmdUZXh0U2luZ3VsYXJcIlxyXG4gICAgICAgICAgICBbcGx1cmFsVGV4dF09XCJjb25maWc/LmZsb2F0aW5nVGV4dFBsdXJhbCA/Y29uZmlnPy5mbG9hdGluZ1RleHRQbHVyYWw6J1VzZXJzIHNlbGVjdGVkJ1wiIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiXHJcbiAgICAgICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiIFtpc0Rpc2FibGVkXT1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAwIHx8IGl0ZW1zTGlzdC5sZW5ndGggPT09IDAgXCJcclxuICAgICAgICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUl0ZW0oJGV2ZW50KVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQU8vRSxNQUFNLE9BQU8scUJBQXFCO0lBYWhDO1FBWlMsY0FBUyxHQUFRLEVBQUUsQ0FBQztRQUNwQixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQVksSUFBSSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFJLElBQUksQ0FBQztJQUNGLENBQUM7SUFFakIsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsYUFBYSxHQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFL0UsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFTLEVBQUUsT0FBZ0I7UUFDcEMsSUFBSSxPQUFPLEVBQUM7WUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FFOUQ7YUFBSTtZQUNELE1BQU0sU0FBUyxHQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDMUUsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUM7Z0JBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQUU7U0FDbkU7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLElBQVM7UUFDbEIsTUFBTSxTQUFTLEdBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUM7WUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FBRTtJQUNuRSxDQUFDO0lBR0QsSUFBSTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFVLEVBQUUsYUFBa0I7UUFDckMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVE7UUFDakIsSUFBRyxHQUFHLEtBQUssSUFBSSxFQUFDO1lBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNqRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFJO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7SUFFRixDQUFDOytHQTNEVyxxQkFBcUI7bUdBQXJCLHFCQUFxQix3VUNQbEMsc25JQXVEQTs7NEZEaERhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBS3BCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY2hlY2tib3gtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LWxpc3QuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpdGVtc0xpc3Q6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkSXRlbXM6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGlkZW50aWZpZXJLZXkgPSAnJztcclxuICBASW5wdXQoKSBkaXNwbGF5S2V5ID0gJyc7XHJcbiAgQElucHV0KCkgdG9vbHRpcEtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGNvbmZpZyAhOiBhbnk7XHJcbiAgQElucHV0KCkgdHdvQ29sdW1uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9hZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgY2xvc2VMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZWFyY2hJdGVtID0gJyc7XHJcbiAgYW5pbWF0aW9uID0gIHRydWU7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSAgdGhpcy5hcnJheVRvSWQodGhpcy5zZWxlY3RlZEl0ZW1zLCB0aGlzLmlkZW50aWZpZXJLZXkpO1xyXG5cclxuICB9XHJcbiAgc2VsZWN0SXRlbShpdGVtOiBhbnksIGNoZWNrZWQ6IGJvb2xlYW4pe1xyXG4gICAgaWYgKGNoZWNrZWQpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gQXJyYXkuZnJvbShuZXcgU2V0KHRoaXMuc2VsZWN0ZWRJdGVtcykpO1xyXG5cclxuICAgIH1lbHNle1xyXG4gICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9ICB0aGlzLnNlbGVjdGVkSXRlbXMuZmluZEluZGV4KChlbDogYW55KSA9PiBlbCA9PT0gaXRlbSk7XHJcbiAgICAgICAgaWYgKGl0ZW1JbmRleCAhPT0gLTEpe3RoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaXRlbUluZGV4LCAxKTsgfVxyXG4gICAgfVxyXG4gIH1cclxuICBkZWxldGVJdGVtKGl0ZW06IGFueSl7XHJcbiAgICBjb25zdCBpdGVtSW5kZXggPSAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoZWw6IGFueSkgPT4gZWwgPT09IGl0ZW1bdGhpcy5pZGVudGlmaWVyS2V5XSk7XHJcbiAgICBpZiAoaXRlbUluZGV4ICE9PSAtMSl7dGhpcy5zZWxlY3RlZEl0ZW1zLnNwbGljZShpdGVtSW5kZXgsIDEpOyB9XHJcbiB9XHJcblxyXG5cclxuIHNhdmUoKXtcclxuICAgIHRoaXMuc2F2ZUxpc3QuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xyXG4gfVxyXG5cclxuIGNsb3NlKCl7XHJcbiAgIHRoaXMuY2xvc2VMaXN0LmVtaXQoKTtcclxuIH1cclxuXHJcblxyXG4gYXJyYXlUb0lkKGFycmF5OiBhbnksIGlkZW50aWZpZXJLZXk6IGFueSl7XHJcbiAgICByZXR1cm4gYXJyYXkubWFwKChhOiBhbnkpID0+IGFbaWRlbnRpZmllcktleV0pO1xyXG4gfVxyXG4gc2VsZWN0QWxsKGV2dDogYW55KXtcclxuICBpZihldnQgPT09IHRydWUpe1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5pdGVtc0xpc3QubWFwKChlOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIGVbdGhpcy5pZGVudGlmaWVyS2V5XTtcclxuICAgIH0pO1xyXG4gIH1lbHNle1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XHJcbiAgfVxyXG5cclxuIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWRkLXJpc2stcmNcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGQtcmlzay1yYy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3tjb25maWc/LnBhbmVsVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImFkZC1yaXNrLXJjLWNsb3NlXCIgKGNsaWNrKT1jbG9zZSgpPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwZDs8L2k+XHJcbiAgICAgICAgPC9idXR0b24+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXJpc2stcmMtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2tcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7Y29uZmlnPy5zZWFyY2hQbGFjZWhvbGRlcn19XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hJdGVtXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZWRcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaXRlbXNMaXN0IHwgc2VhcmNoOnNlYXJjaEl0ZW06ZGlzcGxheUtleSkgYXMgc2VhcmNoTGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9keS10b3BcIiAqbmdJZj1cImNvbmZpZz8uc2VsZWN0QWxsRW5hYmxlZCAmJiBzZWFyY2hMaXN0Py5sZW5ndGggPiAwICYmIHNlYXJjaEl0ZW0/LnRyaW0oKT8ubGVuZ3RoID09PSAwIFwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCBbbmdWYWx1ZV09XCJpdGVtc0xpc3Q/Lmxlbmd0aCA9PT0gc2VsZWN0ZWRJdGVtcz8ubGVuZ3RoICYmIHNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+PHN0cm9uZz4ge3tpdGVtc0xpc3Q/Lmxlbmd0aCA9PT0gc2VsZWN0ZWRJdGVtcz8ubGVuZ3RoICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDA/J0Rlc2VsZWN0IEFsbCc6J1NlbGVjdCBBbGwnfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1yaXNrLXJjLWxpc3RcIiAqbmdJZj1cInNlYXJjaExpc3Q/Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDx1bCBbY2xhc3MudHdvLWNvbHVtbl09XCJ0d29Db2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gIG9mIHNlYXJjaExpc3RcIiAjdWxFbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiY29uZmlnLndvcmtmbG93ICE9PSAncG9saWN5J1wiIFtuZ1ZhbHVlXT1cInNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoaXRlbVtpZGVudGlmaWVyS2V5XSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0SXRlbShpdGVtW2lkZW50aWZpZXJLZXldLCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwidG9vbHRpcEtleSA/IGl0ZW1bdG9vbHRpcEtleV06IGl0ZW1bZGlzcGxheUtleV1cIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW1bZGlzcGxheUtleV19fXt7aXRlbT8ucGFyZW50X2l0ZW1zPy5sZW5ndGggJiYgY29uZmlnLndvcmtmbG93ID09PSAncG9saWN5Jz8gJyA8ICcgKyBpdGVtPy5wYXJlbnRfaXRlbXM/LmpvaW4oJyA8ICcpOicnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiY29uZmlnLndvcmtmbG93ID09PSAncG9saWN5J1wiIFtuZ1ZhbHVlXT1cInNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoaXRlbVtpZGVudGlmaWVyS2V5XSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RJdGVtKGl0ZW1baWRlbnRpZmllcktleV0sJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWRkLWNhdGVnb3J5LW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgaXRlbT8ucGFyZW50X2l0ZW1zOyBsZXQgaSA9IGluZGV4XCIgW2FwcFRvb2x0aXBdPVwiZGF0YVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgdHlwZT1cImJsYWNrXCIgZGVsYXk9XCIwXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImkgPiAwO1wiIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTEwOzwvaT57e2RhdGF9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICBbYXBwVG9vbHRpcF09XCJpdGVtW2Rpc3BsYXlLZXldXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiB0eXBlPVwiYmxhY2tcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbT8ucGFyZW50X2l0ZW1zPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJpY29uc1wiPiYjeGU5MTA7PC9pPiB7e2l0ZW1bZGlzcGxheUtleV19fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInNlYXJjaExpc3Q/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVkXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiY29uZmlnPy5ub0RhdGFUZXh0Py5sZW5ndGggPiAwID8gY29uZmlnPy5ub0RhdGFUZXh0OidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGFwcC1mbG9hdGluZy1iYXIgKm5nSWY9XCIhbG9hZGVkXCIgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZEl0ZW1zfGxpc3RNYXBwZXI6aXRlbXNMaXN0OmlkZW50aWZpZXJLZXlcIiBbZGlzcGxheUVsZW1lbnRLZXldPVwiZGlzcGxheUtleVwiXHJcbiAgICAgICAgICAgIFtzaW5ndWxhclRleHRdPVwiY29uZmlnPy5mbG9hdGluZ1RleHRTaW5ndWxhclwiXHJcbiAgICAgICAgICAgIFtwbHVyYWxUZXh0XT1cImNvbmZpZz8uZmxvYXRpbmdUZXh0UGx1cmFsID9jb25maWc/LmZsb2F0aW5nVGV4dFBsdXJhbDonVXNlcnMgc2VsZWN0ZWQnXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgW2lzRGlzYWJsZWRdPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDAgfHwgaXRlbXNMaXN0Lmxlbmd0aCA9PT0gMCBcIlxyXG4gICAgICAgICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=