1"use strict";(self.webpackChunkprivacypillar_sfo3=self.webpackChunkprivacypillar_sfo3||[]).push([["src_app_task-management_task-management_module_ts"],{62430:(K,Z,_)=>{_.d(Z,{a:()=>C});var c=_(591);class C{constructor(M){this.defaultState=M,this.state$=new c.X(this.defaultState)}getStateObs(){return this.state$.asObservable()}getState(){return this.state$.getValue()}updateState(M){this.state$.next({...this.getState(),...M})}setState(M){this.state$.next({...M})}resetState(){this.setState(this.defaultState)}}},56569:(K,Z,_)=>{_.r(Z),_.d(Z,{TaskManagementModule:()=>Jt});var c=_(36895),C=_(24006),y=_(51692),M=_(30567),D=_(21086),I=_(87545),k=_(27221),P=_(24850),t=_(94650),E=_(62430);let J=(()=>{const d=class extends E.a{constructor(){super({oid:"",pid:"",taskContext:"global",breadcrumbs:[],tasks:[],filteredTasks:[],moduleOptions:[],visibleModuleOptions:[],teamMembers:[],initialLoading:!0,loadingContext:!1,submitting:!1,activeFilter:"all",searchTerm:"",isModuleLocked:!1,drawerOpen:!1,selectedTask:{title:"",description:"",step:"todo",priority:"high",deadline:"",module:null,assigned_to:null,notification_days:2,approval:!1},isEdit:!1})}};let r=d;return d.\u0275fac=function(n){return new(n||d)},d.\u0275prov=t.Yz7({token:d,factory:d.\u0275fac,providedIn:"root"}),r})();var S=_(80529),O=_(61737),U=_(92340);let Q=(()=>{const d=class{constructor(e){this.http=e,this.taskBaseUrl=U.N.apiUrlV2}getModules(){return this.http.get(`${this.taskBaseUrl}/get-modules`).pipe((0,P.U)(e=>e?.data||[]),(0,k.K)(e=>(0,O._)(()=>e)))}getTasks(e,n){let o=new S.LE;return n&&(o=o.set("module_id",n)),this.http.get(`${this.taskBaseUrl}/tasks/${e}`,{params:o}).pipe((0,P.U)(i=>{const s=[i?.data?.data,i?.data,i?.response?.data,i?.response,i];for(const p of s){const m=this.flattenTaskCollection(p);if(null!==m)return m}return[]}),(0,k.K)(i=>(0,O._)(()=>i)))}getTeamMembers(e){const n=(new S.LE).set("orgid",e);return this.http.get(`${U.N.apiUrl}/team_member`,{params:n}).pipe((0,P.U)(o=>(o?.response||[]).map(i=>({id:i.approver_id||i.id||i.user_id||i.uid,user_id:i.user_id||i.id||i.uid||i.approver_id,approver_id:i.approver_id||"",email:i.user_email,display_email:`${i.user_name} || ${i.user_email}`,role_name:i.role_name}))),(0,k.K)(o=>(0,O._)(()=>o)))}createTask(e,n,o){return this.http.post(o?`${this.taskBaseUrl}/tasks/${e}/${o}`:`${this.taskBaseUrl}/tasks/${e}`,n).pipe((0,k.K)(s=>(0,O._)(()=>s)))}updateTask(e,n,o,i,s){const p=this.getTaskParams(i),m={...o,id:n};return this.http.put(s?`${this.taskBaseUrl}/tasks/update/${e}/${s}/${n}`:`${this.taskBaseUrl}/tasks/update/${e}/${n}`,m,{params:p}).pipe((0,k.K)(T=>(0,O._)(()=>T)))}deleteTask(e,n,o){const i=o?(new S.LE).set("module_id",o):void 0;return this.http.delete(`${this.taskBaseUrl}/tasks/delete/${e}/${n}`,{params:i}).pipe((0,k.K)(s=>(0,O._)(()=>s)))}getTaskParams(e){return e?(new S.LE).set("module_id",e):void 0}flattenTaskCollection(e){if(Array.isArray(e))return e;if(!e||"object"!=typeof e)return null;if(Array.isArray(e?.tasks))return e.tasks;const n=Object.entries(e).filter(([,o])=>Array.isArray(o));return 0===n.length?null:n.reduce((o,[i,s])=>{const p=s.map(m=>({...m,step:m?.step||i,status:m?.status||this.mapBucketToStatus(i)}));return o.concat(p)},[])}mapBucketToStatus(e){const n=(e||"").toLowerCase().replace(/[\s-]+/g,"_");return"done"===n||"completed"===n?"completed":"in_progress"===n||"progress"===n?"in-progress":"pending"}};let r=d;return d.\u0275fac=function(n){return new(n||d)(t.LFG(S.eN))},d.\u0275prov=t.Yz7({token:d,factory:d.\u0275fac,providedIn:"root"}),r})();var A=_(42111);let L=(()=>{const d=class{constructor(e,n,o,i,s,p){this.stateService=e,this.apiService=n,this.route=o,this.router=i,this.messageService=s,this.confirmationService=p,this.storageKeyPrefix="pp_task_management_tasks",this.taskContextStorageKeyPrefix="pp_task_context",this.supportedTaskContexts=["global","cookie-consent","privacy-rights","consent-preference","social-fortuna","ropa","data-discovery","dpia"],this.taskContextToCode={"cookie-consent":"cookie_consent","privacy-rights":"dsar","consent-preference":"consent_preference","social-fortuna":"social_fortuna",ropa:"ropa","data-discovery":"data_discovery",dpia:"dpia"},this.taskContextAliases={"cookie-consent":"cookie-consent","cookie consent":"cookie-consent","privacy-rights":"privacy-rights","privacy rights":"privacy-rights",dsar:"privacy-rights","dsar management":"privacy-rights","consent-preference":"consent-preference","consent preference":"consent-preference","social-fortuna":"social-fortuna","social fortuna":"social-fortuna",ropa:"ropa","data-discovery":"data-discovery","data discovery":"data-discovery",dpia:"dpia"},this.taskContextToModuleName={"cookie-consent":"Cookie Consent","privacy-rights":"DSAR Management","consent-preference":"Consent Preference","social-fortuna":"Social Fortuna",ropa:"RoPA Management","data-discovery":"Data Discovery",dpia:"DPIA"},this.moduleCodeMap={"ropa management":"ropa","vendor management":"vendor_management","data discovery":"data_discovery","incident response":"incident_response","cookie consent":"cookie_consent",dpia:"dpia","consent preference":"consent_preference","user management":"user_management","dsar management":"dsar","social fortuna":"social_fortuna"},this.rawOid="",this.rawPid="",this.rawTaskContext="global",this.routeTaskId="",this.linkedTaskHandled=!1,this.breadcrumbConfig={"cookie-consent":{label:"Cookie Consent",route:"/home/dashboard/cookie-consent"},"privacy-rights":{label:"Privacy Rights",route:"/home/dashboard/ccpa-dsar"},"consent-preference":{label:"Consent Preference",route:"/home/dashboard/consent-preference"},"social-fortuna":{label:"Social Fortuna",route:"/social-fortuna/dashboard"},ropa:{label:"ROPA",route:"/ropa/dashboard"},"data-discovery":{label:"Data Discovery",route:"/data-discovery/reports"},dpia:{label:"DPIA",route:"/assessment/dashboard"}}}init(){this.route.queryParamMap.pipe((0,I.w)(e=>{this.rawOid=e.get("oid")||"",this.rawPid=e.get("pid")||"",this.rawTaskContext=e.get("taskContext")||"",this.routeTaskId=this.normalizeQueryId(this.route.
1snapshot.paramMap.get("id")||"");const n=this.normalizeQueryId(this.rawOid),o=this.normalizeQueryId(this.rawPid),i=this.resolveTaskContext(this.rawTaskContext,this.rawPid,n,o);return this.linkedTaskHandled=!1,this.normalizeTaskRoute(n,o,i),this.stateService.updateState({oid:n,pid:o,taskContext:i,breadcrumbs:this.buildBreadcrumbs(n,o,i),initialLoading:!0,loadingContext:!0}),(0,M.D)({modules:this.apiService.getModules().pipe((0,k.K)(()=>(0,D.of)([]))),teamMembers:n?this.apiService.getTeamMembers(n).pipe((0,k.K)(()=>(0,D.of)([]))):(0,D.of)([])}).pipe((0,P.U)(s=>({...s,taskContext:i})))})).subscribe(({modules:e,teamMembers:n,taskContext:o})=>{const i=this.mapModules(e),s="global"===o?null:this.findModuleForContext(o,i),p="global"!==o;this.stateService.updateState({moduleOptions:i,visibleModuleOptions:p&&s?[s]:i,teamMembers:n,isModuleLocked:p,loadingContext:!1,selectedTask:this.getEmptyTask(s)}),this.loadTasks(!0)})}loadTasks(e=!1){const n=this.stateService.getState(),o=this.resolveOwnerId(n.oid,n.pid),i="global"===n.taskContext?void 0:this.resolveModuleId(n.taskContext,n.visibleModuleOptions?.[0]||n.selectedTask?.module);if(e&&this.stateService.updateState({initialLoading:!0}),!o){const s=this.readStoredTasks();return this.stateService.updateState({tasks:s,...e?{initialLoading:!1}:{}}),void this.applyFilters()}this.apiService.getTasks(o,i).subscribe({next:s=>{const p=this.sortTasksByDueDate(this.mapApiTasks(s,n.moduleOptions||[],n.teamMembers||[]));this.persistTasks(p),this.stateService.updateState({tasks:p,...e?{initialLoading:!1}:{}}),this.applyFilters(),this.tryOpenLinkedTaskDrawer(p)},error:()=>{const s=this.readStoredTasks();this.stateService.updateState({tasks:s,...e?{initialLoading:!1}:{}}),this.applyFilters(),this.tryOpenLinkedTaskDrawer(s)}})}search(e){this.applyFilters(this.stateService.getState().activeFilter,e)}filterTasks(e){this.applyFilters(e,this.stateService.getState().searchTerm)}toggleComplete(e){const n="completed"===this.normalizeStatus(e?.status||e?.step,e?.step)?"todo":"completed";this.changeTaskStatus(e,n)}changeTaskStatus(e,n,o){const i=this.stateService.getState(),s=this.resolveOwnerId(i.oid,i.pid),p=i.pid||void 0,m=this.normalizeStep(n),f=this.ensureModuleFromOptions((i.isModuleLocked?i.visibleModuleOptions[0]:null)||this.getSelectedModuleForTask(e,i.moduleOptions||[]),i.moduleOptions||[]),T={...e,step:m,status:this.mapStepToStatus(m),module:e?.module||f};if(!this.isPersistedTaskId(e?.id)||!s){const v=this.sortTasksByDueDate(i.tasks.map(w=>w.id===e.id?{...w,...this.toLocalTask(T,f,T,i.teamMembers||[]),id:w.id}:w));return this.persistTasks(v),this.stateService.updateState({tasks:v}),this.applyFilters(),this.showMessage("success",this.getStatusMessage(m)),void o?.()}this.apiService.updateTask(s,e.id,this.buildUpdatePayload(T,f),i.isModuleLocked?this.resolveModuleId(i.taskContext,f):void 0,p).subscribe({next:v=>{const w=this.toLocalTask(T,f,v?.data||T,i.teamMembers||[]),z=this.sortTasksByDueDate(this.stateService.getState().tasks.map($=>$.id===e.id?{...$,...w}:$));this.persistTasks(z),this.stateService.updateState({tasks:z}),this.applyFilters(),this.loadTasks(),this.showMessage("success",this.getStatusMessage(m)),o?.()},error:v=>{this.showMessage("error",this.getErrorMessage(v,"Failed to update task status")),o?.()}})}openDrawer(e){const n=this.stateService.getState();this.stateService.updateState({drawerOpen:!0,selectedTask:e?{...e,step:this.normalizeStep(e.step||this.mapStatusToStep(e.status)),module:(n.isModuleLocked?n.visibleModuleOptions[0]:null)||this.getSelectedModuleForTask(e,n.moduleOptions||[]),assigned_to:this.resolveAssignedUser(e.assigned_to||e.assigned_to_id,n.teamMembers),deadline:this.toDateInputValue(e.deadline),notification_days:Number(e.notification_days||2),approval:!!e.approval}:this.getEmptyTask(n.isModuleLocked?n.visibleModuleOptions[0]:null),isEdit:!!e})}closeDrawer(){const e=this.stateService.getState(),n=!!this.routeTaskId||!!this.route.snapshot.paramMap.get("id");this.stateService.updateState({drawerOpen:!1,submitting:!1,isEdit:!1,selectedTask:this.getEmptyTask(e.isModuleLocked?e.visibleModuleOptions?.[0]:null)}),n&&(this.routeTaskId="",this.router.navigate(["/task/manage-tasks"],{queryParams:{oid:e.oid,pid:e.pid,taskContext:e.taskContext},replaceUrl:!0}))}saveTask(e){const n=this.stateService.getState(),o=this.ensureModuleFromOptions((n.isModuleLocked?n.visibleModuleOptions[0]:null)||e?.module,n.moduleOptions||[]),i=this.resolveOwnerId(n.oid,n.pid),s=n.pid||void 0;if(n.isEdit){if(!(e?.title?.trim()&&e?.step&&e?.priority&&e?.deadline&&o&&e?.assigned_to))return;if(this.isPastDeadline(e?.deadline))return void this.showMessage("error","Deadline date cannot be earlier than the current date");if(!this.isPersistedTaskId(e?.id)||!i){const m=this.sortTasksByDueDate(n.tasks.map(f=>f.id===e.id?{...f,...this.toLocalTask(e,o,void 0,n.teamMembers||[]),id:f.id}:f));return this.persistTasks(m),this.stateService.updateState({tasks:m,drawerOpen:!1}),this.applyFilters(),void this.showMessage("success","Task updated successfully")}return this.stateService.updateState({submitting:!0}
1),void this.apiService.updateTask(i,e.id,this.buildUpdatePayload(e,o),n.isModuleLocked?this.resolveModuleId(n.taskContext,o):void 0,s).subscribe({next:m=>{const f=this.toLocalTask(e,o,m?.data,n.teamMembers||[]),T=this.sortTasksByDueDate(this.stateService.getState().tasks.map(v=>v.id===e.id?{...v,...f}:v));this.persistTasks(T),this.stateService.updateState({tasks:T,drawerOpen:!1,submitting:!1,selectedTask:this.getEmptyTask(n.isModuleLocked?n.visibleModuleOptions[0]:null)}),this.applyFilters(),this.loadTasks(),this.showMessage("success","Task updated successfully")},error:m=>{this.stateService.updateState({submitting:!1}),this.showMessage("error",this.getErrorMessage(m,"Failed to update task"))}})}const p={...e,step:"todo"};if(p?.title?.trim()&&p?.step&&e?.priority&&e?.deadline&&o&&e?.assigned_to&&i){if(this.isPastDeadline(e?.deadline))return void this.showMessage("error","Deadline date cannot be earlier than the current date");this.stateService.updateState({submitting:!0}),this.apiService.createTask(i,this.buildCreatePayload(p,o),s).subscribe({next:m=>{const f=this.sortTasksByDueDate([this.toLocalTask(p,o,m?.data,n.teamMembers||[]),...this.stateService.getState().tasks]);this.persistTasks(f),this.stateService.updateState({tasks:f,drawerOpen:!1,submitting:!1,selectedTask:this.getEmptyTask(n.isModuleLocked?n.visibleModuleOptions[0]:null)}),this.applyFilters(),this.loadTasks(),this.showMessage("success","Task created successfully")},error:m=>{this.stateService.updateState({submitting:!1}),this.showMessage("error",this.getErrorMessage(m,"Failed to create task"))}})}}deleteTask(e,n){n?.preventDefault(),n?.stopPropagation(),e&&this.confirmationService.confirm({message:`Are you sure you want to delete this task "${e.title||"Untitled Task"}"?`,header:"Confirmation",icon:"pi pi-exclamation-triangle",acceptLabel:"Yes",rejectLabel:"No",acceptIcon:"none",rejectIcon:"none",rejectButtonStyleClass:"p-button-text",accept:()=>{const o=this.stateService.getState(),i=this.resolveOwnerId(o.oid,o.pid),s=(o.isModuleLocked?o.visibleModuleOptions[0]:null)||this.getSelectedModuleForTask(e,o.moduleOptions||[]),p=o.isModuleLocked?this.resolveModuleId(o.taskContext,s):void 0;if(!this.isPersistedTaskId(e?.id)||!i)return this.removeTaskFromState(e.id),void this.showMessage("success","Task deleted successfully");this.apiService.deleteTask(i,e.id,p).subscribe({next:()=>{this.removeTaskFromState(e.id),this.loadTasks(),this.showMessage("success","Task deleted successfully")},error:m=>{this.showMessage("error",this.getErrorMessage(m,"Failed to delete task"))}})}})}getStateObs(){return this.stateService.getStateObs()}applyFilters(e,n){const o=this.stateService.getState(),i=e??o.activeFilter??"all",s=n??o.searchTerm??"",p=this.sortTasksByDueDate(this.stateService.getState().tasks.filter(m=>{const f="all"===i||this.normalizeStatus(m.step||m.status,m.step)===i,T=!s||(m.title||"").toLowerCase().includes(s.toLowerCase());return f&&T}));this.stateService.updateState({activeFilter:i,searchTerm:s,filteredTasks:p})}sortTasksByDueDate(e){return[...e||[]].sort((n,o)=>{const i=this.compareTaskDateValues(n?.deadline,o?.deadline,"asc");if(0!==i)return i;const s=this.compareTaskDateValues(n?.updated_at||n?.updatedAt||n?.modified_at,o?.updated_at||o?.updatedAt||o?.modified_at,"desc");if(0!==s)return s;const p=this.compareTaskDateValues(n?.created_at||n?.createdAt||n?.created_on,o?.created_at||o?.createdAt||o?.created_on,"desc");return 0!==p?p:(n?.title||"").localeCompare(o?.title||"")})}compareTaskDateValues(e,n,o){const i=this.toComparableDateValue(e),s=this.toComparableDateValue(n);return i===s?0:null===i?1:null===s?-1:"asc"===o?i-s:s-i}toComparableDateValue(e){if(!e)return null;const n="string"==typeof e&&/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00`:e,o=new Date(n).getTime();return Number.isNaN(o)?null:o}getEmptyTask(e=null){return{title:"",description:"",step:"todo",priority:"high",deadline:"",module:e,assigned_to:null,notification_days:2,approval:!1}}mapModules(e){return(e||[]).map(n=>{const o=this.normalizeValue(n?.name);return{...n,module_code:this.resolveModuleCode(o),display_name:n?.name||""}})}
1readStoredTasks(){try{const e=[this.getStorageKey(),this.getLegacyStorageKey(),this.getRawStorageKey(),this.getRawLegacyStorageKey()].filter(Boolean);for(const n of e){const o=localStorage.getItem(n),i=o?JSON.parse(o):[];if(Array.isArray(i)){const s=i.filter(p=>this.isPersistedTaskId(p?.id));if(s.length>0)return this.sortTasksByDueDate(s)}}return[]}catch{return[]}}persistTasks(e){try{const n=JSON.stringify(e||[]);[this.getStorageKey(),this.getLegacyStorageKey(),this.getRawStorageKey(),this.getRawLegacyStorageKey()].filter((i,s,p)=>!!i&&p.indexOf(i)===s).forEach(i=>localStorage.setItem(i,n))}catch{}}getStorageKey(){const e=this.stateService.getState();return`${this.storageKeyPrefix}_${e.oid}_${e.pid}`}getLegacyStorageKey(){const e=this.stateService.getState();return`${this.storageKeyPrefix}_${e.oid}_${e.pid}_${e.taskContext}`}getRawStorageKey(){return this.rawOid||this.rawPid?`${this.storageKeyPrefix}_${this.rawOid}_${this.rawPid}`:""}getRawLegacyStorageKey(){return this.rawOid||this.rawPid?`${this.storageKeyPrefix}_${this.rawOid}_${this.rawPid}_${this.rawTaskContext}`:""}findModuleForContext(e,n){const o=this.resolveCanonicalTaskContext(e)||e,i=this.taskContextToCode[o]||this.resolveModuleCode(this.normalizeValue(o)),s=this.taskContextToModuleName[o]||"";return n.find(m=>m.module_code===i||this.normalizeValue(m?.name||"")===this.normalizeValue(s))||(i?{id:null,name:s||o,module_code:i,display_name:s||o}:null)}buildCreatePayload(e,n){const o=n?.name||n?.display_name||e?.module_name||null,i=n?.id||e?.module_id||null,s={title:e.title,description:e.description||"",step:this.normalizeStep(e.step),priority:(e.priority||"high").toLowerCase(),deadline:this.toIsoDate(e.deadline),module:o,assigned_to:e.assigned_to?{id:e.assigned_to.user_id||e.assigned_to.id||e.assigned_to.approver_id,email:e.assigned_to.email}:void 0,module_id:i,notification_days:Number(e.notification_days||2),approval:!!e.approval};return(!s.assigned_to?.id||!s.assigned_to?.email)&&delete s.assigned_to,s}buildUpdatePayload(e,n){return{...this.buildCreatePayload(e,n),id:e?.id,status:this.mapStepToStatus(e?.step)}}mapApiTasks(e,n,o){return(e||[]).map(i=>{const s=this.findModuleForTask(i,n);return this.toLocalTask(i,s,i,o)})}findModuleForTask(e,n){const o=e?.module,i=o&&"object"==typeof o,s=e?.module_id||(i?o?.id:null),p=e?.module_code||(i?o?.module_code:null)||("string"==typeof o?o:null)||this.resolveModuleCode(this.normalizeValue(e?.module_name||(i?o?.name:"")||""));return n.find(m=>s&&m.id===s||p&&m.module_code===p)||null}getSelectedModuleForTask(e,n){const o=this.findModuleForTask(e,n);if(o)return o;const i=e?.module,s=i&&"object"==typeof i;return{id:e?.module_id||(s?i?.id:null)||null,name:e?.module_name||(s?i?.name:null)||("string"==typeof i?i:"")||"",module_code:e?.module_code||(s?i?.module_code:null)||this.resolveModuleCode(this.normalizeValue(e?.module_name||(s?i?.name:i)||""))}}toLocalTask(e,n,o,i=[]){const s=o||e,p=this.getAssignedSource(s,e),m=this.resolveAssignedUser(p,i),f=this.normalizeStep(s?.step||e?.step||this.mapStatusToStep(s?.status||e?.status)),T=this.normalizeStatus(s?.status||e?.status||f,f),v=m?.user_id||m?.id||m?.approver_id||("string"!=typeof p||p.includes("@")?"":p)||s?.assigned_to_id||e?.assigned_to_id||"",w=s?.created_at||s?.createdAt||s?.created_on||s?.createdOn||e?.created_at||e?.createdAt||e?.created_on||e?.createdOn||"",z=s?.updated_at||s?.updatedAt||s?.modified_at||s?.modifiedAt||s?.updated_on||s?.updatedOn||e?.updated_at||e?.updatedAt||e?.modified_at||e?.modifiedAt||e?.updated_on||e?.updatedOn||"";return{id:s?.id||e?.id||Date.now(),title:s?.title||e?.title||"",description:s?.description||e?.description||"",step:f,status:T,priority:(s?.priority||e?.priority||"high").toLowerCase(),deadline:this.toDateInputValue(s?.deadline||e?.deadline),module_id:s?.module_id||n?.id||null,module_name:n?.name||s?.module||e?.module||"",module_code:n?.module_code||this.resolveModuleCode(this.normalizeValue(s?.module||e?.module||"")),assigned_to:m,assigned_to_id:v,created_at:w,updated_at:z,notification_days:Number(s?.notification_days||e?.notification_days||2),approval:!!(s?.approval??e?.approval)}}mapStatusToStep(e){return"completed"===this.normalizeStatus(e)?"completed":"in-progress"===this.normalizeStatus(e)?"in_progress":"todo"}mapStepToStatus(e){return"completed"===this.normalizeStep(e)?"completed":"in_progress"===this.normalizeStep(e)?"in-progress":"pending"}mapAssignedUser(e,n){if(!e||!n?.length)return null;const o="string"==typeof e?e.includes("@")?"":e:e?.user_id||e?.id||e?.approver_id||e?.uid||"",i=("string"==typeof e?e.includes("@")?e:"":e?.email||e?.user_email||"").toLowerCase();return n.find(s=>!!o&&(s.approver_id===o||s.id===o||s.user_id===o)||!!i&&(s.email||"").toLowerCase()===i)||null}normalizeAssignedTo(e){if(!e)return null;if("string"==typeof e){const p=e.trim();if(!p)return null;const m=p.includes("@")?p:"";return{id:m?"":p,user_id:m?"":p,approver_id:"",email:m,display_email:p}}const n=e?.user_id||e?.id||e?.uid||e?.approver_id||"",o=e?.email||e?.user_email||"",i=e?.name||e?.full_name||e?.user_name||"",s=e?.display_email||(i&&o?`${i} || ${o}`:i||o);return n||o||s?{...e,id:n,approver_id:e?.approver_id||"",user_id:e?.user_id||n,email:o,display_email:s}:null}getAssignedSource(e,n){return[e?.assigned_to,e?.assignee,e?.assigned_to_id,n?.assigned_to,n?.assignee,n?.assigned_to_id].find(o=>null!=o&&""!==o)||null}resolveAssignedUser(e,n){return this.mapAssignedUser(e,n)||this.normalizeAssignedTo(e)}resolveUpdateModuleCode(e,n){if("global"!==e)return n?.module_code||this.taskContextToCode[e]||this.resolveModuleCode(this.normalizeValue(n?.name||e))}resolveModuleId(e,n){return n?.id||void 0}ensureModuleFromOptions(e,n){if(!e||e?.id)return e;const o=e?.module_code||this.resolveModuleCode(this.normalizeValue(e?.name||""));return n.find(i=>i.id===e?.module_id||i.module_code===o||this.normalizeValue(i?.name||"")===this.normalizeValue(e?.name||""))||e}isPersistedTaskId(e){return"string"==typeof e&&/^[0-9a-f-]{36}$/i.test(e)}removeTaskFromState(e){const n=this.sortTasksByDueDate(this.stateService.getState().tasks.filter(o=>o.id!==e));this.persistTasks(n),this.stateService.updateState({tasks:n,drawerOpen:this.stateService.getState().selectedTask?.id!==e&&this.stateService.getState().drawerOpen}),this.applyFilters()}buildBreadcrumbs(e,n,o){const i={oid:e,pid:n},s={...i,taskContext:o},p=[{label:"Home",route:"/home/welcome",queryParams:i}];if("global"===o)return p.push({label:"Manage Tasks",route:"/task/manage-tasks",queryParams:s}),p;const m=this.breadcrumbConfig[o];return m&&p.push({label:m.label,route:m.route,queryParams:i}
1),p.push({label:"Manage Tasks",route:"/task/manage-tasks",queryParams:s}),p}getErrorMessage(e,n){return e?.error?.error||e?.error?.message||n}showMessage(e,n){this.messageService.add({severity:e,summary:"success"===e?"Success":"Error",detail:n})}resolveOwnerId(e,n){return e||n}resolveModuleCode(e){return this.moduleCodeMap[e]||e.replace(/\s+/g,"_")}normalizeValue(e){return(e||"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()}getStatusMessage(e){return"completed"===this.normalizeStep(e)?"Task completed successfully":"in_progress"===this.normalizeStep(e)?"Task moved to In Progress":"Task moved to Pending"}normalizeStatus(e,n){const o=this.normalizeValue(n||e||"");return"completed"===o||"complete"===o||"done"===o?"completed":"in progress"===o||"inprogress"===o||"progress"===o?"in-progress":"pending"===o||"todo"===o||"to do"===o||"open"===o?"pending":n?this.mapStepToStatus(n):"pending"}normalizeStep(e){const n=this.normalizeValue(e||"");return"completed"===n||"complete"===n||"done"===n?"completed":"in progress"===n||"inprogress"===n||"progress"===n?"in_progress":"todo"}resolveCanonicalTaskContext(e){const n=this.normalizeValue(e||"");return n&&(this.taskContextAliases[n]||this.supportedTaskContexts.find(o=>this.normalizeValue(o)===n))||""}toIsoDate(e){if(!e)return null;const n=new Date(e);return Number.isNaN(n.getTime())?null:n.toISOString()}toDateInputValue(e){return e?e.length>=10?e.slice(0,10):e:""}isPastDeadline(e){return!!e&&this.toDateInputValue(e)<this.getTodayDateValue()}getTodayDateValue(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}normalizeQueryId(e){if(!e)return"";const n=this.decodeRepeatedly(e).match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return n?n[0]:e}resolveTaskContext(e,n,o,i){const s=this.resolveCanonicalTaskContext(e);if(s)return this.persistTaskContext(o,i,s),s;const p=this.resolveCanonicalTaskContext(this.isReloadNavigation()?this.getPersistedTaskContext(o,i):"");if(p)return p;const m=this.resolveCanonicalTaskContext(this.getTaskContextFromReferrer());if(m)return this.persistTaskContext(o,i,m),m;const f=this.decodeRepeatedly(n).toLowerCase();return this.supportedTaskContexts.find(v=>"global"!==v&&-1!==f.indexOf(v))||"global"}decodeRepeatedly(e){let n=e||"";for(let o=0;o<3;o+=1)try{const i=decodeURIComponent(n);if(i===n)break;n=i}catch{break}return n}persistTaskContext(e,n,o){if(e&&n)try{const i=this.getTaskContextStorageKey(e,n);o&&"global"!==o?sessionStorage.setItem(i,o):sessionStorage.removeItem(i)}catch{}}getPersistedTaskContext(e,n){if(!e||!n)return"";try{return sessionStorage.getItem(this.getTaskContextStorageKey(e,n))||""}catch{}return""}getTaskContextStorageKey(e,n){return`${this.taskContextStorageKeyPrefix}_${e}_${n}`}getTaskContextFromReferrer(){try{const e=document.referrer;if(!e)return"";const n=new URL(e).pathname.toLowerCase();if(n.includes("/ropa"))return"ropa";if(n.includes("/privacy/dsar")||n.includes("/ccpa-dsar"))return"privacy-rights";if(n.includes("/assessment"))return"dpia";if(n.includes("/data-discovery"))return"data-discovery";if(n.includes("/cookie-consent"))return"cookie-consent";if(n.includes("/consent-preference"))return"consent-preference";if(n.includes("/social-fortuna"))return"social-fortuna"}catch{}return""}isReloadNavigation(){try{const e=performance.getEntriesByType("navigation");return e?.length?"reload"===e[0].type:1===performance?.navigation?.type}catch{return!1}}normalizeTaskRoute(e,n,o){e===this.rawOid&&n===this.rawPid&&o===this.rawTaskContext||this.router.navigate([],{relativeTo:this.route,queryParams:{oid:e,pid:n,taskContext:o},replaceUrl:!0})}tryOpenLinkedTaskDrawer(e){if(!this.routeTaskId||this.linkedTaskHandled)return;const n=(e||[]).find(s=>String(s?.id||"")===this.routeTaskId);if(!n)return;this.linkedTaskHandled=!0;const o=this.stateService.getState(),i=this.findModuleForTask(n,o.moduleOptions||[]);if(i?.module_code){const s=this.moduleCodeToTaskContext(i.module_code);"global"!==s&&(this.stateService.updateState({taskContext:s,isModuleLocked:!0,visibleModuleOptions:[i]}),this.normalizeTaskRoute(o.oid,o.pid,s))}this.openDrawer(n)}moduleCodeToTaskContext(e){const n=Object.entries(this.taskContextToCode).find(([,o])=>o===e);return n?n[0]:this.resolveCanonicalTaskContext(e)||"global"}};let r=d;return d.\u0275fac=function(n){return new(n||d)(t.LFG(J),t.LFG(Q),t.LFG(y.gz),t.LFG(y.F0),t.LFG(A.ez),t.LFG(A.YP))},d.\u0275prov=t.Yz7({token:d,factory:d.\u0275fac}),r})();var q=_(18178),N=_(34466),F=_(79723),u=_(1637),x=_(53977),l=_(12553);
1function g(r,d){if(1&r&&(t.TgZ(0,"a",40),t._uU(1),t.qZA()),2&r){const a=t.oxw().$implicit;t.Q6J("routerLink",a.route)("queryParams",a.queryParams),t.xp6(1),t.hij(" ",a.label," ")}}function h(r,d){if(1&r&&(t.TgZ(0,"span",41),t._uU(1),t.qZA()),2&r){const a=t.oxw().$implicit;t.xp6(1),t.Oqu(a.label)}}function b(r,d){1&r&&(t.TgZ(0,"span",42),t._uU(1,"/"),t.qZA())}function Y(r,d){if(1&r&&(t.ynx(0),t.YNc(1,g,2,3,"a",37),t.YNc(2,h,2,1,"span",38),t.YNc(3,b,2,0,"span",39),t.BQk()),2&r){const a=d.last;t.xp6(1),t.Q6J("ngIf",!a),t.xp6(1),t.Q6J("ngIf",a),t.xp6(1),t.Q6J("ngIf",!a)}}function V(r,d){if(1&r&&(t.TgZ(0,"div",34)(1,"nav",35),t.YNc(2,Y,4,3,"ng-container",36),t.qZA()()),2&r){const a=t.oxw().ngIf;t.xp6(2),t.Q6J("ngForOf",a.breadcrumbs)}}function R(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"button",60),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(3);return t.KtG(i.setFilter(o.value))}),t._UZ(1,"i"),t.TgZ(2,"span"),t._uU(3),t.qZA(),t.TgZ(4,"span",61),t._uU(5),t.qZA()()}if(2&r){const a=d.$implicit,e=t.oxw(2).ngIf,n=t.oxw();t.ekj("active",n.selectedFilter===a.value),t.xp6(1),t.Tol(a.icon),t.xp6(2),t.Oqu(a.label),t.xp6(2),t.Oqu(n.getFilterCount(a.value,e.tasks))}}function G(r,d){if(1&r&&(t.TgZ(0,"div",100)(1,"span",90),t._uU(2,"Created"),t.qZA(),t.TgZ(3,"strong",91),t._uU(4),t.ALo(5,"date"),t.qZA()()),2&r){const a=t.oxw().$implicit,e=t.oxw(6);t.xp6(4),t.hij(" ",t.xi3(5,1,e.getTaskCreatedAt(a),"dd MMM yyyy, hh:mm a")," ")}}function H(r,d){if(1&r&&(t.TgZ(0,"div",100)(1,"span",90),t._uU(2,"Updated"),t.qZA(),t.TgZ(3,"strong",91),t._uU(4),t.ALo(5,"date"),t.qZA()()),2&r){const a=t.oxw().$implicit,e=t.oxw(6);t.xp6(4),t.hij(" ",t.xi3(5,1,e.getTaskUpdatedAt(a),"dd MMM yyyy, hh:mm a")," ")}}function W(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"article",75)(1,"div",76)(2,"div",77)(3,"span",78),t._uU(4,"Pending"),t.qZA()(),t.TgZ(5,"div",79)(6,"span",80),t._uU(7),t.qZA(),t.TgZ(8,"button",81),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(6);return t.KtG(i.editTask(o))}),t._UZ(9,"i",82),t.qZA(),t.TgZ(10,"button",83),t.NdJ("click",function(n){const i=t.CHM(a).$implicit,s=t.oxw(6);return t.KtG(s.deleteTask(i,n))}),t._UZ(11,"i",84),t.qZA()()(),t.TgZ(12,"div",85)(13,"h3",86),t._uU(14),t.qZA(),t.TgZ(15,"p",87),t._uU(16),t.qZA()(),t.TgZ(17,"div",88)(18,"div",89)(19,"span",90),t._uU(20,"Due Date"),t.qZA(),t.TgZ(21,"strong",91),t._uU(22),t.ALo(23,"date"),t.qZA()(),t.TgZ(24,"div",92)(25,"span",90),t._uU(26,"Module"),t.qZA(),t.TgZ(27,"strong",91),t._uU(28),t.qZA()(),t.TgZ(29,"div",93)(30,"span",90),t._uU(31,"Assignee"),t.qZA(),t.TgZ(32,"div",94)(33,"span",95),t._uU(34),t.qZA(),t.TgZ(35,"strong",91),t._uU(36),t.qZA()()(),t.YNc(37,G,6,4,"div",96),t.YNc(38,H,6,4,"div",96),t.qZA(),t.TgZ(39,"div",97)(40,"div",98)(41,"button",99),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(6);return t.KtG(i.changeTaskStatus(o,"in_progress"))}),t._uU(42),t.qZA()()()()}if(2&r){const a=d.$implicit,e=t.oxw(6);t.ekj("tm-task-card--busy",e.isTaskMoveLoading(a))("tm-task-card--draggable",!e.isTaskDragDisabled(a)),t.Q6J("cdkDragData",a)("cdkDragDisabled",e.isTaskDragDisabled(a)),t.uIk("title",e.getTaskCardTooltip(a)),t.xp6(6),t.Q6J("ngClass","tm-priority--"+e.getTaskPriority(a)),t.xp6(1),t.hij(" ",e.getTaskPriorityLabel(a)," "),t.xp6(7),t.Oqu(a.title),t.xp6(2),t.hij(" ",a.description||"No description added."," "),t.xp6(6),t.hij(" ",a.deadline?t.xi3(23,19,a.deadline,"dd MMM yyyy"):"Not set"," "),t.xp6(6),t.Oqu(e.getTaskModuleName(a)),t.xp6(6),t.Oqu(e.getTaskAssigneeInitials(a)),t.xp6(2),t.Oqu(e.getTaskAssigneeLabel(a)),t.xp6(1),t.Q6J("ngIf",e.getTaskCreatedAt(a)),t.xp6(1),t.Q6J("ngIf",e.getTaskUpdatedAt(a)),t.xp6(3),t.Q6J("disabled",e.isStatusActionLoading(a,"in_progress")),t.xp6(1),t.hij(" ",e.isStatusActionLoading(a,"in_progress")?"Starting...":"Start Task"," ")}}function X(r,d){if(1&r&&(t.ynx(0),t.YNc(1,W,43,22,"article",74),t.BQk()),2&r){const a=t.oxw(2).ngIf;t.xp6(1),t.Q6J("ngForOf",a)}}function tt(r,d){1&r&&(t.TgZ(0,"div",101),t._UZ(1,"i",102),t.TgZ(2,"h3"),t._uU(3,"No pending tasks"),t.qZA(),t.TgZ(4,"p"),t._uU(5,"Create a task or refine your filters to populate this stage."),t.qZA()())}function et(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"div",72),t.NdJ("cdkDropListDropped",function(n){t.CHM(a);const o=t.oxw(4);return t.KtG(o.onTaskDrop(n,"pending"))}),t.YNc(1,X,2,1,"ng-container",8),t.YNc(2,tt,6,0,"ng-template",null,73,t.W1O),t.qZA()}if(2&r){const a=t.MAs(3),e=t.oxw().ngIf,n=t.oxw(3);t.Q6J("id",n.pendingColumnId)("cdkDropListData",e)("cdkDropListConnectedTo",n.pendingDropTargets)("cdkDropListSortingDisabled",!0)("cdkDropListAutoScrollDisabled",!0)("cdkDropListEnterPredicate",n.canDropTask),t.xp6(1),t.Q6J("ngIf",e.length)("ngIfElse",a)}}function nt(r,d){if(1&r){const a=t.EpF();t.ynx(0),t.TgZ(1,"article",62)(2,"header",63),t.NdJ("click",function(){t.CHM(a);const n=t.oxw(3);return t.KtG(n.pendingOpen=!n.pendingOpen)}),t.TgZ(3,"div",64)(4,"div",65),t._UZ(5,"span",66),t.TgZ(6,"h2"),t._uU(7,"Pending"),t.qZA()()(),t.TgZ(8,"div",67)(9,"span",68),t._uU(10),t.qZA(),t.TgZ(11,"button",69),t._UZ(12,"i",70),t.qZA()()(),t.YNc(13,et,4,8,"div",71),t.qZA(),t.BQk()}if(2&r){const a=d.ngIf,e=t.oxw(3);
1t.xp6(10),t.Oqu(a.length),t.xp6(2),t.ekj("pi-chevron-down",!e.pendingOpen)("pi-chevron-up",e.pendingOpen),t.xp6(1),t.Q6J("ngIf",e.pendingOpen)}}function ot(r,d){if(1&r&&(t.TgZ(0,"div",100)(1,"span",90),t._uU(2,"Created"),t.qZA(),t.TgZ(3,"strong",91),t._uU(4),t.ALo(5,"date"),t.qZA()()),2&r){const a=t.oxw().$implicit,e=t.oxw(6);t.xp6(4),t.hij(" ",t.xi3(5,1,e.getTaskCreatedAt(a),"dd MMM yyyy, hh:mm a")," ")}}function it(r,d){if(1&r&&(t.TgZ(0,"div",100)(1,"span",90),t._uU(2,"Updated"),t.qZA(),t.TgZ(3,"strong",91),t._uU(4),t.ALo(5,"date"),t.qZA()()),2&r){const a=t.oxw().$implicit,e=t.oxw(6);t.xp6(4),t.hij(" ",t.xi3(5,1,e.getTaskUpdatedAt(a),"dd MMM yyyy, hh:mm a")," ")}}function at(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"article",75)(1,"div",76)(2,"div",77)(3,"span",106),t._uU(4," In Progress "),t.qZA()(),t.TgZ(5,"div",79)(6,"span",80),t._uU(7),t.qZA(),t.TgZ(8,"button",81),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(6);return t.KtG(i.editTask(o))}),t._UZ(9,"i",82),t.qZA(),t.TgZ(10,"button",83),t.NdJ("click",function(n){const i=t.CHM(a).$implicit,s=t.oxw(6);return t.KtG(s.deleteTask(i,n))}),t._UZ(11,"i",84),t.qZA()()(),t.TgZ(12,"div",85)(13,"h3",86),t._uU(14),t.qZA(),t.TgZ(15,"p",87),t._uU(16),t.qZA()(),t.TgZ(17,"div",88)(18,"div",89)(19,"span",90),t._uU(20,"Due Date"),t.qZA(),t.TgZ(21,"strong",91),t._uU(22),t.ALo(23,"date"),t.qZA()(),t.TgZ(24,"div",92)(25,"span",90),t._uU(26,"Module"),t.qZA(),t.TgZ(27,"strong",91),t._uU(28),t.qZA()(),t.TgZ(29,"div",93)(30,"span",90),t._uU(31,"Assignee"),t.qZA(),t.TgZ(32,"div",94)(33,"span",95),t._uU(34),t.qZA(),t.TgZ(35,"strong",91),t._uU(36),t.qZA()()(),t.YNc(37,ot,6,4,"div",96),t.YNc(38,it,6,4,"div",96),t.qZA(),t.TgZ(39,"div",97)(40,"div",98)(41,"button",107),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(6);return t.KtG(i.changeTaskStatus(o,"completed"))}),t._uU(42),t.qZA()()()()}if(2&r){const a=d.$implicit,e=t.oxw(6);t.ekj("tm-task-card--busy",e.isTaskMoveLoading(a))("tm-task-card--draggable",!e.isTaskDragDisabled(a)),t.Q6J("cdkDragData",a)("cdkDragDisabled",e.isTaskDragDisabled(a)),t.uIk("title",e.getTaskCardTooltip(a)),t.xp6(6),t.Q6J("ngClass","tm-priority--"+e.getTaskPriority(a)),t.xp6(1),t.hij(" ",e.getTaskPriorityLabel(a)," "),t.xp6(7),t.Oqu(a.title),t.xp6(2),t.hij(" ",a.description||"No description added."," "),t.xp6(6),t.hij(" ",a.deadline?t.xi3(23,19,a.deadline,"dd MMM yyyy"):"Not set"," "),t.xp6(6),t.Oqu(e.getTaskModuleName(a)),t.xp6(6),t.Oqu(e.getTaskAssigneeInitials(a)),t.xp6(2),t.Oqu(e.getTaskAssigneeLabel(a)),t.xp6(1),t.Q6J("ngIf",e.getTaskCreatedAt(a)),t.xp6(1),t.Q6J("ngIf",e.getTaskUpdatedAt(a)),t.xp6(3),t.Q6J("disabled",e.isStatusActionLoading(a,"completed")),t.xp6(1),t.hij(" ",e.isStatusActionLoading(a,"completed")?"Marking Completed...":"Mark Completed"," ")}}function st(r,d){if(1&r&&(t.ynx(0),t.YNc(1,at,43,22,"article",74),t.BQk()),2&r){const a=t.oxw(2).ngIf;t.xp6(1),t.Q6J("ngForOf",a)}}function rt(r,d){1&r&&(t.TgZ(0,"div",108),t._UZ(1,"i",109),t.TgZ(2,"h3"),t._uU(3,"No active tasks"),t.qZA(),t.TgZ(4,"p"),t._uU(5,"Tasks moved forward from Pending will appear here."),t.qZA()())}function dt(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"div",72),t.NdJ("cdkDropListDropped",function(n){t.CHM(a);const o=t.oxw(4);return t.KtG(o.onTaskDrop(n,"in-progress"))}),t.YNc(1,st,2,1,"ng-container",8),t.YNc(2,rt,6,0,"ng-template",null,105,t.W1O),t.qZA()}if(2&r){const a=t.MAs(3),e=t.oxw().ngIf,n=t.oxw(3);t.Q6J("id",n.inProgressColumnId)("cdkDropListData",e)("cdkDropListConnectedTo",n.inProgressDropTargets)("cdkDropListSortingDisabled",!0)("cdkDropListAutoScrollDisabled",!0)("cdkDropListEnterPredicate",n.canDropTask),t.xp6(1),t.Q6J("ngIf",e.length)("ngIfElse",a)}}function ct(r,d){if(1&r){const a=t.EpF();t.ynx(0),t.TgZ(1,"article",103)(2,"header",63),t.NdJ("click",function(){t.CHM(a);const n=t.oxw(3);return t.KtG(n.inProgressOpen=!n.inProgressOpen)}),t.TgZ(3,"div",64)(4,"div",65),t._UZ(5,"span",66),t.TgZ(6,"h2"),t._uU(7,"In Progress"),t.qZA()()(),t.TgZ(8,"div",67)(9,"span",68),t._uU(10),t.qZA(),t.TgZ(11,"button",104),t._UZ(12,"i",70),t.qZA()()(),t.YNc(13,dt,4,8,"div",71),t.qZA(),t.BQk()}if(2&r){const a=d.ngIf,e=t.oxw(3);
1t.xp6(10),t.Oqu(a.length),t.xp6(2),t.ekj("pi-chevron-down",!e.inProgressOpen)("pi-chevron-up",e.inProgressOpen),t.xp6(1),t.Q6J("ngIf",e.inProgressOpen)}}function lt(r,d){if(1&r&&(t.TgZ(0,"div",100)(1,"span",90),t._uU(2,"Created"),t.qZA(),t.TgZ(3,"strong",91),t._uU(4),t.ALo(5,"date"),t.qZA()()),2&r){const a=t.oxw().$implicit,e=t.oxw(6);t.xp6(4),t.hij(" ",t.xi3(5,1,e.getTaskCreatedAt(a),"dd MMM yyyy, hh:mm a")," ")}}function pt(r,d){if(1&r&&(t.TgZ(0,"div",100)(1,"span",90),t._uU(2,"Updated"),t.qZA(),t.TgZ(3,"strong",91),t._uU(4),t.ALo(5,"date"),t.qZA()()),2&r){const a=t.oxw().$implicit,e=t.oxw(6);t.xp6(4),t.hij(" ",t.xi3(5,1,e.getTaskUpdatedAt(a),"dd MMM yyyy, hh:mm a")," ")}}function mt(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"article",75)(1,"div",76)(2,"div",77)(3,"span",113),t._uU(4," Completed "),t.qZA()(),t.TgZ(5,"div",79)(6,"span",80),t._uU(7),t.qZA(),t.TgZ(8,"button",81),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(6);return t.KtG(i.editTask(o))}),t._UZ(9,"i",82),t.qZA(),t.TgZ(10,"button",83),t.NdJ("click",function(n){const i=t.CHM(a).$implicit,s=t.oxw(6);return t.KtG(s.deleteTask(i,n))}),t._UZ(11,"i",84),t.qZA()()(),t.TgZ(12,"div",85)(13,"h3",86),t._uU(14),t.qZA(),t.TgZ(15,"p",87),t._uU(16),t.qZA()(),t.TgZ(17,"div",88)(18,"div",89)(19,"span",90),t._uU(20,"Due Date"),t.qZA(),t.TgZ(21,"strong",91),t._uU(22),t.ALo(23,"date"),t.qZA()(),t.TgZ(24,"div",92)(25,"span",90),t._uU(26,"Module"),t.qZA(),t.TgZ(27,"strong",91),t._uU(28),t.qZA()(),t.TgZ(29,"div",93)(30,"span",90),t._uU(31,"Assignee"),t.qZA(),t.TgZ(32,"div",94)(33,"span",95),t._uU(34),t.qZA(),t.TgZ(35,"strong",91),t._uU(36),t.qZA()()(),t.YNc(37,lt,6,4,"div",96),t.YNc(38,pt,6,4,"div",96),t.qZA(),t.TgZ(39,"div",97)(40,"div",98)(41,"button",114),t.NdJ("click",function(){const o=t.CHM(a).$implicit,i=t.oxw(6);return t.KtG(i.changeTaskStatus(o,"todo"))}),t._uU(42),t.qZA()()()()}if(2&r){const a=d.$implicit,e=t.oxw(6);t.ekj("tm-task-card--busy",e.isTaskMoveLoading(a))("tm-task-card--draggable",!e.isTaskDragDisabled(a)),t.Q6J("cdkDragData",a)("cdkDragDisabled",e.isTaskDragDisabled(a)),t.uIk("title",e.getTaskCardTooltip(a)),t.xp6(6),t.Q6J("ngClass","tm-priority--"+e.getTaskPriority(a)),t.xp6(1),t.hij(" ",e.getTaskPriorityLabel(a)," "),t.xp6(7),t.Oqu(a.title),t.xp6(2),t.hij(" ",a.description||"No description added."," "),t.xp6(6),t.hij(" ",a.deadline?t.xi3(23,19,a.deadline,"dd MMM yyyy"):"Not set"," "),t.xp6(6),t.Oqu(e.getTaskModuleName(a)),t.xp6(6),t.Oqu(e.getTaskAssigneeInitials(a)),t.xp6(2),t.Oqu(e.getTaskAssigneeLabel(a)),t.xp6(1),t.Q6J("ngIf",e.getTaskCreatedAt(a)),t.xp6(1),t.Q6J("ngIf",e.getTaskUpdatedAt(a)),t.xp6(3),t.Q6J("disabled",e.isStatusActionLoading(a,"todo")),t.xp6(1),t.hij(" ",e.isStatusActionLoading(a,"todo")?"Reopening Task...":"Reopen Task"," ")}}function gt(r,d){if(1&r&&(t.ynx(0),t.YNc(1,mt,43,22,"article",74),t.BQk()),2&r){const a=t.oxw(2).ngIf;t.xp6(1),t.Q6J("ngForOf",a)}}function ut(r,d){1&r&&(t.TgZ(0,"div",115),t._UZ(1,"i",116),t.TgZ(2,"h3"),t._uU(3,"No completed tasks"),t.qZA(),t.TgZ(4,"p"),t._uU(5,"Completed work will appear here once active tasks are finished."),t.qZA()())}function _t(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"div",72),t.NdJ("cdkDropListDropped",function(n){t.CHM(a);const o=t.oxw(4);return t.KtG(o.onTaskDrop(n,"completed"))}),t.YNc(1,gt,2,1,"ng-container",8),t.YNc(2,ut,6,0,"ng-template",null,112,t.W1O),t.qZA()}if(2&r){const a=t.MAs(3),e=t.oxw().ngIf,n=t.oxw(3);t.Q6J("id",n.completedColumnId)("cdkDropListData",e)("cdkDropListConnectedTo",n.completedDropTargets)("cdkDropListSortingDisabled",!0)("cdkDropListAutoScrollDisabled",!0)("cdkDropListEnterPredicate",n.canDropTask),t.xp6(1),t.Q6J("ngIf",e.length)("ngIfElse",a)}}function ht(r,d){if(1&r){const a=t.EpF();t.ynx(0),t.TgZ(1,"article",110)(2,"header",63),t.NdJ("click",function(){t.CHM(a);const n=t.oxw(3);return t.KtG(n.completedOpen=!n.completedOpen)}),t.TgZ(3,"div",64)(4,"div",65),t._UZ(5,"span",66),t.TgZ(6,"h2"),t._uU(7,"Completed"),t.qZA()()(),t.TgZ(8,"div",67)(9,"span",68),t._uU(10),t.qZA(),t.TgZ(11,"button",111),t._UZ(12,"i",70),t.qZA()()(),t.YNc(13,_t,4,8,"div",71),t.qZA(),t.BQk()}if(2&r){const a=d.ngIf,e=t.oxw(3);
1t.xp6(10),t.Oqu(a.length),t.xp6(2),t.ekj("pi-chevron-down",!e.completedOpen)("pi-chevron-up",e.completedOpen),t.xp6(1),t.Q6J("ngIf",e.completedOpen)}}function ft(r,d){if(1&r){const a=t.EpF();t.ynx(0),t.TgZ(1,"section",43)(2,"article",44)(3,"span",45),t._uU(4,"Total Tasks"),t.qZA(),t.TgZ(5,"strong",46),t._uU(6),t.qZA(),t.TgZ(7,"span",47),t._uU(8,"All tracked work items"),t.qZA()(),t.TgZ(9,"article",48)(10,"span",45),t._uU(11,"Pending"),t.qZA(),t.TgZ(12,"strong",46),t._uU(13),t.qZA(),t.TgZ(14,"span",47),t._uU(15,"Ready to be started"),t.qZA()(),t.TgZ(16,"article",49)(17,"span",45),t._uU(18,"In Progress"),t.qZA(),t.TgZ(19,"strong",46),t._uU(20),t.qZA(),t.TgZ(21,"span",47),t._uU(22,"Actively being worked on"),t.qZA()(),t.TgZ(23,"article",50)(24,"span",45),t._uU(25,"Completed"),t.qZA(),t.TgZ(26,"strong",46),t._uU(27),t.qZA(),t.TgZ(28,"span",47),t._uU(29,"Finished and closed"),t.qZA()()(),t.TgZ(30,"section",51)(31,"div",52)(32,"div",53),t._UZ(33,"i",54),t.TgZ(34,"input",55),t.NdJ("ngModelChange",function(n){t.CHM(a);const o=t.oxw(2);return t.KtG(o.searchTerm=n)})("input",function(){t.CHM(a);const n=t.oxw(2);return t.KtG(n.onSearch())}),t.qZA()(),t.TgZ(35,"div",56),t.YNc(36,R,6,6,"button",57),t.qZA()()(),t.TgZ(37,"section",58),t.YNc(38,nt,14,6,"ng-container",59),t.YNc(39,ct,14,6,"ng-container",59),t.YNc(40,ht,14,6,"ng-container",59),t.qZA(),t.BQk()}if(2&r){const a=t.oxw().ngIf,e=t.oxw();
1t.xp6(6),t.Oqu(a.tasks.length),t.xp6(7),t.Oqu(e.getPendingCount(a.tasks)),t.xp6(7),t.Oqu(e.getInProgressCount(a.tasks)),t.xp6(7),t.Oqu(e.getCompletedCount(a.tasks)),t.xp6(7),t.Q6J("ngModel",e.searchTerm),t.xp6(2),t.Q6J("ngForOf",e.filterOptions),t.xp6(2),t.Q6J("ngIf",e.getTasksByStatus(a.filteredTasks,"pending")),t.xp6(1),t.Q6J("ngIf",e.getTasksByStatus(a.filteredTasks,"in-progress")),t.xp6(1),t.Q6J("ngIf",e.getTasksByStatus(a.filteredTasks,"completed"))}}const xt=function(){return{height:"12px",width:"88px"}},kt=function(){return{height:"38px",width:"76px"}},Tt=function(){return{height:"12px",width:"160px"}};function vt(r,d){1&r&&(t.TgZ(0,"article",126)(1,"div",127),t._UZ(2,"ngx-skeleton-loader",121)(3,"ngx-skeleton-loader",121)(4,"ngx-skeleton-loader",121),t.qZA()()),2&r&&(t.Q6J("ngClass","tm-summary-card--"+d.$implicit.modifier),t.xp6(2),t.Q6J("theme",t.DdM(4,xt)),t.xp6(1),t.Q6J("theme",t.DdM(5,kt)),t.xp6(1),t.Q6J("theme",t.DdM(6,Tt)))}const bt=function(r){return{height:"36px",width:r,"border-radius":"999px"}};function Ct(r,d){1&r&&t._UZ(0,"ngx-skeleton-loader",121),2&r&&t.Q6J("theme",t.VKq(1,bt,d.$implicit+"px"))}const yt=function(){return{height:"166px",width:"100%"}};function Mt(r,d){1&r&&(t.TgZ(0,"article",132),t._UZ(1,"ngx-skeleton-loader",121),t.qZA()),2&r&&(t.xp6(1),t.Q6J("theme",t.DdM(1,yt)))}const Ot=function(){return{height:"26px",width:"42px","border-radius":"999px"}},wt=function(){return{height:"28px",width:"28px","border-radius":"8px"}};function Pt(r,d){if(1&r&&(t.TgZ(0,"article",128)(1,"header",129)(2,"div",64)(3,"div",65),t._UZ(4,"span",66),t.TgZ(5,"h2"),t._uU(6),t.qZA()()(),t.TgZ(7,"div",67),t._UZ(8,"ngx-skeleton-loader",121)(9,"ngx-skeleton-loader",121),t.qZA()(),t.TgZ(10,"div",130),t.YNc(11,Mt,2,2,"article",131),t.qZA()()),2&r){const a=d.$implicit,e=t.oxw(3);t.Q6J("ngClass","tm-column--"+a.modifier),t.xp6(6),t.Oqu(a.title),t.xp6(2),t.Q6J("theme",t.DdM(5,Ot)),t.xp6(1),t.Q6J("theme",t.DdM(6,wt)),t.xp6(2),t.Q6J("ngForOf",e.taskCardSkeletons)}}const St=function(){return{height:"24px",width:"100%"}};function Zt(r,d){if(1&r&&(t.TgZ(0,"section",117),t.YNc(1,vt,5,7,"article",118),t.qZA(),t.TgZ(2,"section",119)(3,"div",52)(4,"div",120),t._UZ(5,"ngx-skeleton-loader",121),t.qZA(),t.TgZ(6,"div",122),t.YNc(7,Ct,1,3,"ngx-skeleton-loader",123),t.qZA()()(),t.TgZ(8,"section",124),t.YNc(9,Pt,12,7,"article",125),t.qZA()),2&r){const a=t.oxw(2);t.xp6(1),t.Q6J("ngForOf",a.summarySkeletonCards),t.xp6(4),t.Q6J("theme",t.DdM(4,St)),t.xp6(2),t.Q6J("ngForOf",a.filterSkeletonChips),t.xp6(2),t.Q6J("ngForOf",a.columnSkeletons)}}function At(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"div",133),t.NdJ("click",function(){t.CHM(a);const n=t.oxw(2);return t.KtG(n.taskActionService.closeDrawer())}),t.qZA()}}function Dt(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"div",20)(1,"label"),t._uU(2,"Status "),t.TgZ(3,"span",21),t._uU(4,"*"),t.qZA()(),t.TgZ(5,"p-dropdown",134),t.NdJ("ngModelChange",function(n){t.CHM(a);const o=t.oxw().ngIf;return t.KtG(o.selectedTask.step=n)}),t.qZA()()}if(2&r){const a=t.oxw().ngIf,e=t.oxw();
1t.xp6(5),t.Q6J("options",e.statusOptions)("ngModel",a.selectedTask.step)}}const It=function(){return{width:"450px"}},B=function(){return[]};function Ut(r,d){if(1&r){const a=t.EpF();t.TgZ(0,"div",1),t._UZ(1,"p-toast",2)(2,"p-confirmDialog"),t.YNc(3,V,3,1,"div",3),t.TgZ(4,"section",4)(5,"h1",5),t._uU(6,"Task Management"),t.qZA(),t.TgZ(7,"button",6),t.NdJ("click",function(){t.CHM(a);const n=t.oxw();return t.KtG(n.openCreateDrawer())}),t._UZ(8,"i",7),t.TgZ(9,"span"),t._uU(10,"New Task"),t.qZA()()(),t.YNc(11,ft,41,9,"ng-container",8),t.YNc(12,Zt,10,5,"ng-template",null,9,t.W1O),t.YNc(14,At,1,0,"div",10),t.TgZ(15,"div",11)(16,"div",12)(17,"div",13)(18,"div",14)(19,"div",15),t._UZ(20,"i",16),t.qZA(),t.TgZ(21,"div")(22,"span",17),t._uU(23,"Task Details"),t.qZA(),t.TgZ(24,"strong"),t._uU(25),t.qZA()()(),t.TgZ(26,"i",18),t.NdJ("click",function(){t.CHM(a);const n=t.oxw();return t.KtG(n.taskActionService.closeDrawer())}),t.qZA()(),t.TgZ(27,"div",19)(28,"div",20)(29,"label"),t._uU(30,"Task Title "),t.TgZ(31,"span",21),t._uU(32,"*"),t.qZA()(),t.TgZ(33,"input",22),t.NdJ("ngModelChange",function(n){const i=t.CHM(a).ngIf;return t.KtG(i.selectedTask.title=n)}),t.qZA()(),t.TgZ(34,"div",20)(35,"label"),t._uU(36,"Description"),t.qZA(),t.TgZ(37,"textarea",23),t.NdJ("ngModelChange",function(n){const i=t.CHM(a).ngIf;return t.KtG(i.selectedTask.description=n)}),t.qZA()(),t.TgZ(38,"div",24),t.YNc(39,Dt,6,2,"div",25),t.TgZ(40,"div",20)(41,"label"),t._uU(42,"Priority "),t.TgZ(43,"span",21),t._uU(44,"*"),t.qZA()(),t.TgZ(45,"p-dropdown",26),t.NdJ("ngModelChange",function(n){const i=t.CHM(a).ngIf;return t.KtG(i.selectedTask.priority=n)}),t.qZA()()(),t.TgZ(46,"div",24)(47,"div",20)(48,"label"),t._uU(49,"Deadline "),t.TgZ(50,"span",21),t._uU(51,"*"),t.qZA()(),t.TgZ(52,"input",27),t.NdJ("ngModelChange",function(n){const i=t.CHM(a).ngIf;return t.KtG(i.selectedTask.deadline=n)}),t.qZA()(),t.TgZ(53,"div",20)(54,"label"),t._uU(55,"Module "),t.TgZ(56,"span",21),t._uU(57,"*"),t.qZA()(),t.TgZ(58,"p-dropdown",28),t.NdJ("ngModelChange",function(n){const i=t.CHM(a).ngIf;return t.KtG(i.selectedTask.module=n)}),t.qZA()()(),t.TgZ(59,"div",20)(60,"label"),t._uU(61,"Assignee "),t.TgZ(62,"span",21),t._uU(63,"*"),t.qZA()(),t.TgZ(64,"p-dropdown",29),t.NdJ("ngModelChange",function(n){const i=t.CHM(a).ngIf;return t.KtG(i.selectedTask.assigned_to=n)}),t.qZA()()(),t.TgZ(65,"div",30)(66,"button",31),t.NdJ("click",function(){t.CHM(a);const n=t.oxw();return t.KtG(n.taskActionService.closeDrawer())}),t._UZ(67,"i",32),t.TgZ(68,"span"),t._uU(69,"Cancel"),t.qZA()(),t.TgZ(70,"button",33),t.NdJ("click",function(){const o=t.CHM(a).ngIf,i=t.oxw();return t.KtG(i.taskActionService.saveTask(o.selectedTask))}),t._uU(71),t.qZA()()()()()}if(2&r){const a=d.ngIf,e=t.MAs(13),n=t.oxw();t.xp6(2),t.Akn(t.DdM(24,It)),t.xp6(1),t.Q6J("ngIf",null==a.breadcrumbs?null:a.breadcrumbs.length),t.xp6(8),t.Q6J("ngIf",!n.isInitialPageLoading(a))("ngIfElse",e),t.xp6(3),t.Q6J("ngIf",a.drawerOpen),t.xp6(1),t.ekj("open",a.drawerOpen),t.xp6(10),t.Oqu(n.getDrawerTitle(a.isEdit)),t.xp6(8),t.Q6J("ngModel",a.selectedTask.title),t.xp6(4),t.Q6J("ngModel",a.selectedTask.description),t.xp6(2),t.Q6J("ngIf",a.isEdit),t.xp6(6),t.Q6J("options",n.priorityOptions)("ngModel",a.selectedTask.priority),t.xp6(7),t.Q6J("ngModel",a.selectedTask.deadline)("min",n.minDeadline),t.xp6(6),t.Q6J("options",a.visibleModuleOptions||t.DdM(25,B))("ngModel",a.selectedTask.module)("disabled",a.isModuleLocked),t.xp6(6),t.Q6J("options",a.teamMembers||t.DdM(26,B))("ngModel",a.selectedTask.assigned_to)("filter",!0),t.xp6(6),t.Q6J("disabled",a.submitting||!n.isTaskFormValid(a.selectedTask,a.isModuleLocked?null==a.visibleModuleOptions?null:a.visibleModuleOptions[0]:null)),t.xp6(1),t.hij(" ",a.submitting?"Saving...":"+ "+(a.isEdit?"Upd
1ate Task":"Create Task")," ")}}let j=(()=>{const d=class{constructor(e){this.taskActionService=e,this.stateObs=this.taskActionService.getStateObs(),this.minDeadline=this.getTodayDate(),this.summarySkeletonCards=[{modifier:"total"},{modifier:"pending"},{modifier:"progress"},{modifier:"completed"}],this.filterSkeletonChips=[120,112,132,126],this.columnSkeletons=[{modifier:"pending",title:"Pending"},{modifier:"progress",title:"In Progress"},{modifier:"completed",title:"Completed"}],this.taskCardSkeletons=[1,2],this.pendingColumnId="tm-column-pending",this.inProgressColumnId="tm-column-in-progress",this.completedColumnId="tm-column-completed",this.pendingDropTargets=[this.inProgressColumnId],this.inProgressDropTargets=[this.completedColumnId],this.completedDropTargets=[],this.statusActionTaskId=null,this.statusActionStep="",this.searchTerm="",this.selectedFilter="all",this.filterOptions=[{value:"all",label:"All Tasks",icon:"pi pi-th-large"},{value:"pending",label:"Pending",icon:"pi pi-inbox"},{value:"in-progress",label:"In Progress",icon:"pi pi-clock"},{value:"completed",label:"Completed",icon:"pi pi-check-circle"}],this.statusOptions=[{label:"Pending",value:"todo"},{label:"In Progress",value:"in_progress"},{label:"Completed",value:"completed"}],this.priorityOptions=[{label:"High",value:"high"},{label:"Medium",value:"medium"},{label:"Low",value:"low"}],this.pendingOpen=!0,this.inProgressOpen=!0,this.completedOpen=!0,this.canDropTask=(n,o)=>{const i=this.getColumnStatus(o?.id),s=this.getNormalizedStatus(n?.data);return this.isValidBoardMove(s,i)}}ngOnInit(){this.taskActionService.init()}onSearch(){this.taskActionService.search(this.searchTerm)}setFilter(e){this.selectedFilter=e,this.taskActionService.filterTasks(e)}toggleComplete(e){this.taskActionService.toggleComplete(e)}changeTaskStatus(e,n){this.statusActionTaskId=e?.id,this.statusActionStep=n,this.taskActionService.changeTaskStatus(e,n,()=>{this.statusActionTaskId=null,this.statusActionStep=""})}isStatusActionLoading(e,n){return this.statusActionTaskId===e?.id&&this.statusActionStep===n}isTaskMoveLoading(e){return this.statusActionTaskId===e?.id}isTaskDragDisabled(e){return!this.getNextStepForTask(e)||this.isTaskMoveLoading(e)}onTaskDrop(e,n){const o=e.item?.data,i=this.getNormalizedStatus(o);if(!o||e.previousContainer===e.container||!this.isValidBoardMove(i,n))return;const s=this.getBoardStep(n);s&&this.changeTaskStatus(o,s)}openCreateDrawer(){this.taskActionService.openDrawer()}editTask(e){this.taskActionService.openDrawer(e)}deleteTask(e,n){this.taskActionService.deleteTask(e,n)}getPendingCount(e){return e?.filter(n=>"pending"===this.getNormalizedStatus(n))?.length||0}getInProgressCount(e){return e?.filter(n=>"in-progress"===this.getNormalizedStatus(n))?.length||0}getCompletedCount(e){return e?.filter(n=>"completed"===this.getNormalizedStatus(n))?.length||0}getTasksByStatus(e,n){return e?.filter(o=>this.getNormalizedStatus(o)===n)||[]}getFilterCount(e,n){return"all"===e?n?.length||0:this.getTasksByStatus(n,e).length}getDrawerTitle(e){return e?"Edit Task":"Create New Task"}isTaskFormValid(e,n=null){const o=e?.module||n;return!!(e?.title?.trim()&&e?.step&&e?.priority&&e?.deadline&&o&&e?.assigned_to)}getTaskPriority(e){return(e?.priority||"medium").toString().trim().toLowerCase().replace(/[_\s]+/g,"-")}getTaskPriorityLabel(e){const n=this.getTaskPriority(e).replace(/-/g," ");return n.charAt(0).toUpperCase()+n.slice(1)}getTaskModuleName(e){return e?.module_name||e?.module?.name||e?.module||"General"}getTaskAssigneeLabel(e){const n=e?.assigned_to;return"string"==typeof n?n:n?.display_email?.includes("||")?n.display_email.split("||")[0].trim():n?.name||n?.full_name||n?.user_name||n?.display_email||n?.email||"Unassigned"}getTaskAssigneeInitials(e){const o=this.getTaskAssigneeLabel(e).split("||")[0].split("@")[0].replace(/[^a-zA-Z0-9\s]/g," ").trim().split(/\s+/).filter(Boolean);return o.length?1===o.length?o[0].slice(0,2).toUpperCase():`${o[0][0]}${o[1][0]}`.toUpperCase():"NA"}getTaskCreatedAt(e){return e?.created_at||e?.createdAt||""}getTaskUpdatedAt(e){return e?.updated_at||e?.updatedAt||e?.modified_at||e?.modifiedAt||""}getTaskCardTooltip(e){if(this.isTaskMoveLoading(e))return"Task update in progress.";const n=this.getNormalizedStatus(e);return"pending"===n?"Hold and drag this card to In Progress, or use Start Task.":"in-progress"===n?"Hold and drag this card to Completed, or use Mark Completed.":"Use Reopen Task to move this task back to In Progress."}isInitialPageLoading(e){return!!e?.loadingContext||!!e?.initialLoading}getNormalizedStatus(e){const n=(e?.step||e?.status||"").toString().trim().toLowerCase().replace(/[_\s]+/g,"-");return"todo"===n||"to-do"===n?"pending":"in-progress"===n||"inprogress"===n?"in-progress":"completed"===n||"complete"===n?"completed":n||"pending"}getColumnStatus(e){return e===this.pendingColumnId?"pending":e===this.inProgressColumnId?"in-progress":e===this.completedColumnId?"completed":""}isValidBoardMove(e,n){return"pending"===e&&"in-progress"===n||"in-progress"===e&&"completed"===n}getNextStepForTask(e){const n=this.getNormalizedStatus(e);return"pending"===n?"in_progress":"in-progress"===n?"completed":""}getBoardStep(e){return"pending"===e?"todo":"in-progress"===e?"in_progress":"completed"===e?"completed":""}
1getTodayDate(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}};let r=d;return d.\u0275fac=function(n){return new(n||d)(t.Y36(L))},d.\u0275cmp=t.Xpm({type:d,selectors:[["app-task-management"]],features:[t._Bn([L])],decls:2,vars:3,consts:[["class","tm-shell",4,"ngIf"],[1,"tm-shell"],["position","bottom-right"],["class","tm-page-header",4,"ngIf"],[1,"tm-heading-row"],[1,"tm-page-title"],[1,"tm-btn-primary",3,"click"],[1,"pi","pi-plus"],[4,"ngIf","ngIfElse"],["tmLoadingSkeleton",""],["class","tm-overlay",3,"click",4,"ngIf"],[1,"tm-drawer"],[1,"tm-drawer-panel"],[1,"tm-drawer-header"],[1,"tm-drawer-header-left"],[1,"tm-drawer-icon-wrap"],[1,"pi","pi-list","tm-drawer-icon"],[1,"tm-drawer-eyebrow"],[1,"pi","pi-times","tm-close-icon",3,"click"],[1,"tm-drawer-body"],[1,"tm-field"],[1,"required-mark"],["placeholder","Enter task title...",3,"ngModel","ngModelChange"],["placeholder","Enter task description...","rows","4",3,"ngModel","ngModelChange"],[1,"tm-form-grid"],["class","tm-field",4,"ngIf"],["optionLabel","label","optionValue","value","appendTo","body","placeholder","Select priority",3,"options","ngModel","ngModelChange"],["type","date",3,"ngModel","min","ngModelChange"],["optionLabel","name","appendTo","body","placeholder","Select module",3,"options","ngModel","disabled","ngModelChange"],["optionLabel","display_email","dataKey","user_id","appendTo","body","placeholder","Select team member",3,"options","ngModel","filter","ngModelChange"],[1,"tm-drawer-footer"],[1,"tm-btn-cancel",3,"click"],[1,"pi","pi-times"],[1,"tm-btn-primary",3,"disabled","click"],[1,"tm-page-header"],["aria-label","breadcrumb",1,"tm-breadcrumb"],[4,"ngFor","ngForOf"],["class","tm-breadcrumb-link",3,"routerLink","queryParams",4,"ngIf"],["class","tm-breadcrumb-current",4,"ngIf"],["class","tm-breadcrumb-sep",4,"ngIf"],[1,"tm-breadcrumb-link",3,"routerLink","queryParams"],[1,"tm-breadcrumb-current"],[1,"tm-breadcrumb-sep"],[1,"tm-summary-grid"],[1,"tm-summary-card","tm-summary-card--total"],[1,"tm-summary-card__label"],[1,"tm-summary-card__value"],[1,"tm-summary-card__meta"],[1,"tm-summary-card","tm-summary-card--pending"],[1,"tm-summary-card","tm-summary-card--progress"],[1,"tm-summary-card","tm-summary-card--completed"],[1,"tm-command-bar"],[1,"tm-command-bar__top"],[1,"tm-search"],[1,"pi","pi-search","tm-search-icon"],["placeholder","Search by task title",3,"ngModel","ngModelChange","input"],[1,"tm-filter-row"],["type","button","class","tm-filter-chip",3,"active","click",4,"ngFor","ngForOf"],["cdkDropListGroup","",1,"tm-board-grid"],[4,"ngIf"],["type","button",1,"tm-filter-chip",3,"click"],[1,"tm-filter-chip__count"],[1,"tm-column","tm-column--pending"],[1,"tm-column-header",3,"click"],[1,"tm-column-header__copy"],[1,"tm-column-header__title-row"],[1,"tm-column-dot"],[1,"tm-column-header__side"],[1,"tm-column-count"],["type","button","aria-label","Toggle pending tasks",1,"tm-column-toggle"],[1,"pi"],["class","tm-column-body tm-column-body--droppable","cdkDropList","",3,"id","cdkDropListData","cdkDropListConnectedTo","cdkDropListSortingDisabled","cdkDropListAutoScrollDisabled","cdkDropListEnterPredicate","cdkDropListDropped",4,"ngIf"],["cdkDropList","",1,"tm-column-body","tm-column-body--droppable",3,"id","cdkDropListData","cdkDropListConnectedTo","cdkDropListSortingDisabled","cdkDropListAutoScrollDisabled","cdkDropListEnterPredicate","cdkDropListDropped"],["pendingEmpty",""],["class","tm-task-card","cdkDrag","",3,"cdkDragData","cdkDragDisabled","tm-task-card--busy","tm-task-card--draggable",4,"ngFor","ngForOf"],["cdkDrag","",1,"tm-task-card",3,"cdkDragData","cdkDragDisabled"],[1,"tm-task-card__header"],[1,"tm-task-card__header-main"],[1,"tm-task-state__badge","tm-task-state__badge--pending"],[1,"tm-task-card__header-side"],[1,"tm-priority",3,"ngClass"],["type","button","aria-label","Edit task",1,"tm-icon-btn","tm-icon-btn--edit",3,"click"],[1,"pi","pi-pencil"],["type","button","aria-label","Delete task",1,"tm-icon-btn","tm-icon-btn--delete",3,"click"],[1,"pi","pi-trash"],[1,"tm-task-card__body"],[1,"tm-task-card__title"],[1,"tm-task-card__description"],[1,"tm-task-card__details"],[1,"tm-task-detail","tm-task-detail--due"],[1,"tm-task-detail__label"],[1,"tm-task-detail__value"],[1,"tm-task-detail"],[1,"tm-task-detail","tm-task-detail--assignee"],[1,"tm-task-detail__assignee-row"],[1,"tm-assignee__avatar"],["class","tm-task-detail tm-task-detail--timestamp",4,"ngIf"],[1,"tm-task-card__footer"],[1,"tm-task-card__footer-actions"],["type","button",1,"tm-status-btn",3,"disabled","click"],[1,"tm-task-detail","tm-task-detail--timestamp"],[1,"tm-empty-state","tm-empty-state--pending"],[1,"pi","pi-inbox","tm-empty-state__icon"],[1,"tm-column","tm-column--progress"],["type","button","aria-label","Toggle in progress tasks",1,"tm-column-toggle"],["progressEmpty",""],[1,"tm-task-state__badge","tm-task-state__badge--progress"],["type","button",1,"tm-status-btn","tm-status-btn--complete",3,"disabled","click"],[1,"tm-empty-state","tm-empty-state--progress"],[1,"pi","pi-clock","tm-empty-state__icon"],[1,"tm-column","tm-column--completed"],["type","button","aria-label","Toggle completed tasks",1,"tm-column-toggle"],["completedEmpty",""],[1,"tm-task-state__badge","tm-task-state__badge--completed"],["type","button",1,"tm-status-btn","tm-status-btn--secondary",3,"disabled","click"],[1,"tm-empty-state","tm-empty-state--completed"],[1,"pi","pi-check-circle","tm-empty-state__icon"],[1,"tm-summary-grid","tm-summary-grid--skeleton"],["class","tm-summary-card tm-summary-card--skeleton",3,"ngClass",4,"ngFor","ngForOf"],[1,"tm-command-bar","tm-command-bar--skeleton"],[1,"tm-search","tm-search--skeleton"],[3,"theme"],[1,"tm-filter-row","tm-filter-row--skeleton"],[3,"theme",4,"ngFor","ngForOf"],[1,"tm-board-grid","tm-board-grid--skeleton"],["class","tm-column",3,"ngClass",4,"ngFor","ngForOf"],[1,"tm-summary-card","tm-summary-card--skeleton",3,"ngClass"],[1,"tm-summary-card__skeleton"],[1,"tm-column",3,"ngClass"],[1,"tm-column-header"],[1,"tm-column-body","tm-column-body--skeleton"],["class","tm-task-card tm-task-card--skeleton",4,"ngFor","ngForOf"],[1,"tm-task-card","tm-task-card--skeleton"],[1,"tm-overlay",3,"click"],["optionLabel","label","optionValue","value","appendTo","body","placeholder","Select status",3,"options","ngModel","ngModelChange"]],template:function(n,o){1&n&&(t.YNc(0,Ut,72,27,"div",0),t.ALo(1,"async")),2&n&&t.Q6J("ngIf",t.lcZ(1,1,o.stateObs))},dependencies:[c.mk,c.sg,c.O5,C.Fj,C.JJ,C.On,q.Lt,N.Q,F.FN,u.xr,x.Wj,x.Fd,x.Zt,l.mh,y.rH,c.Ov,c.uU],styles:[".tm-shell[_ngcontent-%COMP%]{--tm-page: #eef3f9;--tm-surface: #ffffff;--tm-surface-muted: #f7f9fc;--tm-border: #d9e2ef;--tm-border-strong: #c6d3e6;--tm-text: #14263d;--tm-text-muted: #5f7188;--tm-text-soft: #8ea0b7;--tm-shadow: 0 12px 28px rgba(17, 35, 62, .06);--tm-blue: #2f6fec;--tm-blue-soft: #edf3ff;--tm-orange: #f59a23;--tm-orange-soft: #fff5e6;--tm-green: #18a95a;--tm-green-soft: #edf9f2;--tm-red: #d24a62;--tm-red-soft: #fff0f3;display:flex;flex-direction:column;gap:10px;min-height:calc(100vh - 40px);padding:0;color:var(--tm-text)}.tm-page-header[_ngcontent-%COMP%]{margin-bottom:-2px}.tm-breadcrumb[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tm-breadcrumb-link[_ngcontent-%COMP%]{color:var(--tm-text);text-decoration:none}.tm-breadcrumb-link[_ngcontent-%COMP%]:hover{color:var(--tm-blue)}.tm-breadcrumb-sep[_ngcontent-%COMP%]{color:#99a9bd}.tm-breadcrumb-current[_ngcontent-%COMP%]{color:var(--tm-green)}.tm-heading-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0 2px}.tm-page-title[_ngcontent-%COMP%]{margin:0;color:var(--tm-text);font-size:clamp(28px,2.7vw,38px);font-weight:800;line-height:1.08;letter-spacing:-.04em}.tm-summary-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch;border:none;box-shadow:none;overflow:visible}.tm-summary-grid--skeleton[_ngcontent-%COMP%], .tm-board-grid--skeleton[_ngcontent-%COMP%]{pointer-events:none}.tm-summary-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:112px;padding:18px 20px;border:1px solid var(--tm-border);border-top-width:3px;border-radius:0;background:var(--tm-surface);box-shadow:var(--tm-shadow);
1height:100%}.tm-summary-card--skeleton[_ngcontent-%COMP%]{justify-content:flex-start}.tm-summary-card__skeleton[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.tm-summary-card__label[_ngcontent-%COMP%]{display:block;color:var(--tm-text-soft);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tm-summary-card__value[_ngcontent-%COMP%]{display:block;margin-top:2px;color:var(--tm-text);font-size:36px;font-weight:800;line-height:1}.tm-summary-card__meta[_ngcontent-%COMP%]{display:block;margin-top:auto;color:var(--tm-text-muted);font-size:12px}.tm-summary-card--total[_ngcontent-%COMP%]{border-top-color:var(--tm-blue)}.tm-summary-card--pending[_ngcontent-%COMP%]{border-top-color:var(--tm-orange)}.tm-summary-card--progress[_ngcontent-%COMP%]{border-top-color:var(--tm-blue)}.tm-summary-card--completed[_ngcontent-%COMP%]{border-top-color:var(--tm-green)}.tm-command-bar[_ngcontent-%COMP%]{padding:10px;border:1px solid var(--tm-border);border-radius:10px;background:var(--tm-surface);box-shadow:var(--tm-shadow)}.tm-command-bar--skeleton[_ngcontent-%COMP%]{pointer-events:none}.tm-command-bar__top[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;min-width:0}.tm-search[_ngcontent-%COMP%]{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px solid var(--tm-border);border-radius:8px;background:var(--tm-surface-muted)}.tm-search-icon[_ngcontent-%COMP%]{color:var(--tm-text-soft);font-size:13px}.tm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;border:none;outline:none;background:transparent;color:var(--tm-text);font-size:14px}.tm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:#9aaabd}.tm-filter-row[_ngcontent-%COMP%]{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:0;white-space:nowrap}.tm-filter-row--skeleton[_ngcontent-%COMP%]{gap:8px}.tm-filter-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--tm-border);border-radius:999px;background:#fff;color:var(--tm-text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.tm-filter-chip[_ngcontent-%COMP%]:hover{border-color:var(--tm-border-strong);background:var(--tm-surface-muted)}.tm-filter-chip.active[_ngcontent-%COMP%]{border-color:#17b660;background:#17b660;color:#fff}.tm-filter-chip__count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(20,38,61,.08);color:inherit;font-size:11px}.tm-filter-chip.active[_ngcontent-%COMP%] .tm-filter-chip__count[_ngcontent-%COMP%]{background:rgba(255,255,255,.22)}.tm-board-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}.tm-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:clamp(480px,60vh,760px);height:clamp(480px,60vh,760px);border:1px solid var(--tm-border);border-radius:10px;background:rgba(252,253,255,.92);box-shadow:var(--tm-shadow)}.tm-column--pending[_ngcontent-%COMP%]{border-top:3px solid var(--tm-orange)}.tm-column--progress[_ngcontent-%COMP%]{border-top:3px solid var(--tm-blue)}.tm-column--completed[_ngcontent-%COMP%]{border-top:3px solid var(--tm-green)}.tm-column-header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 12px 10px;border-bottom:1px solid var(--tm-border);cursor:pointer}.tm-column-header__title-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.tm-column-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tm-column--pending[_ngcontent-%COMP%] .tm-column-dot[_ngcontent-%COMP%]{background:var(--tm-orange)}.tm-column--progress[_ngcontent-%COMP%] .tm-column-dot[_ngcontent-%COMP%]{background:var(--tm-blue)}.tm-column--completed[_ngcontent-%COMP%] .tm-column-dot[_ngcontent-%COMP%]{background:var(--tm-green)}.tm-column-header__copy[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:var(--tm-text);font-size:14px;font-weight:800;line-height:1.2}.tm-column-header__side[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px}.tm-column-count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:rgba(20,38,61,.06);color:var(--tm-text);font-size:12px;font-weight:800}.tm-column-toggle[_ngcontent-%COMP%]{width:28px;height:28px;border:1px solid var(--tm-border);border-radius:8px;background:transparent;color:var(--tm-text-soft);cursor:pointer}.tm-column-toggle[_ngcontent-%COMP%]:hover{border-color:var(--tm-border-strong);color:var(--tm-blue)}.tm-column-body[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1 1 auto;gap:8px;padding:8px;min-height:0;max-height:none;overflow-y:auto}.tm-column-body--skeleton[_ngcontent-%COMP%]{overflow:hidden}.tm-column-body--droppable.cdk-drop-list-receiving[_ngcontent-%COMP%]{background:rgba(47,111,236,.03)}.tm-task-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--tm-border);border-radius:8px;background:#fff;box-shadow:0 4px 10px #11233e0a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.tm-task-card--draggable[_ngcontent-%COMP%]{cursor:grab}.tm-task-card--draggable[_ngcontent-%COMP%]:active, .tm-task-card--draggable.cdk-drag-dragging[_ngcontent-%COMP%]{cursor:grabbing}.tm-task-card--skeleton[_ngcontent-%COMP%]{padding:0;overflow:hidden}.tm-task-card[_ngcontent-%COMP%]:hover{transform:translateY(-1px);border-color:var(--tm-border-strong);box-shadow:0 10px 18px #11233e14}.tm-task-card--busy[_ngcontent-%COMP%]{opacity:.72}.tm-task-card.cdk-drag-preview[_ngcontent-%COMP%]{border-radius:8px;box-shadow:0 16px 28px #11233e29}.tm-task-card.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:.22;border-style:dashed}.tm-shell[_ngcontent-%COMP%] .ngx-skeleton-loader{display:block;width:100%;margin-bottom:0;line-height:1}.tm-shell[_ngcontent-%COMP%] .ngx-skeleton-loader:before{animation-duration:1s}.tm-task-card__header[_ngcontent-%COMP%], .tm-task-card__header-main[_ngcontent-%COMP%], .tm-task-card__header-side[_ngcontent-%COMP%], .tm-task-card__footer[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.tm-task-card__header[_ngcontent-%COMP%], .tm-task-card__footer[_ngcontent-%COMP%]{justify-content:space-between}.tm-task-state__badge[_ngcontent-%COMP%], .tm-priority[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.tm-task-state__badge--pending[_ngcontent-%COMP%]{background:var(--tm-orange-soft);color:#b37100}.tm-task-state__badge--progress[_ngcontent-%COMP%]{background:var(--tm-blue-soft);color:var(--tm-blue)}.tm-task-state__badge--completed[_ngcontent-%COMP%]{background:var(--tm-green-soft);color:var(--tm-green)}.tm-priority--high[_ngcontent-%COMP%]{background:var(--tm-red-soft);color:var(--tm-red)}
1.tm-priority--medium[_ngcontent-%COMP%]{background:var(--tm-orange-soft);color:#b37100}.tm-priority--low[_ngcontent-%COMP%]{background:var(--tm-green-soft);color:var(--tm-green)}.tm-icon-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--tm-border);border-radius:6px;background:transparent;color:var(--tm-text-soft);cursor:pointer}.tm-icon-btn[_ngcontent-%COMP%]:hover{border-color:var(--tm-border-strong);color:var(--tm-blue);background:var(--tm-surface-muted)}.tm-icon-btn--delete[_ngcontent-%COMP%]:hover{color:var(--tm-red)}.tm-task-card__title[_ngcontent-%COMP%]{margin:0;color:var(--tm-text);font-size:13px;font-weight:800;line-height:1.4;word-break:break-word}.tm-task-card__description[_ngcontent-%COMP%]{margin:0;color:var(--tm-text-muted);font-size:11px;line-height:1.5;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tm-task-card__details[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:4px;border-top:1px dashed var(--tm-border)}.tm-task-detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;min-width:0;padding:0;border:none;background:transparent}.tm-task-detail--due[_ngcontent-%COMP%], .tm-task-detail--assignee[_ngcontent-%COMP%]{flex:1 1 100%}.tm-task-detail--timestamp[_ngcontent-%COMP%]{flex:1 1 calc(50% - 9px)}.tm-task-detail[_ngcontent-%COMP%]:not(.tm-task-detail--due):not(.tm-task-detail--assignee){flex:0 1 auto}.tm-task-detail__label[_ngcontent-%COMP%]{color:var(--tm-text-soft);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tm-task-detail__value[_ngcontent-%COMP%]{color:var(--tm-text);font-size:12px;font-weight:700;line-height:1.4;word-break:break-word}.tm-task-detail--due[_ngcontent-%COMP%] .tm-task-detail__value[_ngcontent-%COMP%]{font-size:14px}.tm-task-detail--timestamp[_ngcontent-%COMP%] .tm-task-detail__value[_ngcontent-%COMP%]{color:var(--tm-text-muted);font-size:11px;font-weight:700}.tm-task-detail__assignee-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}.tm-assignee__avatar[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#5e6cf7;color:#fff;font-size:11px;font-weight:800;flex-shrink:0}.tm-task-card__footer-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}.tm-status-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid var(--tm-border);border-radius:6px;background:#fff;color:var(--tm-text);font-size:11px;font-weight:800;cursor:pointer}.tm-status-btn[_ngcontent-%COMP%]:hover{border-color:var(--tm-border-strong);background:var(--tm-surface-muted);color:var(--tm-blue)}.tm-status-btn--complete[_ngcontent-%COMP%]{border-color:var(--tm-green);border-radius:6px;background:var(--tm-green);color:#fff}.tm-status-btn--complete[_ngcontent-%COMP%]:hover{border-color:#127d43;background:#127d43;color:#fff}.tm-status-btn--secondary[_ngcontent-%COMP%]{border-color:#cfe9d8;background:var(--tm-green-soft);color:var(--tm-green)}.tm-status-btn--secondary[_ngcontent-%COMP%]:hover{background:#dff5e7;color:#127d43}.tm-empty-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;padding:12px 10px;border:1px dashed var(--tm-border);border-radius:8px;background:rgba(255,255,255,.7);text-align:center}.tm-empty-state__icon[_ngcontent-%COMP%]{color:var(--tm-text-soft);font-size:18px}.tm-empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;color:var(--tm-text);font-size:13px;font-weight:800}.tm-empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{max-width:280px;margin:0;color:var(--tm-text-muted);font-size:11px;line-height:1.45}.tm-empty-state--pending[_ngcontent-%COMP%] .tm-empty-state__icon[_ngcontent-%COMP%]{color:var(--tm-orange)}.tm-empty-state--progress[_ngcontent-%COMP%] .tm-empty-state__icon[_ngcontent-%COMP%]{color:var(--tm-blue)}.tm-empty-state--completed[_ngcontent-%COMP%] .tm-empty-state__icon[_ngcontent-%COMP%]{color:var(--tm-green)}[_nghost-%COMP%] .p-confirm-dialog .p-dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px}[_nghost-%COMP%] .p-confirm-dialog .p-dialog-footer button{margin:0!important;min-width:96px}.tm-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:100;background:rgba(16,24,40,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tm-drawer[_ngcontent-%COMP%]{position:fixed;top:0;right:-540px;width:min(500px,100vw);height:100vh;z-index:200;background:rgba(255,255,255,.98);box-shadow:-20px 0 36px #11233e1f;transition:right .3s ease}.tm-drawer.open[_ngcontent-%COMP%]{right:0}.tm-drawer-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.tm-drawer-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid var(--tm-border);background:var(--tm-surface)}.tm-drawer-header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.tm-drawer-icon-wrap[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--tm-blue-soft)}.tm-drawer-icon[_ngcontent-%COMP%]{color:var(--tm-blue);font-size:16px}.tm-drawer-eyebrow[_ngcontent-%COMP%]{display:block;margin-bottom:4px;color:var(--tm-text-soft);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tm-drawer-header[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;color:var(--tm-text);font-size:18px;line-height:1.3}.tm-close-icon[_ngcontent-%COMP%]{color:var(--tm-text-soft);font-size:16px;cursor:pointer}.tm-close-icon[_ngcontent-%COMP%]:hover{color:var(--tm-text)}.tm-drawer-body[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:22px}.tm-form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tm-field[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-bottom:16px}.tm-field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-bottom:8px;color:var(--tm-text);font-size:13px;font-weight:800}.required-mark[_ngcontent-%COMP%]{color:#dc3545}.tm-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .tm-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding:12px 14px;border:1px solid var(--tm-border);border-radius:8px;background:#fff;color:var(--tm-text);font-size:14px;outline:none;resize:none}.tm-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder, .tm-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:#a0b0c3}.tm-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus, .tm-field[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{border-color:var(--tm-blue);box-shadow:0 0 0 3px #2f6fec14}.tm-field[_ngcontent-%COMP%] .p-dropdown{width:100%;min-height:46px;border:1px solid var(--tm-border);border-radius:8px;box-shadow:none}.tm-field[_ngcontent-%COMP%] .p-dropdown .p-dropdown-label{display:flex;align-items:center;min-height:46px;padding:0 14px;color:var(--tm-text)}.tm-field[_ngcontent-%COMP%] .p-dropdown .p-dropdown-trigger{width:42px;color:var(--tm-blue)}.tm-field[_ngcontent-%COMP%] .p-dropdown:not(.p-disabled).p-focus{border-color:var(--tm-blue);box-shadow:0 0 0 3px #2f6fec14}.tm-field[_ngcontent-%COMP%] .p-dropdown-panel{border-radius:8px;overflow:hidden}.tm-field[_ngcontent-%COMP%] .p-dropdown-filter{width:calc(100% - 1.5rem);border-radius:6px}.tm-drawer-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;
1gap:10px;padding:16px 22px 20px;border-top:1px solid var(--tm-border);background:var(--tm-surface)}.tm-btn-cancel[_ngcontent-%COMP%], .tm-btn-primary[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer}.tm-btn-cancel[_ngcontent-%COMP%]{border:1px solid var(--tm-border);background:#fff;color:var(--tm-text-muted)}.tm-btn-cancel[_ngcontent-%COMP%]:hover{border-color:var(--tm-border-strong);background:var(--tm-surface-muted)}.tm-btn-primary[_ngcontent-%COMP%]{border:1px solid #17b660;background:#17b660;color:#fff}.tm-btn-primary[_ngcontent-%COMP%]:hover{background:#129d51}.tm-btn-primary[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:not-allowed}[_nghost-%COMP%] .cdk-drop-list-dragging .tm-task-card:not(.cdk-drag-placeholder){transition:transform .2s ease}@media (max-width: 991px){.tm-summary-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1180px){.tm-board-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-column[_ngcontent-%COMP%]:last-child{grid-column:1/-1}}@media (max-width: 991px){.tm-board-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.tm-column[_ngcontent-%COMP%]{min-height:360px;height:auto}.tm-column-body[_ngcontent-%COMP%]{min-height:240px;max-height:52vh}.tm-command-bar__top[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr}.tm-heading-row[_ngcontent-%COMP%]{align-items:flex-start;flex-direction:column}.tm-column[_ngcontent-%COMP%]:last-child{grid-column:auto}}@media (max-width: 767px){.tm-summary-grid[_ngcontent-%COMP%], .tm-form-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.tm-command-bar[_ngcontent-%COMP%], .tm-drawer-body[_ngcontent-%COMP%]{padding:16px}.tm-task-card__header[_ngcontent-%COMP%], .tm-task-card__footer[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.tm-task-card__header-side[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.tm-task-card__footer-actions[_ngcontent-%COMP%]{width:100%;flex-direction:column;align-items:stretch}.tm-status-btn[_ngcontent-%COMP%], .tm-btn-cancel[_ngcontent-%COMP%], .tm-btn-primary[_ngcontent-%COMP%]{width:100%}.tm-drawer-header[_ngcontent-%COMP%], .tm-drawer-footer[_ngcontent-%COMP%]{padding-left:16px;padding-right:16px}.tm-drawer-footer[_ngcontent-%COMP%]{flex-direction:column-reverse}}"]}),r})();var Lt=_(31496),qt=_(55089),Nt=_(4598);const Ft=[{path:"",component:(()=>{const d=class{constructor(e,n,o,i){this.organizationService=e,this.route=n,this.router=o,this.userService=i,this.organizationName="Select Organization",this.propertyName="Select Property",this.queryOID="",this.queryPID="",this.isSidebarExpanded=!1,this.currentMenu={showlink:"Task Management",subcategory:[]}}ngOnInit(){this.userService.isSideMenuVisible=!0,this.isSidebarExpanded=!!this.userService.getSidemenuOpenStatus(),this.routeSub=this.route.queryParamMap.subscribe(e=>{const n=e.get("oid")||"",o=e.get("pid")||"",i=this.normalizeQueryId(n)||"",s=this.normalizeQueryId(o)||"",p=e.get("taskContext")||"",m=this.resolveTaskContext(p,i,s),f=this.router.url.split("?")[0],T="/task"===f||"/task/"===f?"/task/manage-tasks":f;if(T!==f||i!==n||s!==o||m!==p)return void this.router.navigate(["/",...T.split("/").filter(Boolean)],{queryParams:{...i?{oid:i}:{},...s?{pid:s}:{},taskContext:m},replaceUrl:!0});this.queryOID=i,this.queryPID=s;const v=this.organizationService.getCurrentOrgWithProperty();this.organizationName=v?.organization_name||"Select Organization",this.propertyName=v?.property_name||"Select Property",this.currentMenu=this.buildTaskMenu(m)})}ngOnDestroy(){this.routeSub?.unsubscribe(),this.userService.isSideMenuVisible=!1,this.userService.isSideMenuClicked=!1}checkSideMenuarrowClick(e){this.isSidebarExpanded=e,this.userService.isSideMenuClicked=e}normalizeQueryId(e){if(!e)return e;const n=e.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return n?n[0]:e}buildTaskMenu(e){return{showlink:"Task Management",subcategory:[{showlink:"Manage Tasks",routerLink:"/task/manage-tasks",icon:"fas fa-tasks feather-16",indexid:902,navmenuid:902,queryParams:{taskContext:e}}]}}resolveTaskContext(e,n,o){return e?(this.persistTaskContext(n,o,e),e):this.isReloadNavigation()?this.getPersistedTaskContext(n,o)||this.getTaskContextFromReferrer()||"global":this.getTaskContextFromReferrer()||"global"}persistTaskContext(e,n,o){if(e&&n)try{const i=this.getTaskContextStorageKey(e,n);o&&"global"!==o?sessionStorage.setItem(i,o):sessionStorage.removeItem(i)}catch{}}getPersistedTaskContext(e,n){if(!e||!n)return"";try{return sessionStorage.getItem(this.getTaskContextStorageKey(e,n))||""}catch{}return""}getTaskContextStorageKey(e,n){return`pp_task_context_${e}_${n}`}getTaskContextFromReferrer(){try{const e=document.referrer;if(!e)return"";const n=new URL(e).pathname.toLowerCase();if(n.includes("/ropa"))return"ropa";if(n.includes("/privacy/dsar")||n.includes("/ccpa-dsar"))return"privacy-rights";if(n.includes("/assessment"))return"dpia";if(n.includes("/data-discovery"))return"data-discovery";if(n.includes("/cookie-consent"))return"cookie-consent";if(n.includes("/consent-preference"))return"consent-preference";if(n.includes("/social-fortuna"))return"social-fortuna"}catch{}return""}isReloadNavigation(){try{const e=performance.getEntriesByType("navigation");return e?.length?"reload"===e[0].type:1===performance?.navigation?.type}catch{return!1}}};let r=d;return d.\u0275fac=function(n){return new(n||d)(t.Y36(Lt.M),t.Y36(y.gz),t.Y36(y.F0),t.Y36(qt.KD))},d.\u0275cmp=t.Xpm({type:d,selectors:[["app-task-management-shell"]],decls:4,vars:7,consts:[[1,"task-shell"],[3,"currentoid","currentpid","organization","property","currentmenu","onClickSideMenuArrow"],[1,"task-shell__content"]],template:function(n,o){1&n&&(t.TgZ(0,"div",0)(1,"app-sidemenu",1),t.NdJ("onClickSideMenuArrow",function(s){return o.checkSideMenuarrowClick(s)}),t.qZA(),t.TgZ(2,"section",2),t._UZ(3,"router-outlet"),t.qZA()()),2&n&&(t.ekj("task-shell--expanded",o.isSidebarExpanded),t.xp6(1),t.Q6J("currentoid",o.queryOID)("currentpid",o.queryPID)("organization",o.organizationName)("property",o.propertyName)("currentmenu",o.currentMenu))},dependencies:[Nt.x,y.lC],styles:["[_nghost-%COMP%]{display:block}.task-shell[_ngcontent-%COMP%]{min-height:100vh;padding:20px 20px 20px 46px;background:#eef3fb;box-sizing:border-box;transition:padding-left .2s ease}.task-shell--expanded[_ngcontent-%COMP%]{padding-left:250px}.task-shell__content[_ngcontent-%COMP%]{width:100%;min-width:0;min-height:calc(100vh - 40px)}@media (max-width: 991px){.task-shell[_ngcontent-%COMP%]{padding:16px}.task-shell--expanded[_ngcontent-%COMP%]{padding-left:16px}.task-shell__content[_ngcontent-%COMP%]{min-height:auto}}"]}),r})(),children:[{path:"",pathMatch:"full",redirectTo:"manage-tasks"},{path:"manage-tasks",component:j},{path:"manage-tasks/:id",component:j}]}];let zt=(()=>{const d=class{};let r=d;return d.\u0275fac=function(n){return new(n||d)},d.\u0275mod=t.oAB({type:d}),d.\u0275inj=t.cJS({imports:[y.Bz.forChild(Ft),y.Bz]}),r})();var Et=_(86325);let Jt=(()=>{const d=class{};let r=d;return d.\u0275fac=function(n){return new(n||d)},d.\u0275mod=t.oAB({type:d}),d.\u0275inj=t.cJS({providers:[A.ez,A.YP],imports:[c.ez,C.u5,q.kW,N.D,F.EV,u.hx,Et.y,zt]}),r})()},79723:(K,Z,_)=>{_.d(Z,{EV:()=>F,FN:()=>N});var c=_(94650),C=_(36895),y=_(98606),M=_(42111),D=_(43898),I=_(98473),k=_(37340);const P=["container"],t=function(u,x,l,g){return{"pi-info-circle":u,"pi-exclamation-triangle":x,"pi-times-circle":l,"pi-check":g}};function E(u,x){if(1&u&&(c.ynx(0),c._UZ(1,"span",6),c.TgZ(2,"div",7)(3,"div",8),c._uU(4),c.qZA(),c.TgZ(5,"div",9),c._uU(6),c.qZA()(),c.BQk()),2&u){const l=c.oxw();c.xp6(1),c.Tol("p-toast-message-icon pi"+(l.message.icon?" "+l.message.icon:"")),c.Q6J("ngClass",c.l5B(5,t,"info"==l.message.severity,"warn"==l.message.severity,"error"==l.message.severity,"success"==l.message.severity)
1),c.xp6(3),c.Oqu(l.message.summary),c.xp6(2),c.Oqu(l.message.detail)}}function J(u,x){1&u&&c.GkF(0)}function S(u,x){if(1&u){const l=c.EpF();c.TgZ(0,"button",10),c.NdJ("click",function(h){c.CHM(l);const b=c.oxw();return c.KtG(b.onCloseIconClick(h))})("keydown.enter",function(h){c.CHM(l);const b=c.oxw();return c.KtG(b.onCloseIconClick(h))}),c._UZ(1,"span",11),c.qZA()}}const O=function(u){return[u,"p-toast-message"]},U=function(u,x,l,g){return{showTransformParams:u,hideTransformParams:x,showTransitionParams:l,hideTransitionParams:g}},Q=function(u){return{value:"visible",params:u}},A=function(u){return{$implicit:u}};function L(u,x){if(1&u){const l=c.EpF();c.TgZ(0,"p-toastItem",3),c.NdJ("onClose",function(h){c.CHM(l);const b=c.oxw();return c.KtG(b.onMessageClose(h))})("@toastAnimation.start",function(h){c.CHM(l);const b=c.oxw();return c.KtG(b.onAnimationStart(h))}),c.qZA()}if(2&u){const l=x.$implicit,g=x.index,h=c.oxw();c.Q6J("message",l)("index",g)("template",h.template)("@toastAnimation",void 0)("showTransformOptions",h.showTransformOptions)("hideTransformOptions",h.hideTransformOptions)("showTransitionOptions",h.showTransitionOptions)("hideTransitionOptions",h.hideTransitionOptions)}}let q=(()=>{class u{constructor(l){this.zone=l,this.onClose=new c.vpe}ngAfterViewInit(){this.initTimeout()}initTimeout(){this.message.sticky||this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>{this.onClose.emit({index:this.index,message:this.message})},this.message.life||3e3)})}clearTimeout(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null)}onMouseEnter(){this.clearTimeout()}onMouseLeave(){this.initTimeout()}onCloseIconClick(l){this.clearTimeout(),this.onClose.emit({index:this.index,message:this.message}),l.preventDefault()}ngOnDestroy(){this.clearTimeout()}}return u.\u0275fac=function(l){return new(l||u)(c.Y36(c.R0b))},u.\u0275cmp=c.Xpm({type:u,selectors:[["p-toastItem"]],viewQuery:function(l,g){if(1&l&&c.Gf(P,5),2&l){let h;c.iGM(h=c.CRH())&&(g.containerViewChild=h.first)}},inputs:{message:"message",index:"index",template:"template",showTransformOptions:"showTransformOptions",hideTransformOptions:"hideTransformOptions",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions"},outputs:{onClose:"onClose"},decls:6,vars:21,consts:[[3,"ngClass","mouseenter","mouseleave"],["container",""],["role","alert","aria-live","assertive","aria-atomic","true",1,"p-toast-message-content",3,"ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["type","button","class","p-toast-icon-close p-link","pRipple","",3,"click","keydown.enter",4,"ngIf"],[3,"ngClass"],[1,"p-toast-message-text"],[1,"p-toast-summary"],[1,"p-toast-detail"],["type","button","pRipple","",1,"p-toast-icon-close","p-link",3,"click","keydown.enter"],[1,"p-toast-icon-close-icon","pi","pi-times"]],template:function(l,g){1&l&&(c.TgZ(0,"div",0,1),c.NdJ("mouseenter",function(){return g.onMouseEnter()})("mouseleave",function(){return g.onMouseLeave()}),c.TgZ(2,"div",2),c.YNc(3,E,7,10,"ng-container",3),c.YNc(4,J,1,0,"ng-container",4),c.YNc(5,S,2,0,"button",5),c.qZA()()),2&l&&(c.Tol(g.message.styleClass),c.Q6J("ngClass",c.VKq(10,O,"p-toast-message-"+g.message.severity))("@messageState",c.VKq(17,Q,c.l5B(12,U,g.showTransformOptions,g.hideTransformOptions,g.showTransitionOptions,g.hideTransitionOptions))),c.uIk("id",g.message.id),c.xp6(2),c.Q6J("ngClass",g.message.contentStyleClass),c.xp6(1),c.Q6J("ngIf",!g.template),c.xp6(1),c.Q6J("ngTemplateOutlet",g.template)("ngTemplateOutletContext",c.VKq(19,A,g.message)),c.xp6(1),c.Q6J("ngIf",!1!==g.message.closable))},dependencies:[C.mk,C.O5,C.tP,I.H],encapsulation:2,data:{animation:[(0,k.X$)("messageState",[(0,k.SB)("visible",(0,k.oB)({transform:"translateY(0)",opacity:1})),(0,k.eR)("void => *",[(0,k.oB)({transform:"{{showTransformParams}}",opacity:0}),(0,k.jt)("{{showTransitionParams}}")]),(0,k.eR)("* => void",[(0,k.jt)("{{hideTransitionParams}}",(0,k.oB)({height:0,opacity:0,transform:"{{hideTransformParams}}"}))])])]},changeDetection:0}),u})(),N=(()=>{class u{constructor(l,g){this.messageService=l,this.cd=g,this.autoZIndex=!0,this.baseZIndex=0,this.position="top-right",this.preventOpenDuplicates=!1,this.preventDuplicates=!1,this.showTransformOptions="translateY(100%)",this.hideTransformOptions="translateY(-100%)",this.showTransitionOptions="300ms ease-out",this.hideTransitionOptions="250m
1s ease-in",this.onClose=new c.vpe,this.id=(0,D.Th)()}ngOnInit(){this.messageSubscription=this.messageService.messageObserver.subscribe(l=>{if(l)if(l instanceof Array){const g=l.filter(h=>this.canAdd(h));this.add(g)}else this.canAdd(l)&&this.add([l])}),this.clearSubscription=this.messageService.clearObserver.subscribe(l=>{l?this.key===l&&(this.messages=null):this.messages=null,this.cd.markForCheck()}),this.breakpoints&&this.createStyle()}add(l){this.messages=this.messages?[...this.messages,...l]:[...l],this.preventDuplicates&&(this.messagesArchieve=this.messagesArchieve?[...this.messagesArchieve,...l]:[...l]),this.cd.markForCheck()}canAdd(l){let g=this.key===l.key;return g&&this.preventOpenDuplicates&&(g=!this.containsMessage(this.messages,l)),g&&this.preventDuplicates&&(g=!this.containsMessage(this.messagesArchieve,l)),g}containsMessage(l,g){return!!l&&null!=l.find(h=>h.summary===g.summary&&h.detail==g.detail&&h.severity===g.severity)}ngAfterContentInit(){this.templates.forEach(l=>{l.getType(),this.template=l.template})}onMessageClose(l){this.messages.splice(l.index,1),this.onClose.emit({message:l.message}),this.cd.detectChanges()}onAnimationStart(l){"void"===l.fromState&&this.autoZIndex&&(this.containerViewChild.nativeElement.style.zIndex=String(this.baseZIndex+ ++y.p.zindex),this.containerViewChild.nativeElement.setAttribute(this.id,""))}createStyle(){if(!this.styleElement){this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let l="";for(let g in this.breakpoints){let h="";for(let b in this.breakpoints[g])h+=b+":"+this.breakpoints[g][b]+" !important;";l+=`\n @media screen and (max-width: ${g}) {\n .p-toast[${this.id}] {\n ${h}\n }\n }\n `}this.styleElement.innerHTML=l}}destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}ngOnDestroy(){this.messageSubscription&&this.messageSubscription.unsubscribe(),this.clearSubscription&&this.clearSubscription.unsubscribe(),this.destroyStyle()}}return u.\u0275fac=function(l){return new(l||u)(c.Y36(M.ez),c.Y36(c.sBO))},u.\u0275cmp=c.Xpm({type:u,selectors:[["p-toast"]],contentQueries:function(l,g,h){if(1&l&&c.Suo(h,M.jx,4),2&l){let b;c.iGM(b=c.CRH())&&(g.templates=b)}},viewQuery:function(l,g){if(1&l&&c.Gf(P,5),2&l){let h;c.iGM(h=c.CRH())&&(g.containerViewChild=h.first)}},inputs:{autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",position:"position",preventOpenDuplicates:"preventOpenDuplicates",preventDuplicates:"preventDuplicates",showTransformOptions:"showTransformOptions",hideTransformOptions:"hideTransformOptions",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",key:"key",style:"style",styleClass:"styleClass",breakpoints:"breakpoints"},outputs:{onClose:"onClose"},decls:3,vars:5,consts:[[3,"ngClass","ngStyle"],["container",""],[3,"message","index","template","showTransformOptions","hideTransformOptions","showTransitionOptions","hideTransitionOptions","onClose",4,"ngFor","ngForOf"],[3,"message","index","template","showTransformOptions","hideTransformOptions","showTransitionOptions","hideTransitionOptions","onClose"]],template:function(l,g){1&l&&(c.TgZ(0,"div",0,1),c.YNc(2,L,1,8,"p-toastItem",2),c.qZA()),2&l&&(c.Tol(g.styleClass),c.Q6J("ngClass","p-toast p-component p-toast-"+g.position)("ngStyle",g.style),c.xp6(2),c.Q6J("ngForOf",g.messages))},dependencies:[C.mk,C.sg,C.PC,q],styles:[".p-toast{position:fixed;width:25rem}.p-toast-message{overflow:hidden}.p-toast-message-content{align-items:flex-start;display:flex}.p-toast-message-text{flex:1 1 auto}.p-toast-top-right{right:20px;top:20px}.p-toast-top-left{left:20px;top:20px}.p-toast-bottom-left{bottom:20px;left:20px}.p-toast-bottom-right{bottom:20px;right:20px}.p-toast-top-center{left:50%;top:20px;transform:translateX(-50%)}.p-toast-bottom-center{bottom:20px;left:50%;transform:translateX(-50%)}.p-toast-center{left:50%;min-width:20vw;top:50%;transform:translate(-50%,-50%)}.p-toast-icon-close{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative}.p-toast-icon-close.p-link{cursor:pointer}"],encapsulation:2,data:{animation:[(0,k.X$)("toastAnimation",[(0,k.eR)(":enter, :leave",[(0,k.IO)("@*",(0,k.pV)())])])]},changeDetection:0}),u})(),F=(()=>{class u{}return u.\u0275fac=function(l){return new(l||u)},u.\u0275mod=c.oAB({type:u}),u.\u0275inj=c.cJS({imports:[C.ez,I.T,M.m8]}),u})()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.