import { Component, ElementRef, Input, ViewChild, Output, EventEmitter, HostListener, } from '@angular/core';
import dayjs from 'dayjs';
import { REPORT_CASE, HELPER_TEXT, EMAIL_REMINDERS, BANNER_CASE_RESOLUTION_DEADLINE_WARNING, } from '../../constants/report-case.constants';
import { ASSETS } from '../../../constants/assets.constants';
import * as i0 from "@angular/core";
import * as i1 from "../../../services/common.service";
import * as i2 from "../../../sharedComponents/frequency/frequency.service";
import * as i3 from "../../services/date-utility.service";
import * as i4 from "@angular/common";
import * as i5 from "../../../ui-kit/tooltip/tooltip.directive";
import * as i6 from "../../../sharedComponents/floating-bar/floating-bar.component";
import * as i7 from "ng2-date-picker";
import * as i8 from "@angular/forms";
import * as i9 from "../../../sharedComponents/v-loader/loader-inline/loader-inline.component";
import * as i10 from "../assignee/assignee.component";
import * as i11 from "../../../ui-kit/banner/banner.component";
export class DueDateComponent {
    set initialSelection(value) {
        this.dueDate = value?.resolution_deadline?.due_date;
        if (this.mode === 'EDIT') {
            this.emailReminder = value?.resolution_deadline?.assignee_remind_before;
            this.escalationEmail = value?.resolution_deadline?.owner_remind_before;
        }
    }
    constructor(commonDateService, frequencyService, dateUtilityService) {
        this.commonDateService = commonDateService;
        this.frequencyService = frequencyService;
        this.dateUtilityService = dateUtilityService;
        this.ASSETS = ASSETS;
        this.animation = true;
        this.datePickerOverlay = false;
        this.dateConfig = {
            disableKeypress: true,
            format: 'DD MM YYYY',
            unSelectOnClick: true,
            openOnClick: false,
            openOnFocus: false,
            min: '',
        };
        this.dueDateTexts = REPORT_CASE;
        this.helperText = HELPER_TEXT;
        this.assigneeClicked = false;
        this.assigneeList = [];
        this.assigneeData = {};
        this.currentStageIndex = -1;
        this.activeAssignee = [];
        this.emailReminder = EMAIL_REMINDERS.email_reminder;
        this.escalationEmail = EMAIL_REMINDERS.escalation_email_reminder;
        this.showError = false;
        this.showAssigneeError = false;
        this.CaseDeadlineWarning = BANNER_CASE_RESOLUTION_DEADLINE_WARNING;
        this.userList = [];
        this.groupList = [];
        this.mode = '';
        this.min = '';
        this.taskCount = 0;
        this.validDeadline = '';
        this.closeDueDateResolution = new EventEmitter();
        this.closeDueDateEvent = new EventEmitter();
    }
    ngOnInit() {
        this.setMinDate();
        setTimeout(() => {
            this.animation = false;
        }, 300);
        this.setAssigneeList();
        this.initializeEditMode();
    }
    initializeEditMode() {
        if (!this.payload?.caseToWorkflow?.resolution_deadline?.due_date)
            return;
        const deadline = this.payload.caseToWorkflow.resolution_deadline;
        this.initializeDeadlineValues(deadline);
        this.initializeStageAssignees(deadline);
    }
    initializeDeadlineValues(deadline) {
        this.dueDate = this.dateUtilityService.convertToUTC(deadline?.due_date);
        this.emailReminder =
            deadline.assignee_remind_before || EMAIL_REMINDERS.email_reminder;
        this.escalationEmail =
            deadline.owner_remind_before || EMAIL_REMINDERS.escalation_email_reminder;
    }
    initializeStageAssignees(deadline) {
        if (!deadline?.stages_assignees?.length)
            return;
        const stageAssigneeMap = this.createStageAssigneeMap(deadline.stages_assignees);
        this.mapWorkflowStages(stageAssigneeMap);
    }
    setMinDate() {
        if (this.taskCount > 0 && this.validDeadline) {
            this.dateConfig.min = dayjs(this.validDeadline);
        }
        else {
            this.dateConfig.min = this.frequencyService.formatDate();
        }
    }
    createStageAssigneeMap(stagesAssignees) {
        return new Map(stagesAssignees.map((stage) => [stage?.stage_id, stage?.assignee_id]));
    }
    mapWorkflowStages(stageAssigneeMap) {
        this.workflowDetails?.stages_assignees?.forEach((workflowStage, index) => {
            const assigneeId = stageAssigneeMap?.get(workflowStage?.stage_id);
            if (!assigneeId)
                return;
            const assignee = this.assigneeList?.find((assignee) => assignee?._id === assigneeId);
            if (assignee) {
                this.assigneeData[index] = [assignee];
            }
        });
    }
    openDatePicker() {
        this.datePicker?.api?.open();
        this.datePickerOverlay = true;
    }
    /**
     * closes the date picker from policy form
     */
    closeDatePicker(evt) {
        this.datePickerOverlay = false;
        if (!evt) {
            return;
        }
        if (evt?.date?.$d) {
            let monthArray = [
                'Jan',
                'Feb',
                'Mar',
                'Apr',
                'May',
                'Jun',
                'Jul',
                'Aug',
                'Sep',
                'Oct',
                'Nov',
                'Dec',
            ];
            const dateValue = evt?.date?.$d?.getDate();
            const monthValue = monthArray[evt?.date?.$d?.getMonth()];
            const yearValue = evt?.date?.$d?.getFullYear();
            const dateStr = `${dateValue} ${monthValue} ${yearValue}`;
        }
        if (evt?.date?.$d) {
            this.dueDate = evt?.date?.$d;
            this.showError = false;
        }
        this.datePicker?.api?.close();
    }
    closeDueDate() {
        this.closeDueDateEvent.emit();
    }
    activateSelector(active, stageIndex) {
        this.assigneeClicked = active;
        if (active) {
            this.currentStageIndex = stageIndex ?? -1;
            this.activeAssignee =
                this.currentStageIndex !== -1
                    ? this.assigneeData[this.currentStageIndex]
                    : [];
        }
    }
    setAssigneeList() {
        const directAssignees = this.getAssignees();
        const groupAssignees = this.getGroupAssignees();
        this.assigneeList = this.getUniqueAssignees(directAssignees, groupAssignees);
    }
    getAssignees() {
        const assigneeIds = this.payload.caseToWorkflow?.assignees || [];
        return (this.userList
            ?.filter((user) => assigneeIds.includes(user?._id))
            ?.map((user) => {
            const userGroups = this.getUserGroups(user);
            return {
                ...user,
                associatedGroups: userGroups,
            };
        }) || []);
    }
    getUserGroups(user) {
        return this.groupList?.filter((group) => user?.usergroup_id?.includes(group?.group_id));
    }
    getGroupAssignees() {
        const assigneeGroupIds = this.payload.caseToWorkflow?.assignees_group || [];
        return (assigneeGroupIds.flatMap((groupId) => {
            const group = this.findGroupById(groupId);
            return this.getAssigneesFromGroup(group);
        }) || []);
    }
    findGroupById(groupId) {
        return this.groupList?.find((group) => group?._id === groupId);
    }
    getAssigneesFromGroup(group) {
        return (group?.associatedUsers
            ?.map((user) => {
            const userFromList = this.findUserById(user?.userId?._id);
            if (userFromList) {
                const userGroups = this.getUserGroups(userFromList);
                return {
                    ...userFromList,
                    associatedGroups: userGroups,
                };
            }
            return null;
        })
            .filter((user) => user !== null) || []);
    }
    findUserById(userId) {
        return this.userList?.find((user) => user?._id === userId);
    }
    getUniqueAssignees(directAssignees, groupAssignees) {
        return [...directAssignees, ...groupAssignees].reduce((acc, user) => {
            if (!acc.some((u) => u?._id === user?._id)) {
                acc.push(user);
            }
            return acc;
        }, []);
    }
    selectedAssignee(event) {
        if (this.currentStageIndex !== -1) {
            this.assigneeData[this.currentStageIndex] = event;
        }
        this.assigneeClicked = false;
        if (event?.length > 0) {
            this.showAssigneeError = false;
        }
    }
    saveCaseResolutionDeadline() {
        if (!this.isDueDateValid()) {
            this.showError = true;
            return;
        }
        else if (!this.areAssigneesValid()) {
            this.showAssigneeError = true;
            return;
        }
        this.showError = false;
        this.showAssigneeError = false;
        this.setPayload();
        this.closeDueDateResolution.emit();
    }
    isDueDateValid() {
        if (!this.dueDate)
            return false;
        if (this.taskCount > 0 && this.validDeadline) {
            const validDeadlineDate = dayjs(this.validDeadline);
            const selectedDate = dayjs(this.dueDate);
            return selectedDate.isValid() && selectedDate.isAfter(validDeadlineDate);
        }
        return dayjs(this.dueDate).isValid();
    }
    areAssigneesValid() {
        return this.workflowDetails?.stages_assignees?.every((stage, index) => this.assigneeData[index] && this.assigneeData[index]?.length > 0);
    }
    formatDueDate(date) {
        const utcDate = this.dateUtilityService.convertToUTC(date);
        return utcDate.toISOString();
    }
    setDeadlineReminders() {
        this.payload.caseToWorkflow.resolution_deadline.assignee_remind_before =
            this.emailReminder;
        this.payload.caseToWorkflow.resolution_deadline.owner_remind_before =
            this.escalationEmail;
    }
    setStagesAssignees() {
        return this.workflowDetails?.stages_assignees
            .map((stage, index) => {
            const assigneeData = this.assigneeData[index];
            return assigneeData
                ? this.createStageAssignee(stage, assigneeData)
                : null;
        })
            .filter(Boolean);
    }
    createStageAssignee(stage, assigneeData) {
        return {
            stage_id: stage?.stage_id || '',
            assignee_id: assigneeData[0]?._id || '',
            due_date: stage?.due_date || '',
        };
    }
    setPayload() {
        const formattedDate = this.formatDueDate(this.dueDate);
        this.payload.caseToWorkflow.resolution_deadline.due_date = formattedDate;
        this.setDeadlineReminders();
        const stagesAssignees = this.setStagesAssignees();
        this.payload.caseToWorkflow.resolution_deadline.stages_assignees =
            stagesAssignees;
        this.payload.caseToWorkflow.workflow_id = this.workflowDetails?._id;
    }
    documentClick(event) {
        const datePickerObject = {
            event: event,
            class: 'deadline-date',
            popup: this.datePickerPopUp,
            component: this.datePicker,
            overlay: this.datePickerOverlay,
        };
        this.commonDateService.handleDocumentClick(datePickerObject);
    }
    onInputChange() {
        if (this.emailReminder === 0) {
            this.emailReminder = EMAIL_REMINDERS.email_reminder;
        }
        if (this.escalationEmail === 0) {
            this.escalationEmail = EMAIL_REMINDERS.escalation_email_reminder;
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DueDateComponent, deps: [{ token: i1.CommonService }, { token: i2.FrequencyService }, { token: i3.DateUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DueDateComponent, selector: "app-due-date", inputs: { payload: "payload", dueDate: "dueDate", workflowDetails: "workflowDetails", userList: "userList", groupList: "groupList", mode: "mode", initialSelection: "initialSelection", min: "min", taskCount: "taskCount", validDeadline: "validDeadline" }, outputs: { closeDueDateResolution: "closeDueDateResolution", closeDueDateEvent: "closeDueDateEvent" }, host: { listeners: { "document:click": "documentClick($event)" } }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["deadlineDatePicker"], descendants: true }, { propertyName: "ASSETS", first: true, predicate: ["deadlineDatePicker"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"configure-resolution\">\n  <div\n    class=\"configure-resolution-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n  >\n    <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n      Configure Resolution Deadline & Stage Details\n    </div>\n  </div>\n  <div class=\"configure-resolution-body\">\n    <div class=\"configure-resolution-body-inner\">\n      <app-loader-inline *ngIf=\"false\"></app-loader-inline>\n      <app-no-data\n        *ngIf=\"false\"\n        [noDataImage]=\"ASSETS.search_data\"\n        [noDataText]=\"'No data to display'\"\n      ></app-no-data>\n\n      <ng-container>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          SPECIFY THE DEADLINE TO CLOSE THIS CASE\n          <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n        </div>\n        <app-banner *ngIf=\"mode === 'EDIT' && taskCount > 0\">\n          <p banner>\n            {{ CaseDeadlineWarning }}\n          </p>\n        </app-banner>\n        <div class=\"case-calendar vx-mb-3\">\n          <div class=\"case-calendar-inner vx-d-flex vx-align-center\">\n            <input\n              type=\"text\"\n              readonly\n              placeholder=\"{{\n                dueDateTexts.case_details.due_date.deadline_placeholder\n              }}\"\n              (click)=\"openDatePicker()\"\n              [value]=\"dueDate | date : 'dd MMM yyyy'\"\n              id=\"deadline-date\"\n            />\n            <i class=\"icons\">&#xe92d;</i>\n            <dp-date-picker\n              #deadlineDatePicker\n              (onSelect)=\"datePickerOverlay = false; closeDatePicker($event)\"\n              [config]=\"dateConfig\"\n              [(ngModel)]=\"dueDate\"\n            >\n            </dp-date-picker>\n            <div\n              class=\"vx-overlay\"\n              (click)=\"closeDatePicker($event)\"\n              *ngIf=\"datePickerOverlay\"\n            ></div>\n          </div>\n          <div *ngIf=\"showError\" class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\">\n            {{ dueDateTexts.errorMessage.dueDate }}\n          </div>\n        </div>\n        <div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-1\">\n          <div\n            class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-tt-uppercase\"\n          >\n            CONFIGURE DEADLINE & ASSIGNEE FOR EACH STAGE IN THE WORKFLOW\n            <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n          </div>\n          <!-- <div class=\"toggle-area vx-d-flex vx-align-center\">\n            <app-cs-switch>Allow Reopening of Previous Stage</app-cs-switch>\n            <i\n              class=\"icons info vx-fs-12 vx-txt-blue vx-ml-2\"\n              [appTooltip]=\"\n                'If enabled, this option allows the assignee to revisit and reopen a previously completed stage. The stage will be reset, and the assigned user will need to complete it again.'\n              \"\n              placement=\"bottom-right\"\n              delay=\"0\"\n              type=\"white\"\n              [tooltipMandatory]=\"true\"\n              >&#xe91f;</i\n            >\n          </div> -->\n        </div>\n        <div class=\"configure-resolution-table\">\n          <div class=\"table-header\">\n            <div class=\"table-row\">\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n              >\n                #\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n              >\n                STAGE NAME\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n              >\n                TRANSITION STATUS\n                <i\n                  class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n                  [appTooltip]=\"helperText.transition_status\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"white\"\n                  [tooltipMandatory]=\"true\"\n                  >&#xe91f;</i\n                >\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n              >\n                ASSIGNEE\n                <i\n                  class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n                  [appTooltip]=\"helperText.assignee\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"white\"\n                  [tooltipMandatory]=\"true\"\n                  >&#xe91f;</i\n                >\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center deadline\"\n              >\n                DEADLINE\n                <i\n                  class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n                  [appTooltip]=\"helperText.deadline\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"white\"\n                  [tooltipMandatory]=\"true\"\n                  >&#xe91f;</i\n                >\n              </div>\n            </div>\n          </div>\n          <div class=\"table-body\">\n            <div\n              class=\"table-row\"\n              *ngFor=\"\n                let data of workflowDetails?.stages_assignees;\n                let i = index\n              \"\n            >\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n              >\n                <div\n                  class=\"sr-no vx-fs-13 vx-d-flex vx-align-center vx-justify-center\"\n                  [appTooltip]=\"i + 1\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"black\"\n                  [tooltipMandatory]=\"true\"\n                >\n                  {{ i + 1 }}\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n              >\n                <div\n                  class=\"value vx-fs-13 vx-pr-2\"\n                  [appTooltip]=\"data?.name\"\n                  placement=\"bottom-left\"\n                  delay=\"0\"\n                  type=\"black\"\n                  [tooltipMandatory]=\"false\"\n                >\n                  {{ data?.name }}\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n              >\n                <div class=\"value vx-fs-12\">\n                  {{ data?.status_transition?.fromName }}<br /><span\n                    class=\"vx-mr-1\"\n                    >To</span\n                  >{{ data?.status_transition?.toName }}\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n                (click)=\"activateSelector(true, i)\"\n              >\n                <div\n                  *ngIf=\"!assigneeData[i]?.length\"\n                  class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3\"\n                >\n                  <div class=\"value vx-fs-13\">Select a User</div>\n                  <i class=\"icons arrow vx-fs-12\">&#xe9e8;</i>\n                </div>\n                <div\n                  *ngIf=\"assigneeData[i]?.length > 0\"\n                  class=\"after-select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-2\"\n                >\n                  <div\n                    class=\"value-chip vx-fs-11 vx-pl-2 vx-pr-2 vx-lh-6\"\n                    [appTooltip]=\"assigneeData[i][0]?.member_name\"\n                    placement=\"bottom-left\"\n                    delay=\"0\"\n                    type=\"black\"\n                    [tooltipMandatory]=\"false\"\n                  >\n                    {{ assigneeData[i][0]?.member_name }}\n                  </div>\n                  <button\n                    (click)=\"activateSelector(true, i)\"\n                    class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n                  >\n                    <i class=\"icons vx-fs-12 vx-txt-blue vx-mr-1\">&#xe9ba;</i\n                    >EDIT\n                  </button>\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-2 vx-d-flex vx-align-center deadline\"\n              >\n                <div\n                  class=\"case-calendar vx-d-flex vx-justify-between vx-pt-3 vx-pb-3\"\n                >\n                  <div\n                    class=\"case-calendar-inner vx-d-flex vx-align-center\"\n                    [class.disabled]=\"true\"\n                  >\n                    <input\n                      type=\"text\"\n                      readonly\n                      value=\"{{ dueDate | date : 'dd MMM yyyy' }}\"\n                      (click)=\"openDatePicker()\"\n                      id=\"stage-deadline-date\"\n                    />\n                    <i class=\"icons\">&#xe92d;</i>\n                    <dp-date-picker\n                      #datePicker\n                      (onSelect)=\"\n                        datePickerOverlay = false; closeDatePicker($event)\n                      \"\n                      [config]=\"dateConfig\"\n                    >\n                    </dp-date-picker>\n                    <div\n                      class=\"vx-overlay\"\n                      (click)=\"closeDatePicker($event)\"\n                      *ngIf=\"datePickerOverlay\"\n                    ></div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n          <div\n            *ngIf=\"showAssigneeError\"\n            class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\"\n          >\n            {{ dueDateTexts.errorMessage.stageAssignee }}\n          </div>\n        </div>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          EMAIL REMINDER CONFIGURATION\n          <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n        </div>\n        <div class=\"divider vx-mb-2\"></div>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          REMINDER EMAIL\n        </div>\n        <div\n          class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n        >\n          <div class=\"vx-fs-13 vx-mr-1\">\n            Send regular email reminders to the assignee\n          </div>\n          <input\n            type=\"number\"\n            [(ngModel)]=\"emailReminder\"\n            onkeydown=\"return event.key !== '.'\"\n            oninput=\"this.value = Math.abs(this.value)\"\n            (change)=\"onInputChange()\"\n          />\n          <div class=\"vx-fs-13 vx-ml-1\">\n            <span class=\"black-text\">days</span> before the stage deadline.\n          </div>\n        </div>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          ESCALATION EMAIL\n        </div>\n        <div\n          class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n        >\n          <div class=\"vx-fs-13 vx-mr-1\">\n            Send email escalation to the Case Owner\n          </div>\n          <input\n            type=\"number\"\n            [(ngModel)]=\"escalationEmail\"\n            onkeydown=\"return event.key !== '.'\"\n            oninput=\"this.value = Math.abs(this.value)\"\n            (change)=\"onInputChange()\"\n          />\n          <div class=\"vx-fs-13 vx-ml-1\">\n            <span class=\"black-text\">days</span> before the overall case\n            deadline, if the case is still open.\n          </div>\n        </div>\n      </ng-container>\n    </div>\n    <app-floating-bar\n      (closeList)=\"closeDueDate()\"\n      (closeEvent)=\"saveCaseResolutionDeadline()\"\n    ></app-floating-bar>\n  </div>\n</div>\n<app-assignee\n  *ngIf=\"assigneeClicked\"\n  [payload]=\"payload\"\n  [assigneeList]=\"assigneeList\"\n  [activeAssignee]=\"activeAssignee\"\n  (selectedAssigneeEvent)=\"selectedAssignee($event)\"\n  (closeEvent)=\"activateSelector(false)\"\n></app-assignee>\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 .configure-resolution{background:#fff;position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .configure-resolution:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .configure-resolution.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .configure-resolution-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .configure-resolution-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .configure-resolution-body-inner{height:calc(100% - 3rem);padding:0 2rem 1rem 0;width:calc(100% + 2rem);overflow-y:auto;scrollbar-width:thin}::ng-deep .configure-resolution-body-inner .divider{background:#e3e3e9;width:100%;height:1px}::ng-deep .configure-resolution-body .label-top .required{color:#c7381b}::ng-deep .configure-resolution-body .errorMsg{color:#a82a1d}::ng-deep .configure-resolution-body .toggle-area{cursor:pointer}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch{order:1;width:24px!important;min-width:24px!important;height:16px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-box{background:#cdced6!important;border:1px solid #cdced6!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-ball{height:12px!important;width:12px!important;border:none!important;left:2px!important;top:2px!important;bottom:2px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box{background:#34aa44!important;border-color:#34aa44!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box .switch-ball{left:10px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .value{order:2;color:#000!important;cursor:pointer;font-size:11px!important;margin-left:.5rem;width:unset!important}::ng-deep .configure-resolution-body .toggle-area i.info{cursor:pointer}::ng-deep .configure-resolution-body .case-calendar{background:#fff;border-radius:.25rem}::ng-deep .configure-resolution-body .case-calendar-inner{position:relative;width:100%}::ng-deep .configure-resolution-body .case-calendar-inner input{background:transparent;border-radius:.25rem;border:1px solid #cdced6;color:#747576;font-size:13px;font-weight:400;height:2.5rem;line-height:2.5rem;padding:0 .75rem 0 2rem;outline:none;width:100%;transition:all .2s ease-in-out}::ng-deep .configure-resolution-body .case-calendar-inner input::placeholder{color:#a9aab6}::ng-deep .configure-resolution-body .case-calendar-inner input:hover,::ng-deep .configure-resolution-body .case-calendar-inner input:focus{border-color:#1e5dd3}::ng-deep .configure-resolution-body .case-calendar-inner i{display:flex;justify-content:center;align-items:center;height:.75rem;width:.75rem;position:absolute;left:.75rem;top:.75rem;color:#747576;font-size:12px;pointer-events:none}::ng-deep .configure-resolution-body .case-calendar-inner.disabled{background:#f2f2f5;pointer-events:none;opacity:1}::ng-deep .configure-resolution-body .case-calendar-inner.disabled input,::ng-deep .configure-resolution-body .case-calendar-inner.disabled i{color:#a9aab6}::ng-deep .configure-resolution-body .email-configure-box{border-radius:.25rem;border:1px solid #dbdbdb;color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box input{-moz-appearance:textfield;border-radius:.25rem;border:1px solid #dbdbdb;color:#343952;display:inline-block;font-size:13px;text-align:center;width:2.25rem;height:1.75rem;padding:.125rem;outline:none}::ng-deep .configure-resolution-body .email-configure-box input::-webkit-inner-spin-button,::ng-deep .configure-resolution-body .email-configure-box input::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .configure-resolution-body .email-configure-box input::placeholder{color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box .black-text{color:#000}::ng-deep .configure-resolution-table{margin-bottom:.75rem}::ng-deep .configure-resolution-table .table-header{background:#fff;border-radius:.25rem .25rem 0 0;border:1px solid #f2f2f5;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-header .table-column{color:#787a8c!important;line-height:.75rem!important;min-height:2rem!important}::ng-deep .configure-resolution-table .table-body{border-radius:0 0 .25rem .25rem;border:1px solid #f2f2f5;border-top:none}::ng-deep .configure-resolution-table .table-row{display:flex;justify-content:space-between;position:relative;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-row:last-of-type .table-column,::ng-deep .configure-resolution-table .table-row:only-child .table-column{border-bottom:none}::ng-deep .configure-resolution-table .table-row .table-column{border-bottom:1px solid #f2f2f5;color:#000;min-height:3.25rem;position:relative;width:100%}::ng-deep .configure-resolution-table .table-row .table-column i.info{cursor:pointer}::ng-deep .configure-resolution-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .configure-resolution-table .table-row .table-column.serial .sr-no{width:1rem;height:3.25rem}::ng-deep .configure-resolution-table .table-row .table-column.stage-name{width:calc(100% - 37rem);min-width:calc(100% - 37rem)}::ng-deep .configure-resolution-table .table-row .table-column.stage-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.status{width:10rem;min-width:10rem}::ng-deep .configure-resolution-table .table-row .table-column.status .value span{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee{width:15rem;min-width:15rem}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box{border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .value{color:#a9aab6}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .arrow{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box{background:#f9f9fa;border-radius:.25rem;border:1px solid #cdced6;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box .value-chip{background:#fff;border-radius:.125rem;border:1px solid #f4f8ff;box-shadow:0 0 2px #1e5dd326;color:#000;height:1.5rem;max-width:9.5rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box button.edit-btn{background:transparent;border-radius:0;border:none}::ng-deep .configure-resolution-table .table-row .table-column.deadline{width:10rem;min-width:10rem}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { 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: "component", type: i7.DatePickerComponent, selector: "dp-date-picker", inputs: ["config", "mode", "placeholder", "disabled", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "directive", type: i8.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: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i10.AssigneeComponent, selector: "app-assignee", inputs: ["assigneeList", "activeAssignee", "payload"], outputs: ["closeEvent", "selectedAssigneeEvent"] }, { kind: "component", type: i11.BannerComponent, selector: "app-banner", inputs: ["icon", "bannerClass", "isCenter"] }, { kind: "pipe", type: i4.DatePipe, name: "date" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DueDateComponent, decorators: [{
            type: Component,
            args: [{ selector: 'app-due-date', template: "<div class=\"configure-resolution\">\n  <div\n    class=\"configure-resolution-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n  >\n    <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\n      Configure Resolution Deadline & Stage Details\n    </div>\n  </div>\n  <div class=\"configure-resolution-body\">\n    <div class=\"configure-resolution-body-inner\">\n      <app-loader-inline *ngIf=\"false\"></app-loader-inline>\n      <app-no-data\n        *ngIf=\"false\"\n        [noDataImage]=\"ASSETS.search_data\"\n        [noDataText]=\"'No data to display'\"\n      ></app-no-data>\n\n      <ng-container>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          SPECIFY THE DEADLINE TO CLOSE THIS CASE\n          <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n        </div>\n        <app-banner *ngIf=\"mode === 'EDIT' && taskCount > 0\">\n          <p banner>\n            {{ CaseDeadlineWarning }}\n          </p>\n        </app-banner>\n        <div class=\"case-calendar vx-mb-3\">\n          <div class=\"case-calendar-inner vx-d-flex vx-align-center\">\n            <input\n              type=\"text\"\n              readonly\n              placeholder=\"{{\n                dueDateTexts.case_details.due_date.deadline_placeholder\n              }}\"\n              (click)=\"openDatePicker()\"\n              [value]=\"dueDate | date : 'dd MMM yyyy'\"\n              id=\"deadline-date\"\n            />\n            <i class=\"icons\">&#xe92d;</i>\n            <dp-date-picker\n              #deadlineDatePicker\n              (onSelect)=\"datePickerOverlay = false; closeDatePicker($event)\"\n              [config]=\"dateConfig\"\n              [(ngModel)]=\"dueDate\"\n            >\n            </dp-date-picker>\n            <div\n              class=\"vx-overlay\"\n              (click)=\"closeDatePicker($event)\"\n              *ngIf=\"datePickerOverlay\"\n            ></div>\n          </div>\n          <div *ngIf=\"showError\" class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\">\n            {{ dueDateTexts.errorMessage.dueDate }}\n          </div>\n        </div>\n        <div class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-1\">\n          <div\n            class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-tt-uppercase\"\n          >\n            CONFIGURE DEADLINE & ASSIGNEE FOR EACH STAGE IN THE WORKFLOW\n            <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n          </div>\n          <!-- <div class=\"toggle-area vx-d-flex vx-align-center\">\n            <app-cs-switch>Allow Reopening of Previous Stage</app-cs-switch>\n            <i\n              class=\"icons info vx-fs-12 vx-txt-blue vx-ml-2\"\n              [appTooltip]=\"\n                'If enabled, this option allows the assignee to revisit and reopen a previously completed stage. The stage will be reset, and the assigned user will need to complete it again.'\n              \"\n              placement=\"bottom-right\"\n              delay=\"0\"\n              type=\"white\"\n              [tooltipMandatory]=\"true\"\n              >&#xe91f;</i\n            >\n          </div> -->\n        </div>\n        <div class=\"configure-resolution-table\">\n          <div class=\"table-header\">\n            <div class=\"table-row\">\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n              >\n                #\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n              >\n                STAGE NAME\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n              >\n                TRANSITION STATUS\n                <i\n                  class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n                  [appTooltip]=\"helperText.transition_status\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"white\"\n                  [tooltipMandatory]=\"true\"\n                  >&#xe91f;</i\n                >\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n              >\n                ASSIGNEE\n                <i\n                  class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n                  [appTooltip]=\"helperText.assignee\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"white\"\n                  [tooltipMandatory]=\"true\"\n                  >&#xe91f;</i\n                >\n              </div>\n              <div\n                class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center deadline\"\n              >\n                DEADLINE\n                <i\n                  class=\"icons info vx-fs-12 vx-txt-blue vx-ml-1\"\n                  [appTooltip]=\"helperText.deadline\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"white\"\n                  [tooltipMandatory]=\"true\"\n                  >&#xe91f;</i\n                >\n              </div>\n            </div>\n          </div>\n          <div class=\"table-body\">\n            <div\n              class=\"table-row\"\n              *ngFor=\"\n                let data of workflowDetails?.stages_assignees;\n                let i = index\n              \"\n            >\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n              >\n                <div\n                  class=\"sr-no vx-fs-13 vx-d-flex vx-align-center vx-justify-center\"\n                  [appTooltip]=\"i + 1\"\n                  placement=\"bottom\"\n                  delay=\"0\"\n                  type=\"black\"\n                  [tooltipMandatory]=\"true\"\n                >\n                  {{ i + 1 }}\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center stage-name\"\n              >\n                <div\n                  class=\"value vx-fs-13 vx-pr-2\"\n                  [appTooltip]=\"data?.name\"\n                  placement=\"bottom-left\"\n                  delay=\"0\"\n                  type=\"black\"\n                  [tooltipMandatory]=\"false\"\n                >\n                  {{ data?.name }}\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center status\"\n              >\n                <div class=\"value vx-fs-12\">\n                  {{ data?.status_transition?.fromName }}<br /><span\n                    class=\"vx-mr-1\"\n                    >To</span\n                  >{{ data?.status_transition?.toName }}\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assignee\"\n                (click)=\"activateSelector(true, i)\"\n              >\n                <div\n                  *ngIf=\"!assigneeData[i]?.length\"\n                  class=\"select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-3\"\n                >\n                  <div class=\"value vx-fs-13\">Select a User</div>\n                  <i class=\"icons arrow vx-fs-12\">&#xe9e8;</i>\n                </div>\n                <div\n                  *ngIf=\"assigneeData[i]?.length > 0\"\n                  class=\"after-select-box vx-d-flex vx-align-center vx-justify-between vx-pl-3 vx-pr-2\"\n                >\n                  <div\n                    class=\"value-chip vx-fs-11 vx-pl-2 vx-pr-2 vx-lh-6\"\n                    [appTooltip]=\"assigneeData[i][0]?.member_name\"\n                    placement=\"bottom-left\"\n                    delay=\"0\"\n                    type=\"black\"\n                    [tooltipMandatory]=\"false\"\n                  >\n                    {{ assigneeData[i][0]?.member_name }}\n                  </div>\n                  <button\n                    (click)=\"activateSelector(true, i)\"\n                    class=\"edit-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\n                  >\n                    <i class=\"icons vx-fs-12 vx-txt-blue vx-mr-1\">&#xe9ba;</i\n                    >EDIT\n                  </button>\n                </div>\n              </div>\n              <div\n                class=\"table-column vx-pl-1 vx-pr-2 vx-d-flex vx-align-center deadline\"\n              >\n                <div\n                  class=\"case-calendar vx-d-flex vx-justify-between vx-pt-3 vx-pb-3\"\n                >\n                  <div\n                    class=\"case-calendar-inner vx-d-flex vx-align-center\"\n                    [class.disabled]=\"true\"\n                  >\n                    <input\n                      type=\"text\"\n                      readonly\n                      value=\"{{ dueDate | date : 'dd MMM yyyy' }}\"\n                      (click)=\"openDatePicker()\"\n                      id=\"stage-deadline-date\"\n                    />\n                    <i class=\"icons\">&#xe92d;</i>\n                    <dp-date-picker\n                      #datePicker\n                      (onSelect)=\"\n                        datePickerOverlay = false; closeDatePicker($event)\n                      \"\n                      [config]=\"dateConfig\"\n                    >\n                    </dp-date-picker>\n                    <div\n                      class=\"vx-overlay\"\n                      (click)=\"closeDatePicker($event)\"\n                      *ngIf=\"datePickerOverlay\"\n                    ></div>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n          <div\n            *ngIf=\"showAssigneeError\"\n            class=\"errorMsg vx-fs-11 vx-lh-4 vx-mt-1\"\n          >\n            {{ dueDateTexts.errorMessage.stageAssignee }}\n          </div>\n        </div>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          EMAIL REMINDER CONFIGURATION\n          <span class=\"required vx-fs-16 vx-fw-400\">*</span>\n        </div>\n        <div class=\"divider vx-mb-2\"></div>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          REMINDER EMAIL\n        </div>\n        <div\n          class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n        >\n          <div class=\"vx-fs-13 vx-mr-1\">\n            Send regular email reminders to the assignee\n          </div>\n          <input\n            type=\"number\"\n            [(ngModel)]=\"emailReminder\"\n            onkeydown=\"return event.key !== '.'\"\n            oninput=\"this.value = Math.abs(this.value)\"\n            (change)=\"onInputChange()\"\n          />\n          <div class=\"vx-fs-13 vx-ml-1\">\n            <span class=\"black-text\">days</span> before the stage deadline.\n          </div>\n        </div>\n        <div\n          class=\"label-top vx-fs-11 vx-fw-500 vx-label-txt vx-lh-4 vx-mb-1 vx-tt-uppercase\"\n        >\n          ESCALATION EMAIL\n        </div>\n        <div\n          class=\"email-configure-box vx-d-flex vx-align-center vx-flex-wrap vx-p-2 vx-pl-3 vx-pr-3 vx-mb-2\"\n        >\n          <div class=\"vx-fs-13 vx-mr-1\">\n            Send email escalation to the Case Owner\n          </div>\n          <input\n            type=\"number\"\n            [(ngModel)]=\"escalationEmail\"\n            onkeydown=\"return event.key !== '.'\"\n            oninput=\"this.value = Math.abs(this.value)\"\n            (change)=\"onInputChange()\"\n          />\n          <div class=\"vx-fs-13 vx-ml-1\">\n            <span class=\"black-text\">days</span> before the overall case\n            deadline, if the case is still open.\n          </div>\n        </div>\n      </ng-container>\n    </div>\n    <app-floating-bar\n      (closeList)=\"closeDueDate()\"\n      (closeEvent)=\"saveCaseResolutionDeadline()\"\n    ></app-floating-bar>\n  </div>\n</div>\n<app-assignee\n  *ngIf=\"assigneeClicked\"\n  [payload]=\"payload\"\n  [assigneeList]=\"assigneeList\"\n  [activeAssignee]=\"activeAssignee\"\n  (selectedAssigneeEvent)=\"selectedAssignee($event)\"\n  (closeEvent)=\"activateSelector(false)\"\n></app-assignee>\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 .configure-resolution{background:#fff;position:fixed;inset:0 500px 0 0;z-index:1}::ng-deep .configure-resolution:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .configure-resolution.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .configure-resolution-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .configure-resolution-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .configure-resolution-body-inner{height:calc(100% - 3rem);padding:0 2rem 1rem 0;width:calc(100% + 2rem);overflow-y:auto;scrollbar-width:thin}::ng-deep .configure-resolution-body-inner .divider{background:#e3e3e9;width:100%;height:1px}::ng-deep .configure-resolution-body .label-top .required{color:#c7381b}::ng-deep .configure-resolution-body .errorMsg{color:#a82a1d}::ng-deep .configure-resolution-body .toggle-area{cursor:pointer}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch{order:1;width:24px!important;min-width:24px!important;height:16px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-box{background:#cdced6!important;border:1px solid #cdced6!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch .switch-ball{height:12px!important;width:12px!important;border:none!important;left:2px!important;top:2px!important;bottom:2px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box{background:#34aa44!important;border-color:#34aa44!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .switch input:checked+span.switch-box .switch-ball{left:10px!important}::ng-deep .configure-resolution-body .toggle-area app-cs-switch .cs-switch .value{order:2;color:#000!important;cursor:pointer;font-size:11px!important;margin-left:.5rem;width:unset!important}::ng-deep .configure-resolution-body .toggle-area i.info{cursor:pointer}::ng-deep .configure-resolution-body .case-calendar{background:#fff;border-radius:.25rem}::ng-deep .configure-resolution-body .case-calendar-inner{position:relative;width:100%}::ng-deep .configure-resolution-body .case-calendar-inner input{background:transparent;border-radius:.25rem;border:1px solid #cdced6;color:#747576;font-size:13px;font-weight:400;height:2.5rem;line-height:2.5rem;padding:0 .75rem 0 2rem;outline:none;width:100%;transition:all .2s ease-in-out}::ng-deep .configure-resolution-body .case-calendar-inner input::placeholder{color:#a9aab6}::ng-deep .configure-resolution-body .case-calendar-inner input:hover,::ng-deep .configure-resolution-body .case-calendar-inner input:focus{border-color:#1e5dd3}::ng-deep .configure-resolution-body .case-calendar-inner i{display:flex;justify-content:center;align-items:center;height:.75rem;width:.75rem;position:absolute;left:.75rem;top:.75rem;color:#747576;font-size:12px;pointer-events:none}::ng-deep .configure-resolution-body .case-calendar-inner.disabled{background:#f2f2f5;pointer-events:none;opacity:1}::ng-deep .configure-resolution-body .case-calendar-inner.disabled input,::ng-deep .configure-resolution-body .case-calendar-inner.disabled i{color:#a9aab6}::ng-deep .configure-resolution-body .email-configure-box{border-radius:.25rem;border:1px solid #dbdbdb;color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box input{-moz-appearance:textfield;border-radius:.25rem;border:1px solid #dbdbdb;color:#343952;display:inline-block;font-size:13px;text-align:center;width:2.25rem;height:1.75rem;padding:.125rem;outline:none}::ng-deep .configure-resolution-body .email-configure-box input::-webkit-inner-spin-button,::ng-deep .configure-resolution-body .email-configure-box input::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .configure-resolution-body .email-configure-box input::placeholder{color:#787a8c}::ng-deep .configure-resolution-body .email-configure-box .black-text{color:#000}::ng-deep .configure-resolution-table{margin-bottom:.75rem}::ng-deep .configure-resolution-table .table-header{background:#fff;border-radius:.25rem .25rem 0 0;border:1px solid #f2f2f5;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-header .table-column{color:#787a8c!important;line-height:.75rem!important;min-height:2rem!important}::ng-deep .configure-resolution-table .table-body{border-radius:0 0 .25rem .25rem;border:1px solid #f2f2f5;border-top:none}::ng-deep .configure-resolution-table .table-row{display:flex;justify-content:space-between;position:relative;border-bottom:1px solid #f2f2f5}::ng-deep .configure-resolution-table .table-row:last-of-type .table-column,::ng-deep .configure-resolution-table .table-row:only-child .table-column{border-bottom:none}::ng-deep .configure-resolution-table .table-row .table-column{border-bottom:1px solid #f2f2f5;color:#000;min-height:3.25rem;position:relative;width:100%}::ng-deep .configure-resolution-table .table-row .table-column i.info{cursor:pointer}::ng-deep .configure-resolution-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .configure-resolution-table .table-row .table-column.serial .sr-no{width:1rem;height:3.25rem}::ng-deep .configure-resolution-table .table-row .table-column.stage-name{width:calc(100% - 37rem);min-width:calc(100% - 37rem)}::ng-deep .configure-resolution-table .table-row .table-column.stage-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.status{width:10rem;min-width:10rem}::ng-deep .configure-resolution-table .table-row .table-column.status .value span{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee{width:15rem;min-width:15rem}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box{border-radius:.25rem;border:1px solid #cdced6;cursor:pointer;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .value{color:#a9aab6}::ng-deep .configure-resolution-table .table-row .table-column.assignee .select-box .arrow{color:#787a8c}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box{background:#f9f9fa;border-radius:.25rem;border:1px solid #cdced6;height:2.5rem;width:100%}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box .value-chip{background:#fff;border-radius:.125rem;border:1px solid #f4f8ff;box-shadow:0 0 2px #1e5dd326;color:#000;height:1.5rem;max-width:9.5rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .configure-resolution-table .table-row .table-column.assignee .after-select-box button.edit-btn{background:transparent;border-radius:0;border:none}::ng-deep .configure-resolution-table .table-row .table-column.deadline{width:10rem;min-width:10rem}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
        }], ctorParameters: function () { return [{ type: i1.CommonService }, { type: i2.FrequencyService }, { type: i3.DateUtilityService }]; }, propDecorators: { datePicker: [{
                type: ViewChild,
                args: ['deadlineDatePicker']
            }], ASSETS: [{
                type: ViewChild,
                args: ['deadlineDatePicker', { read: ElementRef, static: false }]
            }], payload: [{
                type: Input
            }], dueDate: [{
                type: Input
            }], workflowDetails: [{
                type: Input
            }], userList: [{
                type: Input
            }], groupList: [{
                type: Input
            }], mode: [{
                type: Input
            }], initialSelection: [{
                type: Input
            }], min: [{
                type: Input
            }], taskCount: [{
                type: Input
            }], validDeadline: [{
                type: Input
            }], closeDueDateResolution: [{
                type: Output
            }], closeDueDateEvent: [{
                type: Output
            }], documentClick: [{
                type: HostListener,
                args: ['document:click', ['$event']]
            }] } });
//# sourceMappingURL=data:application/json;base64, 